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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2583|回復: 1
打印 上一主題 下一主題
收起左側

51單片機溫度測量(多個DS18b20)

[復制鏈接]
跳轉到指定樓層
樓主
ID:528235 發表于 2019-5-6 10:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機溫度測量(DS18b20)

單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:DS18b20 溫度檢測液晶顯示
  3. ------------------------------------------------*/
  4. #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  5. #include<stdio.h>
  6. #include "18b20.h"
  7. #include "18b20a.h"
  8. #include "1602.h"
  9. #include "delay.h"

  10. bit ReadTempFlag;//定義讀時間標志

  11. void Init_Timer0(void);//定時器初始化
  12. /*------------------------------------------------
  13.               串口通訊初始化
  14. ------------------------------------------------*/
  15. void UART_Init(void)
  16. {
  17.     SCON  = 0x50;                        // SCON: 模式 1, 8-bit UART, 使能接收  
  18.     TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重裝
  19.     TH1   = 0xFD;               // TH1:  重裝值 9600 波特率 晶振 11.0592MHz  
  20.     TR1   = 1;                  // TR1:  timer 1 打開                        
  21.     //EA    = 1;                  //打開總中斷
  22.     //ES    = 1;                  //打開串口中斷
  23.         TI=1;
  24. }
  25. /*------------------------------------------------
  26.                     主函數
  27. ------------------------------------------------*/
  28. void main (void)
  29. {                  
  30. int temp;
  31. float temperature;
  32. char displaytemp[16];//定義顯示區域臨時存儲數組

  33. LCD_Init();           //初始化液晶
  34. DelayMs(20);          //延時有助于穩定
  35. LCD_Clear();          //清屏
  36. Init_Timer0();
  37. UART_Init();
  38. Lcd_User_Chr();       //寫入自定義字符

  39. LCD_Write_Char(13,0,0x01);//寫入溫度右上角點
  40. LCD_Write_Char(14,0,'C'); //寫入字符C

  41. LCD_Write_Char(13,1,0x01);//寫入溫度右上角點
  42. LCD_Write_Char(14,1,'C'); //寫入字符C

  43. while (1)         //主循環
  44.   {

  45. if(ReadTempFlag==1)
  46. {
  47.   ReadTempFlag=0;
  48.   temp=ReadTemperature();
  49.   temperature=(float)temp*0.0625;
  50.   sprintf(displaytemp,"Temp1 %7.3f",temperature);//打印溫度值
  51.   LCD_Write_String(0,0,displaytemp);//顯示第二行

  52.   temp=ReadTemperature_a();
  53.   temperature=(float)temp*0.0625;
  54.   sprintf(displaytemp,"Temp2 %7.3f",temperature);//打印溫度值
  55.   LCD_Write_String(0,1,displaytemp);//顯示第二行
  56.   }       
  57. }
  58. }

  59. /*------------------------------------------------
  60.                     定時器初始化子程序
  61. ------------------------------------------------*/
  62. void Init_Timer0(void)
  63. {
  64. TMOD |= 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                     
  65. //TH0=0x00;              //給定初值
  66. //TL0=0x00;
  67. EA=1;            //總中斷打開
  68. ET0=1;           //定時器中斷打開
  69. TR0=1;           //定時器開關打開
  70. }
  71. /*------------------------------------------------
  72.                  定時器中斷子程序
  73. ------------------------------------------------*/
  74. void Timer0_isr(void) interrupt 1
  75. ……………………

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

所有資料51hei提供下載:
多個18b20溫度傳感器1602液晶顯示.rar (46.87 KB, 下載次數: 94)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-5-6 16:42 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品美女久久久 | 国产成人精品网站 | 午夜精品一区二区三区在线视 | 91在线看| 亚洲精品电影 | 久久er99热精品一区二区 | ririsao久久精品一区 | 亚洲精品国产偷自在线观看 | 欧美国产一区二区三区 | 欧美xxxⅹ性欧美大片 | 国产精品爱久久久久久久 | 国产一级片在线播放 | 一区二区久久 | 国产99久久精品一区二区永久免费 | 国产羞羞视频在线观看 | 午夜伊人 | 曰韩三级 | 欧美一区二区另类 | 黄色免费三级 | 亚洲精品一区二 | 色在线免费视频 | 亚洲精品视 | 久久精品国产久精国产 | 91在线免费视频 | 久久久亚洲 | 亚洲精品中文字幕在线观看 | 日本小电影网站 | 综合一区二区三区 | 国产视频三区 | 国产一区在线视频 | 国产精品久久久久久网站 | 日本特黄特色aaa大片免费 | 国产高清精品在线 | 91精品国产日韩91久久久久久 | 国产亚洲一级 | aacc678成免费人电影网站 | 精品一区二区三区在线视频 | 国产精品99久久免费观看 | 在线激情视频 | 久久午夜视频 | 国产成人综合在线 |