proteus并行接口芯片8255A的应用—键盘与数码管

简介: proteus并行接口芯片8255A的应用—键盘与数码管

proteus

proteus,即EDA工具软件。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。

本文简单学习一下并行接口芯片8255A的应用—键盘与数码管:

(1)并行接口芯片8255A的使用。

(2)翻转法行列式键盘与七段数码管的运用。

一、实验内容:

(1)在Pruteus中绘制电路图。已知图中8086主频为1.5MHz。

(2)加载源程序。

IO3 EQU 30H
CODE SEGMENT            
ASSUME CS:CODE,DS:CODE
MAIN PROC FAR
START: MOV AX,CODE      
MOV DS,AX
L:  MOV AL,10000001B
MOV DX,IO3+6
OUT DX,AL   
MOV DX,IO3+4
MOV AL,00        
OUT DX,AL
NOKEY: IN AL,DX
AND AL,0FH
CMP AL,0FH       
JZ NOKEY
CALL DELAY10    
IN AL,DX         
MOV BL,0         
MOV CX,4
LP1: SHR AL,1
JNC LP2
INC BL
LOOP LP1
LP2: MOV AL,10001000B
MOV DX,IO3+6
OUT DX,AL
MOV DX,IO3+4
MOV AL,00        
OUT DX,AL
IN AL,DX
AND AL,0F0H
CMP AL,0F0H
JZ L             
MOV BH,0         
MOV CX,4
LP3: SHL AL,1
JNC LP4
INC BH
LOOP LP3
LP4: MOV AX,4         
MUL BH
ADD AL,BL       
MOV DX,IO3+2   
OUT DX,AL
MOV BX,OFFSET SEGDATA
XLAT             
MOV DX,IO3
OUT DX,AL       
MOV CX,0
J1: LOOP J1
JMP L
RET
MAIN ENDP

DELAY10 PROC        
MOV CX,882
LOOP $
RET
DELAY10 ENDP 

SEGDATA DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
7FH,6FH,77H,7CH,39H,5EH,79H,71H 
CODE  ENDS          
END START

(3)运行Pruteus仿真软件,按下按键,观察二极管和数码管显示。

(1)仿真结果

仿真截图与文字说明

当按下一行一列按键时对应二进制0000灯全灭,一行二列则对应二进制01第一个一个灯亮,一行三列对应二进制0010第二个灯亮,一行四列对应二进制0011第一个的灯和第二个灯亮,二行一列对应二进制0100第三个灯亮。以此类推数码管相对应的二进制数。显示灯是否亮的依据:高电平1时灯亮,低电平0灯灭。

仿真截图

(2)仿真分析

若改变8086主频为2MHz,能否通过修改软件保证消除按键抖动仍然保持10ms?如果能,说明改变方法;如果不能,说明原因。

可以,当检测出按键闭合后即执行一个延时程序,产生5ms~10ms 的延时,让前沿抖动消失后再一次检测按键的状态,如果仍保持闭合状态电平,则确认为有按键按下。当检测到按键释放后,也要给5ms~10ms 的延时,待后沿抖动消失后才能转入该按键的处理程序。

DELAY10 PROC        
MOV CX,882
LOOP $
RET
DELAY10 ENDP 


目录
相关文章
ESP-01S连接OneNET上报温湿度信息
本文介绍了如何利用ESP-01S连接OneNET上报温湿度信息,其中包括如何烧录固件,如何配置OneNET平台,如何进行连接测试。最后,给出了一部分程序设计。
1320 0
ESP-01S连接OneNET上报温湿度信息
Win10 汇编工具 EMU8086安装教程
EMU8086是一种学习汇编工具,它结合了一个原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。下面的这一教程是 bs.aiesst.cn 专门为初学者入门而准备的一个安装教程,以及下载地址。
9151 1
|
10月前
|
算法 C++
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
|
9月前
|
数据可视化 Python
Python实现信号小波分解与重构
Python实现信号小波分解与重构
|
算法 物联网 异构计算
基于FPGA的4FSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4FSK调制解调系统的Verilog实现,包括高斯信道模块和误码率统计模块,支持不同SNR设置。系统在Vivado 2019.2上开发,展示了在不同SNR条件下的仿真结果。4FSK调制通过将输入数据转换为四个不同频率的信号来提高频带利用率和抗干扰能力,适用于无线通信和数据传输领域。文中还提供了核心Verilog代码,详细描述了调制、加噪声、解调及误码率计算的过程。
581 11
|
芯片
微机实验二 || 8253定时计数器方波实验
微机实验二 || 8253定时计数器方波实验
662 0
【单片机】简易计算器完整代码带电路图
【单片机】简易计算器完整代码带电路图
1217 0
【单片机】简易计算器完整代码带电路图
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
865 0
|
数据处理 计算机视觉 索引
NumPy中的布尔索引与花式索引详解
【4月更文挑战第17天】本文介绍了NumPy中的布尔索引和花式索引,这两种高级索引方式增强了数组操作的灵活性。布尔索引利用布尔数组过滤数据,如`array[bool_array]`用于根据条件筛选元素;在数据分析中,这对条件筛选非常有用。花式索引包括切片、数组和元组索引,允许非整数位置访问元素。例如,数组索引`array[index_array]`按指定位置选取元素,元组索引适用于多维数组的选择。掌握这两种索引能提升数组数据处理的效率。
微机实验一 || 流水灯实验
微机实验一 || 流水灯实验
541 0

热门文章

最新文章