版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。DS18B20與51單片機多路溫度傳感器-51單片機C程序#include#include#defineucharunsignedcharsbitRS=P35;/定義LCD端口sbitRW=P36;sbitE=P37;sbitDQ=P34;/定義單總線端口ucharLCD_3,LCD_2,LCD_1,LCD_0;uchards18b20_romA8=0 x8e,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x30,0 x28;/四個DS18B20的64位ROM地址uchards18b2
2、0_romB8=0 x52,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x34,0 x28;uchards18b20_romC8=0 x65,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x35,0 x28;uchards18b20_romD8=0 x3c,0 x00,0 x00,0 x00,0 xb8,0 xc5,0 x36,0 x28;ucharcodeLCDData=0123456789;ucharcodedot_tab=0112334456678899;ucharfirst_line16=A:000.0B:000.0;/LCD第一行顯示緩存數(shù)組uc
3、harsecond_line16=C:000.0D:000.0;/LCD第二行顯示緩存數(shù)組/*/延時程序/*voiddelay(unsignedintN)unsignedinti;for(i=0;iN;i+);/*/LCD1602測忙/*voidcheck_busy(void)while(1)P1=0 xff;E=0;_nop_();RS=0;_nop_();_nop_();RW=1;_nop_();_nop_();E=1;_nop_();_nop_();_nop_();_nop_();if(P1&0 x80)=0)break;E=0;/*/LCD1602寫命令/*voidwrite_comm
4、and(uchartempdata)E=0;_nop_();_nop_();RS=0;_nop_();_nop_();RW=0;P1=tempdata;_nop_();_nop_();E=1;_nop_();_nop_();E=0;_nop_();check_busy();/*/LCD1602寫數(shù)據(jù)/*voidwrite_data(uchartempdata)E=0;_nop_();_nop_();RS=1;_nop_();_nop_();RW=0;P1=tempdata;_nop_();_nop_();E=1;_nop_();_nop_();E=0;_nop_();check_busy();
5、/*/初始化LCD1602/*voidinit_lcd1602()write_command(0 x01);/清除屏幕write_command(0 x38);/功能設定(8位,2行,5*7點陣式)write_command(0 x0c);/顯示器ON,光標OFF,閃爍OFFwrite_command(0 x06);/地址加1/*/初始化ds18b20/*bitresetpulse(void)DQ=0;delay(40);/延時500usDQ=1;delay(4);/延時60usreturn(DQ);/讀取P1.0的狀態(tài)voidds18b20_init(void)while(1)if(!res
6、etpulse()/收到ds18b20的應答信號DQ=1;delay(40);/延時240usbreak;elseresetpulse();/否則再發(fā)復位信號/*/讀ds18b20一位/*ucharread_bit(void)DQ=0;_nop_();_nop_();DQ=1;delay(2);return(DQ);/*/讀ds18b20一個字節(jié)/*ucharread_byte(void)uchari,m,receive_data;m=1;receive_data=0;for(i=0;i8;i+)if(read_bit()receive_data=receive_data+(mi);delay
7、(7);return(receive_data);/*/向ds18b20寫一位/*voidwrite_bit(ucharbitval)DQ=0;if(bitval=1)DQ=1;delay(5);DQ=1;/*/向DS18B20寫一個字節(jié)命令/*voidwrite_byte(ucharval)uchari,temp;for(i=0;ii;temp=temp&0 x01;write_bit(temp);delay(5);/*/64位的ROM序列號匹配/*bitmatch_rom(uchar*rom)uchari;ds18b20_init();write_byte(0 x55);for(i=8;i
8、0;i-)write_byte(*(rom+i-1);return1;/*/從ds18b20中讀出64位序列號/*/*uchar*read_rom(void)ucharrom8,i;ds18b20_init();write_byte(0 x33);for(i=8;i0;i-)romi-1=read_byte();return&rom0;*/*/將64位序列號顯示在LCD上顯示出來/*/*voidprint_char(uchara)if(a=0&a=0 x0a&a4)|(temp_data_h&0 x0f)4)|(temp_data_h&0 x0f)4);LCD_3=LCDDatatemp/10
9、0;/查表得溫度百位LCD_2=LCDData(temp%100)/10;/查表得溫度十位LCD_1=LCDData(temp%100)%10;/查表得溫度個位voiddisplay(void)uchari;write_command(0 x80);for(i=0;i16;i+)write_data(first_linei);write_command(0 xc0);for(i=0;i16;i+)write_data(second_linei);voidmain(void)uchartemp_data_l,temp_data_h;/*uchar*ds18b20_rom;*/init_lcd16
10、02();/*while(1)uchari;ds18b20_rom=read_rom();/讀序列號write_command(0 x80);for(i=0;i8;i+)ds18b20_romAi=*ds18b20_rom;ds18b20_rom+;write_command(0 x80);for(i=0;i8;i+)/顯示序列號print_char(ds18b20_romAi/16);print_char(ds18b20_romAi%16);*/while(1)ds18b20_init();write_byte(0 xcc);write_byte(0 x44);/啟動溫度轉換delay(70
11、0);match_rom(ds18b20_romA);/匹配第一路write_byte(0 xbe);/讀溫度temp_data_l=read_byte();/溫度低8位temp_data_h=read_byte();/溫度高8位convert_T(temp_data_h,temp_data_l);first_line2=LCD_3;/溫度轉換后的各位first_line3=LCD_2;/分別存入顯示緩存數(shù)組中first_line4=LCD_1;first_line6=LCD_0;match_rom(ds18b20_romB);/匹配第二路write_byte(0 xbe);/讀溫度temp_
12、data_l=read_byte();/溫度低8位temp_data_h=read_byte();/溫度高8位convert_T(temp_data_h,temp_data_l);first_line10=LCD_3;/溫度轉換后的各位first_line11=LCD_2;/分別存入顯示緩存數(shù)組中first_line12=LCD_1;first_line14=LCD_0;display();match_rom(ds18b20_romC);/匹配第三路write_byte(0 xbe);/讀溫度temp_data_l=read_byte();/溫度低8位temp_data_h=read_byte();/溫度高8位convert_T(temp_data_h,temp_data_l);second_line2=LCD_3;/溫度轉換后的各位second_line3=LCD_2;/分別存入顯示緩存數(shù)組中second_line4=LCD_1;second_line6=LCD_0;match_rom(ds18b20_romD);/匹配第四路write_byte(0 xbe);/讀溫度temp_da
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026新疆博爾塔拉蒙古自治州農村綜合產權交易中心有限公司招聘備考題庫有完整答案詳解
- 2026新疆烏魯木齊市翰林高級中學招聘15人備考題庫及參考答案詳解一套
- 2025中國信達深圳分公司招聘1人備考題庫及答案詳解(奪冠系列)
- 2025福建廈門市集美區(qū)馬鑾小學招聘頂崗教師1人備考題庫及參考答案詳解一套
- 2025甘肅甘南州碌曲縣選調工作人員和項目人員擇優(yōu)入編考試26人備考題庫帶答案詳解
- 2026上海師范大學附屬官渡實驗學校招聘8人備考題庫有答案詳解
- 2026四川遂寧市船山區(qū)第一批鄉(xiāng)村公益性崗位安置崗位信息100人備考題庫附答案詳解
- 2025廣東佛山市順德區(qū)沙滘初級中學第一學期生活老師招聘備考題庫附答案詳解
- 2026江蘇南京市東南大學網絡空間安全學院勞務派遣崗位招聘1人備考題庫及完整答案詳解1套
- 2026年池州職業(yè)技術學院公開招聘校外兼職授課教師備考題庫及參考答案詳解1套
- YY/T 1778.1-2021醫(yī)療應用中呼吸氣體通路生物相容性評價第1部分:風險管理過程中的評價與試驗
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗和例行試驗
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計量檢定機構考核規(guī)范(培訓講稿)
- GB∕T 5900.2-2022 機床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊wdl
- DFMEA編制作業(yè)指導書新版
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測技術規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
- 閥門基礎知識上
- 第二章注射成型工藝與模具結構
評論
0/150
提交評論