微机原理串口通信.课程设计.doc
文本预览下载声明
1基础理论知识
1.1通信的方式
通信的基本方式可以分为并行通信和串行通信两种。
串行通信时数据用一根传输线逐为顺序传送。并行通信和串行通信是CPU与外部设备之间进行信息交换的基本方法。采用并行通信时,构成一个字符或数据的各位同时传送,每一位都占用一条通信线,另外还需要联络以保证和外围设备协调地工作,它具有较高的传输速度。但由于在长线上驱动和接收信号较困难,驱动和接收电路较复杂,因此并行通信的传输距离受到限制,这种通信方式多用于计算机内部,或者作为计算机与近距离外围设备传输信息用。
1.2串行通信
串行通信分为两种类型:串行异步通信和串行同步通信。
串行异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。
同步通信时指在约定的数据通信数率下,发送方和接收方的时钟信号频率和相位始终保持一致,通信双方发送数据和接收数据具有完全一致的定时关系。
串行通信的数据传输方式分为单工传送,半双工传送,全双工传送。
单工传送:单工传送时指在通信时只能由一方发送数据,另一方接收数据的通信方式。
半双工传送:指在通信时双方都能够接收或者发送,但是不能够同时接收和发送的通信方式。
全双工传送:通信双方之间有两条通路,发送信息和接收信息可以同时进行。
2 串口通信芯片8250
2.1 8250的内部结构
INS 8250是通用异步收发器UART,用作异步通信接口电路。INS 8250的引脚信号基本上可以分为两大类:与CPU系统总线相连的信号线和与通信设备MODEM连接的信号线
2.2 8251的内部寄存器及其编程方法
在微机中用可编程芯片8250来实现串行通信。由于8250的引脚较多,在此就不列出了,仅列出它的几个寄存器,因为在编写串行通信程序时要使用这些寄存器。
2.2.1波特率因子寄存器(DLL/DLH)
8250芯片规定当线路控制寄存器写入D7=1时,接着对口地址3F8H、3F9H可分别写入波特率因子的低字节和高字节,即写入除数寄存器(L)和除数寄存器(H)中。而波特率为1.8432MHZ/(波特率因子╳16),波特率和除数对照表见下表:
十进制 十六进制 波特率 1047 417 110 768 300 100 384 180 300 192 C0 600 96 60 1200 48 30 2400 24 18 4800 12 C 9600 2.2.2通信线路控制寄存器(LCR)(3FBH)
该寄存器规定了异步串行通信的数据格式。各位含义如下:
D7 D6 D5 D4 D3 D2 D1 D0 DLAB SB SP EPS PEN STB WLS1 WLS0
其中:
D1~D0是字长。它们的取值和对应的字长如下表:
00 5位 01 6位 10 7位 11 8位
D2是停止位。它的取值和对应的停止位如下表:
0 1位 1 15位(数据位5位)
2位(数据位6、7、8位) D3说明是否允许奇偶校验。如果为0无奇偶校验,如果为1允许奇偶校验。
D4说明是奇校验还是偶校验。如果为0是奇校验,如果为1是偶校验。这一位起作用的前题是D3为1。
D5说明是否有附加奇偶校验位。如果为0无附加奇偶校验位,如果为1有附加奇偶校验位。
D6如果为0正常,如果为1发空缺位。
D7如果为0允许访问接收、发送数据寄存器或中断允许寄存器。如果为0允许访问波特率因子寄存器。
通信线路控制寄存器LCR主要用来指定异步通信数据格式,即字符长度、停止位位数、奇偶校验。LCR的控制字如下
2.2.3通信线路状态寄存器(3FDH)
该寄存器向CPU提供有关数据传输的状态信息,各位含义如下:
D7 D6 D5 D4 D3 D2 D1 D0 0 TSRE THRE BT FE PE OE DR D0:DR,接收数据就绪 D1:OE,数据重叠错 D2:PE,数据奇偶错
D3:FE,缺少正确停止位 D4:BI,接收空缺位 D5:THRE,发送保持器空
D6:TSRE,发送移位寄存器空
读入时各数据位等于1有效,读入操作后各位均复位。除D6位外,其它位还可被CPU写入,同样可产生中断请求。
2.2.4中断允许寄存器(3F9H)
该寄存器允许8250四种类型中断(相应位置1)并通过IRQ4向8088CPU发中断请求。各位含义如下:
D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 EMSI ELSI ETBEI ERBFI
D0:为1允许接收缓冲区满中断
D1:为1允许发送保持器空中断
D2:为1允许接收数据出错中断
D3:为1允许Modem状态改变中断
2.2.5中断识别寄存器(3FAH)
为了具体识别时哪种事件引起的中断,直
显示全部