




已阅读5页,还剩188页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用主讲梁祥莹11MCS51单片机概貌12MCS51单片机的主要性能特点138051的内部总体结构148051的引脚描述15存储器配置16振荡器、时钟电路和CPU时序17输入/输出端口18定时器/计数器19串行接口110中断111单步操作112复位113低功耗操作方式114编程、程序验证与加密第一章MCS51系列单片机的基本硬件结构一、有关本课程学习的几点建议二、课堂授课时间分配三、MCS51单片机概貌四、单片机的特点及其应用领域五、MCS51单片机的结构六、8051的引脚描述七、存储器配置一、有关本课程学习的几点建议1、本课程的前期基础课程是数字电路和微机原理。2、本课程是一门实践性、应用性很强的学科。3、硬件/软件同样重要,不可偏废。4、预习、听课、复习、作业、实验环环都重要。二、课堂授课时间分配(35学时)第一章MCS51系列单片机的基本硬件结构(18学时)第二章MCS51指令系统(4学时)第三章MCS51单片机的系统扩展与应用(10学时)第四章实用程序及其设计方法(3学时)三、MCS51单片机概貌1、微处理器、微机、单片机和单片机系统的概念微处理器(MICROPROCESSOR)本身不是计算机,是小型计算机或微型计算机的控制和处理部分。微机(MICROCOMPUTER)是指由CPU、存储器、I/O接口电路等各种大型集成电路芯片组装在一块或者由几块印制电路板组装而成的机器。单片机(SINGLECHIPMICROCOMPUTER)在一个芯片上集成CPU、存储器、I/O接口等电子电路的超微型计算机。单片机系统在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。返回目录四、单片机的特点及应用领域1、单片机的特点(1)小巧灵活、成本低、易于产品化。能组装成各种智能式测控设备及智能仪器仪表。(2)可靠性好,应用范围广。单片机芯片本身是按工业测控环境要求设计的,抗干扰性强,能适应各种恶劣的环境,这是其他机种无法比拟的。(3)易扩展,很容易构成各种规模的应用系统,控制功能强。单片机的逻辑控制功能很强,指令系统有各种控制功能指令,可以对逻辑功能比较复杂的系统进行控制。(4)具有通讯功能,可以很方便地实现多机和分布式控制,形成控制网络和远程控制。2、单片机的应用(1)工业方面各种测控系统。数据采集系统,工业机器人,智能化仪器,机、电一体化产品。(2)智能仪器仪表方面。(3)通讯方面调制解调器、程控交换技术等。(4)消费产品方面电动玩具、录像机、激光唱机。(5)导弹与控制方面导弹控制、鱼雷制导控制、智能武器装备、飞机导航系统。(6)计算机外部设备及电器方面打印机、硬盘驱动器、彩色与黑白复印机、磁带机等。(7)多机分布式系统可用单片机构成分布式测控系统,它使单片机应用进入了一个全新的阶段。五、单片机与PC机的比较PC机单片机单价高低功能多单一体积大小到不能再小内存以百MB计2KB8KB操作环境WINDOWS、LINUX等自行发展标准输出CRT或LCD屏幕LED或七段数码管标准输入键盘、鼠标数个按键常用控制用程序VB或VC汇编语言或C语言返回目录六、MCS51单片机的结构框图七、MCS51单片机的逻辑结构1、中央处理器(CPU中央处理器简称CPU,是单片机的核心,完成运算和控制操作。按其功能,中央处理器包括运算器和控制器两部分电路。1)运算器电路功能单片机的运算部件,用于实现算术和逻辑运算。8051运算器还包含一个布尔处理器,用来处理位操作。2)控制器电路功能单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。2、内部数据存储器组成RAM(1288)和RAM地址寄存器等。功能用于存放可读写的数据。3、内部程序存储器组成ROM(4K8)和程序地址寄存器等。功能用于存放程序和原始数据。4、定时器计数器80C51共有两个16位的定时器计数器。功能实现定时或计数功能,并以其定时或计数结果对单片机进行控制,以满足控制应用的需要。5、并行I/O口MCS51共有4个8位的I/O口(P0、P1、P2、P3)功能实现数据的并行输入输出。6、串行口MCS51单片机有一个全双工的串行口。功能以实现单片机和其它数据设备之间的串行数据传送。7、中断控制系统80C51共有5个中断源,即外中断2个,定时计数中断2个,串行中断1个。全部中断分为高级和低级共两个优先级别。8、时钟电路MCS51芯片的内部有时钟电路,但石英晶体和微调电容需外接。功能时钟电路为单片机产生时钟脉冲序列。典型的晶振频率6MHZ、110592MHZ、12MHZ。9、位处理器位处理器称为布尔处理器。功能以状态寄存器中的进位标志位C为累加位,可进行各种位操作。10、总线总线连接计算机各部件的一组公共信号线。分类地址总线、数据总线和控制总线。作用减少了单片机的连线和引脚,提高了集成度和可靠性。返回目录八、8051单片机的引脚描述1、VCC电源正端,容许正常工作的电压是510,即CPU可工作于45V55V的电压环境。2、VSS电源低端,所有输入/输出信号都以此点为参考电压点,如P10的输出电压为40V时,即指输出端为VSS点的电压差为40V3、RSTCPU的复位引脚。平常应工作于低电位状态,当要对CPU做复位操作时,只要将此引脚升到逻辑1的状态,并保持2个机器周期以上时间。单片机将立刻进行系统重置的各项工作,并且开始由0000H地址上读入程序码。4、ALE地址锁存控制信号功能一、在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。功能二、ALE是以六分之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。5、/PSEN外部程序存储器读选通信号在读外部ROM时/PSEN有效(低电平),以实观外部ROM单元的读操作。6、/EA访问程序存储器控制信号当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当/EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。7、XTAL1系统振荡晶体的反相放大输入端。8、XTAL2系统振荡晶体的反相放大输出端。9、P0口端口0,一个8位的漏极开路型双向I/O,内部不带上拉电阻,P0口能以吸收电流的方式驱动8个LSTTL负载电路,通常在使用时外接上拉电阻。用来驱动多个数码管。在访问外部数据存储器时,P0口时分时转换的地址(低8位)/数据总线。10、P1口一个双向的I/O端口,有内部的上拉电阻,能驱动4个LSTTL负载,通常在使用时不需要接上拉电阻,就可以直接驱动发光二极管。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。11、P2口带内部上拉电阻的8位双向I/O口,能驱动4个LSTTL负载,端口置1时,内部上拉电阻将端口拉到高电平,作输入用,对内部FLASH程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。12、P3口内部有上拉电阻的8位双向I/O口,可驱动4个LSTTL负载,置成1可当作I/O使用。每个引脚均有其他特殊功能。返回目录九、存储器配置MCS51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。(1)程序存储器一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。MCS51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种,连接时引脚有区别。程序存储器结构如下页图所示(2)数据存储器一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS51数据存储器可分为片内和片外两部分。片外RAM最大范围0000HFFFFH,64KB;用指令MOVX访问。片内RAM最大范围00HFFH,256B;用指令MOV访问。又分为两部分低128B(007FH)为真正的RAM区,高128B(80FFH)为特殊功能寄存器(SFR)区。如上页图所示。内部内部RAM的的20H2FH单元为单元为位寻址区,既可作位寻址区,既可作为一般单元用字节为一般单元用字节寻址,也可对它们寻址,也可对它们的位进行寻址。位的位进行寻址。位地址为地址为00H7FH。CPU能直接寻能直接寻址这些位(称址这些位(称MCS51具有布尔具有布尔处理功能),位地处理功能),位地址分配如右表所示址分配如右表所示。3、MCS51的专用寄存器(SFR)(1)程序存储器中7个特殊定义的地址(不属于SFR)入口意义0000H系统程序的启动地址0003H外部中断0入口地址000BH定时器0溢出入口地址0013H外部中断1入口地址001BH定时器1溢出入口地址0023H串行口中断002BH定时器2溢出或T2EX(P11)端负跳通常在这些入口地址都安放一条绝对跳转指令,跳转到相应中断服务程序入口去执行中断服务程序。(2)专用寄存器MCS51共有23个特殊功能寄存器(3个属于8032/8052),其中5个是双字节寄存器,程序计数器PC在物理上是独立的,其余22个寄存器都属于片内数据存储器SFR块,共26个字节。程序计数器PC(16BIT)累加器A寄存器B程序状态字PSW堆栈指针SP数据指针DPTRI/O端口P0P3程序计数器PC(PROGRAMCOUNTER)程序计数器PC在物理上是独立的,它不属于SFR存储器块。PC是一个16位的计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB,PC有自动加1功能,不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。程序状态字PSWCYACF0RS1RS0OVPCY进位/借位标志位AC辅助进位位/借位标志位F0可由用户定义的标志位RS1、RS0工作寄存器组选择位OV溢出标志位PSW1未定义P奇偶标志位(采用偶校验)堆栈指针SP1)MCS51堆栈设在内部RAM中,是一个按“先进先出”顺序,受SP管理的存储区域。2)在程序中断、子程序调用等情况下,会用到堆栈来保存断点和现场(也可作数据传送的中转站)3)堆栈深度为128个字节,系统复位时,硬件使SP07H,用户可修改SP来改变堆栈位置。返回目录16振荡器、时钟电路和CPU时序一、振荡器电路的两种接法说明使用内部方式时,时钟发生器对振荡脉冲二分频。使用外部方式时,外部振荡信号应直接加到XTAL1,而XTAL2悬空二、CPU时序1、几个周期的概念振荡周期/时钟周期TC晶振频率FOSC(或外加频率)的倒数状态周期TS2个时钟周期机器周期TM6个状态周期(TS)12个振荡周期(TC)指令周期TI执行一条指令所需要的机器周期数振荡周期为单片机提供时钟信号的振荡源的周期。时钟周期是振荡源信号经二分频后形成的时钟脉冲信号。机器周期通常将完成一个基本操作所需的时间称为机器周期。指令周期是指CPU执行一条指令所需要的时间。一个指令周期通常含有14个机器周期。时钟电路产生的振荡脉冲,经过触发器进行时钟电路产生的振荡脉冲,经过触发器进行二分频之后才能为单片机的时钟脉冲信号。二分频之后才能为单片机的时钟脉冲信号。请特别注意时钟脉冲与振荡脉冲之间的二分请特别注意时钟脉冲与振荡脉冲之间的二分频关系,频关系,否则会造成概念上的错误。否则会造成概念上的错误。2、时钟脉冲和振荡脉冲时钟脉冲和振荡脉冲3、时序的定时单位时序是用定时单位来说明的,80C51的时序定时单位共有个,从小到大依次是N节拍N状态N机器周期N指令周期。节拍与状态N振荡脉冲的周期叫做节拍,用表示。振荡脉冲经过二分频后,就是单片机的时钟信号,把时钟信号的周期定义为状态,用表示。N这样,一个状态就包括两个节拍,其前半周期对应的节拍叫节拍(),后半周期对应的节拍叫节拍()。机器周期N80C51采用定时控制方式,因此它有固定的机器周期。80C51的一个机器周期的宽度为个状态,并依次表示为,由于一个状态又包括两个节拍,因此一个机器周期总共有个节拍,分别记作S1P1、S1P2S6P1、S6P2。N由于一个机器周期共有个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为Z时,一个机器周期为S,当振荡脉冲频率为Z时,一个机器周期为S。指令周期指令周期是最大的时序定时单位,执行一条指令需要的时间称之为指令周期。根据指令的不同,80C51的指令周期可以包含有1、2、4个机器周期。当然,1个机器周期的指令执行的最快。P1P2S1P2振荡周期时钟周期机器周期机器周期指令周期XTAL2OSCS2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2图212MCS51单片机各种周期的相互关系4、振荡周期、时钟周期、机器周期和指令周期例若MCS51单片机外接晶振为12MHZ时,则单片机的四个周期的具体值为振荡周期1/12MHZ1/12S00833S时钟周期1/6S0167S机器周期1S指令周期14S指令的集合称为程序,执行程序的过程就是执行指令的过程,单片机执行任何一条指令时,都可以分为取指阶段和执行阶段。在取指阶段,CPU从程序存储器中取出指令操作码,送指令寄存器,再经指令译码器译码,产生一系列控制信号,完成本指令规定的操作。5、MCS51单片机指令的取指和执行时序一个机器周期P1P2P1P2单字节单周期指令例INCA单字节单周期指令例INCA双字节单周期指令例ADDA,DATA单字节双周期指令例INCDPTR说明ALE信号是用于锁存低8位地址的选通信号,每出现一次该信号,单片机即进行一次读指令操作,当指令为多字节或多周期指令时,只有第一个ALE信号进行读指令操作,其余的ALE信号为无效操作(或读操作数操作)6、访问片外ROM/RAM指令的时序外部程序存储器读时序从外部程序存储器读取指令,必须有两个信号进行控制ALE信号和信号(外部ROM读选通脉冲)。外部数据存储器读时序第一个机器周期是取指周期,是从ROM中读取指令数据,第二个机器周期才开始读取外部数据存储器RAM中的内容。有三个信号进行控制ALE信号、信号(外部RAM读选通脉冲)和信号(外部ROM读选通脉冲)。返回目录17输入/输出(I/O)端口MCS51单片机有4个双向并行的8位I/O口P0P3,P0口为开漏极输出,内部没有上拉电阻,为三态双向I/O口,可驱动8个TTL电路,P1、P2、P3三个口内部有上拉电阻,称为准双向口。171P0口1P0口结构P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O接口。其1位的结构原理下页图中所示。P0口由8个这样的电路组成锁存器起输出锁存作用,8个锁存器构成了特殊功能寄存器P0场效应管(FET)V1、V2组成输出驱动器,以增大带负载能力三态门1是引脚输入缓冲器三态门2是用于读锁存器端口与门3、反相器4及模拟转换开关构成输出控制电路。P0口的工作原理P00P07双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制引脚P0X34VCC21DQCK/Q读引脚1读锁存器写锁存器内部总线地址/数据控制引脚P0X34控制0时,此脚作输入口(事先必须对它写“1”)00100截止截止0VCCP0口的工作原理P00P07双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚0读锁存器写锁存器内部总线地址/数据控制1引脚P0X34控制1时,此脚作地址/数据复用口(1)输出地址/数据0时10110导通截止0VCCP0口工作原理P00P07双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚0读锁存器写锁存器内部总线地址/数据控制1引脚P0X34控制1时,此脚作地址/数据复用口(2)输出地址/数据1时11001截止导通1VCCP0口的工作原理P00P07双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚1读锁存器写锁存器内部总线地址/数据控制1引脚P0X34控制1时,此脚作地址/数据复用口(3)输入数据时,输入指令将使引脚与内部总线直通VCCP0口工作原理P00P07双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。读锁存器在端口已处于输出状态的情况下读锁存器。读锁存器是通过上方的缓冲器读锁存器端的状态。在端口已处于输出状态的情况下,不能正常读取引脚的信号,只能读取锁存器的状态;这样安排的目的是适应对端口进行“读修改写”操作指令的需要。例如“ANLP0,A”就属于这类指令,执行时先读入P0口锁存器中的数据,然后与A的内容进行逻辑“与”,再把结果送到P0口输出。从这种意义上说,该指令又可看作是输出指令。除MOV类指令外的其它口操作指令都属于这种情况。说明一、当P0口作为通用I/O接口时,要注意两点在输出数据1时,由于V2截止,输出级是漏极开路电路,要使“1”信号正常输出,必须外接上拉电阻。P0口作为通用I/O使用时是一准双向口。二、MCS51单片机有不少指令可直接进行端口操作,例如ANLP0,A(P0)(P0)(A)ORLP0,DATA(P0)(P0)DATADELP0(P0)(P0)1172P1口P1口为准双向口,其1位的内部结构如下图所示。它在结构上与P0口的区别在于输出驱动部分,其输出驱动部分由场效应管V1与内部上拉电阻组成。当其某位输出高电平时,可以提供拉电流负载,不必象P0口那样需要外接电阻。从功能上来看P1只有一种功能(对MCS51子系列),即通用输入输出I/O接口,具有输入、输出、端口操作3种工作方式,每1位口线能独立地用作输入或输出线。P1口工作原理P10P17准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线VCC引脚P1X内部上拉电阻21DQCK/Q读引脚读锁存器写锁存器内部总线VCC引脚P1X内部上拉电阻输出数据1时110截止1P1口工作原理P10P17准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线VCC引脚P1X内部上拉电阻输出数据0时0010导通P1口工作原理P10P17准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚1读锁存器写锁存器内部总线VCC引脚P1X内部上拉电阻输入数据时,要先对其写“1”110截止P1口工作原理P10P17准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。173P2口P2口也是一准双向口,其1位的内部结构如下页图所示。它具有通用I/O接口或高8位地址总线输出两种功能,所以其输出驱动结构比P1口输出驱动结构多了一个输出模拟转换开关MUX和反相器3。P2口工作原理P20P27双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位控制引脚P2X3内部上拉电阻VCC21DQCK/Q读引脚0读锁存器写锁存器内部总线地址高8位控制引脚P2X控制0时,此脚作通用输出口输出1时110截止3内部上拉电阻11VCC10P2口工作原理P20P27双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚0读锁存器写锁存器内部总线地址高8位控制引脚P2X控制0时,此脚作通用输出口输出0时001导通3内部上拉电阻00VCC00P2口工作原理P20P27双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚0读锁存器写锁存器内部总线地址高8位控制1引脚P2X控制1时,此脚作高8位地址A8A15输出口当输出1时10截止3内部上拉电阻11VCC1P2口工作原理P20P27双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚0读锁存器写锁存器内部总线地址高8位控制1引脚P2X01导通3内部上拉电阻00VCC0控制1时,此脚作高8位地址A8A15输出口当输出0时P2口工作原理P20P27双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。说明当作为准双向通用I/O接口使用时,控制信号使转换开关接向左侧,锁存器Q端经反相器3接V1,其工作原理与P1相同,也具有输入、输出、端口操作三种工作方式,负载能力也与P1口相同。174P3口P3口的1位结构如下页图所示。它的输出驱动由与非门3、V1组成,比P0、P1、P2口结构多了一个缓冲器4。P3口除了可作为通用准双向I/O接口外,每1根线还具有第2功能。P3口工作原理P30P37双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出引脚P3X3内部上拉电阻VCC第二功能输入421DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出(WR,RD,TXD)引脚P3X3内部上拉电阻VCC4第二功能输出时,内部自动D1111反相器P3口工作原理P30P37双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线此端自动1引脚P3X3内部上拉电阻VCC第二功能输入(RXD,T0,T1,INT0,INT1)4第二功能输入时,信号经缓冲器4直接进入内总线1110截止P3口工作原理P30P37双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。P3口的第二功能表P32P33位线引脚第二功能P3010RXD(串行输入口)P3111TXD(串行输出口)12INT0(外部中断0)13INT1(外部中断1)P3414T0(定时器0的计数输入)P3515T1(定时器1的计数输入)16WR(外部数据存储器写脉冲)17RD(外部数据存储器读脉冲)P37P36175端口的负载能力及接口要求端口的负载能力及接口要求1P0口得每一位输出可驱动8个LSTTL输入,但把它当通用I/O口用时,输出级属漏极开路,在驱动NMOS电路时应外接上拉电阻。当P0口作地址数据总线使用时,则无需外接上拉电阻。21P3口的输出级接有上拉电阻,它们的每一位输出可驱动3个LSTTL输入。对于HMOS型的单片机,当1和P3口作输入时,任何TTL或NMOS电路都能以正常的方式去驱动这些口。不管是HMOS型的还是NMOS型的单片机,它们的1P3的输入端都可以被集电极开路或漏级开路电路所驱动,而无需上拉电阻。3CHMOS端口只能提供几毫安的输出电流,故当作为输出口去驱动一个普通晶体管的基极时,应在端口与晶体管基极间串接一个电阻,以限制高电平输出时的电流。返回目录18定时器/计数器一、基本概念(1)计数计数是指对外部事件的个数进行计量。其实质就是对外部输入脉冲的个数进行计数。实现计数功能的器件称为计数器。(2)定时8051单片机中的定时器和计数器是一个部件,只不过计数器记录的是外界发生的事件,而定时器则是由单片机内部提供一个非常稳定的计数源进行定时的。这个计数源是由单片机的晶振经过12分频后获得的一个脉冲源。所以定时器计数脉冲的时间间隔与晶振有关。(3)定时的种类软件定时利用执行一个循环程序进行时间延迟。其特点是定时时间精确,不需外加硬件电路,但占用CPU时间。因此软件定时的时间不宜过长。硬件定时利用硬件电路实现定时。其特点是不占用CPU时间,通过改变电路元器件参数来调节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。可编程定时器通过专用的定时器/计数器芯片实现。其特点是通过对系统时钟脉冲进行计数实现定时,定时时间可通过程序设定的方法改变,使用灵活方便。也可实现对外部脉冲的计数功能。二、MCS51内部定时器/计数器MCS51单片机内部有两个16位可编程的定时器/计数器,简称为T0和T1,均可作定时器用,也可用作计数器,它们均是二进制加法计数器,当计数器计满,回零时能自动产生溢出中断请求,表示定时时间已到或计数已终止。适用于定时控制、延时、外部计数和检测等。当它对外部事件进行计数时,由于频率不固定,此时称之为计数器;当它对内部固定频率的机器周期进行计数时,称之为定时器。定时器/计数器的基本结构(1)定时器/计数器的结构组成16位加法计数器、工作方式寄存器TMOD和控制寄存器TCON。T0TL0(低8位)和TH0(高8位)T1TL1(低8位)和TH1(高8位)定时器对片内机器时钟周期方波进行计数计数速率为振荡器速率的1/12。计数器对TX引脚输入的负脉冲进行计数外部输入的计数脉冲的最高频率为振荡器频率的1/24。(2)说明上图中,TH1,TL1是定时器T1的计数器,TH0,TL0是T0的计数器。TH1和TL1、TH0和TL0分别构成两个16位加法计数器,他们的工作状态及工作方式由两个特殊功能寄存器TMOD和TCON的各位来决定。工作状态有定时和计数两种,由TMOD的第2位或第6位决定。工作模式有四种,也是由TMOD其中的两位来决定,TMOD和TCON的内容由软件写入。当T0或T1加1溢出后,记满溢出信号使TCON中的TF0或TF1置1,作为定时器/计数器的溢出中断标志。三、T0和T1的控制和状态寄存器1、定时器模式控制寄存器TMOD89HGATEC/TM1M0GATEC/TM1M0T1T0M1,M0工作方式选择位工作方式选择位。0013位定时器位定时器/计数器(计数器(用它无益,不要记它);0116位定时器位定时器/计数器(计数器(经常用到););10可自动重装的可自动重装的8位定时器位定时器/计数器(计数器(经常用到););11T0分为分为2个个8位定时器位定时器/计数器;仅适用于计数器;仅适用于T0(几乎无用)。GATEC/TM1M0GATEC/TM1M0T1T0C/T计数器计数器/定时器选择位定时器选择位1外部事件计数器,对外部事件计数器,对T0/T1引脚输入的外部引脚输入的外部事件的负脉冲计数;事件的负脉冲计数;0片内时钟定时器。对机器周期脉冲计数定时片内时钟定时器。对机器周期脉冲计数定时GATE门控位TIMER可由软件与硬件两者控制GATE0普通用法TIMER的启/停由软件对TRX位写“1”/“0”控制GATE1门控用法TIMER的启/停由软件对TRX位写“1”/“0”和在INTX引脚上出现的信号的高/低共同控制即只有当INTX引脚为高电平且TRX置1时,相应的定时器计数器才被选通工作,这时可用于测量在INTX端出现的正脉冲的宽度。GATEC/TM1M0GATEC/TM1M0T1T0GATE位的控制逻辑图位的控制逻辑图2、定时器控制寄存器TCON88HTF1TR1TF0TR0IE1IT1IE0IT0TFXTIMER0/1计数溢出标志位。计数溢出标志位。1计数溢出计数溢出;0计数未满计数未满TFX标志位可用于申请中断或供标志位可用于申请中断或供CPU查询。查询。在进入中断服务程序后由硬件自动清零;但在在进入中断服务程序后由硬件自动清零;但在查询方式时必须软件清零。查询方式时必须软件清零。TRXTIMER0/1运行控制位。运行控制位。1启动计数;启动计数;0停止计数停止计数TF1TR1TF0TR0IE1IT1IE0IT0IE0/IE1外部中断申请标志位检测到在外部中断申请标志位检测到在INTX引脚上出现引脚上出现的外部中断信号的下降沿时的外部中断信号的下降沿时,由硬件置位由硬件置位,请求中断请求中断进入中断进入中断服务后被硬件自动清除。服务后被硬件自动清除。0没有外部中断申请;没有外部中断申请;1有外部中断申请。有外部中断申请。IT0/IT1外部中断请求的触发方式选择位外部中断请求的触发方式选择位0在在INT0/INT1端申请中断的信号低电平有效端申请中断的信号低电平有效1在在INT0/INT1端申请中断的信号负跳变有效。端申请中断的信号负跳变有效。定时器T0/T1中断申请过程定时/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数在已经开放T0/T1中断允许且已被启动的前提下;T0/T1加满溢出时TF0/TF1标志位自动置“1”;检测到TCON中TF0/TF1变“1”后,将产生指令LCALL000BH/LCALL001BH执行中断服务程序;TF0/TF1标志位会自动清“0”,以备下次中断申请。四、定时器结构与工作方式1、工作方式0(M1M000,13位定时器/计数器)振荡器12TLXTHX5位8位TFX申请中断TX端TRX位GATE位INTX端1对T1不要开中断3、串行口工作方式2、方式311位UART1811位这两种方式都是11位异步通信,操作方式完全一样,只有波特率不同,适用于多机通信。在方式2或方式3下,数据由TXD端发送,RXD端接收。收发一帧数据为11位一位起始位(低电平)、8位数据位、1位可编程的第9位(D8用于奇偶校验或地址/数据选择,发送时位TB8,接收时送入RB8)、1位停止位(高电平)。波特率(区别所在)方式2B2SMOD/64FOSC。方式3B2SMOD/32T1溢出率。奇偶校验是检验串行通信双方传输的数据正确奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,并不能保证通信数据的传输一与否的一个措施,并不能保证通信数据的传输一定正确。定正确。换言之如果换言之如果奇偶校验发生错误,表明数据传奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。于数据传输完全正确。奇校验奇校验8位有效数据连同位有效数据连同1位附加位中,位附加位中,二进制二进制“1”的个数为奇数的个数为奇数偶校验偶校验8位有效数据连同位有效数据连同1位附加位中,位附加位中,二进制二进制“1”的个数为偶数的个数为偶数约定接收采用约定接收采用奇校验奇校验若接收到的若接收到的9位数据中位数据中“1”的个数为奇数,的个数为奇数,则表明接收正确,取出则表明接收正确,取出8位有效数据即可;位有效数据即可;若接收到的若接收到的9位数据中位数据中“1”的个数为偶数,的个数为偶数,则表明接收出错应当进行出错处理。则表明接收出错应当进行出错处理。约定发送采用约定发送采用奇校验奇校验若发送的若发送的8位有效数据中位有效数据中“1”的个数为偶数,的个数为偶数,则要人为添加一个附加位则要人为添加一个附加位“1”一起发送;一起发送;若发送的若发送的8位有效数据中位有效数据中“1”的个数为奇数,的个数为奇数,则要人为添加一个附加位则要人为添加一个附加位“0”一起发送。一起发送。采用采用偶校验时,处理方法与奇校验相反偶校验时,处理方法与奇校验相反回顾程序状态字寄存器PSW中有一个奇偶状态位PCYACF0RS0OVPRS1PSW7PSW0PPSW0奇偶状态位。P1表示目前累加器中“1”的个数为奇数P0表示目前累加器中“1”的个数为偶数CPU随时监视着ACC的“1”的个数并自动反映在P工作方式2的奇偶校验用法发送过程发送前,先根据通信协议由软件设置TB8,然后执行一条将发送数据写入SBUF的指令即可启动发送过程。串行口能自动把TB8取出并装入到第9位数据位(D8)的位置,发送完一帧数据时,由硬件置位TI。接收过程当用软件使REN1时,允许接收。接收器开始采样RXD引脚上的信号,检测和接收数据的方法与方式1相似。当接收到第9位数据送入接收移位寄存器后,若同时满足以下两个条件RI0SM20或接收到的第9位数据为1(SM21)则这次接收有效,8位数据装入SBUF,第9位数据装入RB8,并由硬件置位RI。否则这次接收的数据将丢失。(3)方式2、方式39位UART一般用于多机通信。一帧信息11位。D0D1D2D3D4D5D6D7TB8停止位起始位发送发送完数据置位TI。TB8D7D6D5D4D3D2D1D0起始位停止位接收接收到有效数据完毕,置位RI的条件REN1,RI0且SM20或接收到第9位数据为1,此时,数据装载SBUF,RI置1,第9位数据(TB8)RB8。送RB84、波特率的计算方式0为固定波特率BFOSC/12方式2可选两种波特率,由PCON中的SMOD位控制B2SMODFOSC/64方式1、3为可变波特率,由定时器T1的溢出速率和SMOD值共同决定。MCS51系列单片机定时器的定时时间TC的计算公式为TC2NN12/FOSC式中,TC为定时器溢出周期;N为定时器位数;N为时间常数;FOSC为振荡频率。定时器T1的溢出速率计算公式为T1溢出速率1/TCFOSC/12(2NN)因此,方式1和方式3的波特率计算公式为B2SMODT1溢出速率/322SMODFOSC/3212(2NN)例8051单片机的时钟振荡频率为12MHZ,串行通信波特率为4800BPS,串行口工作于方式1,定时器选择工作于模式2,求时间常数并编制串行口初始化程序。解设SMOD1,则T1的时间常数为N282112106/(32124800)242982430F3H定时器T1和串行口的初始化程序如下MOVTMOD,20HMOVTH1,0F3HMOVTL1,0F3HSETBTR1MOVPCON,80HMOVSCON,40H5、多机通信(1)硬件连接单片机构成的多机系统常使串行口工作在方式2或方式3,采用总线型主从式结构(一台是主机,其余的是从机,从机要服从主机的调度、支配)。有时还要对信号进行光电隔离、电平转换等。在实际的多机应用系统中,常采用RS485串行标准总线进行数据传输。简单的硬件连接如下图所示(图中没有画出RS485接口)。(2)通信协议主机的SM2位置为0,所有从机的SM2位置为1,处于接收地址帧状态。主机发送一地址帧,其中包含8位是地址,第9位为1表示该帧为地址帧。所有从机收到地址帧后,都将接收的地址与本机的地址比较。对于地址相符的从机,使自己的SM2位置为0(以接收主机随后发来的数据帧),并把本站地址发回主机作为应答;对于地址不符的从机,仍保持SM21,对主机随后发来的数据帧不予理睬。从机发送数据结束后,要发送一帧校验和,并置第9位(TB8)为1,作为从机数据传送结束的标志。接上页主机接收数据时先判断数据接收标志(RB8),若接收帧的RB80,则存储数据到缓冲区,并准备接收下帧信息。若RB81,表示数据传送结束,并比较此帧校验和,若正确则回送正确信号00H,此信号命令该从机复位(即重新等待地址帧);若校验和出错,则发送0FFH,命令该从机重发数据。发送数据。主机收到从机应答地址后,确认地址是否相符,如果地址不符,发复位信号(数据帧中TB81);如果地址相符,则清TB8,开始发送数据。从机收到复位命令后回到监听地址状态(SM21)。否则开始接收数据和命令。返回目录110中断计算机与外界的联系是通过外部设备(也称为外设、输入/输出设备或I/O设备)与外界联系的。计算机与外设之间不是直接相连的,而是通过不同的接口电路来达到彼此间的信息传送的目的。计算机与外设之间交换信息的方式(1)无条件传送方式外设对计算机来说总是准备好的。(2)查询传送方式传送前计算机先查询外设的状态,若已经准备好就传送,否则就继续查询/等待。(3)中断传送方式外设通过申请中断的方式与计算机进行数据传送。(4)直接存储器存取方式DMA传送数据的双方直接通过总线传送数据,不经CPU中转。一、中断的基本概念1中断的定义所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。作用采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。中断与子程序的最主要区别子程序是预先安排好的,中断是随机发生的。中断涉及的几个环节中断源、中断申请、开放中断、保护现场、中断服务、恢复现场、中断返回。2中断源中断源是指引起中断的设备或事件,或发出中断请求的源头。3中断的分类中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。软件中断则是指通过相应的中断指令使CPU响应中断。4中断优先权与中断嵌套中断优先级(也称为中断优先权)给每个中断源指定中断响应的优先级别,CPU按中断源的优先级高低顺序响应各中断源发出的中断请求。中断嵌套在某一瞬间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若又有一级别高的中断源向CPU发出中断请求,且CPU的中断是开放的,CPU可以把正在执行的中断服务程序暂停下来,转而响应和处理优先权更高的中断源的中断请求,等处理完后再转回来,继续执行原来的中断服务程序,这就是中断嵌套。中断嵌套的过程和子程序嵌套过程类似,子程序的返回指令是RET,而中断服务程序的返回指令是RETI。5中断响应及处理过程保护断点寻找中断源中断处理中断返回保护断点和寻找中断源都是由硬件自动完成的,用户不用考虑。6中断系统的功能中断系统能够实现中断功能的硬件电路和软件程序。中断系统的功能能够实现中断优先权排队、中断嵌套、自动响应中断和中断返回等功能。MCS51单片机的大部分中断电路都是集成在芯片内部的,只有外部中断请求信号产生电路才分散在各中断源电路和接口电路中。二、MCS51和MCS52系列单片机的中断源MCS51子系列有5个中断源,MCS52子系列有6个中断源;可分为两个优先级,其中每个中断的优先级可编程。1、8051允许5个中断源(1)外部中断源(中断标志为IE0和IE1)INT0由P32端口线引入,低电平或下降沿引起。INT1由P33端口线引入,低电平或下降沿引起。(2)内部中断源(中断标志为TF0、TF1和TI/RI)TF0定时/计数器0中断,由T0回零溢出引起。TF1定时/计数器1中断,由T1回零溢出引起。TI/RI串行I/O中断,完成一帧字符发送/接收引起。2、CPU识别中断申请的依据CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。三、MCS51中断的控制1、5个中断源的中断请求是否会得到响应,受允许中断寄存器IE中各位的控制;2、它们的优先级分别由中断优先级寄存器IP的各位确定;3、同一优先级内的各中断源同时要求中断时,还要靠内部的查询逻辑来确定响应的次序;4、不同的中断源有不同的中断矢量。四、中断系统硬件结构注各中断允许控制位0,开关断开;1,开关接通IE0EX0TF0IE1TF1TIESET1EX1ET0外部中断请求0外部中断请求1内部定时器0内部定时器1内部串行口TRRIIE寄存器EA位IP寄存器各单路开关总开关中断源标志位查询机构高中断级中断请求低中断级中断请求中断入口中断源标志位INT0INT1中断入口中断源标志位2、中断优先级控制寄存器、中断优先级控制寄存器IP(0B8H)PSPT1PX1PT0PX0PX0/PX1INT0/1优先级控制位优先级控制位0时属低优先级;时属低优先级;1时属高优先级。时属高优先级。PT0/PT1T0/1中断优先级控制位中断优先级控制位0时属低优先级;时属低优先级;1时属高优先级。时属高优先级。PS串行口中断优先级控制位串行口中断优先级控制位0时属低优先级;时属低优先级;1时属高优先级。时属高优先级。3、定时器控制寄存器、定时器控制寄存器TCON88HTF1TF0IE1IT1IE0IT0TF0/TF1定时器溢出中断申请标志位(由硬件自动置位)。定时器溢出中断申请标志位(由硬件自动置位)。0定时器未溢出;定时器未溢出;1定时器溢出时由硬件自动置位,申请中断定时器溢出时由硬件自动置位,申请中断,中断被中断被CPU响应后由硬件自动清零。响应后由硬件自动清零。IE0/IE1外部中断申请标志位(由硬件自动置位外部中断申请标志位(由硬件自动置位,中断响应,中断响应后转向中断服务程序时,由硬件自动清后转向中断服务程序时,由硬件自动清0)。)。0没有外部中断申请;没有外部中断申请;1有外部中断申请。有外部中断申请。IT0/IT1外部中断请求的触发方式控制位(可由用户通过软外部中断请求的触发方式控制位(可由用户通过软件设置件设置)。)。0在在INT0/INT1端申请中断的信号低电平有效;端申请中断的信号低电平有效;1在在INT0/INT1端申请中断的信号负跳变有效。端申请中断的信号负跳变有效。4、串行口控制寄存器、串行口控制寄存器(98H)TIRITI/RI串行口发送串行口发送/接收中断申请标志位(由硬件接收中断申请标志位(由硬件自动置位,必须由用户在中断服务程序中用软件清自动置位,必须由用户在中断服务程序中用软件清0)。)。0没有串行口发送没有串行口发送/接收中断申请;接收中断申请;1有串行口发送有串行口发送/接收中断申请。接收中断申请。SCON的高的高6位用于串行口工作方式设置和串行位用于串行口工作方式设置和串行口发送口发送/接收控制。接收控制。六、中断优先级一、高低优先级的中断响应所遵循的2条基本规则1低优先级中断可被高优先级中断所中断,反之不能;2一种中断不管是什么优先级一旦得到响应,与它同级的中断不能再中断它。二、同级中断响应遵循的规则二、同级中断响应遵循的规则辅助优先结构辅助优先结构8051单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略,中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理。8051有两个中断优先级,即高优先级和低优先级,每个中断源都可设置为高或低中断优先级,以便CPU对所有的中断实现两级中断嵌套。8051内部中断系统对各中断源的中断优先级有一个统一的规定,称为自然优先级(也称为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水龙头漏水修理课件
- 建筑工程项目临时设施建设方案
- 小升初语文-文言文专项复习训练一(含答案)
- 消防应急疏散通道设计方案
- 泡菜工厂废气排放控制与治理方案
- 水稻直播机械化培训课件
- 热力管网检测与修复方案
- 水痘患者护理
- 医用化学溶液组成标度95课件
- 作业5音响扩音器案例03课件
- 2025年放射工作人员辐射安全与防护考核试题(附答案)
- 2025年职测e类试题及答案
- 消防车辆安全行驶课件
- 偏瘫患者穿衣健康宣教
- 酒店预算培训课件
- 2025-2030中国汽车工程服务外包(ESO)行业现状调查与前景趋势研究报告
- 儿科血小板减少的护理查房
- 林下生态养鸡技术课件
- 高中语文课程标准测试题答案
- 孕期健康方式课件
- 膏药生产现场管理制度
评论
0/150
提交评论