久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3605|回復: 4
收起左側

ds18b20體溫測量報警儀(單片機at89c51)proteus仿真,c程序及hex文件

  [復制鏈接]
ID:747569 發表于 2020-5-16 14:11 | 顯示全部樓層 |閱讀模式
個人原創設計作品,內涵仿真,c與hex文件。c語言白癡,拒絕回答一切有關c的問題。本設計是一款基于DS18B20傳感器的實時體溫測量報警儀,可以貼身舒適得放置在病人身上用以實時檢測體溫,然后將檢測的數據傳到AT89C51單片機進行處理,再用LED屏幕以十進制的方式進行表出。同時還有個警報器模塊,當病人體溫不正常到達臨界值時觸發警報用以提醒。程序具體表現為小于37℃時,綠燈亮;大于37℃時,蜂鳴器工作,紅燈。(51黑電子為原創出處,轉載請注明網址。)得到幫助的小伙伴給個有效回復撒,感謝!!!

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
Inked1_LI.jpg

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define out P0
  6. #define out1 P2
  7. #define out2 P3
  8.     sbit DQ=P1^4;
  9.     void delay5(uchar);
  10.     void init_ds18b20(void);
  11.     void writebyte(uchar);
  12.     uchar retemp(void);
  13.     void main (void)//主函數
  14.     {
  15.         uchar i,temp;
  16.         delay5(1000);
  17.         uchar[9]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
  18.         uchar xiaoshudian=0x80;
  19.         while(1)
  20.         {
  21.             temp=retemp();
  22.             for(i=0;i<10;i++)//連續掃描數碼管10次
  23.             {
  24.                 out=(uchar[temp/10]);
  25.                 out1=(uchar[temp%10]||xiaoshudian);
  26.             }
  27.         }
  28.     }
  29.     void delay5(uchar n)//延時5微妙函數
  30.     {
  31.         do
  32.         {   _nop_() ;
  33.             _nop_() ;
  34.             _nop_();
  35.             n--;
  36.         }
  37.     while(n);
  38.     }
  39.     void init_ds18b20(void)//對18b20初始化函數
  40.     {
  41.         uchar x=0;
  42.         DQ=0;
  43.         delay5(120);
  44.         DQ =1;
  45.         delay5(16);
  46.         delay5(80);
  47.     }
  48.     uchar readbyte(void)//函數功能:讀取1字節數據
  49.     {
  50.         uchar i=0;
  51.         uchar date=0;
  52.     for(i=8;i>0;i--)
  53.     {
  54.         DQ=0;
  55.         delay5(1) ;
  56.         DQ=1;//15微妙內拉釋放總線
  57.         date>>=1;
  58.         if(DQ)
  59.         date|=0x80;
  60.         delay5(11);
  61.     }
  62.     return(date);}
  63.     void writebyte (uchar dat)//寫1b數據
  64.     {
  65.         uchar i=0;
  66.         for(i=8;i>0;i--)
  67.         {
  68.             DQ=0;
  69.             DQ =dat&0x01;//寫"1"在15微妙內拉低
  70.             delay5(12);//寫"0"拉低60微妙
  71.             DQ=1;
  72.             dat>>=1;
  73.             delay5(5);
  74.         }
  75.     }
  76.     uchar retemp(void)//讀取溫度函數
  77.     {
  78.         uchar a,b,tt;
  79.         uint t;
  80.         init_ds18b20();
  81.         writebyte (0xCC);
  82.         writebyte (0x44);
  83.         init_ds18b20();
  84.         writebyte(0xCC);
  85.         writebyte(0xBE);
  86.         a=readbyte();
  87.         b=readbyte();
  88.         t=b;
  89.         t<<=8;
  90.         t=t|a;
  91.         tt=t*0.0625;
  92.         return(tt);
  93.     }
復制代碼

所有資料51hei提供下載 仿真,c及hex文件:
Desktop.rar (35.64 KB, 下載次數: 80)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:82285 發表于 2020-5-16 16:47 | 顯示全部樓層
優秀啊
回復

使用道具 舉報

ID:253767 發表于 2020-6-6 07:04 | 顯示全部樓層
謝謝分享!!!
回復

使用道具 舉報

ID:535196 發表于 2020-6-6 15:07 | 顯示全部樓層
小白可以問下一P2和P3放大器放大的是什么,以及并沒有用到P3把,程序里
回復

使用道具 舉報

ID:788940 發表于 2020-6-24 17:57 | 顯示全部樓層
為啥編譯不成功啊,一大堆的錯誤
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜成人在线视频 | 欧美日韩国产精品 | 国产亚洲一区二区三区在线观看 | 天天夜碰日日摸日日澡 | 在线资源视频 | 国产精品视频www | 99久久久久久久 | 爱草在线 | 国产一区二区三区四区区 | 中文字幕不卡在线观看 | 成人在线小视频 | 欧美一区二区三区的 | aaa一区| 人和拘一级毛片c | 91人人爽 | 久久com| 伊人久久精品 | 成人在线观看网站 | 熟女毛片 | 中文二区| 日韩在线免费视频 | 精品一区二区三区在线视频 | 国产精品一区三区 | 亚洲日韩中文字幕 | 国产一在线 | 99热精品在线观看 | 国产在线91 | 色久伊人 | 国产1区| 国产精品中文字幕在线 | 久久精品视频亚洲 | 国产美女在线精品免费 | 中文字幕日韩一区 | 欧美成人精品欧美一级 | 国产综合视频 | www久久国产 | 久久久999成人 | 欧美日韩一二三区 | 亚洲国产精品网站 | 成人精品一区二区三区中文字幕 | 久草在线在线精品观看 |