8251串行通讯实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽师范大学数计学院实验报告
专业名称11计科
课程微机原理
实验名称串行通信实验姓名
学号110704012
8251 可编程串行口与PC 机通讯实验
一、实验目的
(1) 掌握8251 芯片的结构和编程,掌握微机通讯的编制。
(2) 学习有关串行通讯的知识。
(3) 学习 PC 机串口的操作方法。
二、实验说明
1、8251 信号线
8251 是CPU 与外设或Mode 之间的接口芯片,所以它的信号线分为两组:一组是用于与CPU 接口
的信号线,另一组用于与外设或Mode 接口。
(1)与CPU 相连的信号线:
除了双向三态数据总线(D7~D0)、读(RD)、写(WR)、片选(CS)之外,还有:
RESET:复位。通常与系统复位相连。
CLK:时钟。由外部时钟发生器提供。
C/D:控制/数据引脚。
TxRDY:发送器准备好,高电平有效。
TxE:发送器空,高电平有效。
RxRDY:接收器准备好,高电平有效。
SYNDET/BRKDET:同步/中止检测,双功能引脚。
(2)与外设或Mode 相连的信号线:
DTR:数据终端准备好,输出,低电平有效。
DSR:数据装置准备好,输入,低电平有效。
RTS:请求发送,输出,低电平有效。
CTS:准许传送,输入,低电平有效。
TxD:发送数据线。
RxD:接收数据线。
TxC:发送时钟,控制发送数据的速率。
RxC:接收时钟,控制接收数据的速率。
2、8251 的初始化编程和状态字
8251 是一个可编程的多功能串行通信接口芯片,在使用前必须对它进行初始化编程。初始化编
程包括CPU 写方式控制字和操作命令字到8251 同一控制口,在初始化编程时必须按一定的顺序。如
下面的流程图:
三、实验原理图
四、实验内容
本实验由实验器发送一串字符0~9,PC 机串口接收并在超级终端上显示。
五、实验步骤
与PC 机通讯应用实验
(1)实验连线:
a.用串口线把实验机 8251 模块的RS232 通讯口与PC 机相连,把串口旁边的短路块SW1 短路在2-2/3-3 上,
SW2 短路在RS232 上。
b. 把 8251 实验区TxD、RxD 分别与RS232 实验区中的TxD、RxD 相连。
c. 8254 定时器电路的CLK0 和8251 的CLOCK 连到信号源CLK1(短路在1.5MHz)。
d. 8254 定时器电路的OUT0 接8251 的TxC 和RxC,8254 定时器电路的GATE 接+5V
e. 8251 选通线CS 与ISA 总线接口模块的0000H 相连,8254 选通线CS 与ISA 总线接口模块的0020H 相连。
f. 8251 及8254 的WR 连到8086 主模块的,8251 及格8254 的RD 连8086 主模块的RD。
g. 8251 及8254 模块的数据(D0~D7)、地址线(A0~A7)分别连到主模块的数据(AD0~AD7)、地址线(A0~A7)。
(2)PC 机设置:进入WINDOWS 附件——>通讯——>超级终端。进入终端后在“连接时使用”下
拉框选择你所使用的COM 口,波特率设置为4800,数据位8 位,奇偶校验位无,停止位1 位,流量
控制无。等待接收数据。
(3)编译、运行程序(8251xp.asm),运行程序前先按硬件复位,正常运行后应在PC 机屏幕上循环显示“Qingdong Microcomputer Institute ”
六、实验代码
MY_STACK SEGMENT PARA 'STACK'
DB 100 DUP(?)
MY_STACK ENDS
MY_DATA SEGMENT PARA 'DATA'
IO_9054base_address DB 4 DUP(0) ;PCI卡9054芯片I/O基地址暂存空间
IO_base_address DB 4 DUP(0)
pcicardnotfind DB 0DH,0AH,'pci card not find or address/interrupt error !!!',0DH,0AH,'$'
GOOD DB 0DH,0AH,'The Program is Executing !',0DH,0AH,'$'
D8251_0 DW 0000H ;DLAB=0:接收数据寄存器,发送保持寄存器;DLAB=1:波特率除数寄存器低位
D8251_1 DW 0001H ;DLAB=0:中断允许寄存器;DLAB=1:波特率除数寄存器高位
P8254_T0 DW 0020H
P8254_MODE DW 0023H
PC16550_0 EQU 03F8H ;DLAB=0:接收数据寄存器,发送保持寄存器;DLAB=1:波特率除数寄存器低位
PC16550_1 EQU 03F9H ;DLAB=0:中断允许寄存
器;DLAB=1:波特率除数寄存器高位
PC16550_3 EQU 03FBH ;线路控制寄存器LCR
PC16550_4 EQU 03FCH ;MODEM控制寄存器MCR PC16550_5 EQU 03FAH ;线路状态寄存器LSR DELAY_SET EQU 01FFH ;延时参数
MES DB ' PCI CARD NOT FOUND! $'
MES0 DB '***********************PCI CONFIG INFO*****************************',13,10,'$'
MES1 DB 'PCI BIOS NOT FOUND!',10,13,'$'
MES2 DB ' PCI CONFIG READ ERROR! $'
DIS1 DB 'PCI ADDRESS 0 $';
DIS5 DB 'BIOS NOT SUPPER!$'
DIS6 DB 'READ PCI BOARD FAIL!$'
;-------PCI Configuration Space Registers-------------------------------
BN DB ? ;BUS NUMBER
DN_FN DB ? ;Device Number and Function Number