at89s51单片机的串行口
AT89S51单片机介绍

2007年12月11日星期二 08:45AT89C2051是精简版的51单片机,精简掉了P0口和P2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个I/O口,用AT89C2051更合适,芯片体积更小,而且AT89C2051的工作电压最低为2.7V,因此可以用来开发两节5号电池供电的便携式产品。
本文以ATMEL公司生产的51系列家族的AT89S51和AT89C2051两种单片机来讲解,两种单片机是目前最常用的单片机,其中AT89S51为标准51单片机,当然其功能比早期的51单片机更强大,支持ISP在系统编程技术,内置硬件看门狗。
一、AT89S51单片机引脚介绍AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构下图。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4。
40,其中芯片的1脚顶上有个凹点(见右图)。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线2、外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端3、控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4、可编程输入/输出引脚(32根)AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
单片机原理及应用期末考试复习题

单片机原理及应用期末复习题一、填空题1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。
2.A T89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。
3.A T89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。
4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送累加器A中5.指令格式是由操作码和操作数部分组成。
6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是 TI和RI7. JNC rel指令执行时,当CY位为 0时程序发生跳转。
8.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元的地址应该是22H 。
9.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。
10.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s11.堆栈应遵循先进后出规律,堆栈指针的符号为SP12、程序计数器PC存放的是下一条要执行指令的地址;13、指令MOVX A, @DPTR的寻址方式是寄存器间接寻址:14、MCS-51访问ROM、片内RAM、片外RAM的指令助记符分别为MOVC 、MOV和 MOVX 。
15、机器字长为8位,则[—10]原 = 8AH ,[-10]反= F5H ,[-10]补=F6H 。
16、已经累加器A = 97H,则执行指令ADD A, #7DH后,A = 14H ,C =1 ,OV = 0 ,AC = 1 。
二、单项选择题1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。
a)P0 b)P1 c)P2 d)P32.单片机应用程序一般存放在( b )a)RAM b)ROM c)寄存器 d)CPU3.已知某数的BCD码为0111010101000010 则其表示的十进制数值为(b)a) 7542H b) 7542 c) 75.42H d) 75.424.下列指令中不影响标志位CY的指令有( d )。
AT89S51单片机的认识和管脚功能

AT89S51单片机的认识和管脚功能AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图1是常用的一种单片机,型号为AT89S51,它将计算机的功能都集成到这个芯片内部去了,就这么一个小小的芯片就能构成一台小型的电脑,因此叫做单片机。
它有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚,如下图所示:在40个管脚中,其中有32个脚可用于各种控制,比如控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”,由于本次试验仅仅控制一个小灯的亮与灭,由此只用一个端口就行了,我们就用第一脚的P1.0端口吧,如下图所示:1.主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。
AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍AT89S51单片机串行口的内部结构如下图所示。
它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。
发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。
串行口的控制寄存器共有两个:特殊功能寄存器SCON 和PCON。
下面介绍这两个特殊功能寄存器各位的功能。
1、串行口控制寄存器SCON串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。
SCON的格式如下图所示。
下面介绍SCON中各位的功能。
(1) SM0、SMl:串行口4种工作方式选择位。
SM0、SM1两位的编码所对应的4种工作方式见下表。
表串行口的4种工作方式(2) SM2:多机通信控制位。
因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3中。
当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才使RI置l,产生中断请求,并将接收到的前8位数据送人SBUF;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。
而当SM2=0时,则不论第9位数据是l还是0,都将前8位数据送入SBUF中,并使RI置1,产生中断请求。
在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。
在方式0时,SM2必须为0。
(3)REN:允许串行接收位。
由软件置1或清0。
REN=1,允许串行口接收数据。
REN=O,禁止串行口接收数据。
(4)TB8:发送的第9位数据。
在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置l或清O。
在双机串行通信时,TB8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。
(5) RB8:接收的第9位数据。
工作在方式2和方式3时,RB8存放接收到的第9位数据。
单片机原理及应用_黄河科技学院中国大学mooc课后章节答案期末考试题库2023年

单片机原理及应用_黄河科技学院中国大学mooc课后章节答案期末考试题库2023年1.AT89S51单片机的串行口,数据输出端为()。
参考答案:TXD2.AT89S51单片机定时器/计数器T1的中断向量号为()。
参考答案:33.Keil C51的unsigned int数据类型是()。
参考答案:无符号整型变量4.访问片外RAM数据,在C51中该数据的存储类型为()。
参考答案:xdata5.数字温度传感器DS18B20是()总线的器件参考答案:单6.AT89S51单片机有4 组位并行I/O口。
参考答案:87.AT89S51单片机片片外最多可扩展 KB的程序存储器。
参考答案:648.AT89S51有个可编程定时器/计数器参考答案:29.某RAM芯片有12条地址线,可寻址 KB个存储单元参考答案:410.波特率是指串行口每发送或接收的数据参考答案:秒钟11.AT89S51单片机采用并行总线方式外扩器件时,地址总线的高8位由()口提供参考答案:P212.C51中断函数的关键字是()参考答案:interrupt13.AT89S51单片机有( )组工作寄存器参考答案:414.ADC0809是( )位的数模转换器参考答案:815.如果单片机的晶振是6MHz,则其机器周期为()参考答案:2μS16.单片机的I/O端口做通用I/O时,若要读某个引脚,需要先对该端口位写()。
参考答案:117.C51提供了()存储类型类访问ROM。
参考答案:code18.如果需要用到AT89S51单片机的特殊功能寄存器以及一些存储定义,需要加载头文件()。
参考答案:reg51.h19.下面哪一种不属于C51扩展的数据类型参考答案:double20.单片机复位时,系统默认的当前工作寄存器为第()组。
参考答案:21.程序在运行时,当前PC的值是()。
参考答案:当前正在执行的指令的下一条指令的地址22.C51 中以字节形式对xdata区进行寻址,用()宏定义。
(完整版)AT89S51单片机简介

一、AT89S51单片机简介AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB(一)、AT89S51主要功能列举如下:1、为一般控制应用的 8 位单芯片2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程式存储器(ROM)为 4KB4、内部数据存储器(RAM)为 128B5、外部程序存储器可扩充至 64KB6、外部数据存储器可扩充至 64KB7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制8、5 个中断向量源9、2 组独立的 16 位定时器Array10、1 个全多工串行通信端口11、8751 及 8752 单芯片具有数据保密的功能12、单芯片提供位逻辑运算指令(二)、AT89S51各引脚功能介绍:VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:”EA”为英文”External Access”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间.如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp).ALE/PROG:ALE是英文”Address Latch Enable"的缩写,表示地址锁存器启用信号。
AT89S51单片机硬件结构

2.2 AT89S51的引脚功能
要想使用单片机就要了解其各个引脚的功能,先了 解引脚,牢记各引脚的功能。
AT89S51与51系列中各种型号芯片的引脚互相兼 容。目前多采用40只引脚双列直插,如图2-2。此外 ,还有44引脚的PLCC和TQFP封装方式的芯片。 引脚按其功能可分为如下3类: (1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。 (2)控制引脚— PSEN*、ALE/PROG*、EA*/VPP、 RST(RESET) (3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O 口
的双向I/O口,需外接上拉电阻,每 根线可独立定义输入或输出,也可以 作为地址线或数据线使用。 ✓ P1口(1-8):是一个带内部上拉电 阻的8位准双向I/O口.连接外围负载 时不需外接上拉电阻。
89S51单片机及其引脚
2.2 AT89S51的引脚功能
➢ 并行的I/O口: P2口(21-28):是一个带
➢中断系统 具有6个中断源,2级中断优先权。 ➢定时器/计数器 2个16位定时器/计数器(52子系列有3个),4种 工作方式。 ➢ 1个看门狗定时器WDT 当CPU由于干扰使程序陷入死循环或跑飞时,WDT 可使程序恢复正常运行。
➢串行口 1个全双工的异步串行口,4种工作方式。可进行 串行通信,扩展并行I/O口,还可与多个单片机 构成多机系统。 ➢P0口、P1口、P2口和P3口 4个8位并行I/O口。 ➢ 特殊功能寄存器(SFR) 26个,对片内各功能部件管理、控制和监视。是 各个功能部件的控制寄存器和状态寄存器,映射 在片内RAM区80H~FFH内3Βιβλιοθήκη 钟电路ROMT0 T1
RAM 定时计数器
CPU
并行接口 串行接口
中断系统
单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答

第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是。
答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S51单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。
答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。
对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对6. 串行口工作方式1的波特率是固定的,为fosc/32。
错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行口的应用
串行口初始化编程格式:
SIO:MOV SCON,#控制状态字 ;写方式字且 TI=RI=0 ( MOV PCON,#80H ) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES)
内 部 中 断 总 线
定时器T1
发送控制器 分 频 器
TI
Fosc/2 波特率发生器 8
接收SBUF(99H)
RI
1
中断
接收控制器 输入移位寄存器
波特率
• 什么是波特率? • 波特率,即数据传送率,表示每秒钟传送二进制代码的位数,它 的单位是位/秒. • 波特率对于CPU与外界的通信是很重要的:假设数据传送率是 120字符/秒,而每个字符格式包含十个代码(一个起始位、一个 终止位、8个数据位),则这时的波特率为:10×120位/秒 =1200波特(bps).每一位代码的传送时间Td=1/ 1200=0.833ms • 波特率是衡量传输通道频宽的指标,它和传送数据的速率并不一 致。例如上例中,因为除掉起始位和终止位,每一个数据实际只 占8位,所以数据位的传送速率为:8×120=960位/秒 • 异步通讯的传送速度在50~19200波特之间。常用于计算机到终 端机和打印机之间的通信、直通电报以及无线电通讯的数据发送 等。
串行口的结构
MCS-51 单片机串行接口的硬件
P3.0 位的第二功能 —— 收端 RXD P3.1 位的第二功能 —— 发端 TXD
MCS-51 单片机串行接口的控制
寄存器 SCON、PCON、SBUF 寄存器 IE、IP
串行口控制寄存器SCON
SM0、SM1 —— 串行接口工作方式定义位 • SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
一串行帧的数据格式
10位帧,用于双机通信
起始位:1位 数据位:8位 停止位:1位
• (101)
单片机的串行接口
主讲:刘学良 小组成员:黄小路 高征 胡远远 吴诺松 张翔
有两个数据缓冲寄存器SBUF,一个输入移位寄存器,一个 串行控制寄存器SCON和一个特殊功能寄存器PCON等组成。 位SBUF是全双工串行接口寄存器, 它是特殊功能寄 存器,地址为 99H,不可位寻址;串行输出时为发 送数据缓冲器,发送寄存器只写不读,数据从 发送端TXD(P3.1)输出; 串行输入时为接收数 门 SBUF 据缓冲器,接收寄存 器只读不写,数据从 发送控制器 TI 波 接收端 RXD(P3.0) 特 串行口中断 输入;由指令确定是对发 CPU 率 + 发 生 送寄存器或接收寄存器作用。
1帧共11位 空 闲 起 始 位 D0 LSB 数据位9位 D7 MSB 停 止 位 空 闲
RB8/TB8
起始位:1位 数据位:9位 停止位:1位 (104)
2.80C51串行口的控制寄存器
串行口控制寄存器SCON
计算波特率
方式0为固定波特率:B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)×T1溢出率 T1为方式2的时间常数: X = 28 - t/T 溢出时间: t= (28 -X)T = (28 -X)×12/ fosc T1溢出率=1/t= fosc /[12×(2n -X)] 波特率B=(2SMOD /32)×fosc/[12×(28-X)] 串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。 T1选方式2: TH1= X = 28 - fosc/12×2SMOD/(32×B)
• RB8 —— 接收串行输入数据的第 9
在方式2和方式3中是接收的第9位数据。
• •
TI —— Leabharlann 行口中发送完一组数据后的中断标志 若串口发送完一组数据,则由硬件自动置 TI = 1 若串口还要发数据,则应手动编程使 TI = 0 RI —— 串行口中接收完一组数据后的中断标志
• 若串口接收完一组数据,则由硬件自动置 RI = 1 • 若串口还要收数据,则应手动编程使 RI = 0
• • • • • • • • • • • • • •
从机程序: SR3 :JNB RI,$ ORG 0030H CLR RI MAIN: MOV R0,#30H MOV R6,#10H JNB TB8,RHT SI: MOV SCON,#0B0H SETB SM2 SR1: JNB RI,$ SJMP SR1 CLR RI RHT: MOV A,SBUF SR2: MOV A,SUBF MOV @R0 , A XRL A,#02H INC R0 JNZ SR1 CLR SM2 DJNZ R6,SR3 MOV SBUF,#02H AJMP SI JNB TI,$ END CLR TI
1/16
SMOD=0
装载SBUF 输入移位寄存器
RI
• 8051通过引脚RXD(P3.0,串行口数据接收端)和引 脚TXD(P3.1,串行口数据发送端)与外界进行通信。 • 图中有两个物理上独立的接收、发送缓冲器SBUF, 它们占有同一个地址99H,可同时发送、接收数据。 发送缓冲器只能写入,不能读出;接收缓冲器只能 读出不能写入。 • 串行发送与接收的速率与移位时钟同步。8051用定 时器T1作为串行通信的波特率,T1溢出率经2分频 (或不分频)又经16分频作为串行发送或接收的移 位脉冲。移位脉冲的速率即是波特率。 • 串行口的发送和接收都是以特殊功能寄存器SUBF的 名义进行读或写的,当向SUBF发“写”命令时(执 行MOV SBUF, A 指令)即是向发送缓冲器SBUF装 载并开始由TXD引脚向外发送的一帧数据,发送完 便使发送中断标志位TI=1
(1)主、从机均初始化为方式2或方式3,置SM2
=1,允许中断。 (2)主机置TB8=1,发送要寻址的从机地址。 (3)所有从机均接收主机发送的地址,并进行地 址比较。 (4)被寻址的从机确认地址后,置本机。SM2= 0,向主机 返回地址,供主机核对。 (5)核对无误后,主机向被寻址的从机发送命令, 通知从机接收或发送数据。 (6)通信只能在主、从机之间进行,两个从机之 间的通信需通过主机作中介。 (7)本次通信结束后,主、从机重置SM2=1, 主机可再对其他从机寻址。
特殊功能寄存器
• 串行数据传送速率控制寄存器 —— PCON
地址:
SMOD = 0,定义波特率不 SMOD = 1,定义波特率加 注:PCON 寄存器的地址为87H, 仅 b7 位有用,不可位寻址 ANL PCON,#7FH:对SMOD位清 ORL PCON,#80H:对SMOD位置
TDL:等待方式 PD:掉电方式 GF1、 GF2通用标志位
• SM2=1时,接收机处于地址帧筛选状态。若 RB8=1,该地址帧信息可进入SBUF,并 使RI为1,进而在中断服务中再进行地址号 比较;若RB8=0,该帧不是地址帧,应丢掉, 且保持RI=0。 SM2=0时,接收机处于地址帧筛选被禁止状 态。不论收到的RB8为0或1,均可以使收 到的信息进入SBUF,并使RI=1。此时的 RB8通常为校验位。
多机通信系统示意图
TXD RXD 8051 主机
TXD RXD 80C51
0#从机
TXD RXD 80C51
1#从机
TXD RXD 80C51
2#从机
多机通信的实现,主要靠主、从机之间正确地设置
与判断多机通信控制位SM2和发送或接收的第9数据位
(D8)。
下面简述如何实现多机通信。
SM2:多机通信控制位
电源控制寄存器PCON
SMOD :波特率倍增位。在串行口方式 1 、方式 2 、 方式3时,波特率与SMOD有关,当SMOD=1时,波特 率提高一倍。复位时,SMOD=0。
8.2单片机串行口的结构与工作原理
• 51系列单片机的串行口是什么? 串行口是一个可编程的全双工串行通信接口,通过软件编程,它可以作通用 异步接收和发送器UART用,也可以作同步移位寄存器用。 • 串行口结构框图:(Pg157)
8
发送SBUF(99H)
门
TXD(P3.1) 串 寄 行 存 控 器 制 SCON (98H) RXD(P3.0)
T1选方式1用于低波特率,需考虑T1重装时间常数时间。 也可选工作方式3。
多机通信
• 多个MCS-51单片机可以利用串行口进行多机通信。在 多机通信中要保证主机与所选择的从机实现可靠地通信, 必须保证串行口具有识别功能。 • 控制寄存器SCON的SM2位就是为满足这一条而设置 的多机通信控制位。 • 原理:在串行口以方式2(或方式3)接收时,若SM2=1, 表示置多机通信功能位,此时可能出现两种情况: 接 收到的第9位数据为1时,数据才装入SBUF,并置中断 标志RI=1,向CPU发出中断请求。 接收到的第9位数 据为0时,则不产生中断标志,信息抛弃 • 若SM2=0,则接收到的第9位数据不论为0还是1,都 产生RI=1中断标志,接收到的数据装入SBUF。(104)
器 T1 接收控制器 RI
TXD
SBUF
移位寄存器
RXD
串行口内部结构示意简图
移位时钟 T1 fosc
1 12
TXD(P3.1) 1/16 发送SBUF(99H)
TH1 TL1 内部BUS
SMOD=1
写SBUF 读SBUF 接收SBUF(99H)
T1溢出率 1/2 PXD(P3.0)