浴室水溫控制系統(tǒng)設(shè)計
浴室水溫控制系統(tǒng)設(shè)計,浴室,水溫,控制系統(tǒng),設(shè)計
程序?qū)嵗╝d.asm): ORG 0000H ‘偽指令,指明以下程序的起始地址MAIN1: ‘標號ACALL DELAY ;延時 ACALL AD ;調(diào)用呼叫 AD 子程序 ;將轉(zhuǎn)換的數(shù)字量屏蔽高位低位送顯 MOV 31H,30H ‘將數(shù)據(jù)從 30H 口送到 31H 存儲單元,備份MOV A,30H ‘將數(shù)據(jù)存儲 A 寄存器,將 28 送 A,28=1CHANL A,#0FH ‘和 00001111 與 00011100,屏蔽高 4 位得 00001100MOV DPTR,#SETTAB ‘將數(shù)據(jù)表的首地址給 DPTRMOVC A,@A+DPTR ‘取字符數(shù)據(jù)送 AMOV SBUF,A ‘將顯示的字符數(shù)據(jù)送 SBUF,SBUF 是與 LED 顯示連接的接口D1: JNB TI,D1 ‘TI 不為 0 則轉(zhuǎn)移到 D1CLR TI ‘TI 清零;////////////////////////////////////////////////// ;將轉(zhuǎn)換的數(shù)字量屏蔽低位高位送顯 MOV A,30H‘取數(shù)據(jù),例如 28, “1E”送 A 寄存器 ANL A,#0F0H ‘和 11110000 與,得高 4 位 0001SWAP A ‘低 4 位與高 4 位互換,將 0001 送到 A 寄存器的低 4 位,得00000001MOV DPTR,#SETTAB ‘取字符數(shù)據(jù)首地址送 DPTRMOVC A,@A+DPTR ‘將查到的字符數(shù)據(jù)送 A 寄存器MOV SBUF,A ‘將字符送 SBUF 顯示D2: JNB TI,D2 ‘TI 不為 0 則轉(zhuǎn)移到 D2,D2 是 標號CLR TI ‘TI 清 0;////////////////////////////////////////////////// AJMP MAIN1 ‘返回主程序 AD: MOV DPTR,#7F00H ‘指向轉(zhuǎn)換地址 MOV A,#03H ‘指向轉(zhuǎn)換口 MOVX @DPTR,A ‘轉(zhuǎn)換 ‘把從端口 30H 得到的數(shù)據(jù)送到地址為 7F00 的端口進行轉(zhuǎn)換MOV R1,#64H ‘64H 減到 0 所需時間是 100 微秒D3: DJNZ R1,D3 ;等 100 微秒轉(zhuǎn)換完 MOVX A,@DPTR ;轉(zhuǎn)換后的值給 A MOV 30H,A ;轉(zhuǎn)換的值給 30H RET DELAY: ;延時 MOV R2,#0FFH D14: MOV R3,#0FFH D12: DJNZ R3,D12 DJNZ R2,D14 RET ‘返回SETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H, 0FEH,0F6H DB 0EEH,3EH,9CH,7AH,9EH,8EH END
收藏