欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機實驗程序:LCD1602顯示18b20溫度且蜂鳴器報警 [打印本頁]

作者: 凱旋小飛    時間: 2017-6-4 13:11
標題: 單片機實驗程序:LCD1602顯示18b20溫度且蜂鳴器報警
單片機實驗5:LCD1602顯示ds18b20測出來的溫度,超溫蜂鳴器就發(fā)出聲音報警.

單片機源程序如下:
  1. /**************************************************************************************
  2. *                                                      溫度警報                                                                                                  *
  3. 實現(xiàn)現(xiàn)象:下載程序后插上LCD1602液晶在開發(fā)板上,上面顯示溫度限值,下邊顯示實時溫度
  4.                   當溫度達到限值時,蜂鳴器發(fā)聲
  5. ***************************************************************************************/

  6. #include<reg52.h>
  7. #include "main.h"
  8. #include "lcd1.h"
  9. #include "delay.h"
  10. #include "ds18b20.h"
  11. #include "color.h"

  12. uchar CNCHAR[6] = "0";
  13. char i, buf[] = {0, 0, 0}; //定義數(shù)組

  14. /***********************************************
  15. 函數(shù)名:        mydisplay(uint x)
  16. 函數(shù)功能:        LCD顯示溫度
  17. **********************************************/
  18. void LcdDisplay(uint temp)         /*LCD顯示溫度*/
  19. {       
  20.         buf[0] = temp/100;
  21.         buf[1] = temp%100/10;
  22.         buf[2] = temp%100%10;

  23.         write_com(0x80+0x42);
  24.         write_date('0'+buf[0]);                        //十位
  25.         SBUF = '0'+buf[0];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  26.         while (!TI);                                 //等待發(fā)送數(shù)據(jù)完成
  27. //        TI = 0;
  28.        
  29.         write_com(0x80+0x43);
  30.         write_date('0'+buf[1]);                        //個位
  31.         SBUF = '0'+buf[1];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  32.         while (!TI);                                 //等待發(fā)送數(shù)據(jù)完成
  33. //        TI = 0;

  34.         write_com(0x80+0x45);
  35.         write_date('0'+buf[2]);                        //小數(shù)點后一位
  36.         SBUF = '0'+buf[2];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  37.         while (!TI);                                 //等待發(fā)送數(shù)據(jù)完成
  38. //        TI = 0;
  39.        
  40.         for(i=0; i<6; i++)
  41.         {
  42.                  SBUF = CNCHAR[i];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  43.                 while (!TI);                                 //等待發(fā)送數(shù)據(jù)完成
  44. //                TI = 0;
  45.         }
  46. }
  47. void guding()                                //固定顯示
  48. {
  49.         //顯示  T:
  50.         write_com(0x80+0x40);        //寫地址 80表示初始地址
  51.         write_date('T');
  52.         write_com(0x80+0x41);        //寫地址 80表示初始地址
  53.         write_date(':');
  54.         //顯示 ‘.’
  55.         write_com(0x80+0x44);                //寫地址 80表示初始地址
  56.         write_date('.');                 //顯示 ‘.’
  57.         //顯示攝氏度
  58.         write_com(0x80+0x46);                //寫地址 80表示初始地址
  59.         write_date(0xdf);                 //顯示 ‘.’
  60.         write_com(0x80+0x47);                //寫地址 80表示初始地址
  61.         write_date('C');                 //顯示 ‘.’


  62. //        write_charstr( 1,1," TEMPmax=30'C");          //第   行,第   列  
  63.        
  64. }
  65. void main(void)                                                                                                                          //0xdf
  66.     initlcd();                    //lcd初始化
  67.     guding();                  //固定顯示
  68.     while(1)
  69.     {
  70.         read1();
  71.         warn(tempwarn);
  72.          LcdDisplay(get());
  73. ……………………

  74. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
實驗5:LCD1602顯示18b20溫度.rar (42.29 KB, 下載次數(shù): 138)



作者: 這個好不用了    時間: 2017-6-10 12:03
謝謝分享
作者: 林浩7856    時間: 2017-10-24 20:24
謝謝 資料很好
作者: 青春之逝    時間: 2018-1-4 22:27
謝謝分享
作者: 鬼獄007    時間: 2019-1-11 14:36
謝謝分享
作者: z974890869    時間: 2019-9-12 22:54
沒看到顯示溫度限制
作者: ss179    時間: 2019-10-1 07:30
編譯后主程序第79行報錯,把79行去除后能顯示溫度T:25.4*c。沒報警功能,程序不是很完整,能做個參考吧




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1