基于8086和8255A的数码管、LED显示键盘系统

1 篇文章 0 订阅
1 篇文章 0 订阅

系统

按下4*4按键后,数码管会显示对应的按键号,同时对应的LED点亮

8086核心

8086核心使用74LS373(锁存器)进行地址锁存。并使用4-16线译码器进行地址译码,译码结果连接CS进行片选操作

8255A

字寄存器

A1A0RDWRCS功能
00010A->总线
01010B->总线
10010C->总线
00100总线->A
01100总线->B
10100总线->C
11100总线->控制字寄存器

方式选择式

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段数码管

系统电路

完整的系统,通过地址译码寻址,键盘监测,LED和数码管共同显示

代码

// 部分代码如下
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
      ......

完整工程包括:报告、效果图、电路文件、代码文件
完整工程

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值