,A
MOV 6EH,B H_REP:LCALL DIS JNB H_KEY,H_REP SET_END:SETB tr0
RET;***********key(按键program 结束***
;*****************CONTROL JDQ********* CONTROL:MOV A,W_DATA CJNE A,S_H_DATA,COMPARE1 OPEN1:CLR JDQ AJMP CON_END COMPARE1:JNC OPEN1 MOV A,W_DATA
CJNE A,S_L_DATA,COMPARE2 OPEN2:CLR JDQ AJMP CON_END COMPARE2:JC OPEN2 SETB JDQ CON_END:RET
RET;***********CONTROL JDQ END************* ************HEX_BCD 转换子程序**********
IN ACC, OUT :R5 R6 R7 HEX_BCD:MOV B,#10 DIV AB MOV R5,B MOV A,B MOV B,#10 DIV AB MOV R6,B MOV R7,A
RET ;**********ad7416 samping************ ad7416: MOV FADDR,#090H MOV address,#00h ii: MOV a,#01h LCALL rd_rand CLR C RLC A MOV 20H.1,C
RLC A MOV 20H.0,C MOV 4dh,a MOV 20H.1,C CLC c RLC A MOV 20h.0,C ANL a,#11111100b MOV L_DATA,A MOV 20H.0,C MOV C,F0 MOV ACC.1,C MOV A,20H ANL A,#00000011B MOV H_DATA,A RET MOV ADDr_lo,#0 MOV address,#00h
; Ad7416温度寄存器地址为01H MOV a,#00h LCALL rd_rand
MOV a,r6 ANL a,#00111111b RL a RL a MOV b,a MOV a,r7 RL a RL a MOV r7,a MOV a,b ORL a,r7 MOV r6,a MOV a,b
ANL a,#00000011b MOV r7,a
;r7放置AD7416温度值高2位,r6放置低8位 CLR C RET
wr_byte:NOP;AT24Cxx Byte Write function.
;Called with programmable address in A, byte address in
; register pair ADDR_HI:ADDR_LO, data in register XDATA. ; Does not wait for write cycle to complete.
; Returns CY set to indicate that the bus is not available ; or that the addressed device failed to acknowledge. ; Destroys A. LCALL start JC x49 RL a
ORL a, FADDR CLR acc.0 LCALL shout JC x48 MOV a, addr_hi LCALL shout JC x48 MOV a, address LCALL shout JC x48
相关推荐: