单片机课后习题答案

MOV R4, #00H LK3: MOV DPTR, #7F01H

MOV A, R2 MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR JB ACC.0, LONE MOV A, #00H AJMP LKP LONE: JB ACC.1, LTWO

MOV A, #08H AJMP LKP LKP: ADD A, R4

PUSH ACC LK4: ACALL DSP8155

ACALL KS1 JNZ LK4 POP ACC NEXT: INC R4

MOV A, R2 JNB ACC.7, KND RL A MOV R2, A AJMP LK3 KND: AJMP KEY1 KS1: MOV DPTR, #7F01H

MOV A, #00H MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR CPL A ANL A, #0FH RET

DSP8155: MOV DPTR, #7F00H MOV A, #00000011B

MOVX @DPTR, A DISP1: MOV R0, #7EH MOV A, #80H LOOP: MOV R2, A

MOV DPTR, #7F01H MOVX @DPTR, A MOV A, @R0 MOV DPTR, #PTRN MOVC A, @A+DPTR MOV DPTR, #7F02H MOVX @DPTR, A CALL D1MS DEC R0 MOV A, R2 CLR C RRC A JC PASS AJMP LOOP PASS: RET D1MS: MOV R7, #02H DMS: MOV R6, #0FFH

46

; 指向8155命令寄存器

; 设定PA口、PB口为基本输出方式; 输出命令字

; 指向缓冲区末地址

; 扫描字,PA7为1,从左至右扫描 ; 暂存扫描字 ; 指向8155的PA ; 输出位选码

; 读显示缓冲区一字符 ; 指向段数据表首地址 ; 查表,得段数据 ; 指向8155的PB ; 输出段数据 ; 延时1ms ; 调整指针 ; 读回扫描 ; 清进位标志 ; 扫描字右移 ; 结束

; 继续显示 ; 返回

; 延时1ms子程序

PTRN:

DJNZ DJNZ RET DB DB DB …… END

R6, $

R7, DMS

0C0H, 0F9H, 0A4H, 0B0H, 99H …… ……

; 段数据表

17.设计一个用8155控制32个按键的键盘接口电路。编写程序实现以下功能:用8155定时器定时,每隔2s读一次键盘,并将读出的键值存入8155片内RAM以20H开始的单元中。 解:

硬件连接电路如图6.17所示。8155控制口的口地址为:7F00H;PA口地址:7F01H;PB口地址:7F02H;PC口地址:7F03H。片内RAM地址:7E00H~7EFFH。定时器低位地址:7F04H;定时器高位地址:7F05H。

>>闂備浇顕х换鎺楀磻閻愯娲冀椤愶綆娼熼梺纭呮彧缁犳垹绮堥崒鐐寸厪濠电姴绻樺顕€鏌f惔顖涘<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4