单片机原理及应用:mcs51的硬件结构 南京邮电大学计算机学院 教程_第1页
单片机原理及应用:mcs51的硬件结构 南京邮电大学计算机学院 教程_第2页
单片机原理及应用:mcs51的硬件结构 南京邮电大学计算机学院 教程_第3页
单片机原理及应用:mcs51的硬件结构 南京邮电大学计算机学院 教程_第4页
单片机原理及应用:mcs51的硬件结构 南京邮电大学计算机学院 教程_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 MCS-51单片机硬件结构1、MCS-51的构成及特点包括内部RAM和/或ROM,容量各异;2)4个并行IO口共32根IO口线,可复用为数据/地址线、串行口、中断输入、计数器输入等;3) 中断与堆栈 MCS-51有5个中断源,分2个可编程优先级; 堆栈位置也可编程,最大深度为128字节;4) 定时/计数器与寄存器区MCS-51有2个16位定时/计数器,MCS-52有3个16位定时/计数器;MCS-51片内有8个通用寄存器,分别记为R0R7,可用于运算、寻址等操作。MCS-51共设置了四个实际的通用寄存器区,都使用同样的名字(R0R7)访问(通过内部标志选择),以适应多种中断或子程序嵌套

2、的要求;指令系统包括数据传送、算术运算、逻辑运算、跳转、位操作等丰富的指令集合,12M晶振下,大多数指令执行时间1s,少数2s,乘除法4s;布尔处理器MCS-51的布尔处理器实际上是一个完整的1位微处理器,包括1位的CPU、位寄存器、I/O口和指令集(是MCS-51指令集的一个子集)1位机在开关决策、逻辑电路仿真和实时测控方面非常有效;8位机在运算处理、数据采集等方面有明显的长处;将8位机和1位机集成在一个芯片中,是MCS-51在芯片设计上的一个突破,使得MCS-51在测控领域有着非常广泛应用;2、MCS-51单片机的引脚描述DIP封装PLCC封装各引脚功能简介(引脚号以DIP40封装为例)电

3、源引脚VCC(40脚)和GND(20脚)VCC:供电,目前有多种供电电压以及一些宽电压范围的单片机。最常用的供电电压为+5VGND:地特别注意:单片机的供电和电源去耦情况对系统能否正常工作至关重要!(2) 外接晶振引脚XTAL1和XTAL2(3) 控制引脚 RST/VPD (9脚) 当单片机正常运行时,在此引脚上加入2个机器周期的高电平将复位单片机。在VCC掉电期间,此引脚可接备用电源,以保持内部RAM的数据; PSEN (29脚) 输出外部程序存储器的读选通信号,可驱动8个TTL负载; ALE/PROG (30脚) 在访问外部存储器时,ALE提供锁存外部地址的低8位的信号。即使不访问外部存储

4、器,ALE仍以主时钟的1/6的频率出现,因此可以在某些场合作为时钟或定时脉冲使用。但是需要注意在访问外部数据存储器时要丢失一个脉冲。ALE可引出作为其它器件的时钟源,可驱动8个TTL负载。 对于片内有ROM/FLASH的单片机,此引脚在编程期间输入编程脉冲。 EA/VPP (31脚) 当EA外接高电平时,单片机运行内部ROM/FLASH中的程序,当PC(程序计数器,表示程序执行的地址)超出单片机本身ROM/FLASH的容量时,单片机会自动对外部程序存储器寻址(即PSEN有效)。 当EA接地时,单片机只运行外部程序存储器中的程序。 对于有内部ROM/FLASH的单片机,此引脚还用来在编程时输入编

5、程电源。(4) 并行I/O口P0P3的结构和功能 P0口 (3932脚)双向8位三态I/O口,在外接存储器时,作为数据总线和地址总线的低8位(复用,通过ALE信号区分);P0口的每一位能以吸收电流的方式驱动8个TTL负载。CPU可对其按字节方式或位方式进行操作。P0口的内部电路如下图所示:P0口内部电路构成 P1口(18脚)8位准双向I/O口。没有高阻状态,输入也不能锁存,必须先输出1才能正确读出端口电平,故称为准双向口。CPU既可以对P1进行字节操作,也可以通过位操作方式控制P1口的每一位。P1口的每一位端口能驱动4个TTL负载;P1口的内部电路如下图所示:P1口内部电路构成 P2口(212

6、8脚)8位准双向I/O口。在访问外部存储器时,作为扩展高8位地址使用。当系统没有外扩存储器的时候,P2可以作为通用并行口,操作方式等和P0,P1类似。P2口的每一位可驱动4个TTL负载;P2口的内部电路如下图所示:P2口内部电路构成 P3口(1017脚) 8位准双向口,操作方式等和P1类似。在MCS-51中,P3口还可按位复用为其它功能,具体见下表:RD(外部存储器读脉冲)17P37WR(外部存储器写脉冲)16P36T1(定时器1外部输入)15P35T0(定时器0外部输入)14P34INT1(外部中断1)13P33INT0(外部中断0)12P32TxD(串行口输出)11P31RxD(串行口输入

7、)10P30第二功能引脚口线P3口内部电路构成并行I/O构成系统总线P0口P2口构成16位地址总线;P0口作为8位数据总线(通过ALE信号控制实现功能复用);和作为#WR(写)和#RD(读),构成控制总线。由并行I/O口构成的外部三总线结构,不但使得MCS-51单片机的应用更为灵活,而且可大大简化外部功能扩展部分的硬件接口电路设计。3、MCS-51片内结构及硬件特性4、MCS-51单片机中央处理器和CPU时序中央处理器-CPUCPU由下列部分构成: 运算部件:ALU(算术逻辑单元)、布尔处理器、累加器ACC、寄存器B、暂存器TMP1、TMP2,PSW(程序状态字)、十进制调整电路等。功能:实现

8、数据的算术和逻辑运算、位变量处理和数据传送操作。ALU可对8位数据进行逻辑操作(与、或、非、异或)和算术操作(循环、求补、清零、加减乘除)布尔处理器可对位变量进行布尔处理,如置位、清零、求补、测试转移以及逻辑操作。ACC是一个8位累加器,其进位位Cy是布尔处理机进行位操作的1位累加器PSW是一个8位寄存器,包含了程序运行过程中的状态信息。 控制部件单片机的“神经中枢”,包括:时钟电路、复位电路、指令寄存器、译码器以及信息传送控制部件。CPU以主振荡频率为基准,发出CPU的操作时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,以此控制单片机各部分的运行。ALE、RD、WR、

9、PSEN等控制信号线实时地反映了CPU内部时序的状态,可直接应用于系统外围控制逻辑。CPU通过执行程序完成预定的控制功能;程序由人设计,可分解成一系列的指令的集合;指令是指挥CPU工作的命令,是控制CPU完成某种功能的二进制代码;某种CPU所能识别和执行的所有指令的集合称为该CPU的指令集;一条指令可以分为若干基本的微操作,这些微操作所对应的脉冲信号,在时间上有严格的先后次序关系,称为CPU的时序,它指明了单片机内部与外部互相联系所必须遵守的时间关系。下面介绍各种周期之间的关系(3) CPU时序及相关概念振荡周期:和单片机相连的晶体振荡器的周期;时钟周期:又称状态周期或S周期,是晶体振荡频率的

10、1/2,一个时钟周期分为P1和P2两拍,P1时通常完成算术逻辑操作,P2时完成内部寄存器之间的数据传输;机器周期:一个机器周期由6个时钟周期(12个振荡周期)组成,分为S1P1、S1P2、S6P1、S6P2,可以用机器周期把一条指令划分成若干个阶段,每个机器周期完成某些规定的操作。目前很多新型单片机的机器周期可简化为14个时钟周期,在同样的晶振频率下执行指令更快。指令周期:执行一条指令所占用的全部时间。一个指令通常含有14个机器周期。 若单片机外接的晶振为12MHz,单片机的四个周期的具体值为:振荡周期1/12s时钟周期1/6s机器周期1s指令周期14s根据指令功能的不同,单片机指令可以由一个

11、或多个字节的指令码以及可选的操作数组成,单片机在内部时钟的控制下完成取指及执行。具体时序举例如下:振荡周期时钟周期指令执行时序:单字节单周期指令执行时序:双字节单周期指令执行时序:单字节双周期如前所述,单片机的指令是在CPU时序控制下从程序存储器中取入并执行的。程序存储器是只读的。根据读入指令的不同,CPU操作外部程序存储器有两种方式,一种是指令不访问外部数据存储器的情况,一种是指令需要访问外部数据存储器的情况。在第二种情况下,ALE在指令执行过程中的输出将减少一次。单片机访问外部ROM时序 (无MOVX)单片机访问外部ROM时序 (有MOVX)此处ALE输出减少一次RAM对于计算机系统而言非

12、常重要,待处理数据的数据、临时变量的保存等都需要用到RAM。单片机片内RAM容量较小,稍微复杂一些的应用就需要扩展外部RAM。同时,单片机在扩充外部设备时,也是通过访问外部RAM的方式访问外设的。因此掌握单片机访问外部RAM的时序十分重要。单片机读外部RAM时序(通过MOVX指令)单片机写外部RAM时序(通过MOVX指令)5、MCS-51单片机复位状态及复位电路设计(1) 单片机的复位状态在单片机的RST引脚上保持2个机器周期以上的高电平,单片机即复位。只要RST引脚保持高电平,单片机就循环复位。当RST从高电平变为低电平后,MCS-51从0000H地址开始执行程序。复位后单片机的初始状态如下

13、:寄存器内容寄存器内容PC0000HTH000HACC00HTL000HB00HTH100HPSW00HTL100HSP07HTH200HDPTR0000HTL200HP0P30FFHRLCAP2H00HIP(XX000000)RLCAP2L00HIE(0X000000)SCON00HTMOD00HSBUF不定TCON00HPCON(0XXX0000)T2CON00H复位后单片机的初始状态(2) 复位电路设计简单的应用中,一般选用上述两种复位电路即可。对于可靠性要求较高的应用系统,则多选择专用的系统监控+复位处理芯片(又称看门狗) ,如DS1232、X5045等。上电后RST引脚上的波形(示意

14、图)6、存储器、特殊功能寄存器以及位地址空间MCS-51的存储器可分为五类:1)、程序存储器(内部ROM、外部ROM);2)、内部数据存储器(Data);3)、特殊功能寄存器(SFR);4)、位存储器(位地址空间);5)、外部数据存储器(XData);(一) 程序存储器的结构程序存储器用于存放编好的程序和表格常数等,它以程序计数器PC作为地址指针,可以访问64K的地址空间。单片机程序的运行控制与ROM地址的关系:复位控制单片机复位后自动从程序存储器的地址0000H处开始执行 对于内部有ROM/FLASH ROM的单片机,EA=1时,程序运行在内部ROM地址范围内时,单片机访问的是内部ROM中的

15、代码数据; 当EA=0时,单片机总是访问外部程序存储器中的代码数据。事件入口地址系统复位0000H外部中断INT00003H定时器中断T0000BH外部中断INT10013H定时器中断T1001BH串行口中断0023H(2) 中断控制单片机系统的中断地址是固定的,如下表所示:(二) 内部数据存储器的结构和运行操作单片机内部数据存储器分为工作寄存器组(通过RS0,RS1选择)位寻址区内部RAM高128字节内部RAMSFR(地址和高128字节RAM重叠)单片机RAM结构及地址安排 (三) 特殊功能寄存器(SFR)及其操作SFR实际上是特殊的RAM单元(可读或写,PC除外);SFR的地址空间分布在高

16、128字节中;并非所有的128字节均有定义,标准的51只有21个特殊功能寄存器;对SFR的操作可以是位操作和字节操作;位操作:对字节的每一bit可分别置位或复位字节操作:只能对整个字节一次性操作地址可被8整除的SFR均可位操作;SFR P0P3的D0D7和单片机的端口引脚相对应名称地址名称地址名称地址名称地址P080HSCON98HP190HT2CON*C8HSP81HSBUF99HP2A0HRCAP2L*CAHDPL82HBF0HP3B0HRCAP2H*CBHDPH83HTL08AHIEA8HTL2*CCHPCON87HTL18BHIPB8HTH2*CDHTCON88HTH08CHPSWD0

17、HTMOD89HTH18DHACCE0H带*号的SFR为8032/8052单片机所特有MCS-51单片机SFR列表(共21个)(1) 程序计数器PC (Program Counter)PC在物理上是独立的,不属于SFR存储器块;PC是16位计数器,用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB;PC有自动加1功能;PC不可寻址,程序无法对其进行读写;PC可通过转移、调用、返回等指令改变其内容,控制程序执行的顺序。(2) 累加器A (Accumulator)8位寄存器,又记作ACC;A常用于在算术/逻辑运算中存放操作数或中间结果。(3) 寄存器B8位寄存器;B专为乘除

18、法指令设计,也可做通用寄存器。(4) 工作寄存器内部RAM 00H1FH共32字节,分为4组,每组8个RAM单元作为工作寄存器,记为R0R7;程序通过PSW中的RS0/RS1位的组合选择使用哪个工作寄存器区。参见.(5) 程序状态字PSW8位寄存器;用于存放程序运行过程中的状态信息;各状态位在指令执行过程中自动更新,也可由程序更改,其定义如下:CyAcF0RS1RS0OV-PCy (PSW.7) : 进位标志。当算术/逻辑运算的最高位有进位或借位时,Cy=1。Cy在布尔处理机中可由软件置位或复位;Ac (PSW.6) : 辅助进位标志。当算术运算中低4位向高4位有进位或借位时,Ac=1,否则A

19、c=0。Ac被用于二/十进制调整;F0 (PSW.5) : 用户自定义标志。可由软件置位或复位OV (PSW.2) : 溢出标志。在对有符号数进行加减运算时,OV=1表示运算结果超出了A所能表示的有符号数的范围(-128127)。在对无符号数进行乘法运算时,OV=1表示乘积超出255,此时积的高8位在B寄存器中,低8位在A内。在除法运算时,如果除数为0,OV=1RS1,RS0 (PSW.4,PSW.3) : 工作寄存器组选择位,共4种组合,分别用于选择寄存器组03P (PSW.0) : 奇偶标志。每条指令执行中都由硬件来更新,用来表示累加器A中所存数据的1的个数的奇偶性,若1的个数为奇数,则P

20、置位,否则清零。这是针对ACC的偶校验。此标志可用在串行通信中生成奇偶校验位。(6) 数据指针DPTR (Data Pointer)16位寄存器;主要用作16位间接寻址,在访问程序存储器和片外数据寄存器时提供16位的地址信息;可分为两个独立的8位寄存器DPH(高8位)和DPL(低8位)使用。(7)堆栈指针SP (Stack Pointer)8位寄存器;MCS-51单片机的堆栈使用内部RAM空间存储数据;MCS-51单片机的堆栈向上增长,SP指出了栈顶地址;堆栈是用于数据暂存,如中断、子程序调用时断点和现场的保护与恢复;系统复位后SP=07H,实际应用中要根据RAM使用情况进行调整。(8)I/O

21、口专用寄存器(P0P3)各自都是8位寄存器;寄存器的每一位对应着相应端口位的内部锁存器;参见.各端口寄存器可位寻址。(9)定时器/计数器专用寄存器(TH0/TL0,TH1/TL1)各自都是8位寄存器,分别属于T0,T1两个16位定时器;四个8位寄存器都可以单独寻址(读/写);T0、T1不可作为16位寄存器使用,即T0,T1不能用作程序的变量暂存,这是因为它们的内容实际上是对外部脉冲或机器周期的计数值。(10)串行数据缓冲器(SBUF)由两个同名的8位寄存器组成,通过读/写区分;存放通过串行口收发的数据;发送数据写入SBUF,CPU自动发送,发完置标志TI;CPU自动监测串行输入,接收完一字节,

22、置标志RI。(11)中断优先级寄存器IP (Interrupt Priority)8位寄存器;控制各中断源的优先级;控制位为1,中断源为高优先级,否则为低优先级;因此,MCS-51只有两个中断优先级。(12)中断允许寄存器IE (Interrupt Enable)8位寄存器;控制是否开放各中断源及总中断申请;控制位为1,中断申请开放,否则禁止;总中断允许EA如果不开放,则所有中断均无法响应。(13)定时器控制寄存器(TCON)8位寄存器;存放针对定时器T0和T1的溢出标志位、运行控制位;存放针对外部中断INT0/INT1的触发标志位、中断类型控制位。(14)串行口控制寄存器(SCON)8位寄存

23、器;存放串行口运行模式选择位;存放串行口接收允许控制位、通信附加位以及收发中断标志位。(15)电源控制寄存器(PCON)8位寄存器;存放用于串行通信波特率倍率控制位;存放空闲方式及掉电方式控制位;如果CPU支持空闲及掉电方式,则PCON中还有通用标志位,用于判断CPU当前是在上电运行状态还是休眠恢复状态。(四) 位地址空间位地址空间共两个区域:SFR中可位寻址寄存器中的地址空间内部RAM中202FH地址单元所对应的128bit的空间此部分的位地址安排如下:字节地址位地址D7D6D7D6D5D2D1D02FH7F7E7D7C7B7A797821H0F0E0D0C0B0A090820H070605

24、0403020100(五) 外部数据存储器由于MCS-51的数据存储器、程序存储器全部64K地址空间重叠,同时其片内和片外低128(256)字节的地址空间也重叠,因此,单片机对片内外数据存储器、程序存储器的操作使用了不同的指令,以免发生混乱。对外部程序存储器的操作通过PSEN信号实现对外部数据存储器的操作通过RD、WR信号实现,对应指令为MOVX另外,在片外数据存储器中数据区与扩展的IO设备统一编址,或者说扩展的IO设备和外部RAM占用同一地址空间。因此,单片机操作外部扩展设备和访问外部RAM单元是相同的。MCS-51定时器/计数器1、定时器/计数器的结构和工作方式51系列单片机有两个16位定

25、时器/计数器,分别为T0和T1。T0和T1又分别可分为两个8位定时器/计数器,名为TH0/TL0和TH1/TL1。定时器/计数器的工作方式由单片机内部的特殊功能寄存器TMOD指定;定时/计数的开始/停止以及状态变化监控则由特殊功能寄存器TCON来指定/保存。因此,标准51的定时器/计数器系统共由6个特殊功能寄存器组成,其结构如下图所示:(一)、定时器/计数器结构定时器/计数器的结构(二)、定时器/计数器方式控制寄存器TMODGATE: 定时器/计数器运行控制位。选择外部中断引脚INT0和INT1是否参与T0和T1的运行控制。GATE = 0 : TCON中的TR0或TR1为1,则T0或T1开始

26、计数,不用判断引脚INT0或INT1的状态;GATE = 1 : TCON中的TR0或TR1为1,同时外部中断引脚INT0或INT1也为1,则T0或T1才开始计数;T1方式控制T0方式控制D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0C/T : 定时器/计数器工作方式选择。C/T = 1时,为计数器方式,T0/T1工作在对外部脉冲计数的方式,当外部脉冲发生负跳变时计数器+1;C/T = 0时,为定时器方式,T0/T1工作在对系统时钟12分频脉冲计数(即定时器)的方式;M1M0方式功能描述0 0方式013位计数器0 1方式116位计数器1 0方式2具有自动重装功能的

27、8位计数器1 1方式3T0分为两个独立的8位计数器,T1停止工作M1M0 : 定时器/计数器方式选择控制位TR0/1 : T0/T1运行控制位,软件操作,置1时计数器开始计数,置0时停止运行;D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TF0/1 : T0/T1计数器溢出标志,计数溢出后由硬件置位,申请中断,进入ISR后TF0/1由硬件自动清除;IEx/ITx等位用于外部中断允许及方式选择控制。(三)、定时器控制寄存器 TCON(四)、定时器/计数器的工作方式此方式下定时时间的计算: (213 Tx初值)12 T = fosc特别注意:此方式为TL的5bit

28、 + TH的8bit计数,初始化时容易出错。1、方式0 13位定时器/计数器GATE=0时,TRx=1则开始计数GATE=1时,TRx、INTx都为1才开始计数C/#T=0,对OSC/12计数,为定时器C/#T=1,对Tx引脚引入的负脉冲计数2、方式1 16位定时器/计数器此方式下定时时间的计算: (216 Tx初值)12 T = fosc此方式除了TLx、THx共16位都参与计数外,其余的和Mode0完全相同。3、方式2 自动重装入8位定时器/计数器此方式下定时时间的计算: (28 TLx初值)12 T = fosc 采用此工作方式,可以避免用程序重新装入初值所引起的定时误差,适用于需要精确

29、定时的应用场合,通常用作串口的波特率发生器。TLx计数溢出的同时,自动控制将THx中的值重新装入TLx4、方式3 双8位定时器/计数器 (仅T0)MCS-51的串行通信接口1、串行通信、并行通信串行通信的特点:数据字节的各位按一定顺序逐位传送。优点:需要较少的通信线,通信距离较并行方式远缺点:速度慢并行通信的特点:数据字节的各位同时传送。优点:速度快缺点:需要较多的通信线,且传输距离短(一)、串行通信的基本概念在异步通信中,传送的数据是以字节为单位的。每个字节由起始位、数据位、校验位、停止位构成,称为一帧。2、异步串行通信的信号格式起始位标志串行帧开始8个数据位从LSB开始发送校验位可选停止位

30、可为1、或2位线路空闲时保持为1一般串行通信波特率有50,110,300,600,1200,2400,4800,9600,14400,19200,28800,38400,57600,115200bps等4、串行通信的数据传送方式单工半双工全双工3、波特率在串行通信中把每秒传送的二进制数的位数(比特数)称为波特率,单位是位/秒,又称bps5、接口标准 机械接口目前常用的串行接口多为D型9针/孔插头或插座针型接口用于DTE(例如计算机)孔型接口用于DCE(例如Modem)几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标

31、准。DTE-DCE间的接口及其作用DTE和DCE间的接口串行接口引脚定义(DB9)引脚名称功能描述1DCD数据载波检测,检测到线路上载波后此信号有效2RxD数据接收3TxD数据发送4DTR数据终端就绪,DTE到DCE的握手信号5GND数据地6DSR数据装置就绪,DCE到DTE的握手信号7RTS请求发送,有效时为DTE通知DCE,DTE准备发送数据8CTS清除发送,有效时为DCE通知DTE,可以发送9RI振铃指示,为Modem的状态位电气接口要完成最基本的串行通信功能,实际上只需要将通信双方RXD/TXD交叉连接、GND对接即可。为了保证通信距离,RS-232-C标准所定义的高、低电平信号与TT

32、L电路所定义的高、低电平信号完全不同。TTL的标准逻辑“1”对应5V电平,标准逻辑“0”对应0V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V-15V电平,标准逻辑“0”对应+5V+15V电平,显然,两者间要进行通信必须经过信号电平的转换。6、典型电路目前常使用的电平转换电路为MAXIM公司的MAX232/ MAX3232,其电路连接及接口线序如下:另外一组收发信号有时用于RTS/CTS或者DTR/DSR的控制对于需要完整的通信及控制线的场合,DTE侧一般使用MAXIM公司的MAX3243,其电路连接及接口线序如下:对于需要完整的通信及控制线的场合,DCE侧一般使用MAX

33、IM公司的MAX3238,其电路连接及接口线序如下:1、串行口的结构两个同名的SBUF,通过读/写操作区分(二)、MCS-51串行口组成(三)、串行口的控制与状态寄存器1、串行口控制与状态寄存器 SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0SM1操作模式选择位00模式0,同步移位寄存器,波特率为Fosc/12,数据由RxD出入,时钟由TxD提供;01模式1,8位UART,波特率可变;10模式2,9位UART,波特率为Fosc/64或Fosc/32;11模式3,9位UART,波特率可变;SM2模式2,3中多机通信使能位。SM2=1时,如果接收到的第9

34、位数据为0,则RI不激活。模式1中,SM2=1且未收到有效停止位,RI不激活。模式0中,此位必须为0。REN接收允许,由软件操作,置1时允许接收,置0时禁止接收;RB8模式2、3中的第9位数据,标志地址字/数据帧,模式1中可用做奇偶校验位;TI发送中断标志。模式0中,发送完第8位数据时,由硬件置位;其余模式中,发送停止位之初由硬件置位;所有模式中,此位都必须由软件清除;RI接收中断标志。模式0中,接收完第8位数据后硬件置位;在其余模式中,接收停止位中间由硬件置位。所有模式中,此位都必须由软件清除;(四)、 串行口的工作方式1、串行口工作方式0同步移位寄存器方式。波特率为fosc/12,数据由R

35、xD出入,同步移位脉冲由TxD输出。收发数据8Bit为一帧,LSB在先。数据的发送从CPU写SBUF后的下一个机器周期开始。数据的接收从CPU设置REN=1且RI=0后开始。具体过程图示如下:写SBUF后下一机器周期自动开始发送。写SCON()后下一机器周期自动开始接收。2、串行口工作方式18位异步通信方式。收发数据10Bit为一帧,1位起始位、8位数据位(LSB在先)和1位停止位。TxD为发送端,RxD为接收端,波特率可变,取决于T1或T2的溢出速率。CPU向SBUF写入一个字节,串行口自动将数据送入发送器,根据设置的工作方式移位送出,发送完毕,置TI=1申请中断;(1)、数据发送数据从Rx

36、D端输入。当REN=1后,接收器以波特率的16倍速率速率采样RxD,当采样到首个负脉冲,启动接收器开始接收帧,同时复位内部16分频计数器,实现同步。在计数器的第7、8、9状态时采样RxD的输入,进行3中取2的判决。8位接收完毕(到停止位),数据送入SBUF,同时置RI=1,申请中断;(2)、数据接收3中取2判别注意TI和RI有效时刻的不同3、串行接口工作方式2和3通信方式2和方式3的区别:方式2的波特率固定,为 fosc/32 或 fosc/64方式3的波特率可变,由T1或T2溢出速率决定方式2和3均为9位异步通信接口每帧数据为11bit:1位起始位、8位数据(LSB First)、1位可编程

37、位(Data Bit 9)、1位停止位。发送时,第9位在TB8中,接收时,第9位存入RB8(1)、数据发送过程数据从TxD送出,附加的第9位存入SCON中的TB8;CPU执行一条写SBUF指令(MOV SBUF,A)后,UART启动发送过程。一帧发送完成后,置TI=1申请中断。(2)、数据接收过程与方式1类似。REN=1时,UART以波特率的16倍对RxD采样;检测到起始位,启动接收器,位检测器采用3中取2的方式确定每位的状态;接收完最后一位时,将8位数据装入SBUF,第9位数据装入RB8,置RI=1申请中断。当RI=0、SM2=1或接收到的第9位数据为1的任一条件不满足时,所接收的数据帧无效

38、。(五)、串口波特率的计算模式0的波特率固定为Fosc/12;模式2的波特率固定为Fosc/64或Fosc/32,具体取决于PCON中的SMOD位;模式1、3的波特率取决于定时器/计数器1、2的溢出速率; 或者TH1 = 256 (2SMODFosc)/(384B) MCS-51的中断系统中断: CPU暂停执行目前的程序,转而为外界发生的事件服务,待该事件处理完毕后,再返回被中断处继续执行。此过程被称为中断。标准的51单片机有5个中断源、两个中断优先级,两个优先级的中断服务程序可嵌套。(一)、中断系统结构Rx/Tx串口中断请求,当串口完成一帧数据的收发时产生。串口数据收发通过RxD,TxD引脚

39、引入。五个中断源:INT0外部中断0,低电平/下降沿有效,引入INT1外部中断1,低电平/下降沿有效,引入T0定时器/计数器0溢出中断请求T1定时器/计数器1溢出中断请求。作为计数器时,计数脉冲由T0,T1引脚引入相关SFR:TCON, SCON, IE, IP中断优先级:分为高低两级。每个中断源都可编程为高或低优级。中断在复位后或相应SFR中的控制位关闭后被禁止;开中断后才能接受中断请求。高优先级的中断可中断低优先级中断的中断处理过程。同级中断不可嵌套。主要通过相关SFR:TCON、SCON、IE、IP完成D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT01、TCON (定时器控制寄存器)TF0/TF1 : T0/T1定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论