串行接口数码管显示电路

上传人:hs****ma 文档编号:564891307 上传时间:2023-04-07 格式:DOCX 页数:5 大小:77.57KB
返回 下载 相关 举报
串行接口数码管显示电路_第1页
第1页 / 共5页
串行接口数码管显示电路_第2页
第2页 / 共5页
串行接口数码管显示电路_第3页
第3页 / 共5页
串行接口数码管显示电路_第4页
第4页 / 共5页
串行接口数码管显示电路_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《串行接口数码管显示电路》由会员分享,可在线阅读,更多相关《串行接口数码管显示电路(5页珍藏版)》请在金锄头文库上搜索。

1、1MCS51 芯片的串行输入/输出口1.1 串行输入/输出口概述计算机与它的外围设备之间的基本通信模式有两种:并行通信模式和串行通信模式。采 用并行通信模式时,例如通过并行输入/输出口 P1 控制交通灯,所有数据位同时通过并行输 入/输出口进行传送。并行通信模式的优点是数据传送速度快,所有的数据位同时传输;缺 点是电路复杂,一个并行的数据有多少位,就需要多少条传输线。采用串行通信模式时,所有的数据位按一定的顺序、通过一条传输线逐个地进行传送 串行通信模式的优点是电路简单,仅需要一条传输线;缺点是数据传送速度慢。串行通信模 式又可以再分为两种模式:同步通信模式和异步通信模式。AT89S51单片机

2、提供同步通信模式和异步通信模式两种串行通信模式。异步通信模式工 作在 UART (Universal Asynchronous Receiver and Transmitter),可以同时进行数据的发送和 接收。AT89S51单片机串行通信的接收部分具有缓冲能力,即已经接收到的第一个字节在被读 取之前就可以开始接收第二个字节。但是应当注意,如果第二个字节完成接收,而第一个字 节仍没有被读取,一个字节的数据将被丢失。串行输入/输出具有独立的发送和接收缓冲寄存器,它们共同被称作为串行数据缓冲寄 存器(SBUF),并占用特殊功能寄存器的同一个地址(99H)。发送缓冲寄存器只能写入不 能读出,接收缓冲

3、寄存器只能读出不能写入,因此它们的区分可以通过指令来实现。串行输入/输出的数据使用管脚RXD (管脚10)和管脚TXD (管脚11)可以同时接收 和发送数据。管脚RXD和管脚TXD也就是管脚P3.0和管脚P3.1,这里它们被按P3 口的 第二功能来使用。1.2 串行输入/输出口的工作方式AT89S51串行口的工作可以被分为4种工作方式。这4种工作方式的简述如下: 工作方式 0 串行口工作方式0为同步移位寄存器方式。在这种方式下,串行数据的发送和接收都是通过管脚RXD进行,管脚TXD用来传送同步移位脉冲。串行数据一帧的数据位数为8位, 传输时低位在前,高位在后。数据传输的波特率是固定的,为单片机

4、时钟频率的 1/12。如果 单片机的时钟频率为12MHz,则数据传输的波特率是1MB。串行口工作方式0的数据传输 波特率不受电源控制寄存器(PCON)中SMOD位的影响。本章将介绍利用串行口工作方式0实现数码管的显示。 工作方式 1串行口工作方式1为异步通信(UART)方式。串行数据一帧的数据位数为10 位: 1位 起始位(它的值为 0)、8 位数据位和 1 位停止位(它的值为 1)。数据位传输时低位在前, 高位在后。串行数据的发送通过管脚TXD进行;串行数据的接收通过管脚RXD进行。数 据传输的波特率是可变的。在接收时,数据帧中的停止位进入串行口控制寄存器(SCON)的位RB8。 工作方式

5、2串行口工作方式2为异步通信(UART)方式。串行数据一帧的数据位数为11位,1位 起始位(它的值为0),8位数据位,1位可编程位和1 位停止位(它的值为1)。数据位传输 时低位在前,高位在后,紧接着是可编程位。串行数据的发送通过管脚TXD进行;串行数 据的接收通过管脚RXD进行。数据传输的波特率是固定的,是单片机的时钟频率的1/32或 者1/64。具体工作在那一种波特率由电源控制寄存器(PCON)中SMOD位的内容决定, 当SMOD位被置1,波特率是单片机时钟频率的1/32;当SMOD位被清0波特率是单片 机时钟频率的 1/64。在发送时,数据帧中可编程位的值取决于串行口控制寄存器(SCON

6、)的位TB8。例如 把程序状态字(PSW)的位P的值送入TB8可以实现数据传输的奇偶校验。在接收时,数 据帧中的可编程位送入串行口控制寄存器(SCON)的位RB8,停止位这时被丢弃。 工作方式 3串行口工作方式3 除数据传输的波特率是可变的以外,其它与工作方式2 相同1.3 串行输入/输出口工作控制寄存器控制串行输入/输出口工作的控制寄存器有2个:串行口控制寄存器(SCON)和电源控 制寄存器(PCON)。 串行口控制寄存器(SCON)串行口控制寄存器(SCON)在特殊功能寄存器中的字节地址为98H,它即可以进行字 节寻址,也可以进行位寻址。这个寄存器的格式如表1 所示。表1串行口控制寄存器(

7、PCO N)的格式表D7D6D5D4D3D2D1D0PCONSM0SM1SM2RENTB8RR8TIRI位地址9F9E9D9C9B9A9998复位值00000000在表 1 中,每一位的具体功能如下。SM0和SM1:串行口工作方式控制位,工作方式的功能说明如表2所示。表2串行口的工作方式SM0SM1工作方式功能说明000同步移位寄存器方式0118位异步通信(UART)方式,波特率可变1029位异步通信(UART)方式,波特率为focs/64或者focs/321139 位异步诵信(UART)方式,波特率可变表中 focs 为单片机的时钟频率SM2:串行口工作方式2和3的多机通信控制位。REN:串

8、行接收使能控制位。TB8:串行口工作方式2和3时被发送的第9位数据。 RB8:串行口工作方式2和3时被接收的第9位数据。 TI:发送中断标志位。RI:接收中断标志位。 电源控制寄存器(PCON)电源控制寄存器(PCON)在特殊功能寄存器中的字节地址为87H,它没有位寻址功能, 只能进行字节寻址。这个寄存器的格式如表3 所示。表3 电源控制寄存器PCON的格式表D7D6D5D4D3D2D1D0PCONSMODGF1GF0PDTDL复位值0XXX0000电源控制寄存器PCON中仅有D7位,SMOD,在串行输入/输出口的控制中被应用, 它被用来控制串行通信的波特率。SMOD为1时的波特率是它为0时的

9、2倍。2基于串行输入/输出口的数码管电路前面在并行输入/输出口的应用中分别介绍了使用 P1 口实现交通灯的控制和数码管的 显示。如果希望同时实现交通灯的控制和数码管的显示,那么仅使用P1 口则是不够的,这 时需要使用更多的输出端口。如前所述, AT89S51 芯片向用户提供的并行输入/输出口是有限的,因此必须想办法进 行扩展。应用串行口工作方式0的同步移位寄存器方式是扩展输入/输出能力的一种方法。 串行口工作方式0的输出时序图如图1 所示。RDX (DATA OUT)D1D2DTD4D5D2TXD (SHIFT CLOCK)图 1 串行口工作方式 0 的输出时序图当向串行数据缓冲寄存器SBUF

10、写入一个数据,在管脚RXD和管脚TXD将自动产生 如图 1 所示的信号。管脚 RXD 输出数据,管脚 TXD 输出同步移位时钟。同步移位时钟的 周期等于单片机的工作周期,因此输出一个字节的数据需要8 个单片机的工作周期。串行口输出一个字节的数据需要 8 个单片机的工作周期这点在编程时应该注意,不能 连续地编写2条向串行数据缓冲寄存器(SBUF)写入数据的指令。因为如果第一个数据还 没有被全部发送出去,这时向串行数据缓冲寄存器(SBUF)再写入一个数据,新写入的数 据将覆盖没有完成发送的第一个数据的剩余内容,导致数据传输错误。管脚RXD的输出数据不能直接送入数码管,这是因为串行数据通过一条线输出

11、,而数 码管的工作则同时需要8个输入信号。使用8位移位寄存器(串行输入,并行输出)74LS164 可以把图1 所示的串行信号转换成数码管所需要的并行信号以满足数码管的需要。 74LS164 的功能表如表 4 所示。表 4 74LS164 的功能表输入输出MR CLK Dsa DsRQ0Q1Q2Q3Q4Q5Q6Q70 XXX0 0 0 0 0 0 0 010XXQ00Q10Q20Q30Q40Q50Q60Q701 f 111Q00Q10Q20Q30Q40Q50Q601f0 X0Q00Q10Q20Q30Q40Q50Q601fX00Q00Q10Q20Q30010Q50Q60应用串行口工作方式0和74L

12、S164的数码管的显示电路如图2所示。对比基于串行输 出口的数码管电路和基于并行输出口的数码管电路,这里电路的硬件开销并没有增加, 74LS164在这里完成了串/并转换和电流放大双重任务。310uFF0.1uF+5V112MHzC110uFR110kABC2-i-30pFDNGQ7Q6Q5Q4 74LS164 Q3DA1 pDA4 pp p p p p p p p R p 3I2 I3 L I5 L I7 k I9 1 11137tz611斗1026159斗1035二Q28-孑Q1IMRQ0+5V图 2 基于串行输出口的数码管的显示电路ab1cf abdg; comefge “心d3丄 30p

13、F执行指令:SBUF=0x3f;可以输出共阴极数码管字符“0”的显示代码。显示代码以图 1 所示的时序从单片机输出。 首先显示代码的最低位数据从AT89S51的管脚RXD送到74LS164的管脚DSA和DSB,接着 同步移位脉冲从AT89S51的管脚TXD送到74LS164的管脚CLK,在同步移位脉冲上升沿 的作用下,显示代码的最低位数据被移入74164的管脚Q。第2个同步移位脉冲的上升沿 接着把代码的最低位数据移入74164的管脚Q,把跟着最低位的数据移入74LS164的管脚 Q0。依次类推,8个同步移位脉冲完成把整个显示代码移入74LS164的输出管脚,其中最低 位在管脚Q7,最高位在管脚

14、Q0。串/并转换的整个过程需要8个单片机机器周期。如果单片 机的时钟频率为12MHz,该过程需要8us。在转换过程的8us中,数码管的显示是不断变化 的错误显示,但是这个时间很短,我们的眼睛分辨不出这个变化。实际上图 2 所示的基于串 行输出口的数码管电路和基于并行输出口的数码管电路的工作区别是分辨不出来的。在向 p1 口传送显示代码编写的字符显示程序的基础上,把程序中的直接地址 p1 换成 直接地址SBUF就可以用于图2所示电路显示字符。3数码管应用的进一步讨论3. 1 多位数据的显示图2 所示的基于串行输出口的数码管电路都只能支持一个数码管的显示,即一次只能显 示一位数据。如果需要显示多位数据,例如希望数据能从OOHFFH顺序循环地显示,图2 所示的电路必须进行改进。改进后的数码管的显示电路如图3 所示。from TXDfrom RXDU174LS164图 3 基于串行输出口的 2 位数码管显示电路在图3所示的电路中,使用了 2个74LS164来驱动2个数码管。依次类推,采用串行 传输方式,微控制器可以启动多个数码管。从单片机TXD管脚来的同步移位信号同时加到 2个74LS164的管脚CLK,从单片机RXD管脚来的串行数据信号加到第一个74LS164的串 行数据输入口,从第一个74LS164的管脚Q7移出

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号