<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ds18b20溫度帶上限程序--LCD1602液晶顯示

          基于ds18b20溫度帶上限程序--LCD1602液晶顯示

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          這是用1602來顯示的,程序是修改前面幾個(gè)實(shí)驗(yàn)的,當(dāng)溫度<40度時(shí)電風(fēng)扇不轉(zhuǎn),當(dāng)>=40度時(shí)電風(fēng)扇轉(zhuǎn)動(dòng),為參加電子比賽做的單片機(jī)系統(tǒng)實(shí)驗(yàn)。程序?yàn)閰R編語(yǔ)言(ASM),帶詳細(xì)注釋,值得新手朋友參考!
          全部程序:ORG 0000H;單片機(jī)內(nèi)存分配申明!TEMPER_L EQU 29H;用于保存讀出溫度的低8位TEMPER_H EQU 28H;用于保存讀出溫度的高8位FLAG1       EQU 38H;是否檢測(cè)到DS18B20標(biāo)志位a_bit       equ 20h ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置b_bit       equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置RS EQU P3.7;確定具體硬件的連接方式RW EQU P3.6 ;確定具體硬件的連接方式E EQU P3.5 ;確定具體硬件的連接方式;主程序MAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序MOV A,29HMOV C,40H;將28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,Aclr csetb p3.0;zhelikais從這里開始是我填加的溫度控制CJNE A,#28H,FITSETB P3.0AJMP DISLEDFIT:CPL CMOV P3.0,C;jiesu到這里結(jié)束DISLED:LCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序AJMP MAIN;DS18B20復(fù)位初始化子程序INIT_1820:SETB P2.2NOPCLR P2.2;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P2.2;然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P2.2,TSR3;等待DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 ; 延時(shí)TSR3:SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在CLR P1.7;檢查到DS18B20就點(diǎn)亮P1.7LED,與傳感器通信成功LJMP TSR5TSR4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在CLR P1.1;未檢查到DS18B20就點(diǎn)亮P1.1LED,與傳感器通信失敗LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ; 時(shí)序要求延時(shí)一段時(shí)間TSR7:SETB P2.2RET;讀出轉(zhuǎn)換后的溫度值的子程序GET_TEMPER:SETB P2.2LCALL INIT_1820;先復(fù)位DS18B20JB FLAG1,TSS2CLR P1.2RET ; 判斷DS1820是否存在?若DS18B20不存在則返回TSS2:CLR P1.3;DS18B20已經(jīng)被檢測(cè)到!MOV A,#0CCH ; 跳過ROM匹配LCALL WRITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DISPLAY;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位MOV A,#0CCH ; 跳過ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到35H/36HCLR P1.4RET				   
          				
                      
                          
          			
          							
          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: ds18b20LCD1602液晶顯

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();