我比較笨,搞了很久終于自己寫好了溫度顯示
用的本論壇的開發板
數據口接P1.7
沒有小數位了
共享大家幫我看看
ORG 0000H TRANS_BIT EQU 20H AJMP MAIN ORG 0030H MAIN: CLR EA LCALL INITIAL MOV A,#0CCH LCALL WRITE MOV A,#44H LCALL WRITE MOV R1,#250 DJNZ R1,$ MOV R1,#100 DJNZ R1,$ ;等待700us LCALL INITIAL MOV A,#0CCH LCALL WRITE MOV A,#0BEH LCALL WRITE LCALL READ MOV R7,A LCALL READ MOV R6,A LCALL TRANSFER LCALL DISP LJMP MAIN ;*********************** ;初始化芯片子函數 ;DS1820接p1.7 ;*********************** INITIAL: MOV R2,#4 ;找不到?找四次 INT2: CLR P1.7 MOV R1,#250 DJNZ R1,$ SETB P1.7 MOV R1,#30 DJNZ R1,$ CLR C ORL C,P1.7 JNC INT3 DJNZ R2,INT2 SETB P1.4 INT3: CLR P1.4 MOV P0,#00H DELAY: MOV R1,#200 DJNZ R1,$ RET ;*********************** ;寫子函數 ;P1.7口接ds1820 ;*********************** WRITE: CLR EA MOV R3,#8 WR1: SETB P1.7 MOV R4,#8 RRC A CLR P1.7 WR3: DJNZ R4,WR3 MOV P1.7,C MOV R4,#25 WR5: DJNZ R4,WR5 DJNZ R3,WR1 SETB P1.7 RET ;*********************** ;讀子函數 ;P1.7口接ds1820 ;*********************** READ: CLR EA MOV R6,#8 RD1: CLR P1.7 MOV R4,#4 NOP SETB P1.7 RD2: DJNZ R4,RD2 MOV C,P1.7 RRC A MOV R5,#25 RD3: DJNZ R5,RD3 DJNZ R6,RD1 SETB P1.7 RET ;*********************** ;將讀出的數據轉換 ;低字節在R7中,高字節在R6中 ;*********************** TRANSFER: MOV A,R6 JNB ACC.3, T2 MOV A,R6 CPL A MOV R6,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ADD A, #1 MOV R7,A MOV A,R6 ADDC A,#0 MOV R6, A T2: MOV A,R7 ANL A,#0F0H MOV R7,A MOV A,R6 ANL A,#07H MOV R6,A MOV TRANS_BIT,R6 MOV R0,#20H MOV A,R7 XCHD A,@R0 MOV R0,A SWAP A RET ;*********************** ;將讀出的溫度轉化為bcd碼顯示 ;*********************** DISP: MOV B,#10 DIV AB MOV DPTR ,#NUMTAB MOVC A, @A+DPTR MOV R0,A MOV A,B MOVC A,@A+DPTR MOV R1,A MOV P0, #0EFH SETB P2.1 CLR P2.1 MOV P0,R0 SETB P2.0 CLR P2.0 MOV R2,#250 DJNZ R2,$ MOV P0, #0DFH SETB P2.1 CLR P2.1 MOV P0,R1 SETB P2.0 CLR P2.0 MOV R2,#250 DJNZ R2,$ NUMTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; ; 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 RET AJMP MAIN END
有點小問題,請教大家
就是我一個數字亮點,一個暗點?
disp:
MOV P0, #0EFH
SETB P2.1
CLR P2.1
MOV P0,R0
SETB P2.0
CLR P2.0
MOV R2,#250
DJNZ R2,$
MOV P0, #0DFH
SETB P2.0 ;
CLR P2.0 ;
MOV P0,R1
SETB P2.1 ;
CLR P2.1 ;
MOV R2,#250
DJNZ R2,$
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |