【8-19】使用DA转换器DAC0832产生-.doc
文本预览下载声明
第八章作业
1、设某一MCS-51系统,要求连接16个4×4的键盘,其硬件原理如下图所示,请编写相应键值扫描和识别程序。
KEY: MOV P1, #00H ;P1为高四位
MOV A, P0 ;P0为低四位
ANL A, #0FH
CJNE A, #0FH,K0 ;判断键是否按下
K0: ACALL DELAY ;产生一定延时
MOV A, P0
ANL A, #0FH
CJNE A, #0FH,K1
AJMP KEY
K1: MOV R3, #10H
MOV R2, #0
MOV B, A
MOV P0, A
MOV A, P1
ANL A, #0FH
SWAP A
ADD A, B
MOV B, A
MOV DPTR, #TAB
K2: MOV A, R2
MOVC A,@A+DPTR
CJNE A, B, K4
K3: MOV A, R2
RET
K4: INC R2
DJNZ R3, K2
TAB: DB 0EEH, 0DEH, 0BEH, 7EH
DB 0EDH, 0DDH, 0BDH, 7DH
DB 0EBH, 0DBH, 0BBH, 7BH
DB 0E7H, 0D7H, 0B7H, 77H
END
2、设某一MCS-51系统,要求外接8个LED数码管,其硬件原理如下图所示,请编写相应的动态显示程序,设显示内容为。
(输出口1地址为:BFH;输出口2地址为:7FH;)
DBUF EQU 30H
TEMP EQU 40H
DATA EQU 0BFH
LOCATE EQU 7FH
ORG 0000H
LJMP DISP
ORG 0100H
DISP: MOV 50H,#1
MOV 50H,#2
MOV 50H,#3
MOV 50H,#4
MOV 50H,#5
MOV 50H,#6
MOV 50H,#7
MOV 50H,#8
MOV R0, #DBUF
MOV R1, #TEMP
MOV R2, #8
MOV DPTR, #SEGTAB
DP00: MOV A,@R0
MOVC A,@A+DPTR
MOV @R1, A
INC R1
INC R0
DJNZ R2, DP00
DISP0: MOV R0,#TEMP
MOV R1, #8
MOV R2, #1
DP01: MOV A, @R0
MOV DATA, A ; 送字形码
MOV A, R2
MOV LOCATE, A ; 送字位码
ACALL DELAY
MOV A, R2
RL A
MOV R2, A
INC R0
DJNZ R1, DP01
SJMP DISP0
SEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5
DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,A,B
DB 58H,5EH,7BH,71H,00H,40H ;C,D,E,F, ,-
显示全部