补充章 特殊功能寄存器下
本章主要介绍剩余的特殊功能寄存器的应用。
一、功能介绍
串行口
8051单片机片内集成了一个全双工的串行口,对外有两根独立的收、发信号线RXD (P3.0)和TXD(P3.1),可以同时接收和发送数据,实现全双工数据传送。串行口可用于串行/并行数据转换,也可用于串行通信。
串行通信采用异步通信方式传送数据,数据在线路上是以一个字(或称字符)为单位进行传送的,通信字符格式如图
一个字符由4个部分组成:起始位、数据位、奇偶校验位和停止位。起始位为“0”,停止位为“1”,线路在不传送数据时保持为“1”。接收端不断检测线路的状态,若连续为 “1”以后又检测到一个“0”,就知道又发来了一个新的字符。
起始位后面紧跟的是数据,数据通常为8位,也可以是5位、6位、7位,串行通信速度与数据位数成比例,因此要根据需要来确定数据的位数。奇偶校验位只占一位,也可不用奇偶 验而加一些其他的控制位,如用来确定这个字符所代表信息的性质(是地址还是数据 等),这时也可能使用多于1位的附加位。
停止位用来表征字符的结束,它一定是“1”,接收端收到停止位时,就表示一个字符结束,同时也为接收下一个字符做好准备。若停止位以后不是紧接着传送下一个字符,则让线路上保持为“1”。图所表示的是第n个字符与第n+1个字符之间不是紧接着传送的情形, 两个字符之间存在空闲位“1”,线路处于等待状态。存在空闲位是异步传送的特征之一。
串行通信有个重要指标叫波特率。它定义为每秒钟传送二进制数码的位数。在异步通信中,波特率为每秒传送的字符数和每个字符位数的乘积。例如,每秒传送的速率为120字符/秒,而每个字符又包含10位(1位起始位,7位数据位,1位奇偶校验位,1位停止位),则波特率为
120字符/秒×10位/字符=1200位/秒=1200波特
进行异步通信时,收、发双方必须事先规定两件事:一是字符格式,即规定字符各部分所占的位数、是否采用奇偶校验及校验方式(偶校验还是奇校验);二是采用的波特率。