王峻崧
【摘 要】英国的实验中心电子开发的Proteus软件支持模拟电路,数字电路,单片机和模拟ARM的仿真。在Proteus7.5开始,可以支持8086 CPU,它为计算机学习和研究提供了极大的方便。本文从实际应用出发,在Proteus软件中模拟LED右流水灯亮的过程。
【关键词】8086处理器;微机原理;仿真
一、引言
随着科学技术的不断发展,微型计算机已广泛应用于社会和经济的各个方面,因为它们的体积小,重量轻,功耗低,结构简单,可靠性高,使用方便,以及拥有高性价比。而嵌入式系统的发展,使微型计算机系统在通信、机电一体化等方面的应用更加广泛。
本次设计,通过汇编语言控制开关的状态,用8086CPU控制8255A的端口PA,再利用74ls245芯片通过控制8只LED发光二极管,PB口接1只开关,编写程序LED灯右循环亮。
二、设计方案
2.1设计原理
本次设计的内容为模拟流光灯控制系统设计与实现。根据需要,选择的芯片有8086cpu芯片,74273芯片,74ls254芯片,8255A可编程并行接口。然后编写程序,用Proteus8软件进行仿真,控制8个LED灯实现流水效果。
2.2设计环境及设备
PC机一台、windows 10系统
2.3模拟灯右循环亮工作原理
2.3.1现象:右向移动流水灯的实验现象是首先最左边的灯亮,然后是最左边的灯灭,此时左起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。
2.3.2原理:右向移动流水灯是根据发光二极管的显示原理,首先点亮最右的二极管,然后进位置一,通过带进位的循环右移指令编写程序以实现模拟流水灯的右向移动。
三、系统硬件介绍
3.1 8086处理器介绍
8086CPU是INTEL系列微处理器中具有代表性的高性能16位微处理器.它使用的HMOS工艺制造,外形封装为双列直插,有40个引脚。使用单个5V电源,8086处理器的主时钟频率为4.77MHZ。8086 CPU具有16位数据总线和20位地址總线,所以它的直接寻址空间是1MB。
8086CPU采用了2级流水线的处理方式,8086CPU内部设置了两个独立的部分总线接口部件(BIU)和指令执行部件(EU)来实现取指令与执行指令的流水线操作。总线接口部件负责取指令,存取操作数和存结果,即负责所有的外部操作。指令执行部件负责执行指令,即从BIU的指令队列中取出指令,并执行指令,不必访问存储器或I/O端口,节省了取指令时间,加快程序执行速度。
3.2 8255芯片介绍
8255芯片是来自于Intel家族,型号8255用24个输入/输出引脚和可编程通用并行输入/输出接口电路(改性8255A和8255A-5)的可编程外围接口电路。它是一个40针双列直插集成电路,并且使用单个+ 5V电源。
8255芯片一种并行输入输出LSI芯片,一个多功能I/O设备,可以被用作CPU总线与外围设备之间的接口。
8255芯片有24可编程I/O端口,即,3个组的8位I/O端口中的端口PA,PB端口和PC端口。它们可以被分为两个组,每组12位I/O端口。A组包括端口A和端口C(高4位,PC4到PC7)。B组包括端口B和端口C(低4位,PC0到PC3)。A组可以被设置为基本的I/O端口,STROBE I/O闪控,双向I/O 3点的模式;B组只能被设置为基本的I/O或闪控I/O模式,即完全由控制寄存器的控制字来确定。
3.3 74273芯片介绍
74273芯片是一个8位的数据锁存器。
第1脚是复位脚,平时应保持高电平;低电平时1Q~8Q输出全部低电平,同时内部寄存器全部清零。
1D~8D为数据输入,在11脚(CLK)从低电平升变到高电平时(即上沿),1D~8D被保存到74273寄存器中,同时1Q~8Q输出对应1D~8D的电平。
第1脚保持高电平,第11脚为低电平、高电平、高电平到低电平跳变(下升沿)这些状态对输出1Q~8Q及74273内部保存的数据无影响。
3.4 74ls245
74LS245是用于驱动LED或其它设备通常使用的芯片。它是一个8信道的同相三态双向总线收发器,其在两个方向上传送数据。
第1脚DIR(T/R),为输入输出端口转换用,DIR="1"高电平时信号由"A"端输入"B"端输出,DIR="0"低电平时信号由"B"端输入"A"端输出。
第2~9脚“A”信号输入输出端,A0=B0,A7=B7,A0与B0是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。
第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。
第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
第10脚GND,电源地。
第20脚VCC,电源正极。
四、模拟流水灯软件设计
4.1编程程序实现
CODE SEGMENT 'CODE'
ASSUME CS:CODE
START:MOV DX,06H
MOV AL,82H
OUT DX,AL
MOV DX,00H
MOV AH,0FEH
BG: MOV AL,AH
OUT DX,AL
CALL DELAY
MOV DX,02H
IN AL,DX
TEST AL,01H
JNZ BG
ROR AH,1
MOV DX,00H
JMP BG
DELAY PROC NEAR
MOV BL,100
DELAY2: MOV CX,374
DELAY1: NOP
NOP
LOOP DELAY1
DEC BL
JNZ DELAY2
RET
DELAY ENDP
CODE ENDS
END START
五、仿真图
六、结果分析
点击软件的右下角开始模拟按钮,然后关闭K0开关。可以观察到的是,在右上角的LED灯从左到右闪烁,不停止。
基于这次试验,让我们对Proteus软件有了更深的认识,对微机原理以及技术有了更深层次的了解,在21世纪新时代,微机原理会得到更深层次的发展。我们的社会也会更加的幸福。
【参考文献】
[1]田辉主编.微机原理与接口技术[M].高等教育出版社,2011.