微机原理8086——8251A串口芯片protues仿真

基于protues8.5 仿真以8086为主控,以及8251A串口芯片的微机系统。

功能:仿真8086把代码中的测试数据,输出到电脑虚拟串口中。

所用工具:
1、protues8.5
2、VSPD6.0
3、代码编辑器EMU8086

问题:8251A在软复位后,配置寄存器,芯片不能正常工作。

解决方案:查了的demoborad的源码发现模型里面的8251A的初始化配置中根本没有软复位的过程(在一本教材上有8151A无论工作于任何方式都必须初始化,即对操作字赋值40H)。就直接配置寄存器即可。

1、硬件连接(8251部分)译码电路就省略了

微机原理8086——8251A串口芯片protues仿真_第1张图片
本次异步通信的波特率是9600,无奇偶校验,1个停止位,8个数据位。波特率因子16。所以发送时钟为9600*16=153.6K.
微机原理8086——8251A串口芯片protues仿真_第2张图片

其中COMPIM的配置物理端口为COM3. 用VSPD两个端口连接起来。

微机原理8086——8251A串口芯片protues仿真_第3张图片
2、工具配置与运行结果
设定COM2为作为输出口。一会用串口助手配置成COM2即可。
在这里插入图片描述
串口助手显示的测试结果正确。

微机原理8086——8251A串口芯片protues仿真_第4张图片

总结:按教科书上面写的使用前要对8251A进行软复位操作遇上了大坑,在protues上这个8251A的模型就不需要初始化直接配置命令字即可使用。

3、关键代码段:
Testdat DB ‘This is a test! ‘,0DH,0AH,’$’ ;测试数据

MOV DX,02H ;8251a UART COMMUNICATION
MOV AL,4EH
OUT DX,AL
NOP
MOV AL,07H
OUT DX,AL
NOP

AGANIN:
LEA BX,Testdat ;get point of Testdat
WAT:
MOV DX,02H
IN AL,DX
TEST AL,01H
JZ WAT
MOV AL,[BX]
CMP AL,’$’
JE AGANIN
INC BX
MOV DX,00H
OUT DX,AL
JMP WAT

你可能感兴趣的:(微机8086,微机原理,串口芯片8251A)