GSD:微型电子秤
RET
ADC0809:PUSH DPL PUSH DPH PUSH ACC MOV P2,#7FH MOV R1,#78H L1: MOVX @R1,A MOV R2,#10H L4: DJNZ R2,L4 L2: JNB P3.3,L2 MOVX A,@R1 MOV ADVAL,A POP ACC POP DPH POP DPL RET ZHH:PUSH PSW PUSH ACC SETB RS0 MOV A,#0C4H MOV B,ADVAL MUL AB MOV R6,B MOV R7,A HB2:CLR A MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H HB3:MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ADDC A,R5 DA A
MOV R5,A MOV A,R4 ADDC A,R4 DA A
- 26 -
安徽工程大学课程设计(论文)
MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV 40H,R3 MOV 41H,R4 POP ACC POP PSW RET
HEX_LEDD:PUSH DPH PUSH DPL PUSH ACC ANL A,#0FH
MOV DPTR,#BCD_CODED MOVC A,@A+DPTR MOV TEMP,A POP ACC POP DPL POP DPH RET
BCD_CODED:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H,71H,73H,00H,40H HEX_LED:PUSH DPH PUSH DPL PUSH ACC PUSH ACC
SWAP A ANL A,#0FH
MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV TEMP1,A POP ACC ANL A,#0FH
MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV TEMP2,A POP ACC POP DPL POP DPH RET
- 27 -
GSD:微型电子秤
BCD_CODE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H,71H,73H,00H,40H WRITE_LED:PUSH DPH PUSH DPL PUSH ACC MOV R0,#5CH MOV R3,#0F7H MOV A,R3
AGAIN:MOV DPTR,#K8155A MOVX @DPTR,A MOV A,@R0
MOV DPTR,#K8155B MOVX @DPTR,A LCALL DELAY01 INC R0 MOV A,R3
JNB ACC.0,OUT RR A
MOV R3,A AJMP AGAIN OUT:POP ACC POP DPL POP DPH RET
SET_KEY:MOV R7,#00H MOV R6,#00H MOV R5,#00H
LCALL READ_KEY1 MOV A,B
CJNE A,#04H,END_ST MOV 5FH,#76H MOV 5EH,#00H MOV 5DH,#00H MOV 5CH,#00H
LCALL WRITE_LED
SETH:LCALL READ_KEY1 MOV A,B
CJNE A,#0FFH,GGG LCALL WRITE_LED LJMP SETH
GGG:CJNE A,#05H,SET_L
- 28 -
安徽工程大学课程设计(论文)
MOV A,R7
CJNE A,#06H,SET_H MOV A,#00H MOV R7,A
SET_H:MOV SET_VH,R7
MOV DPTR,#BCD_CODED MOVC A,@A+DPTR MOV 5EH,A
LCALL WRITE_LED INC R7 LJMP SETH
SET_L:CJNE A,#06H,SET_LL MOV A,R6
CJNE A,#0AH,SET_L1 MOV A,#00H MOV R6,A
SET_L1:MOV SET_VL1,R6
MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV 5DH,A
LCALL WRITE_LED INC R6
LJMP SETH SET_LL:CJNE A,#07H,KEYJS MOV A,R5
CJNE A,#0AH,SET_LL1 MOV A,#00H MOV R5,A
SET_LL1:MOV SET_VL2,R5
MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV 5CH,A
LCALL WRITE_LED INC R5
LJMP SETH
KEYJS:MOV A,SET_VL1 SWAP A
ORL A,SET_VL2 MOV SET_VL,A END_ST:RET
READ_KEY1:LCALL READ_KEY JNZ INK1
- 29 -
GSD:微型电子秤
MOV B,#0FFH RET
INK1:LCALL DELAY10 LCALL DELAY10 LCALL READ_KEY JNZ INK2
MOV B,#0FFH RET
INK2:LCALL GETVAL LCALL KEYSF RET
READ_KEY:MOV DPTR,#K8155A MOV A,#00H
MOVX @DPTR,A INC DPTR INC DPTR
MOVX A,@DPTR CPL A
ANL A,#03H
LCALL WRITE_LED RET
GETVAL:MOV R2,#0FEH MOV R4,#00H
COLUM: MOV DPTR,#K8155A MOV A,R2
MOVX @DPTR,A INC DPTR INC DPTR
MOVX A,@DPTR JB ACC.0,LONE MOV A,#00H AJMP KCODE LONE:JB ACC.1,NEXT MOV A,#04H KCODE:ADD A,R4 MOV B,A
LCALL WRITE_LED RET NEXT:INC R4 MOV A,R2
JNB ACC.3,KERR
- 30 -
安徽工程大学课程设计(论文)
RL A
MOV R2,A AJMP COLUM KERR:MOV B,#0FFH
LCALL WRITE_LED RET
KEYSF:LCALL WRITE_LED MOV DPTR,#K8155A MOV A,#00H
MOVX @DPTR,A INC DPTR INC DPTR
MOVX A,@DPTR CPL A
ANL A,#03H
CJNE A,#00H,KEYSF RET ARM:CLR C
MOV R0,#40H MOV A,@R0 SUBB A,SET_VH JC END_CON_T INC R0
MOV A,@R0 SUBB A,SET_VL JC END_CON_T BAIDOWN_T:CLR P1.0 SETB P1.1
LCALL DELAY10 END_CON_T:SETB P1.0 CLR P1.1 RET
OFF_LED: MOV 5FH,#00H MOV 5EH,#00H MOV 5DH,#00H MOV 5CH,#00H
LCALL WRITE_LED RET
INIT_8155: PUSH DPL
- 31 -