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

          新聞中心

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

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

          作者: 時間:2016-11-30 來源:網絡 收藏
          ;寫DS18B20的子程序(有具體的時序要求)WRITE_1820:MOV R2,#8;一共8位數(shù)據(jù)CLR CWR1:CLR P2.2MOV R3,#6DJNZ R3,$RRC AMOV P2.2,CMOV R3,#23DJNZ R3,$SETB P2.2NOPDJNZ R2,WR1SETB P2.2RET; 讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù)READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOV R2,#8;數(shù)據(jù)一共有8位RE01:CLR CSETB P2.2NOPNOPCLR P2.2NOPNOPNOPSETB P2.2MOV R3,#9RE10:DJNZ R3,RE10MOV C,P2.2MOV R3,#23RE20:DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;顯示子程序display: acall DL100MSacall DL100MSmov a,29H;將29H中的十六進制數(shù)轉換成10進制mov b,#10 ;10進制/10=10進制div abmov b_bit,a ;十位在amov a_bit,b ;個位在badd a,#00110000bmov b_bit,amov a,badd a,#00110000bmov a_bit,aMOV P1,#00000001B; ;清屏并光標復位ACALL ENABLE;調用寫入命令子程序MOV P1,#00111000B ;;設置顯示模式:8位2行5x7點陣ACALL ENABLE ;調用寫入命令子程序MOV P1,#00001111B ;;顯示器開、光標開、光標允許閃爍ACALL ENABLE ;調用寫入命令子程序MOV P1,#00000110B ;;文字不動,光標自動右移ACALL ENABLE ;調用寫入命令子程序MOV P1,#80H ;;寫入顯示起始地址(第二行第一個位置)ACALL ENABLE ;調用寫入命令子程序MOV P1,b_bit ;;A十位送出去SETB RS; ;RS=1CLR RW; ;RW=0 ;準備寫入數(shù)據(jù)CLR E; ;E=0 ;執(zhí)行顯示命令ACALL DELAY ;判斷液晶模塊是否忙?SETB E ;;E=1 ;顯示完成,程序停車MOV P1,#00000110B ;;文字不動,光標自動右移ACALL ENABLE ;調用寫入命令子程序MOV P1,#81H ;;寫入顯示起始地址(第二行第2個位置)ACALL ENABLE ;調用寫入命令子程序MOV P1,a_bit;;字母A的代碼SETB RS; ;RS=1CLR RW; ;RW=0 ;準備寫入數(shù)據(jù)CLR E; ;E=0 ;執(zhí)行顯示命令ACALL DELAY ;判斷液晶模塊是否忙?SETB E ;;E=1 ;顯示完成,程序停車retENABLE:CLR RS; ;寫入控制命令的子程序CLR RWCLR EACALL DELAYSETB ERETDELAY:MOV P1,#0FFH ;;判斷液晶顯示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P1.7,DELAY; ;如果P1.7為高電平表示忙就循環(huán)等待RETDL100MS: MOV R7,#02HDL1: MOV R6,#0C8HDL2: MOV R5,#0FAHDJNZ R5,$DJNZ R6,DL2DJNZ R7,DL1RETEND
          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();