当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。图9-11串行工作方式2帧格式图1.数据的发送和接收在方式2下,字符还是8个数据位,只是增加了一个第9个数据位,而且其功能由用户确定,是一个可编程位。甲机工作于串行方式2,TB8为奇偶校验位;乙机用于接收串行数据,也工作于方式2,并对奇偶校验位进行校验,接收数据存放于RAM的60H~6FH中。......
2023-11-17
在方式1下,串行口以10位为一帧,为异步串行通信方式,主要包括1位起始位、8位数据位和1位停止位。其主要特点是:RXD(P 3.0)引脚接收数据,TXD(P 3.1)引脚发送数据;数据位的接收和发送低位在前,高位在后。其格式如图9-9所示。
图9-9 方式1帧格式图
1.数据的发送
在方式1,TI=0时,数据的发送从执行“MOV SBUF,A”指令开始,随后在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移动脉冲的作用下,由TXD端串行输出。一个字符帧发送完后,使TXD输出线维持在1(mark)状态下,并将SCON寄存器的TI置1,通知CPU可以接着发送下一个字符。
2.数据的接收
接收数据时,SCON的REN位应处于允许接收状态(REN=1)且(RI=0),串行口采样RXD端,当采样从1到0的状态跳变时,就认定接收到起始位,随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中,直到停止位到来之后置位中断标志位RI,通知CPU从SBUF取走接收到的一个字符。
3.波特率的设定
方式0的波特率是固定的。但方式1的波特率是可变的,以定时器T1作波特率发生器使用,其值由定时器1的计数溢出率来决定,其公式为
其中,SMOD为PCON寄存器最高位的值,其值为1或0。
当定时器1作波特率发生器使用时,选用工作方式2(即8位自动加载方式),这主要是因为方式2具有自动加载功能,可避免通过程序反复装入初值所引起的定时误差,能使波特率更加稳定。假定计数初值为X,则计数溢出周期为
溢出率为溢出周期的倒数,则波特率计算公式为
实际使用时,总是先确定波特率,再计算定时器1的计数初值,然后再进行定时器的初始化。根据上述波特率的计算公式,可得出计数初值的计算公式为
以T1作波特率发生器由系统决定,用户只需根据通信所要求的波特率计算出定时器T1的计数初值,以便在程序中设置。
【例9-2】单片机以串行工作方式1进行串行数据通信,波特率为1200bps。若晶体振荡频率fosc为6MHz,试确定定时器/计数器1的计数初值。(www.chuimin.cn)
【解】串行口工作于方式1时的波特率由定时器/计数器1的溢出率决定,计数初值为
式中,晶体振荡频率fosc=6MHz、波特率=1200bps(已由题中给出),设SMOD位为0,可得计数初值为
因此,通过下面的指令可以对单片机的串行通信进行初始化,包括串行口的工作方式和波特率设置。
【例9-3】假定甲、乙机以串行工作方式1进行串行数据通信,其波特率为9600,甲、乙双机的8051的晶振频率均为11.0592MHz,波特率不倍增。甲机发送,发送数据的个数在内部RAM的40H中,数据则存放于外部RAM的以4000H地址开始的单元中。乙机接收,并把接收到的数据个数存放于内部RAM的50H中,数据块依次存入外部RAM的5000H地址开始的区域中。双机通信系统图如图9-10所示。
【解】参考例9-2,确定定时器/计数器1的计数初值。
图9-10 双机通信系统图
串行发送的内容包括数据的个数和数据两部分内容。对数据个数的发送以查询方式进行,而数据则以中断方式传送。因此在程序中要先禁止串行中断,后允许串行中断。
【程序】
单片机串行工作方式1例程说明
有关单片机基础及应用的文章
当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。图9-11串行工作方式2帧格式图1.数据的发送和接收在方式2下,字符还是8个数据位,只是增加了一个第9个数据位,而且其功能由用户确定,是一个可编程位。甲机工作于串行方式2,TB8为奇偶校验位;乙机用于接收串行数据,也工作于方式2,并对奇偶校验位进行校验,接收数据存放于RAM的60H~6FH中。......
2023-11-17
图9-4串行口与74LS164连接图图9-5方式0数据输出时序图2.数据的接收在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据,当接收完8位数据后,置中断标志RI为1,请求中断。若将并入串出移位寄存器的输出连接到单片机的RXD引脚,当串行口工作于方式0接收时,即可接收到CD4014或74LS165输入端的并行数据。......
2023-11-17
工作方式1是16位定时器/计数器结构的工作方式,计数器由TH0全部8位和TL0全部8位构成,其逻辑电路和工作情况与方式0完全相同,所不同的只是组成计数器的位数。相关控制寄存器的设置TMOD的设置:定时器1工作在方式1下,则M1M0=01;为实现计数功能=1;由TR1启停控制位控制,GATE=0,因此TMOD的高四位为二进制0101。定时器/计数器0不用,所以保持其原来的控制位不变。程序设计定时器方式1例程说明......
2023-11-17
方式3同样是串行通信方式,以11位为一帧,其通信过程与方式2完全相同,所不同的仅在于波特率。方式2的波特率只有固定的两种,而方式3的波特率可由用户根据需要设定。8051串行口按方式1进行通信,若每分钟传送3600个字符,则波特率为________。2.简答题简述MCS-51串行口发送和接收数据的过程。请编程实现串行口在方式2下的发送程序。利用单片机的串行口扩展并行I/O接口,控制16个发光二极管依次发光。......
2023-11-17
8051单片机全双工串行口具有4种工作方式,可通过软件编程选择。方式1为波特率可变的10位异步通信接口方式。在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,在移位脉冲作用下串行数据从TXD引脚输出。发送和接收的一帧信息为11位,即1个起始位,9个数据位和1个停止位。发送一帧信息后,置位中断标志TI,其过程与方式1相同。方式3为波特率可变的11位UART方式。......
2023-11-04
8255共有3种工作方式,即方式0、方式1以及方式2。8255的“选通”是通过信号的“问”与“答”,以联络方式来实现的,所以这种数据传送方式是有条件的,适用于以查询或中断方式进行控制。3.方式2方式2是在方式1的基础上加上双向传送功能,但只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。如果把A口置于方式2下,则B口只能工作于方式0。表8-7C口联络信号定义......
2023-11-17
当CPU执行完任何能使PD置1的指令后,就使单片机进入掉电工作方式。退出掉电工作方式的唯一方法是硬件复位。在掉电工作方式期间,VCC可以降低到2V,但在进入掉电工作方式之前,VCC不能降低。而在准备退出掉电工作方式之前,VCC必须恢复正常的工作电压值,并维持一段时间,使振荡器重新启动并稳定。......
2023-11-17
8051系列单片机内部集成的串行通信接口全称为“通用异步收发器”,它既可作异步传输使用,也可作同步移位寄存器使用,还可用于数据的组网通信。图9-7 8051系列单片机通用异步收发器的内部结构UART工作时,定时器T1用于产生通信需要的时钟,控制寄存器用于对串行口的工作状态进行相应的监控和设置。......
2023-11-17
相关推荐