微机原理实验四实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验四 8251可编程串行口与PC机通信实验一、实验要求
利用实验箱内的8251A芯片,实现与PC机的通信。
二、实验目的
1.掌握8251A芯片结构和编程方法;
2.了解实现串行通信的硬件环境,数据格式和数据交换协议;
3.了解PC机通信的基本要求。
三、实验原理
(一)8251A芯片工作方式配置:
1. 8个数据位;
2.无奇偶校验位;
3.1个停止位;
4.波特率因子设为16;
5. 波特率设为9600。
(二)8251A主要寄存器说明
图4-1 模式字
图4-2 命令字
CO MMAN D I NSTR UCT ION FO RMA T
图4-3 状态字
(三)8251编程
对8251 的编程就是对8251 的寄存器的操作,下面分别给出8251 的几个寄存器的格式。(1)方式控制字
方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4-4所示。
图4-4 方式控制字说明
(2)命令控制字
命令控制字用于指定8251 进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。图4-5 所示的是8251 命令控制字各位的定义。
图4-5命令控制字说明
(3)状态字
CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作,8251 的状态字如
图4-6所示。
图4-6 状态字说明
四、实验电路连接:
1.CS8251接228H,CS8279已固定接至238H;
2.扩展通信口18中的232RXD连8251RXD ,232TXD连8251TXD;
3.计算机的两个RS232通信口,一个连至仿真机通信口,一个连至扩展通信口18(所有通信口均为DB9)。注意:RS232通信口必须在设备断电状态下插拔!
图4-7 连线图
五、实验内容及要求
1. 将例程从PDF文档中导入到WMD86软件编辑环境中,调试通过。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。
2.剔除例程中冗余部分,实现对例程的精简和优化。将精简内容与相应理由写入实验报告。
3.将自己学号的后三位数字通过RS232端口的Txd管脚输出。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。
4.通过读状态寄存器的方法,获得发送移位寄存器是否为空的信息,实现学号后三位数字的循环发送。将结果截图保存,贴入实验报告。
5.给每帧数据间添加固定的时间间隔,时间间隔为10000个指令周期。将结果截图保存,
贴入实验报告。
六、实验程序及结果
1.
起始位0,8位数据:10101010,由于发送的数据是从低到高,所以实际数据是01010101,即55H。无校验位。
2.精简化程序
M8251_DATA EQU 0600H ;端口定义
M8251_CON EQU 0602H
M8254_2 EQU 0644H
M8254_CON EQU 0646H
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: CALL INIT
A1: CALL SEND
MOV CX, 0001H
A2: MOV AX, 0F00H
A3: DEC AX
JNZ A3
LOOP A2
JMP A1
INIT: MOV AL, 0B6H ; 8254, 设臵通讯时钟
MOV DX, M8254_CON
OUT DX, AL
MOV AL, 1BH
MOV DX, M8254_2
OUT DX, AL
MOV AL, 3AH
OUT DX, AL
CALL RESET ; 对8251 进行初始化
CALL DALLY
MOV AL, 6EH
MOV DX, M8251_CON ; 写8251 方式字,有奇偶校验OUT DX, AL
CALL DALLY
MOV AL, 34H
OUT DX, AL ; 写8251 控制字
CALL DALLY
RET
RESET: MOV AL, 00H ; 初始化8251 子程序
MOV DX, M8251_CON ; 控制寄存器
OUT DX, AL
CALL DALLY
OUT DX, AL
CALL DALLY
OUT DX, AL
CALL DALLY
MOV AL, 40H
OUT DX, AL
RET
DALLY: PUSH CX
MOV CX, 5000H
A4: PUSH AX
POP AX
LOOP A4
POP CX
RET
SEND: PUSH AX
PUSH DX
MOV AL, 31H
MOV DX, M8251_CON
OUT DX, AL
MOV AL, 55H
MOV DX, M8251_DATA ; 发送数据55H
OUT DX, AL
CALL DALLY