键盘系统"/>
基于8086和8255A的数码管、LED显示键盘系统
基于8086和8255A的数码管、LED显示键盘系统
- 系统
- 8086核心
- 8255A
- 字寄存器
- 方式选择式
- 键盘扫描
- LED同步显示
- 数码管使用
- 系统电路
- 代码
系统
按下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:;赋数码管显示列表初地址给BXMOV BX,OFFSET LEDADDRDISI:;列扫描---赋给ALMOV DX,CTRWMOV AL,RCOUT DX,ALMOV DX,PORTCMOV AL,000HOUT DX,ALIN AL,DXMOV CL,4DSHR AL,CLNOT ALAND AL,0FHMOV CL,AL;行扫描---赋给AHMOV DX,CTRWMOV AL,HCOUT DX,ALMOV DX,PORTCMOV AL,000HOUT DX,ALIN AL,DXNOT ALAND AL,0FHMOV CH,AL;清零DL作为计数器MOV DL,0D......
完整工程包括:报告、效果图、电路文件、代码文件
完整工程
更多推荐
基于8086和8255A的数码管、LED显示键盘系统
发布评论