系统
按下4*4按键后,数码管会显示对应的按键号,同时对应的LED点亮
8086核心
8086核心使用74LS373(锁存器)进行地址锁存。并使用4-16线译码器进行地址译码,译码结果连接CS进行片选操作
8255A
字寄存器
A1 | A0 | RD | WR | CS | 功能 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | A->总线 |
0 | 1 | 0 | 1 | 0 | B->总线 |
1 | 0 | 0 | 1 | 0 | C->总线 |
0 | 0 | 1 | 0 | 0 | 总线->A |
0 | 1 | 1 | 0 | 0 | 总线->B |
1 | 0 | 1 | 0 | 0 | 总线->C |
1 | 1 | 1 | 0 | 0 | 总线->控制字寄存器 |
方式选择式
D7 D6 D5 D4 D3 D2 D1 D0
D7:特征位(1:端口 0:按位置位)
D6D5:A组方式(00:方式0 01:方式1 1x:方式2)
D4:A口I/O(1:输入 0:输出 以下D3 D2 D0类似)
D3:上C口
D2:B组方式(0:方式0 1:方式1)
D1:B口I/O
D0:下C口I/O
键盘扫描
行列扫描方式,类似于51的矩阵键盘
LED同步显示
通过门电路达到LED和键盘之间的信息转换
数码管使用
通过数组存储7SEG段码的方式,调用不同数字对应的段码号来控制7段数码管
系统电路
代码
// 部分代码如下
BEGIN:;赋数码管显示列表初地址给BX
MOV BX,OFFSET LEDADDR
DISI:
;列扫描---赋给AL
MOV DX,CTRW
MOV AL,RC
OUT DX,AL
MOV DX,PORTC
MOV AL,000H
OUT DX,AL
IN AL,DX
MOV CL,4D
SHR AL,CL
NOT AL
AND AL,0FH
MOV CL,AL
;行扫描---赋给AH
MOV DX,CTRW
MOV AL,HC
OUT DX,AL
MOV DX,PORTC
MOV AL,000H
OUT DX,AL
IN AL,DX
NOT AL
AND AL,0FH
MOV CH,AL
;清零DL作为计数器
MOV DL,0D
......
完整工程包括:报告、效果图、电路文件、代码文件
完整工程