1、 自动化 学院 网络工程 专业 班 学号 姓名 1. 程序一:在显示屏上显示任意四位十六进制数:56AF ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV 52H,#02H MOV 53H,#03H MOV 51H,#01H MOV 50H,#00H MOV R5,#53H KEYSUB: MOV A,#0DH MOV DPTR,#7F00H MOVX @DPTR,A BEGIN: ACALL DIS AJMP BEGIN DIS: PUSH ACC PUSH 00H
2、 PUSH 03H MOV R0,#50H MOV R3,#7FH MOV A,R3 AGAIN: MOV DPTR,#7F03H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#DDEG MOV A,@A+DPTR MOV DPTR,#7F01H MOVX @DPTR,A ACALL DLIMS INC R0 MOV A,R3 JNB ACC.3,OUT RR A MOV R3,A AJMP AGAIN OUT: POP 03H POP 00H
3、POP ACC RET DDEG: DB 79H,7CH,07H,5BH,6FH,7FH,77H,39H A1: MOV A,R3 MOV DPTR,#7F01H MOVX @DPTR,A MOV DPTR,#1000H MOV A,R2 MOVC A,@A+DPTR MOV DPTR,#7F02H MOVX @DPTR,A CALL DLIMS INC R2 MOV A,R3 RL A MOV R3,A JNB ACC.4,BEGIN JMP A1 DLIMS: MOV R7,#0
4、5H DL0: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL0 RET END 2.程序二:将8个键按实验室规定定义键值,按任意键在显示屏上显示相应键值,规定显示值能左移; 9 8 A C E B 7 2 ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV 52H,#00H MOV 53H,#00H MOV 51H,#00H MOV 50H,#00H MOV R5,#53H KEYSUB: MOV A,#0DH MOV DP
5、TR,#7F00H MOVX @DPTR,A BEGIN: ACALL DIS ACALL CLEAR ACALL CCSCAN JNZ INK1 AJMP BEGIN INK1: ACALL DIS ACALL DLIMS ACALL DLIMS ACALL CLEAR ACALL CCSCAN JNZ INK2 AJMP BEGIN INK2: MOV R2,#07fH MOV R4,#00H COLUM: MOV DPTR,#7F03H MOV A,R2 MOVX
6、 @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.2,LONE MOV A,#00H AJMP KCODE LONE: JB ACC.6,NEXT MOV A,#04H KCODE: ADD A,R4 CJNE A,#00H,XYG MOV A,#09H AJMP XYG7 XYG: CJNE A,#01H,XYG1 MOV A,#08H AJMP XYG7 XYG1: CJNE A,#02H,XYG2 MOV A,#0AH A
7、JMP XYG7 XYG2: CJNE A,#03H,XYG3 MOV A,#0CH AJMP XYG7 XYG3: CJNE A,#04H,XYG4 MOV A,#0EH AJMP XYG7 XYG4: CJNE A,#05H,XYG5 MOV A,#0BH AJMP XYG7 XYG5: CJNE A,#06H,XYG6 MOV A,#07H AJMP XYG7 XYG6: CJNE A,#07H,XYG7 MOV A,#02H AJMP XYG7 XYG7: ACALL PUTBUF PUSH ACC
8、 KON: ACALL DIS ACALL CLEAR ACALL CCSCAN JNZ KON POP ACC NEXT: INC R4 MOV A,R2 JNB ACC.3,KEER RR A MOV R2,A AJMP COLUM KERR: AJMP BEGIN CCSCAN: MOV DPTR,#7F03H MOV A,#00H MOV @DPTR,A INC DPTR INC DPTR MOVX A ,@DPTR CPL A ANL A,#44H RET C
9、LEAR: MOV DPTR,#7F03H MOV A,#00H MOVX @DPTR,A RET DIS: PUSH ACC PUSH 00H PUSH 03H MOV R0,#50H MOV R3,#0F7H MOV A,R3 AGAIN: MOV DPTR,#7F03H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#DDEG MOVC A,@A+DPTR MOV DPTR,#7F01H MOVX @DPTR,A ACALL DLIMS INC R0 MOV
10、 A,R3 JNB ACC.0,OUT RL A MOV R3,A AJMP AGAIN OUT: POP 03H POP 00H POP ACC RET DDEG: DB 0FCH,60H,0DAH,0F2H DB 66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH DB 9CH,7AH,9EH,8EH DLIMS: MOV R7,#01H DL0: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL0 RET PUTBUF: PUSH
11、 00H PUSH ACC MOV 53H,52H MOV 52H,51H MOV 51H,50H POP ACC MOV 50H,A GOBACK: POP 00H RET END 2. 程序三:程序实现如下规定 a) 定义键盘按键 b) 可进行三位16进制除法运算 c) 可进行两位10进制乘法运算 ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV 53H,#00H MOV 52H,#00H MOV 51H,#00H MOV 50H,#00H MOV 60H
12、00H MOV 61H,#00H MOV 62H,#00H MOV 63H,#00H MOV 64H,#00H MOV 65H,#00H MOV 66H,#00H MOV 67H,#00H MOV 68H,#0CCH KEYSUB: MOV A,#0DH MOV DPTR,#7F00H MOVX @DPTR,A BEGIN: ACALL DIS ACALL CLEAR ACALL CCSCAN JNZ INK1 AJMP BEGIN INK1: ACALL DIS ACALL DL
13、IMS ACALL DLIMS ACALL CLEAR ACALL CCSCAN JNZ INK2 AJMP BEGIN INK2: MOV R2,#07fH MOV R4,#00H COLUM: MOV DPTR,#7F03H MOV A,R2 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR JB ACC.2,LONE MOV A,#00H AJMP KCODE LONE: JB ACC.6,NEXT MOV A,
14、04H KCODE: ADD A,R4 CJNE A,#00H,XYG MOV A,#09H AJMP XYG7 XYG: CJNE A,#01H,XYG1 MOV A,#08H AJMP XYG7 XYG1: CJNE A,#02H,XYG2 MOV A,#0AH AJMP XYG7 XYG2: CJNE A,#03H,XYG3 MOV A,#0CH AJMP XYG7 XYG3: CJNE A,#04H,XYG4 MOV A,#0EH AJMP XYG7 XYG4: CJNE A,#05H,XY
15、G5 MOV A,#0BH AJMP XYG7 XYG5: CJNE A,#06H,XYG6 MOV A,#07H AJMP XYG7 XYG6: CJNE A,#07H,XYG7 MOV A,#02H AJMP XYG7 XYG7: ACALL PUTBUF PUSH ACC KON: ACALL DIS ACALL CLEAR ACALL CCSCAN JNZ KON POP ACC NEXT: INC R4 MOV A,R2 JNB ACC.3,KEER RR A MOV R2,
16、A AJMP COLUM KERR: AJMP BEGIN CCSCAN: MOV DPTR,#7F03H MOV A,#00H MOV @DPTR,A INC DPTR INC DPTR MOVX A ,@DPTR CPL A ANL A,#44H RET CLEAR: MOV DPTR,#7F03H MOV A,#00H MOVX @DPTR,A RET DIS: PUSH ACC PUSH 00H PUSH 03H MOV R0,#50H MOV R3,#0F7H MO
17、V A,R3 AGAIN: MOV DPTR,#7F03H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#DDEG MOVC A,@A+DPTR MOV DPTR,#7F01H MOVX @DPTR,A ACALL DLIMS INC R0 MOV A,R3 JNB ACC.0,OUT RL A MOV R3,A AJMP AGAIN OUT: POP 03H POP 00H POP ACC RET DDEG: DB 11H,12H,0CH,66H DB
18、10H,09H,04H,08H SZDEG: DB 0FCH,60H,0DAH,0F2H DB 66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH DB 9CH,7AH,9EH,8EH DB 0CCH,0DDH,0EEH PUTBUF: PUSH 00H PUSH ACC MOV A,62H MOV 63H,A MOV A,61H MOV 62H,A MOV A,60H MOV 61H,A POP ACC PUSH DPH PUSH DPL MOV R5,A MO
19、V DPTR,#DDEG MOVC A,@A+DPTR MOV 60H,A MOV A,R5 POP DPL POP DPH GOBACK: POP 00H JISUAN: CJNE A,#02H,CHUHAO ACALL FUHAO AJMP JSEND CHUHAO: CJNE A,#01H,DENGYUHAO ACALL FUHAO AJMP JSEND DENGYUHAO:CJNE A,#03H,SHUZI ACALL DENGYU AJMP JSEND SHUZI: ACALL PUTB
20、UF JSEND: RET FUHAO: PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#DDEG MOVC A,@A+DPTR MOV DPTR,#SEDEG MOVC A,@A+DPTR MOV 68H,A MOV A,60H MOV 64H,A MOV A,61H MOV 65H,A MOV A,62H MOV 66H,A MOV A,63H MOV 67H,A MOV 60H,#00H MOV 61H,#00H
21、 MOV 62H,#00H MOV 63H,#00H POP DPL POP DPH POP ACC RET DENGYU: PUSH ACC MOV A,61H ANL A,#0FH RL A RL A RL A RL A MOV R5,A MOV A,60H ANL A,#0FH ORL A,R5 MOV 50H,A MOV A,63H ANL A,#0FH RL A RL A RL A RL
22、 A MOV R5,A MOV A,62H ANL A,#0FH ORL A,R5 MOV 51H,A MOV A,65H ANL A,#0FH RL A RL A RL A RL A MOV R5,A MOV A,64H ANL A,#0FH ORL A,R5 MOV 52H,A MOV A,67H ANL A,#0FH RL A RL A RL A RL A MOV R5,A MOV
23、A,66H ANL A,#0FH ORL A,R5 MOV 53H,A MOV A,68H CJNE A,#0DDH,CHENGFA AJMP JIWAN CHENGFA: MOV A,50H ANL A,#07H MOV 69H, A MOV A,50H ANL A,#10H RR A ORL 69H,A MOV A,50H ANL A,#60H RR A MOV 70H, A MOV A,51H ANL A,#03H SWAP A
24、 RL A RL A ORL 70H,A MOV A,51H ANL A,#04H RR A RR A MOV 71H,A MOV A,51H ANL A,#70H RR A RR A RR A ORL 71H,A MOV A,#00H ORL A,71H MOV 51H,A MOV A,70H ORL A,69H MOV 50H,A MOV A,52H ANL A,#07H MOV 69H,A
25、 MOV A,52H ANL A,#10H RR A ORL 69H,A MOV A,52H ANL A,#60H RR A MOV 70H,A MOV A,53H ANL A,#03H SWAP A RL A RL A ORL 70H,A MOV A,53H ANL A,#04H RR A RR A MOV 71H,A MOV A,53H ANL A,#70H RR A RR A RR A
26、 ORL 71H,A MOV A,#00H ORL A,71H MOV 53H,A MOV A,70H ORL A,69H MOV 52H,A DBMUL: MOV A,52H MOV B,50H MUL AB XCH A,50H MOV 74H,B MOV B,53H MUL AB ADD A,74H MOV 75H,A CLR A ADDC A,B MOV 74H,A MOV A,51H MOV B,52H MUL AB
27、 ADD A,75H XCH A,51H XCH A,B ADDC A,74H MOV 74H,A MOV 73H,#00H PUSH ACC MOV A,73H RLC A MOV 73H,A POP ACC MOV A,53H MUL AB ADD A,74H MOV 74H,A CLR A MOV ACC.0,C PUSH ACC MOV A,73H MOV C,ACC.0 POP ACC ADDC A,B
28、 MOV 75H,A MOV 53H,51H MOV 52H,50H COVER: MOV A,52H ANL A,#07H MOV 60H,A MOV A,52H RR A RR A RR A ANL A,#07H MOV 61H,A MOV A,52H RR A RR A RR A RR A RR A RR A ANL A,#03H MOV 62H,A MOV A,53H JNB ACC.0,BU
29、 MOV A,62H ADD A,#04H MOV 62H,A BU: MOV A,53H RR A ANL A,#07H MOV 63H,A AJMP QK JIWAN: MOV A,50H ANL A,#0FH MOV 60H,A MOV A,50H ANL A,#0F0H RR A RR A RR A RR A MOV 61H,A MOV A,51H ANL A,#0FH MOV 62H,A MOV A,51H
30、ANL A,#0F0H RR A RR A RR A RR A MOV 63H,A QK: MOV 50H,#00H MOV 51H,#00H MOV 52H,#00H MOV 53H,#00H MOV 64H,#00H MOV 65H,#00H MOV 66H,#00H MOV 67H,#00H MOV 68H,#0CCH POP ACC RET DL1MS: MOV R7,#05H DL0: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL0 RET RET END 心得体会: 这次课程设计重要是对单片机编程知识一次综合运用,也是由理论结合实践第一步,为我后来学习奠定了良好基本。通过这次课程设计,我对单片机系统有了更加清晰地结识,懂得了所学知识重要性,对设计过程与环节以及应注意细节均有了更为深刻理解和领略。设计中遇到了许多平时没有遇到问题,但是,在教师精心指点,以及在同窗协助下,基本上得到理解决。






