当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。图9-11串行工作方式2帧格式图1.数据的发送和接收在方式2下,字符还是8个数据位,只是增加了一个第9个数据位,而且其功能由用户确定,是一个可编程位。甲机工作于串行方式2,TB8为奇偶校验位;乙机用于接收串行数据,也工作于方式2,并对奇偶校验位进行校验,接收数据存放于RAM的60H~6FH中。......
2023-11-17
在方式0下,把串行口作为同步移位寄存器使用,这时以RXD(P 3.0)端作为数据移位的入口和出口,而由TXD(P 3.1)端提供移位时钟脉冲。波特率固定为单片机的fosc/12。移位数据的发送和接收以8位为一组,低位在前高位在后。其格式为:
1.数据的发送
当数据写入串行口发送缓冲器SBUF后(MOV SBUF,#..),在移位时钟TXD的控制下,按一定波特率将数据由低位到高位从RXD引脚传送出去,发送完毕,硬件自动使SCON的TI位置1,再次发送数据之前,TI必须由软件清0。此时,若在硬件中加上串入并出移位寄存器,如CD4094、74LS164等芯片,即可以将RXD引脚送出的串行数据重新转换为并行数据,实际上是将串行口当做并行输出口。电路连接如图9-4所示,其输出时序如图9-5所示。
图9-4 串行口与74LS164连接图
图9-5 方式0数据输出时序图
2.数据的接收
在满足REN=1和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,置中断标志RI为1,请求中断。再次接收数据之前,RI必须由软件清0。若将并入串出移位寄存器(如CD4014或74LS165等芯片)的输出连接到单片机的RXD引脚,当串行口工作于方式0接收时,即可接收到CD4014或74LS165输入端的并行数据。此时,相当于把串行口当做扩展输入口用。电路连接如图9-6所示,其输入时序如图9-7所示。
图9-6 串行口与7HC165连接图(www.chuimin.cn)
图9-7 方式0数据输入时序图
【例9-1】用8051单片机的串行口外接串入并出的芯片CD4094扩展并行输出口控制一组发光二极管,使发光二极管从左到右依次点亮并反复循环,如图9-8所示。
【解】由硬件连接可知,要使某一个发光二极管点亮,必须使驱动该发光二极管的CD4094并行输出端输出高电平。因此,要点亮Q0对应的发光二极管,串行口应送出80H,要实现将发光二极管由右到左依次循环点亮,只需使串行口依次循环送出80H→40H→20H→10H→08H→04H→02H→01H即可。串行口数据传送时,为避免CD4094并行输出端Q0~Q7的不断变化而使发光二极管闪烁,在传送时,使P1.0=0(即STB=0),每次串行口数据传送完毕,即SCON的TI位为1时,使P1.0=1(即STB=1),Q0~Q7输出控制相应发光二极管点亮。
【程序】
【C51参考程序】
有关单片机基础及应用的文章
当设置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位停止位。单片机以串行工作方式1进行串行数据通信,波特率为1200bps。假定甲、乙机以串行工作方式1进行串行数据通信,其波特率为9600,甲、乙双机的8051的晶振频率均为11.0592MHz,波特率不倍增。......
2023-11-17
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
在单片机应用系统设计时,应按以下6条原则进行:1)明确设计目标。在整个设计过程中要不断地对照设计目标并满足目标要求。2)自上而下设计。3)软、硬件优化设计。大部分子任务可以以硬件为主实现也可以以软件为主实现,必须进行协调优化设计,从而提高性能质量,降低成本。6)组合及开放式设计。......
2023-11-17
数组是由若干个具有相同数据类型的数据变量组成的集合。数组名的命名规则与变量名的命名规则相同。数组元素用同一个数组名字的不同下标来区别,数组的下标放在方括号中,从0开始,是0,1,2,3,…数组元素由数组名a和下标共同表示,数组元素分别为a[0],a[1],a[2],…在C51程序设计中,八段数码管的段码表就是用数组表示的。......
2023-11-17
对于C51的变量,我们强调3个概念:变量名、变量值和变量所在的地址。变量值是一个变量的内容,如C51指令“ch1=0x12;”就是将数值0x12赋值给变量ch1,该指令执行后,变量ch1的变量值就是0x12。对MCS-51系列单片机,以单片机的片内RAM单元为例,我们强调了3个概念:片内RAM单元的内容、片内RAM单元的名字和片内RAM单元的地址。指针变量的值是指针(地址)。......
2023-11-17
软件设计包括题目定义、题目细分、确定算法、画流程图和编写程序5部分内容。1.题目定义题目定义是在对软件设计任务书分析后,根据系统软件功能的要求,作出软件的总体规划和详细说明,必须明确如下内容:1)输入/输出信息列表。3.确定算法确定算法是软件非常重要的工作。......
2023-11-17
相关推荐