亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 1602_lcd at89s52.txt

?? 使用1602_LCD AT89S52 18B20實現的溫度報警
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
MOV A,#48H ;將高低溫限值寄存器數據送18B20-EPROM保存.
LCALL WRITE
A_END:

RET







;***************18b20指令子程序**********************
READ_TEMP:  ;讀1820內部溫度子程序.
     LCALL RESET
     JB 70h,EXT1 
     LCALL SKIP_ROM 
     LCALL TEMP_CONV ;溫度AD變換
     LCALL DELAY_600MS  ;時........
     LCALL RESET
     LCALL SKIP_ROM 
     LCALL TEMP_GET ;發取溫度的命令
     LCALL READ ;接收...
	  EXT1:
     RET 

SKIP_ROM:;跳過ROM檢測
    MOV A,#0CCH ;#0CCH為跳過rom命令
    LCALL WRITE
    RET 

RELCALL_EPROM:;重調Eprom的值到18B20的暫存RAM中去,,這樣一上電18B20中RAM就有數據了
    MOV A,#0B8H;在重調之前有配置或設定好下上限溫度值嗎?看看按鍵程序處有什么?
    LCALL WRITE
    RET 

 
TEMP_CONV:
    MOV A,#44H ;AD變換
	 LCALL WRITE
	 RET

TEMP_GET:
    MOV A ,#0BEH;讀18b20命令
    LCALL WRITE
    RET 


;****************************18B20基本時序子程序*********************************
RESET:  ;初始化子程序    同時也檢測18B20是否存在,,,
   SETB P0.0 
   NOP 
   CLR P0.0    ;拉低
   MOV R3,#150 ; *4=600US
   LCALL DELAY_BY_R3
   SETB P0.0    ;拉高
   MOV R3,#15  ; 60US
   LCALL DELAY_BY_R3
   MOV R3,#60 ;4個周期*60=240US內檢測 
A1: JNB P0.0,A2 ;檢測到低平信號
    DJNZ R3,A1 ;如果沒有應答的低電平信號,返回A1重新檢測,超時后下一行,
    SETB 70h ;DS1820不存在.
    JMP A3
A2: CLR 70h
    MOV R3,120;240US;等恢復時間2*120=240us
    DJNZ R3, $
A3: 
   RET
;------------------------

WRITE:
    MOV R2,#8;一個字節為8位
    CLR C ;C位清0 C位用來放A的一位數據,用移位的方法放入C
B1: SETB P0.0
	 NOP 
    CLR P0.0
	 MOV R3,#4 ;16US
	 LCALL DELAY_BY_R3
	 RRC A        ;把A中的數送入C
	 MOV P0.0,C   ;把C送入總線
    MOV R3,#12    ;48US(一位數據的發送:60us<tx<120us)
	 LCALL DELAY_BY_R3
	 SETB P0.0  ;拉高1us結束一位
	 NOP 
	 DJNZ R2,B1
         RET

READ:
MOV R1,#9 ;接收4個字節數據依次是1.低位 2.高位. 3.高限 4.低限
MOV R0,#TEMPHEAD;低位放28H;高位放29h (1. 28H,2. 29H 3. 2AH 4. 2BH )
MOV B,#00H
READTEMP2:LCALL READDS1820
MOV @R0,A
INC R0
READTEMP21:LCALL CRC8CAL
DJNZ R1,READTEMP2
MOV A,B
JNZ READTEMPOUT
MOV A,TEMPHEAD
MOV TMP_L,A
MOV A,TEMPHEAD+1
MOV TMP_H,A
MOV	A,TEMPHEAD+2
MOV 2AH,A
MOV A,TEMPHEAD+3
MOV 2BH,A
READTEMPOUT:RET

CRC8CAL:PUSH ACC
        MOV R7,#08H
CRCLOOP1:XRL A,B
         RRC A
		 MOV A,B
		 JNC CRCLOOP2
		 XRL A,#18H
CRCLOOP2:RRC A
         MOV B,A
		 POP ACC
		 RR A
		 PUSH ACC
		 DJNZ R7,CRCLOOP1
		 POP ACC
		 RET


READDS1820:
 MOV R2,#8;一字節數據8位
C11: CLR C ;清除C
SETB P0.0
NOP 
NOP 
CLR P0.0 ;拉低.
NOP ;1us秒后拉高?
NOP 
NOP
SETB P0.0
MOV R6,#07H
DJNZ R6,$
MOV C,P0.0 ;讀出18b20的數據
RRC  A ;移入A
MOV R6,#3CH
DJNZ R6,$
SETB P0.0
DJNZ R2,C11 ;一個字節收完
MOV R6,#3CH
DJNZ R6,$
RET 
;*********************************************************************************



;*****************LCD_控制命令***************
DISPLAY: MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
LCALL WRITE_DATA_TO_LCD
INC R1
DJNZ R0,DISPLAY
RET 


WRITE_NOT_CHECK_BUSY:
SETB E 
NOP
NOP 
CLR RS ;寫入控制命令的子程序
CLR RW 
CLR E 
RET 


ENABLE:	;只要先將命令數據或地址先送P1,再調用ENABLE就可以寫入哦
SETB E
NOP
NOP
CLR RS ;寫入控制命令的子程序
CLR RW 
CLR E 
LCALL TEST_BUSY
SETB E 
RET


TEST_BUSY:
SETB E 
NOP
NOP 
MOV P1,#0FFH ;判斷液晶顯示器是否忙的子程序
CLR RS 
SETB RW
CLR E 
NOP 
SETB E 
JB P1.7,TEST_BUSY ;如果P1.7為高電平表示忙就循環等待 
RET


WRITE_DATA_TO_LCD:
SETB E 
NOP
NOP
SETB RS ;RS=1 
CLR RW ;RW=0 ;準備寫入數據
CLR E ;E=0 ;執行顯示命令
LCALL TEST_BUSY ;判斷液晶模塊是否忙?
SETB E ;E=1 ;顯示完成,程序停車
RET 




;***************************數據轉換***************************
DATA_CONV:  ;數據轉換

   MOV A,24H
SWAP A
ANL A,#0FH
MOV 46H,A
MOV A,24H
ANL A,#0FH
MOV 47H,A

MOV A,23H
SWAP A
ANL A,#0FH
MOV 48H,A
MOV A,23H
ANL A,#0FH
MOV 49H,A

MOV A,22H
SWAP A
ANL A,#0FH
MOV 4AH,A
MOV A,22H
ANL A,#0FH
MOV 4BH,A


MOV A,28H ;低字節
ANL A,#0FH;去除高位
MOV B,#6;乘6得到實際數值的100倍.
MUL AB
MOV B,#10
DIV AB
MOV 33H,A;小數位高
MOV 32H,B; 小數位低
MOV A,28H
MOV C,29H.0 ;29h高位的低4字節
RRC A 
MOV C,29H.1
RRC A 
MOV C,29H.2
RRC A 
MOV C,29H.3
RRC A 
MOV 28H,A ;重新合成.結果存在28H.
MOV A,28H
MOV B,#10
DIV AB 
MOV 26H,A ;整數位高
MOV 25H,B ;整數位低 
;-------------------------
MOV A,2AH
MOV B,#10
DIV AB
MOV 40H,B ;高溫限值個位 
MOV B,#10
DIV AB
MOV 41H,B;十位
MOV 42H,A;百位
;----------------------------
MOV A,2BH
MOV B,#10
DIV AB
MOV 43H,B ;低溫限值位個位 
MOV B,#10
DIV AB
MOV 44H,B ;十位
MOV 45H,A ;百位

CLR C ;只在下上限兩溫度之間才能正常工作
MOV A,28H;現溫度值與高溫限值比較
SUBB A,2AH
JC BIG ;如果高.則關機器

CLR K_ON
AJMP CONVERT_END
BIG:CLR C 
MOV A,2BH;現溫度與低溫限值比較
SUBB A,28H
JC X_BIG ;低溫限值比現溫高,則開機器

CLR K_ON
AJMP CONVERT_END

X_BIG:
   SETB K_ON


CONVERT_END:
   RET 


DATA_CONV1 :
   MOV A,24H
SWAP A
ANL A,#0FH
MOV 46H,A
MOV A,24H
ANL A,#0FH
MOV 47H,A

MOV A,23H
SWAP A
ANL A,#0FH
MOV 48H,A
MOV A,23H
ANL A,#0FH
MOV 49H,A

MOV A,22H
SWAP A
ANL A,#0FH
MOV 4AH,A
MOV A,22H
ANL A,#0FH
MOV 4BH,A
RET
/*********顯示時間TIME字符串及時間值***************/
DISPLAY_TIME: PUSH PSW
MOV P1,#11000000B
LCALL ENABLE
MOV DPTR,#TIME
MOV R1,#0
MOV R0,#6
LCALL DISPLAY
/***************/
MOV DPTR,#LED_DATA
MOV R1,46H //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY


MOV DPTR,#LED_DATA
MOV R1,47H //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#MAO
MOV R1,#0
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#LED_DATA
MOV R1,48H //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#LED_DATA
MOV R1,49H //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#MAO
MOV R1,#0
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#LED_DATA
MOV R1,4AH //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY

MOV DPTR,#LED_DATA
MOV R1,4BH //已經是壓縮型BCD碼了,,但還不是ASCII碼
MOV R0,#1
LCALL DISPLAY
POP PSW
RET



;********************顯示溫度*************************
DISPLAY_18B20_TEMP: ;LCD_顯示子程序
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#TAB3;顯示'WENDU:'
MOV R1,#0 ;碼表初值
MOV R0,#7;字數
LCALL DISPLAY
;---------------顯示溫度值高位
MOV DPTR,#LED_DATA
MOV R1,26H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示溫度值低位
MOV DPTR,#LED_DATA
MOV R1,25H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示小數點
MOV DPTR,#DOT
MOV R1,#0 ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示溫度值小數高位
MOV DPTR,#LED_DATA
MOV R1,33H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示溫度值小數低位
MOV DPTR,#LED_DATA
MOV R1,32H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示單位度
MOV DPTR,#SIGN
MOV R1,#0 ;碼表初值
MOV R0,#2;字數
LCALL DISPLAY
RET 



;******************顯示限值.*****************
DISPLAY_18B20_TEMP_XZ:
MOV P1,#11000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#TAB_L ; 顯示'L:'
MOV R1,#0 ;碼表初值
MOV R0,#2;字數
LCALL DISPLAY

;---------------顯示溫度限值高位
MOV DPTR,#LED_DATA
MOV R1,45H ;碼表初值(45H中存的是十進制值)只是一位數百位,通過查表可找出相應ASCII值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示溫度限值低位
MOV DPTR,#LED_DATA
MOV R1,44H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;-----------------
MOV DPTR,#LED_DATA
MOV R1,43H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY

MOV P1,#11000111B; 顯示位置
LCALL ENABLE 
;----
MOV DPTR,#TAB_H ; 顯示'H:'
MOV R1,#0 ;碼表初值
MOV R0,#2;字數
LCALL DISPLAY
;---------------顯示高溫度限值高位
MOV DPTR,#LED_DATA
MOV R1,42H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;---------------顯示高溫度限值低位
MOV DPTR,#LED_DATA
MOV R1,41H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
;-------------------
MOV DPTR,#LED_DATA
MOV R1,40H ;碼表初值
MOV R0,#1;字數
LCALL DISPLAY
RET 



      
;**********************提示語**********************
DISPLAY_18B20_HELLO:
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#TAB_HELLO
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
RET 

/*
DISPLAY_18B20_TESTING:
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#TAB_TESTING
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
RET 
*/


DISPLAY_18B20_ERROR:
MOV P1,#00000001B ;清屏并光標復位
LCALL ENABLE
MOV DPTR,#TAB1
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
RET 



DISPLAY_WATING: 
MOV P1,#00000001B ;清屏并光標復位
LCALL ENABLE;調用寫入命令子程序
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#TAB2
MOV R1,#0 ;碼表初值
MOV R0,#13;字數
LCALL DISPLAy
RET 
DISPLAYINT_MUSIC:
MOV P1,#00000001B ;清屏并光標復位
LCALL ENABLE;調用寫入命令子程序
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#MUSICSTRING
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
DISPLAY_NAME:
MOV P1,#11000000B; 顯示位置
LCALL ENABLE ;執行指令

MOV R1,#0 ;碼表初值
MOV R0,#15;字數
LCALL DISPLAy
RET

STOPWATCH:DB '   STOPWATCH    '
STOPWATCH_INIT:DB '--00:00:00:00---'
DISPLAYINT_STOPWATCH_000000:
MOV P1,#00000001B ;清屏并光標復位
LCALL ENABLE;調用寫入命令子程序
MOV P1,#10000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#STOPWATCH
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
MOV P1,#11000000B; 顯示位置
LCALL ENABLE ;執行指令
MOV DPTR,#STOPWATCH_INIT
MOV R1,#0 ;碼表初值
MOV R0,#16;字數
LCALL DISPLAy
RET
 

MUSICSTRING:DB 'PLAYING... MUSIC'
MUSIC_NAME_15: DB '<JUST LOVE YOU>'
MUSIC_NAME_8: DB 'ZHOU_ZAI_XIANG_X'
MUSIC_NAME_9: DB 'SHUI_SHANG_PU_DE'
MUSIC_NAME_10: DB ' SHANG-HAI-TAN  '
MUSIC_NAME_11: DB 'GU-DAN-BEI-P-QIU'
MUSIC_NAME_12: DB 'TAO-HUA-DUO.-KAI'
MUSIC_NAME_13: DB 'DA-CHENG-XIAO_AI'

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲国产成人av制服丝袜| 激情综合色综合久久综合| 懂色av噜噜一区二区三区av| 欧美在线一二三| 亚洲色图欧美激情| 99r精品视频| 日韩精品中文字幕在线不卡尤物| 一区二区三区在线观看欧美 | 亚洲mv大片欧洲mv大片精品| 亚洲国产人成综合网站| 国产精品蜜臀av| 大尺度一区二区| 国产精品久久午夜| 99精品欧美一区二区三区小说| 亚洲国产精品激情在线观看| 高清久久久久久| wwwwww.欧美系列| 国产精品久久夜| 色综合久久综合网欧美综合网| 国产精品日产欧美久久久久| 色综合久久久网| 一区二区三区四区乱视频| 成人黄色av网站在线| 国产精品成人在线观看| 久久亚洲精品小早川怜子| 国产福利一区二区| 一区在线观看免费| 欧美性受极品xxxx喷水| 亚洲成人精品一区二区| 欧美一区二区三区不卡| 欧美丝袜第三区| 91污片在线观看| 亚洲韩国精品一区| 欧美变态tickle挠乳网站| 国产呦精品一区二区三区网站 | 在线看国产一区| 欧美一区二区黄色| 亚洲影院免费观看| 97se亚洲国产综合自在线不卡| 亚洲欧美另类小说| 国产91综合网| 久久久国产精华| 日韩黄色一级片| 精品国产一区二区三区av性色 | 在线免费观看成人短视频| www亚洲一区| 国产一区二区三区四| 中文字幕在线观看不卡| 在线精品视频免费播放| 中文字幕欧美激情| 男男视频亚洲欧美| 久久久天堂av| 在线观看三级视频欧美| 美女视频黄 久久| 日韩和欧美的一区| 久久精品国产精品亚洲精品| 1024成人网色www| 欧美大胆一级视频| 欧美亚洲国产bt| 国产成人a级片| 喷水一区二区三区| 一区二区三区精品在线| 在线观看精品一区| 美腿丝袜亚洲色图| 亚洲一区二区三区自拍| 亚洲国产精品成人综合| 91色乱码一区二区三区| 欧美日韩三级视频| 91精品国产乱| 麻豆一区二区99久久久久| 日本乱人伦aⅴ精品| 欧美日韩精品一区二区在线播放| 日韩成人免费看| 亚洲另类一区二区| 欧美高清激情brazzers| 美国十次综合导航| 亚洲一区免费在线观看| 中文字幕五月欧美| 国产亚洲精品7777| 欧美一级国产精品| 精油按摩中文字幕久久| 亚洲欧美日韩电影| 精品国产乱子伦一区| 欧美老女人第四色| av不卡免费在线观看| 国产精品一卡二卡| 国产一区二区成人久久免费影院| 免费高清视频精品| 中文字幕中文乱码欧美一区二区| 欧美日韩国产小视频| 91福利视频久久久久| 91丨九色丨黑人外教| 国产精品亚洲一区二区三区在线 | 国产成人在线免费观看| 日本不卡免费在线视频| 亚洲欧美一区二区三区久本道91| 亚洲国产成人一区二区三区| 久久日韩精品一区二区五区| 成人国产在线观看| 久久99精品久久久久婷婷| 精品一区二区三区av| 1000部国产精品成人观看| 久久久久久99久久久精品网站| 欧美性淫爽ww久久久久无| 久久精品国产第一区二区三区| 另类人妖一区二区av| 看国产成人h片视频| 亚洲电影第三页| 日韩有码一区二区三区| 亚洲成精国产精品女| 在线播放一区二区三区| 欧美高清你懂得| 精品国产免费一区二区三区香蕉| 欧美mv日韩mv国产网站app| 精品久久久影院| 国产精品高潮呻吟| 亚洲第一精品在线| 中文无字幕一区二区三区| 欧美电影免费提供在线观看| 国产精品久久毛片| 亚洲精品va在线观看| 亚洲国产精品欧美一二99| 亚洲午夜一区二区三区| 久久精品在这里| 免费成人av在线播放| 成人美女视频在线观看| 欧美日韩黄色一区二区| 日本精品视频一区二区三区| 中文一区二区完整视频在线观看| 欧美本精品男人aⅴ天堂| 中文在线一区二区| 青青草国产成人av片免费| 欧美日韩亚洲另类| 亚洲一区二区黄色| 91福利国产成人精品照片| 久久精品免费在线观看| 久久精品国产一区二区三 | xnxx国产精品| 国产一区在线看| 69精品人人人人| 欧美精品一区二区三区很污很色的| 精品少妇一区二区三区免费观看 | 国产精品久久毛片| 日韩精品亚洲一区| 国产成人综合亚洲网站| 91 com成人网| 中文一区在线播放| 成人av资源下载| 久久精品理论片| 亚洲一区二区影院| 成人免费视频免费观看| 久久精品视频一区| 日韩av在线播放中文字幕| 不卡一区在线观看| 国产精品情趣视频| 久久这里只有精品首页| 人人狠狠综合久久亚洲| 欧美午夜不卡在线观看免费| 一区二区三区四区激情| 精品少妇一区二区三区免费观看| 91啦中文在线观看| 欧美成人欧美edvon| 中文字幕一区二区三区蜜月 | 久久久亚洲午夜电影| 免费在线观看一区| ●精品国产综合乱码久久久久| 国产美女精品在线| 久久久久久97三级| 精品影院一区二区久久久| 日韩视频免费观看高清在线视频| 亚洲成av人片一区二区梦乃| 91免费看片在线观看| 国产精品国产三级国产aⅴ中文| 国产一区二区精品在线观看| 久久精品无码一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 国产一区二区免费视频| 国产精品系列在线| 国产福利一区二区| 久久婷婷国产综合精品青草| 极品美女销魂一区二区三区免费| 91精品欧美福利在线观看| 亚洲大尺度视频在线观看| 欧美日韩一区二区在线观看| 亚洲精品高清视频在线观看| 91色综合久久久久婷婷| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 午夜欧美大尺度福利影院在线看| 99在线视频精品| 国产精品丝袜一区| 国产一区二区不卡| 欧美一区二区高清| 韩国av一区二区三区四区| 久久久久97国产精华液好用吗| 国产永久精品大片wwwapp| 国产亚洲欧美一区在线观看| 国产成人久久精品77777最新版本| 亚洲精品一区二区三区在线观看| 国产一区二区三区美女| 国产精品国产三级国产a|