实 验 报 告
课程名称 实验项目名称 实验类型 班级 姓名 实验室名称 预习部分 实验成绩 教师签字
微机原理与接口技术 实验四 8251可编程串口与PC机通信实验 综合与设计性实验 实验过程 表现 实验学时 学号 指导教师 实验时间 实验报告 部分 日期 2 总成绩
实验四 8251可编程串行口与PC机通信实验
一、实验要求
利用实验箱内的8251A芯片,实现与PC机的通信。
二、实验目的
1.掌握8251A芯片结构和编程方法;
2.了解实现串行通信的硬件环境,数据格式和数据交换协议; 3.了解PC机通信的基本要求。
三、实验原理
(一)8251A芯片工作方式配置: 1. 8个数据位; 2.无奇偶校验位; 3.1个停止位;
4.波特率因子设为16; 5. 波特率设为9600。 (二)8251A主要寄存器说明
图4-1 模式字
图4-2 命令字
COMMAND INSTRUCTION FORMATEHIRRTSERSBRKRxEDTRTxEN1=TRANSMIT ENABLE, 0=TRANS. DIS.\1\FORCE DTR# PIN TO ZERO1=RECEIVE ENABLE, 0=RECEIVE DISABLE\1\FORCE TxD PIN TO LOW; \0\NORMAL OPENATION\1\RESET ERROR FLAGS PE.OE,FE (ERROR RESET)\1\FORCE RTS PIN TO ZERO (REQUEST TO SEND)\1\RETURNS 8251A TO MODE INSTRUCTION FORMAT (INTERNAL RESET)\1\ ENABLE SEARCH FOR SYNC CHARACTERS (NO EFFECT IN ASYNC MODE)
图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, 设臵通讯时钟
微机原理实验四实验报告



