第四章单片机功能单元_第1页
第四章单片机功能单元_第2页
第四章单片机功能单元_第3页
第四章单片机功能单元_第4页
第四章单片机功能单元_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

1、单片微型计算机单片微型计算机Single Chip microcomputer 主主 编:编: 张俊谟张俊谟 授课教师:授课教师: 赵燕东赵燕东 博士博士并行并行I/0接口接口定时器定时器/计数器计数器串行接口串行接口中断系统中断系统4.1 并行并行I/O接口接口I/O口P0口P1口P2口P3口位数8888性质全双工半双工半双工半双工功能I/O复用功能无复用功能I/O复用功能I/O复用功能SFR字节地址80H90HA0HBOH位地址范围80H.0 80H.790H.0 90H.7A0H.0 A0H.7B0H.0 B0H.7驱动能力8个TTL负载4个TTL负载4个TTL负载4个TTL负载复用功能

2、低8位地址及8位数据高8位地址RXD、TXD、INT0、INT1、T0、T1、WR、RDP0口是一个多功能的口是一个多功能的8位口,可以按字节访问,也可以按位访问。位口,可以按字节访问,也可以按位访问。一一. 位结构与工作过程分析位结构与工作过程分析1. 位结构位结构DCLQQP0.X锁存器MUXP0.X引脚内部总线写锁存器读引脚读锁存器地址/数据控制Vcc1 10 0A A2. 工作过程分析工作过程分析(1).当内部控制信号置当内部控制信号置1时,多路开关接通地址时,多路开关接通地址/数据数据 输出端输出端 当地址当地址/数据输出线置数据输出线置1时,控制上拉电路的时,控制上拉电路的“与与”

3、门输出门输出为为1,上拉,上拉FET导通,同时地址导通,同时地址/数据输出通过反相器输出数据输出通过反相器输出0,控制下拉控制下拉FET截止,这样截止,这样A点电位上拉,地址点电位上拉,地址/数据输出线为数据输出线为1。 当地址当地址/数据输出线置数据输出线置0时,控制上拉电路的时,控制上拉电路的“与与”门输门输出为出为0,上拉,上拉FET截止,同时地址截止,同时地址/数据输出通过反相器输出数据输出通过反相器输出1,控制下拉控制下拉FET导通,这样导通,这样A点电位下拉,地址点电位下拉,地址/数据输出线为数据输出线为0。(2).当内部控制信号置当内部控制信号置0时,多路开关接通锁存器的时,多路

4、开关接通锁存器的Q端端 当内部控制信号为当内部控制信号为0时,与门关闭,上拉时,与门关闭,上拉FET截止,形成截止,形成P0口的输出电路为漏极开路输出;口的输出电路为漏极开路输出; 当地址当地址/数据输出线置数据输出线置0时,控制上拉电路的时,控制上拉电路的“与与”门输门输出为出为0,上拉,上拉FET截止,同时地址截止,同时地址/数据输出通过反相器输出数据输出通过反相器输出1,控制下拉控制下拉FET导通,这样导通,这样A点电位下拉,地址点电位下拉,地址/数据输出线为数据输出线为0。3. P0口的功能和特点口的功能和特点(1).作作I/O口使用口使用 相当于一个真正的双向口:输出锁存、输入缓冲,

5、但输入相当于一个真正的双向口:输出锁存、输入缓冲,但输入时需先将口置时需先将口置1;每根口线可以独立定义为输入或输出。它具;每根口线可以独立定义为输入或输出。它具有双向口的一切特点。有双向口的一切特点。(2).作地址作地址/数据复用总线使用数据复用总线使用 此时,此时,P0口为一个半双工口口为一个半双工口。 作地址作地址/数据复用总线用时,口不能逐位定义输入数据复用总线用时,口不能逐位定义输入/输出。输出。作数据总线用,输入作数据总线用,输入/输出输出8位数据;作地址总线用,输出低位数据;作地址总线用,输出低8位地址。位地址。(3).P0口能驱动口能驱动8个个TTL负载负载P1口是一个多功能的

6、口是一个多功能的8位口,可以按字节访问,也可以按位访问。位口,可以按字节访问,也可以按位访问。一一. 位结构与工作过程分析位结构与工作过程分析1. 位结构位结构DCLQQP0.X锁存器P0.X引脚内部总线写锁存器读引脚读锁存器Vcc上拉电阻AB2. 工作过程分析工作过程分析(1)P1.i位作为输出口用时:位作为输出口用时:(2)P1.i位作为输入口用时:位作为输入口用时: 先向先向P1.i位输出高电平,使位输出高电平,使A点提升为高电平,此操作称为设点提升为高电平,此操作称为设置置P 1.i为输入线。为输入线。若外设输入为若外设输入为1时,时,A点为高电平,有读引脚读入总线后,点为高电平,有读

7、引脚读入总线后,B点也点也为高电平;为高电平;若外设输入为若外设输入为0时,时,A点为低电平,有读引脚读入总线后,点为低电平,有读引脚读入总线后,B点也点也为低电平;为低电平;CPU输出输出0时:时:D=0,Q=0, ,晶体管导通,晶体管导通,A点被下拉点被下拉为低电平,即输出为为低电平,即输出为0;1QCPU输出输出1时:时:D=1,Q=1, ,晶体管截止,晶体管截止,A点被上拉点被上拉为高电平,即输出为为高电平,即输出为1。0Q3. P1口的功能和特点口的功能和特点(1).输出锁存,输出时没有条件;输出锁存,输出时没有条件;(2).输入缓冲,输入时需要先将该口设为输入状态,输入缓冲,输入时

8、需要先将该口设为输入状态, 先输出先输出1;(3).工作过程中无高阻悬浮状态,即该口不是输入口工作过程中无高阻悬浮状态,即该口不是输入口 就是输出口。就是输出口。4. P1口的操作口的操作(1).字节操作字节操作输出:输出:MOVP1,A ;(;(P1) (A)MOVP1,#data ;(;(P1) #dataMOVP1,direct ;(;(P1) (direct)输入输入:MOVA,P1 ;(;(A) (P1)MOVdirect,P1 ;(;(direct) (P1)(2).位操作位操作置位、清除:置位、清除:SETBP1.i ;P1.i 1CLRP1.i ;P1.i 0输入、输出:输入、

9、输出:MOVP1.i ,C ;P1.i CYMOV C , P1.i ;CY P1.i 判跳:判跳:JBP1.i ,rel ;P1.i =1,跳转跳转JBCP1.i ,rel ;P1.i =1,跳转,且跳转,且P1.i 0逻辑运算:逻辑运算:ANL C , P1.i ;CY (P1.i与与CY)ORL C , P1.i ;CY (P1.I+CY)(3).读引脚操作读引脚操作 在响应在响应CPU输出的读引脚信号时,端口本身的电平值通过缓输出的读引脚信号时,端口本身的电平值通过缓冲器进入内不总线。冲器进入内不总线。对于这类指令,执行前必须先将端口琐存器置对于这类指令,执行前必须先将端口琐存器置1,

10、使,使A点为高电平。点为高电平。MOVA,P1 ;(;(A) (P1)MOVdirect,P1 ;(;(direct) (P1)(4).读锁存器操作读锁存器操作 在执行读锁存器的指令时,在执行读锁存器的指令时,CPU首先完成将锁存器的值通首先完成将锁存器的值通过缓冲器读入内部,进行修改,然后重写到锁存器中去,这就是过缓冲器读入内部,进行修改,然后重写到锁存器中去,这就是“读读修改修改写写”指令。指令。这类指令包括所有的口逻辑操作(这类指令包括所有的口逻辑操作(ANL、ORL、XRL)和为操作和为操作(JBC、CPL、MOV、SETB、CLR)指令。指令。5. P1口的多功能线口的多功能线P1.

11、0定时器定时器/计数器计数器2的外部输入端的外部输入端T2;P1.1定时器定时器/计数器计数器2的外部控制端的外部控制端T2EX;P3口是一个多功能的口是一个多功能的8位口,可以按字节访问,也可以按字访问。位口,可以按字节访问,也可以按字访问。一一. 位结构与工作过程分析位结构与工作过程分析1. 位结构位结构DCLQQP3.X锁存器内部总线写锁存器读引脚读锁存器P3.X引脚Vcc上拉电阻第二输出功能第二输入功能BCA2. 工作过程分析工作过程分析 当复用输出功能当复用输出功能B点置点置1时,输出锁存器的输出可以顺利通过时,输出锁存器的输出可以顺利通过引脚引脚P3.i。其工作状态与其工作状态与P

12、1口相似。这时,口相似。这时,P3口的工作状态为口的工作状态为一一I/O口,为准双工口。口,为准双工口。 当输出锁存器的输出置当输出锁存器的输出置1时,复用输出功能可以顺利通到引时,复用输出功能可以顺利通到引脚脚P3.i。 当复用输出为当复用输出为0时,因与非门的时,因与非门的C点已经置点已经置1,现,现B点为点为0,故,故与非门的输出为与非门的输出为1,FET导通,从而使导通,从而使A点为点为0。 当复用输出为当复用输出为1时,与非门的输出为时,与非门的输出为1,FET截止,从而使截止,从而使A点为高电平。点为高电平。3. P3口的功能和特点口的功能和特点P3.0RXD(串行口输入)串行口输

13、入)P3.2INT0(外部中断外部中断0请求)请求)P3.3INT1(外部中断外部中断1请求)请求)P3.4T0(定时定时/计数器计数器0的外部输入)的外部输入)P3.5T1(定时定时/计数器计数器1的外部输入)的外部输入)P3.1TXD(串行口输出)串行口输出)P3.6WR(片外数据存储器写选通信号输出)片外数据存储器写选通信号输出)P3.7RD(片外数据存储器读选通信号输出)片外数据存储器读选通信号输出)复用输入功能复用输入功能复用输出功能复用输出功能P2口是一个多功能的口是一个多功能的8位口,可以按字节访问,也可以按位访问。位口,可以按字节访问,也可以按位访问。一一. 位结构与工作过程分

14、析位结构与工作过程分析1. 位结构位结构DCLQQP2.X锁存器内部总线写锁存器读引脚读锁存器地址控制B B0 0MUXP2.X引脚VccA AC C上拉电阻2. 工作过程分析工作过程分析 在内部控制信号的作用下,多路开关的输入投向输出锁存器在内部控制信号的作用下,多路开关的输入投向输出锁存器的输出(的输出(C点)侧,这样多路开关将接通输出锁存器。点)侧,这样多路开关将接通输出锁存器。 若经内部总线输出若经内部总线输出0,输出锁存器的,输出锁存器的Q端为端为0,信号经多路开,信号经多路开关和反相器后输出关和反相器后输出1,FET导通,导通,A点为点为0,输出低电平。,输出低电平。 若经内部总线

15、输出若经内部总线输出1,输出锁存器的,输出锁存器的Q端为端为1,信号经多路开,信号经多路开关和反相器后输出关和反相器后输出0,FET截止,截止,A点为点为1,输出高电平。,输出高电平。(1)I/O口状态口状态(2)地址状态)地址状态 在内部控制信号的作用下,多路开关的输入投向地址输出在内部控制信号的作用下,多路开关的输入投向地址输出(B点点)侧,这样多路开关将接通地址寄存器输出侧,这样多路开关将接通地址寄存器输出 。(1)作)作I/O口使用时,口使用时,P2口为一准双工口,功能与口为一准双工口,功能与P1相同。相同。3. P3口的功能和特点口的功能和特点(2)作地址输出时,)作地址输出时,P2

16、口可以输出程序存储器或片外数据存储口可以输出程序存储器或片外数据存储 器的高器的高8位地址,与位地址,与P0口输出的低口输出的低8位地址一起构成位地址一起构成16位位 地址线,从而可分别寻址地址线,从而可分别寻址64KB的程序存储器或片外数据的程序存储器或片外数据 存储器。存储器。(3)P2口能驱动口能驱动4个个TTL负载。负载。 汽车尾灯模拟汽车尾灯模拟K1:左转弯开关K2:右转弯开关L1:左转弯灯L2:右转弯灯K1接高电平,K2接低电平:左灯间隔0.1s闪烁5次;K2接高电平,K1接低电平:右灯间隔0.1s闪烁5次;K1,K2同接高电平,灯全亮K1,K2同接低电平,灯全灭. 定时器定时器/

17、计数器是单片机中重要部件,其工作方式灵活、编计数器是单片机中重要部件,其工作方式灵活、编程简单,使用它对减轻程简单,使用它对减轻CPU的负担和简化外围电路有很大好处。的负担和简化外围电路有很大好处。定时器定时器/计数器的核心是一个加一计数器,其基本功能是加计数器的核心是一个加一计数器,其基本功能是加1功能:功能:(1)在单片机的)在单片机的T0、T1或或T2引脚上施加一个引脚上施加一个1到到0的跳变,计的跳变,计 数器增数器增1,即计数功能。,即计数功能。(2)在单片机内部对机器周期或其分频进行记数,从而得到定)在单片机内部对机器周期或其分频进行记数,从而得到定 时,这就是定时功能。时,这就是

18、定时功能。一一 概述概述 作定时器用时,其记数寄存器值每过一个机器周期加作定时器用时,其记数寄存器值每过一个机器周期加1。因此,。因此,可以认为定时器是对机器周期的记数。可以认为定时器是对机器周期的记数。 因为一个机器周期固定由因为一个机器周期固定由12个振荡周期构成,所以,记数率为振个振荡周期构成,所以,记数率为振荡频率的荡频率的1/12。即:即:振荡频率记数率121 作计数器用时,在其相应外部引脚上,每有一个由作计数器用时,在其相应外部引脚上,每有一个由1到到0的跳变,的跳变,其记数寄存器的内容便要加其记数寄存器的内容便要加1。 因为辨识一个因为辨识一个1到到0的跳变需要两个机器周期,故最

19、高记数率为振的跳变需要两个机器周期,故最高记数率为振荡频率的荡频率的1/24。即:即:振荡频率记数率241 8051内含定时器内含定时器0和定时器和定时器1两个两个16位定时位定时/计数器;计数器;8052还有一还有一个定时器个定时器2,共有三个定时,共有三个定时/计数器。计数器。 定时器定时器0和定时器和定时器1有四种运作方式可供选择;定时器有四种运作方式可供选择;定时器2有三种运有三种运作方式。作方式。 定时器定时器0和定时器和定时器1的运作方式的运作方式运作方式运作方式0运作方式运作方式1运作方式运作方式2运作方式运作方式3 定时器定时器2的运作方式的运作方式 捕捉方式捕捉方式自重装方式

20、自重装方式波特率发生器方式波特率发生器方式二二 定时器定时器/计数器计数器T0、T11. 定时器定时器/计数器计数器T0、T1的内部结构的内部结构内部结构内部结构计数器计数器TH0、TL0和和TH1、TL1特殊功能寄存器特殊功能寄存器TMOD、TCON时钟分频器时钟分频器输入引脚输入引脚T0、T1、 、1TNI0TNIGATEM1M0TR1GATEM1M0TR0TF1TF0TL1TH1TF1TL0TH0TF0振荡器TMODTMOD(89H)(89H)TCONTCON(88H)(88H)T1T0CPU121TNI0TNI 定时器定时器/计数器计数器T0、T1的内部结构框图的内部结构框图 定时定时

21、/计数器的功能与运作方式选择是通过定时器方式控制寄计数器的功能与运作方式选择是通过定时器方式控制寄存器存器TOMD(Timer Mode)进行的。进行的。89H 7 6 5 4 3 2 1 0TC /TC /GATEGATE1M1M0M0MGATE门控位门控位TC / 定时器定时器1溢出标志,溢出标志,0定时,定时,1记数记数2. 定时器定时器/计数器计数器T0、T1的特殊功能寄存器的特殊功能寄存器GATE=0时,仅由时,仅由TR0和和TR1置位来启动定时器置位来启动定时器T0和和T1。1TNIGATE=1时,由外部中断引脚时,由外部中断引脚 和和TR0、TR1来来启动定时器。启动定时器。当当

22、 引脚为高电平时,引脚为高电平时,TR0置位,启动定时器置位,启动定时器T0;当当 引脚为高电平时,引脚为高电平时,TR1置位,启动定时器置位,启动定时器T1。0TNI0, 1TNITNIM1M000011011方式方式0方式方式1方式方式2方式方式3定时器定时器/计数器计数器T0、T1的四种工作方式的四种工作方式TF1TR1TF0TR0IE1IT1TE0IT0 7 6 5 4 3 2 1 0定时器定时器1溢出标志;溢出标志;定时定时1运行控制位;运行控制位;定时器定时器0溢出标志;溢出标志;定时定时0运行控制位;运行控制位;方式选择方式选择0TNI中断标志中断标志0TNI方式选择方式选择1T

23、NI中断标志中断标志1TNIOSC12TL1(5位)TH1(8位)TF1T1(P3.5)控制0/TC1/TCGATETR1) 3 . 3(1 PTNI中断 工作方式工作方式0是一个是一个13位定时位定时/计数运作方式计数运作方式 如果如果13位由全位由全1变成全变成全0,计数寄存器发生溢出,其相应的中断,计数寄存器发生溢出,其相应的中断请求标志请求标志TF1即被硬件置即被硬件置1。三三. 定时器定时器/计数器计数器T0、T1的工作方式的工作方式 工作方式工作方式1是一个是一个16位定时位定时/计数运作方式计数运作方式OSC12TL1(8位)TH1(8位)TF1T1(P3.5)控制0/TC1/T

24、CGATETR1)3 . 3(1 PTNI中断OSC12TL1(8位)TF1T1(P3.5)控制0/TC1/TCGATETR1)3 . 3(1 PTNI中断TH1(8位)重装TL作为作为8位计数器用,位计数器用,TH用以保存初始值。用以保存初始值。TH的值由软件预置。的值由软件预置。 定时器定时器1只保持计数值。定时器只保持计数值。定时器0建立起两给独立的计数器建立起两给独立的计数器TL0和和TH0。OSCT0(P3.4)控制0/TC1/TCGATETR0)3 . 3(0 PTNI12TL0(8位)TF0中断OSC12TH0(8位)TF1中断TR1控制TL0既可定时,也可计数;既可定时,也可计

25、数;TH0固定执行定时功能。固定执行定时功能。 定时器定时器2是是8052的第三个定时的第三个定时/计数器,计数器,16位。位。 定时器定时器2的定时的定时/计数控制寄存器计数控制寄存器T2CON定时器2溢出标志 TF2 EXF2 RCLK TCLK EXEN2 TR2 7 6 5 4 3 2 1 0TC /2/LRCP 捕捉/重装标志定时/计数功能选择定时器2启停控制外部允许标志定时器2外部标志接收时钟标志发送时钟标志RCLK或TCLK2/LRCPTR2选中方式00116位自重装001111xxx16位捕捉波特率发生器不运行OSCT2(P1.0)控制02/TC12/TC12TL2(8位)TF

26、2TH2(8位)TR2 RCAP2L RCAP2HEXF2中断EXEN2T2EX(P1.1)跳变检测EXTN2=1时的捕捉方式:时的捕捉方式: 定时器定时器2除进行上述工作外,其计数寄存器除进行上述工作外,其计数寄存器TH2和和TL2的现行的现行值尚在值尚在T2EX上的负跳变信号作用下,分别被捕获在上的负跳变信号作用下,分别被捕获在RCAP2L和和RCAP2H寄存器中。寄存器中。EXTN2=0时的捕捉方式:时的捕捉方式: T2EX引脚上的信号不被传递,这时定时器引脚上的信号不被传递,这时定时器2为一个为一个16位定时器位定时器或计数器,溢出时,或计数器,溢出时,TF2标志置标志置1,可用来请求

27、中断。,可用来请求中断。OSCT2(P1.0)控制02/TC12/TC12TL2(8位)TF2TH2(8位)TR2 RCAP2L RCAP2H跳变检测EXF2EXEN2T2EX(P1.1)重装中断振荡器T2(P1.0)控制02/TC12/TC12TL2(8位)TF2TH2(8位)TR2 RCAP2L RCAP2H跳变检测EXF2EXEN2T2EX(P1.1)重装中 断中 断EXTN2=0时:时: 当当16位计数寄存器发生溢出时,不但位计数寄存器发生溢出时,不但TF2标志被硬件置标志被硬件置1,而,而且且RCAP2H和和RCAP2L寄存器内由软件预置的值亦被重新装入寄存器内由软件预置的值亦被重新

28、装入TH2和和TL2中。中。EXTN2=1时:时: 在保留上述功能的情况下,在保留上述功能的情况下,T2EX引脚上的外来负跳变输入信引脚上的外来负跳变输入信号也可触发号也可触发16位自重装操作,并使位自重装操作,并使EXF2标志置标志置1。OSCT2(P1.0)控制02/TC12/TC12TL2(8位)TH2(8位)TR2 RCAP2L RCAP2HEXEN2T2EX(P1.1)重装振荡器T2(P1.0)控制02/TC12/TC2TL2(8位)TH2(8位)TR2 RCAP2L RCAP2H边缘检测EXF2T2EX(P1.1)重装216161 11 10 00 0SMOD=1SMOD=0控制中

29、断请求定时器1溢出CLOCKTLCOKRXCLOCKTXCLOCK 当当T2CON中中RCLK+TCLK=1时,定时器时,定时器/计数器计数器T2将工作于将工作于波特率发生器方式,即其溢出脉冲用做串行口的时钟。波特率发生器方式,即其溢出脉冲用做串行口的时钟。 当定时器当定时器/计数器计数器T2用做波特率发生器时,用做波特率发生器时,TH2的溢出不使的溢出不使TF2置位,不产生中断。因而,当定时器置位,不产生中断。因而,当定时器/计数器计数器T2用做波特率发生器用做波特率发生器时,没有必要禁止中断。时,没有必要禁止中断。 当定时器当定时器/计数器计数器T2用做波特率发生器时,若用做波特率发生器时

30、,若EXEN2置置1,则,则T2EX端的信号产生负跳变时,端的信号产生负跳变时,EXF2将置将置1,但不会发生重装载或,但不会发生重装载或捕获操作。这时,捕获操作。这时,T2EX可以作为一个附加的外部中断源。可以作为一个附加的外部中断源。 看门狗看门狗(watchdog)有时又称为定时器有时又称为定时器3,它的作用是强迫,它的作用是强迫单片机(微处理器)进入复位状态,使之从硬件或软件故障中单片机(微处理器)进入复位状态,使之从硬件或软件故障中解脱出来。解脱出来。定时器T定时器T3 加载11位分频器CLRWLEPD+ +引脚RST引脚+ +内部总线内部总线清除加载加载溢出写T3PCON.1PCO

31、N.4内部复位复位电阻12/oscfCCVWEWET3由外部引脚由外部引脚 和电源控制寄存器和电源控制寄存器PCON.4(WLE)和和PCON.1(PD)控制。控制。WE看门狗定时器允许,低电平有效。看门狗定时器允许,低电平有效。 =0,允许看门,允许看门 狗定时器,禁止掉电方式;狗定时器,禁止掉电方式; =1,禁止看门狗定时,禁止看门狗定时 器,允许掉电方式。器,允许掉电方式。WEWEWLE(PCON. 4)看门狗定时器允许重装标志,若看门狗定时器允许重装标志,若WLE置位,置位, 定时器定时器T3只能被软件装入,装入后只能被软件装入,装入后WLE自自 动清除。动清除。 看门狗的工作过程:在

32、看门狗的工作过程:在T3溢出时,复位溢出时,复位8XC552,并产生并产生复位脉冲输出至复位引脚复位脉冲输出至复位引脚RST。 为防止系统复位,必须在定时器为防止系统复位,必须在定时器T3溢出前,通过软件对其溢出前,通过软件对其进行重装。如果发生软件或硬件故障,将使软件对定时器进行重装。如果发生软件或硬件故障,将使软件对定时器T3重重装失败,从而装失败,从而T3溢出导致复位信号的产生。溢出导致复位信号的产生。例:例:watchdog使用的一段程序如下:使用的一段程序如下: T3 EQU 0FFH ;定时器定时器T3的地址的地址 PCON EQU 87H ;PCON的地址的地址 WATH-INT

33、V EQU 156 ;看门狗的时间间隔看门狗的时间间隔 LCALL WATCHDOG看门狗的服务程序:看门狗的服务程序: WATCHDOG: ORL PCON,#10H ;允许定时器允许定时器T3重装重装 MOV T3,WATCH-INTV ;装载定时器装载定时器T3 RET1. 定时器定时器/计数器溢出率的计算计数器溢出率的计算 定时器定时器/计数器运行前,在其中预先置入的常数,称为定时计数器运行前,在其中预先置入的常数,称为定时常数或记数常数(常数或记数常数(TC)。)。)2(12)2(TCfTCTtLoscLc其中:其中:晶体振荡器频率机器周期计数器的长度定时时间osccfTLt对于对于

34、T0和和T1:方式方式0 L=13 8192213方式方式1 L=16 65536216方式方式2 L=8 25628对于对于T2: L=8 65536216定时时间的倒数即为溢出率,即:定时时间的倒数即为溢出率,即:)2(1121TCftLosc溢出率根据既定的定时时间根据既定的定时时间t,计算出计算出TC值,并将其转换成二进制值,并将其转换成二进制TCB,然后再分别送入然后再分别送入Thi,TLi(对于对于T0,i=0;对于对于T1, i=1)对于定时器对于定时器/计数器计数器T0、T1:方式方式0:TCB=TCH+TCL,TCH高高8位,位,TCL低低5位位 MOVTHi,#TCH ;送

35、高送高8位位 MOV TLi,#TCL ;送低送低5位位方式方式1:TCB=TCH+TCL,TCH高高8位,位,TCL低低8位位 MOVTHi,#TCH ;送高送高8位位 MOV TLi,#TCL ;送低送低5位位方式方式2:TCB8位位 MOVTHi,#TCB MOV TLi,#TCB对于定时器对于定时器/计数器计数器T2:与与T0、T1的方式的方式1相同相同2. 定时器定时器/计数器的编程计数器的编程编程步骤:编程步骤:写写TMOD,只能用字节寻址。只能用字节寻址。 设置定时器设置定时器/计数器的工作方式(计数器的工作方式(M1,M0)、)、功能选择功能选择(C/T)及是否使用门控(及是否

36、使用门控(GATE)。)。将时间常数或记数常数写入将时间常数或记数常数写入Thi和和TLi,也只能用字节寻址。也只能用字节寻址。启动定时或记数,即写启动定时或记数,即写TCON,可用字节寻址也可用位寻址。可用字节寻址也可用位寻址。 如:如: SETB TRi ;启动定时器;启动定时器 SETB TCON.4(T0) SETB TCON.6(T1) CLR TRi ;停止定时器停止定时器定时器中断开放和禁止,即写定时器中断开放和禁止,即写IE(IE.,IE.3,IE.1) 如:如: SETB ETi ;允许中断允许中断ETi SETB EA ;开放中断开放中断 CLR Eti ;禁止中断禁止中断

37、Eti CLR EA ;关闭中断关闭中断 3. 定时器定时器/计数器的应用举例计数器的应用举例例例1:使用定时器:使用定时器/计数器计数器T0的方式的方式0,设定,设定1ms的定时。在的定时。在 P1.0引脚上产生周期为引脚上产生周期为2ms的方波输出。晶体振荡器的的方波输出。晶体振荡器的 频率为频率为6MHz。例例2:使用定时器:使用定时器/计数器计数器T1的方式的方式1,设定,设定1ms的定时。在的定时。在 P1.0引脚上产生周期为引脚上产生周期为2ms的方波输出。晶体振荡器的的方波输出。晶体振荡器的 频率为频率为6MHz。3. 定时器定时器/计数器的应用举例计数器的应用举例例例3:使用定

38、时器:使用定时器/计数器计数器T0作为外部计数器,试编程实现每作为外部计数器,试编程实现每 当计数到当计数到100个脉冲时,个脉冲时,T1开始开始2ms的定时,定时时间的定时,定时时间 到后,到后,T0又开始计数,这样反复循环下去。晶体振荡器又开始计数,这样反复循环下去。晶体振荡器 的频率为的频率为6MHz。 MCS-51中的串行接口是一个全双工通信接口,中的串行接口是一个全双工通信接口,即能同时进行发送和接收。它可以作即能同时进行发送和接收。它可以作UART(通用异通用异步接收和发送器)用,也可以作同步移位寄存器用。步接收和发送器)用,也可以作同步移位寄存器用。一一. 概述:概述: 所谓全双

39、工的异步串行通讯接口,是说该接口所谓全双工的异步串行通讯接口,是说该接口可以同时进行接收和发送数据,因为,口内的接收缓可以同时进行接收和发送数据,因为,口内的接收缓冲器和发送缓冲器在物理上是隔离的,即完全独立的冲器和发送缓冲器在物理上是隔离的,即完全独立的。可以通过访问特殊功能寄存器可以通过访问特殊功能寄存器SBUFSBUF(99H99H),),来访问来访问接收缓冲器和发送缓冲器。接收缓冲器和发送缓冲器。二二. MSC-51 串行口的组成串行口的组成A波特率发生器T1SBUFSBUF门发送控制器接收控制器移位寄存器+串行口中断TIRITXDRXD波特率发生器内部总线IE(A8H)SCON(98

40、H)TXDRXDTXCLKRXCLKSITIRI发送SBUF(99H)接收SBUF(99H)串行口控制逻辑(TX)(RX)EAESSM0SM1SM2RENTB8RB8TIRIUART串行口的结构:串行口的结构:UART串行口串行口波特率发生器波特率发生器串行口串行口波特率发生器:主要由定时器波特率发生器:主要由定时器/计数器计数器T1、T2及内部的一些及内部的一些 控制开关和分频器所组成。它向串行口发送控制开关和分频器所组成。它向串行口发送 时钟信号时钟信号TXCLOOCK(发送时钟)和发送时钟)和 RXCLOCK(接收时钟)。接收时钟)。串行口串行口接收寄存器接收寄存器SBUF和发送寄存器和

41、发送寄存器SBUF串行口控制逻辑串行口控制逻辑串行口控制寄存器:串行口控制寄存器:SCON串行数据输入串行数据输入/输出引脚输出引脚1. 1. 数据缓冲寄存器数据缓冲寄存器SBUF 串行口缓冲寄存器串行口缓冲寄存器SBUF是可直接寻址的专用寄存器。在物是可直接寻址的专用寄存器。在物理上,它对应着两个寄存器,一个是发送寄存器,一个是接收寄理上,它对应着两个寄存器,一个是发送寄存器,一个是接收寄存器。存器。CPU写写SBUF,就是修改发送寄存器;读就是修改发送寄存器;读SBUF,就是监督就是监督接收寄存器。接收器是双缓冲的,以避免在接收下一帧数据之前,接收寄存器。接收器是双缓冲的,以避免在接收下一

42、帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。对于发送器,为了保持最大的传输速率,生两帧数据重叠的问题。对于发送器,为了保持最大的传输速率,一般不需要双缓冲,因为发送时一般不需要双缓冲,因为发送时CPU是主动的,不会产生写重叠是主动的,不会产生写重叠的问题。的问题。 2 2串行口控制寄存器串行口控制寄存器SCON SM0SM1SM2RENTB8RB8TIRISM0(SCON.7)和和SM1(SCON.6):):串行口操作模式选择位。串行口操作模式选择位。 SM0 SM1模式功能波特率0 00同步移

43、位寄存器fosc/120 118位UART可变1 029位UARTfosc/64或fosc/321 139位UART可变SCON用于控制和监视串行口的工作状态。它的定义如下:用于控制和监视串行口的工作状态。它的定义如下: 串行口状态控制寄存器串行口状态控制寄存器SCONSCON是一个逐位定义的是一个逐位定义的8 8位寄存器,位寄存器,由它控制串行口通讯方式选择、接收和发送,指示串行口由它控制串行口通讯方式选择、接收和发送,指示串行口的状态。的状态。SCONSCON既可以字节寻址也可以位寻址,字节地址为既可以字节寻址也可以位寻址,字节地址为9898H H,位地址为位地址为9898H-9FHH-9

44、FH。SM2(SCON.5): 在模式在模式2和和3中多处理机通信使能位。中多处理机通信使能位。 REN(SCON。4):): 允许接收位。有软件置位或清除。允许接收位。有软件置位或清除。REN=1时,时,允许接收,允许接收,REN=0时,禁止接收。时,禁止接收。 TB8(SCON.3):): 发送数据位发送数据位8。该位是模式。该位是模式2和和3中要发送的第中要发送的第9位数据。在许多通信协议中,该位是奇偶位。位数据。在许多通信协议中,该位是奇偶位。可以按需要由软件件置位或清除。在可以按需要由软件件置位或清除。在MCS-51多处理机通信中,这一位表示是地址帧还是数多处理机通信中,这一位表示是

45、地址帧还是数据帧。据帧。 RB8(SCON.2):): 接收数据位接收数据位8。是模式。是模式2和和3中已接收的第中已接收的第9位数据。位数据。在模式在模式1中,若中,若SM2=0,RB8是已接收的停止位。是已接收的停止位。在模式在模式0中,中,RB8未用。未用。 TI(SCON.1):): 发送中断标志。发送中断标志。 在模式在模式0中,在发送完第中,在发送完第8位数据时,由硬件位数据时,由硬件置位;在其他模式中,在发送停止位之初,由硬置位;在其他模式中,在发送停止位之初,由硬件置位。件置位。TI=1时,申请中断,时,申请中断,CPU响应中断后,响应中断后,发送下一帧数据。在任何模式中,都必

46、须由软件发送下一帧数据。在任何模式中,都必须由软件来清除来清除TI。RI(SCON.0):): 接收中断标志。接收中断标志。 在模式在模式0中,接收第中,接收第8位结束时,由硬件置位。位结束时,由硬件置位。在其他模式下,在接收停止位的本中间,由硬件置在其他模式下,在接收停止位的本中间,由硬件置位。位。RI=1,申请中断,要求申请中断,要求CPU取走数据。但在模取走数据。但在模式式1中,中,SM2=1时,若未接收到有效的停止位,则时,若未接收到有效的停止位,则不会对不会对RI置位。必须靠软件清除置位。必须靠软件清除RI。3 3控制寄存器控制寄存器PCON D7D6D5D4D3D2D1D0SMOD

47、-GF1GF0PDIDLSMOD串行通信波特率系数控制位。串行通信波特率系数控制位。当当SMOD=1时,使波特率加倍。时,使波特率加倍。PCON的地址为的地址为87H,只能字节寻址。只能字节寻址。 在操作方式在操作方式0下,串行口作同步移位寄存器用,其波特下,串行口作同步移位寄存器用,其波特率是固定的,率是固定的,fosc/12,其中其中fosc是振荡器频率。这时数据由是振荡器频率。这时数据由RXD(P3.0)端出入,同步移位时钟由端出入,同步移位时钟由TXD(P3.1)端输出。端输出。发送或接收的是发送或接收的是8位数据,低位在先。位数据,低位在先。 1 1. 方式方式0 D7D6D5D4D

48、3D2D1D0功能图功能图 SBUFDQSCL零检测器发送控制器STARTTXCLOCKSHIFTSEND接收控制器STARTRXCLOCKRECEIVESHIFTR1T1移位脉冲TXDP3.1替代输出功能RXDP3.0替代输出功能输入移位寄存器1 1 1 1 1 1 1 0SBUF装载SBUF读SBUFREN8051内部总线8051内部总线RXDP3.0输入功能时序图时序图接收过程接收过程发送过程发送过程方式方式0的应用:的应用: 8051 DATA(P3.0)CLOCK(P3.1)端口引脚DATA CD 4094Q2 STB CLOCKDATA CD 4094 STB CLOCK8051

49、DATA(P3.0)CLOCK(P3.1) 端口引脚Q2 SIN CD4014 P/S CLOCKQ2 CD4014 P/S CLOCK2 2. 方式方式1 串行口工作于方式串行口工作于方式1时,传输的是时,传输的是10位:位:1位起始位(位起始位(0););8位数据位数据(低位在先);和(低位在先);和 1位停止位(位停止位(1)。)。由由TXD发送,由发送,由RXD接收。波特率可变,取决于定时器接收。波特率可变,取决于定时器1或定时器或定时器2 的溢出速率。的溢出速率。T2CON寄存器中:寄存器中:当当RCLK=TCLK=1时,用定时器时,用定时器2作为接收和发送的波特率发生器。作为接收和

50、发送的波特率发生器。当当RCLK=TCLK=0时,用定时器时,用定时器1作为波特率发生器。作为波特率发生器。 二者可以交叉使用,即发送和接收用不同的波特率。二者可以交叉使用,即发送和接收用不同的波特率。SBUFDQSCL零检测器发送控制器STARTTXCLOCKQATASEND接收控制器STARTRXCLOCKLOADSHIFTR1T1输入移位寄存器SBUF装载SBUF读SBUF8051内部总线8051内部总线移位串行口中断写SBUFSHIFT装载SBUF位检测器0到1跳变检测器RXD16163TCLKRCLKTXD1FFH定时器1溢出定时器2溢出SMOD=0SMOD=1“0” “1”“1”“

51、0”接收过程:接收过程: SHIFTRXD位检测器采样时间RIRXCLOCK停止位D0D1D2D3D4D5D6D7发送过程:发送过程: TXCLOCKSHIFT写SBUFSENDDATAS1P1TXDTI 起始位停止位D0D1D2D3D4D5D6D73 3方式方式2 方式方式2和方式和方式3中,发送(通过中,发送(通过TXD)和接收(通过和接收(通过RXD)的的都是都是11位;位;1位起始位(位起始位(0),),8位数据(低位在先),位数据(低位在先),1位可编程位可编程位(第位(第9位数据)和位数据)和1位停止位。位停止位。 发送时,可编程位(发送时,可编程位(TB8)可赋予可赋予0或或1。

52、接收时,可编程位。接收时,可编程位进入进入SCON中的中的RB8。 方式方式2和方式和方式3的工作原理类同。唯一的区别是:模式的工作原理类同。唯一的区别是:模式2的波特的波特率为率为fosc/32或或fosc/64,而模式而模式3的波特率是可变的,利用定时器的波特率是可变的,利用定时器1或定时器或定时器2作为波特率发生器。作为波特率发生器。SBUFDQSCL零检测器发送控制器STARTTXCLOCKQATASEND接收控制器STARTRXCLOCKLOADSHIFTR1T1输入移位寄存器SBUF装载SBUF读SBUF8051内部总线8051内部总线移位串行口中断写SBUFSHIFT装载SBUF

53、位检测器0到1跳变检测器RXD16162TCLKTXD1FFH定时器1溢出定时器2溢出SMOD=0SMOD=1“0”“1”“1”“0”接收过程:接收过程: 位检测器采样时间RISHIFTRXCLOCKRXD停止位D0D1D2D3D4D5D6D7RB8起始位发送过程:发送过程: TXCLOCK写SBUFSENDDATAS1P1SHIFTTXDTI停止位D0D1D2D3D4D5D6D7起始位STOP BIT QENTB84 4方式方式3 SBUFDQSCL零检测器发送控制器STARTTXCLOCKQATASEND接收控制器STARTRXCLOCKLOADSHIFTR1T1输入移位寄存器SBUF装载

54、SBUF读SBUF8051内部总线8051内部总线移位串行口中断写SBUFSHIFT装载SBUF位检测器0到1跳变检测器RXD1616TXD1FFH2SMOD=0SMOD=1(SMOD是PCON.7)六串行帧:六串行帧: 由一定数量的位组成一串行帧。由一定数量的位组成一串行帧。模式模式0中,一帧的长度为中,一帧的长度为8位。位。模式模式1中,一帧的长度为中,一帧的长度为10位。位。模式模式2和模式和模式3中,一帧的长度为中,一帧的长度为11位。位。 模式模式1、2和和3中,每帧都包含中,每帧都包含1位起始位,位起始位,8或或9位数据位数据位和位和1位停止位,数据位的位位停止位,数据位的位0位位

55、7分别装到分别装到SBUF.0SBUF.7中,位中,位8则装到则装到RB3(接收时)或接收时)或TB8(发发送时)中。通常,在非多处理机通信的情况下,送时)中。通常,在非多处理机通信的情况下,9位数据位数据位(模式位(模式2和模式和模式3)中的最后一位数据位可以作为奇偶校)中的最后一位数据位可以作为奇偶校验位。验位。 设要传输的数据字节已经在累加器中,则可采用下列一段程序把数设要传输的数据字节已经在累加器中,则可采用下列一段程序把数据字节和奇偶校验位从串行口发送出去:据字节和奇偶校验位从串行口发送出去:MOV C,P;把奇偶标志传送给进位位MOV TB8,C;把进位位传送给TB8 MOV SB

56、UF,A;把数据字节装入SBUF 其中其中P是程序状态字是程序状态字PSW中的奇偶标志位(中的奇偶标志位(PSW.0),),当累当累加器加器A的各位中,值为的各位中,值为1的位数为奇数时,的位数为奇数时,P=1,否则否则P=0。程序程序中用的是偶校验法,即保证发送帧中值为中用的是偶校验法,即保证发送帧中值为1的位数为偶数。程序最的位数为偶数。程序最后一条指令执行后,就后一条指令执行后,就 起动了发送过程。起动了发送过程。 七串行口的波特率发生器及波特率:七串行口的波特率发生器及波特率: 每秒钟所传输的代码(二进制数码)位数为波特率每秒钟所传输的代码(二进制数码)位数为波特率(Band Rate

57、)波特率发生器用于控制串行口的数据传输速率。波特率发生器用于控制串行口的数据传输速率。串行口的波特率发生器:串行口的波特率发生器:定时器1溢出定时器2溢出21616SMOD=1SMOD=0RCLKTCLKRXCLOCKTXCLOCK1 11 10 00 00 01. 方式方式0时的波特率由振荡器的频率(时的波特率由振荡器的频率( )所确定:)所确定:oscf12oscf波特率2. 方式方式2时的波特率由振荡器的频率(时的波特率由振荡器的频率( )和)和SMOD (PCON.7)所确定:所确定:oscf2232SMODoscf波特率当当SMOD=1时,时,当当SMOD=0时,时,32oscf波特

58、率64oscf波特率方式方式1和方式和方式3的波特率由定时器的波特率由定时器T1和和T2的溢出率的溢出率 和和SMOD(PCON.7)所确定:所确定:(1). 用定时器用定时器T1( )产生波特率产生波特率0/TC的溢出率定时器波特率1322TSMOD(a). 定时器定时器T1工作于方式工作于方式0:此时定时器:此时定时器T1相当于一个相当于一个13 位的计数器位的计数器TC13位计数器初值位计数器初值X 中断服务程序的机器周期数,在中断服务程序中重中断服务程序的机器周期数,在中断服务程序中重 新对定时器置数。新对定时器置数。)2(11213XTCfosc溢出率(b). 定时器定时器T1工作于

59、方式工作于方式1:此时定时器:此时定时器T1相当于一个相当于一个16 位的计数器位的计数器(c). 定时器定时器T1工作于方式工作于方式2:此时定时器:此时定时器T1相当于一个相当于一个8位位 可以重装的方式,用可以重装的方式,用TL1计数,用计数,用TH1装初值。装初值。)2(11216XTCfosc溢出率)1(21128THfosc溢出率(2). 用定时器用定时器T2产生波特率产生波特率)2,2(212216116LRCAPHRCAPfTosc溢出率的溢出率定时器波特率(RCAP2H,RCAP2L)为为16位寄存器的初值(定时常数)位寄存器的初值(定时常数)八串行口的编程和应用八串行口的编

60、程和应用例例1:单片机之间串行通讯单片机之间串行通讯 单片机单片机A发送一组(发送一组(16个)数据给单片机个)数据给单片机B,采用定时,采用定时器器T1方式方式2作为波特率发生器,串行通讯采用方式作为波特率发生器,串行通讯采用方式1,波特率为,波特率为2400,试编写程序。其中,试编写程序。其中f=11.0592NHz。例例2:单片机之间串行通讯单片机之间串行通讯 将甲乙两台仿真器串行口的发送端与对方接收端连接,将甲乙两台仿真器串行口的发送端与对方接收端连接,即甲机的即甲机的TXD与乙机的与乙机的RXD相连,甲机的相连,甲机的RXD与乙机的与乙机的TXD相连,并实现双机共地。假设甲机为发送机

温馨提示

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

评论

0/150

提交评论