单片机的功能部件.doc
《单片机的功能部件.doc》由会员分享,可在线阅读,更多相关《单片机的功能部件.doc(34页珍藏版)》请在沃文网上搜索。
1、第六章单片机的功能部件教学内容:1、定时计数器 2、单片机中断系统 3、单片机串行通信本章重点:1、单片机定时/计数器、中断系统、串行通信的结构与工作原理 2、单片机定时/计数器、中断、串行通信初始化设置教学要求:1、要求掌握单片机定时/计数器、中断、串行通信的结构与工作原理 2、能熟练进行单片机定时/计数器、中断、串行通信初始化设置 3、能应用单片机定时/计数器、中断、串行通信解决实际问题教 案:第一节 定时计数器1、 结构80C51单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图1所示: 图180C51单片机内部定时计数器的结构TMOD
2、-方式控制寄存器,用于设定定时计数器的工作方式TCON-定时器控制寄存器,用于启动定时计数器IE-中断允许控制寄存器:定时计数器是微机的中断源2、工作原理80C51系列单片机内部定时计数器的工作原理可用图2来说明。定时/计数功能选择:当CT0时,为定时器功能,此时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P3.4 或P3.5口输入)。定时/计数器设置:定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(IE)共同完成。3、控制寄存器1)、方式控制寄存器TMOD方式控制寄存器(TMOD)是一个SFR寄存器,字
3、节地址为89H,CPU可以通过字节传送指令来设定TMOD中各位的状态,但不能位寻址。GATE-门控制位当GATE=0时,定时计数器由定时控制寄存器中的TR0(或TR1)启动。当GATE=1时,定时计数器由外部中断请求信号INT0(或INT1)与TRX共同启动。C/T-定时、计数功能选择位当C/T=0时,定时计数器工作在定时工作方式当C/T= 1时,定时计数器工作在计数方式M1M2-方式控制位,如图3所示。图3 方式控制寄存器当M1M000时,定时计数器工作在方式0当M1M001时,定时计数器工作在方式1当M1M010时,定时计数器工作在方式2当M1M011时,定时计数器工作在方式3例:设定时计
4、数器T0用作定时器使用,且工作在方式3,与外部INT0无关,定时计数器T1用作计数器且工作在方式2,与外部INT1有关,试写出控制寄存器TMOD的值。解:依题意知,TMOD11100011B=E3H MOVTMOD,0E3H -2)、定时器控制寄存器TCON定时器控制寄存器TCON的格式如图4所示,定时控制寄存器TCON也是SFR,字节地址为88H,可位寻址,位地址为88H8FH,用于控制定时器的操作与中断。TR0TR1用于启停定时计数器:当TRX1时,启动定时计数器,用SETBTRX实现;当TRX0时,停止定时计数器,用CLRTRX实现;TF0TF1为定时计数器中断标志:当TFX1,表示定时
5、计数有溢出,可用查询或中断来处理;当TFX0,表示定时计数无溢出,可用查询或中断来处理;IE0IE1为外中断标志:图4定时器控制寄存器TCON 当IEX1,表示外部有中断发生(与ITX配合使用);当IEX0,表示外部无中断发生(与ITX配合使用);IT0IT1为外中断触发方式选择位:置ITX1,则外中断在脉冲下降沿触发,置1T1=0,则外中断在低电平触发方式,例:定时器计数器T0作定时器使用,工作在方式1,T1作计数器使用,工作在方式2,当T0定时到,先关闭定时,后开启计数器T1,计数到,先关闭计数,后开启定时器T0,如些往复,试编写实现上述过程的程序。分析:先确定方式寄存器的值:由题意知:T
6、MOD01100001BA1H判别定时计数溢出:用LP:JNBTFX,LP语句;采用查询方式程序设计: ORG1000HSTART:MOVTMOD,0A1H;设置TMOD工作方式 SETBTR0 ;开启定时器T0 LP:JNBTF0,LP;定时器无溢出等待 CLRTR0;定时溢出关定时器T0 SETBTR1 ;开计数器T1 LJ:JNBTF1,LJ ;计数器无溢出等待 CLRTR1 LJMPSTART END3)、中断允许寄存器IE中断允许寄存器也是一个SFR,地址为A8H,可以位寻址,如图5所示:图5中断允许控制寄存器IE通过向IE写入中断控制字,实现CPU对中断的开放和屏蔽。4、工作方式8
7、0C51单片机共有四种工作方式,定时器计数器的功能与其工作方式有关:1)、方式0工作在方式0时,内部定时/计数器控制逻辑图如图6所示,计数值由THX(8位)和TLX(低5位)组成13位计数器。定时计数值的确定:最大定时计数值最大定时计数值213*机器周期; 此时,TH00HTL00H定时计数值的确定定时值计数值(213-X)*机器周期;式中X为THTL的设置值注意:在实际运算过程中,由于TL的高3位未用,一般应填写O,因此对实际的计算结果要进行调整。如:实际计算定时值X1111100000110B,调整后X1111100000000110B图6内部定时计数器控制逻辑例:选择T1工作在方式0用于
8、定时,晶振fosc6MHZ,要求在P1.1输出1ms方波。分析:由题意得定时器T1的定时时间为:1ms2500us机器同期:T=12fosc1261062 us设定时器的初始值为X,则:(213X)2500 X7942D1111100000110B1F06H考虑到TL的高三位未用,用0或1来补上,则调整后的X值为:X=1111100000000110BF806H结果:TH1F8H;TL106H程序设计: ORG2000HSTART:MOVTMOD,00HMOVTL1,06H MOVTH1,0F8H SETBTR1LP1:JBCTF1,LP2AJMPLP1LP2:MOVTL1,06H MOVTH
9、1,0F8H CPLP1.1 AJMP LP1 END2)、方式1方式1在结构与操作上几乎与方式0相同,不同点有二:一是工作方式设置,二是方式1是一个由高THX(8位)和低TLX(8位)共同组成的16位定时计数器。定时计数值(216X)机器周期3)、方式2方式2是能重置初值的8位定时器计数器,其结构如图7所示:图7 定时计数器工作在方式2的结构THX中放复置值,TLX放定时计数值,通常将两者取同样大的数值用定时器T1作计数器,工作在方式2,要求每计满100次,将P1.0端取反,试编制应用程序。分析:外部计数脉冲从P3.5输入,每跳变一次计数器加1程序采用查询方式确定工作方式值:TMOD=60H
10、确定计数器初值:X=28-100=156D=9CH TH1=9CH;TL1=9CH程序设计: ORG 1000H START:MOV TMOD, #60H MOV TH1,#9CH MOV TL1,#9CH SETB TR1 DEL:JBC TF1, REP AJMP DEL REP:CPL P1.0 AJMP DEL END4)、方式3方式3只适用于定时器T0。定时器在方式3下被拆成两个独立的8位计数器TL0和TH0,如图8所示。TL0占居了T0口的所有资源,TH0只能作简单的内部定时器使用,它占用T1口的TR1和TF1。图8 T0方式3结构在定时器T0用做方式3时,T1仍可设置为方式02,
11、如图9所示:(1)T0口在方式3下的控制TL0的控制开启停止:TR0溢出:TF0TH0的控制开启停止:TR1溢出:TF1图9 TO在方式3下T1口结构(2)T0在方式3下的T1口控制T1工作在方式0或方式1下:启动:只要设置好工作方式,T1自动启动停止:送入一个设置定时器T1为方式3的方式字输出:定时计数器输出送串行口T1工作在方式2下:启动停止方法与T1工作在方式0或方式1下相同。它的输出也直接送串行口,通常把定时器T1设置为方式2作波特率发生器。5、初始化由于定时器计数器的功能是由软件编程确定的,因此在使用定时计数器前要对其进行初始化,使其按设定的功能工作。1)、定时器计数器初始化内容定时
12、计数器的工作方式:依据要求定出TMOD的值预置定时计数器初值:给TH1TL1或TH0TL0赋值根据要求开放定时计数器的中断:对IE赋值启动定时计数器2)、实战训练例:晶振频率为6MHZ,使用T0作定时器,试编写在P1.3口输出秒脉冲方波程序。分析: A、确定TMOD的值:TMOD=01HB求TH0和TL0的值:取定时时间为125000S,则8个定时时间等于1秒,计算定时器初值:机器周期T=121/610-6=2S( 216-X)T=25000 X=6070=17B6HTH017HTLB6HC确定IE的值:由题意知IE00HD启动定时计数器:用SETBTR0来启动定时器。E程序设计:程序流程图如
13、右所示,程序如下: ORG 4100HSTART:MOV TMOD,#01H MOV TH0,#17H MOV TL0,#0B6H SETB TR0 MOV R0,#08H LOOP1:JNB TF0,LOOP1 MOV TH0,#17H MOV TL0,#0B6H DJNZ R0, LOOP1 CPL P1.3 LJMP LOOP0 END6、应用定时器是单片机应用系统中的重要部件,是实时控制系统中不可缺少的部分,灵活应用其不同的工作方式可提高编程技巧,减轻CPU负担,简化外围电路,下面介绍定时/计数器的应用:1)、在多任务应用系统中用来定时计数单片机定时计数器常用来作定时器或计数器使用,对
14、于一个采用单片机作为控制核心的系统来说,采用定时器来定时计数,既不要增加硬件投入,又具有定时准确等特点,同时不占用CPU资源。2)、用来测量脉冲宽度利用方式控制寄存器TMOD门控位GATE1时,允许外部输入电平控制启停定时器这个特性,用定时器来测量外部输入脉冲的宽度。实战训练:分析如何测量图10所示的方波频率。分析:A外部方波从单片机P3.2脚输入B单片机复位时,P3.21,当检 图10外部脉冲测到P3.20时,开启TR0,等一个P3.21到来时开启定时器T0,P3.20时关闭定时器T0。C根据定时器的定时值,计算方波的频率。3)、在串行通信中作波特率发生器当T0工作在方式3时,T1口工作在方
15、式012下,T1定时计数溢出直接送串行口的特点,定时器T1可以用来作串行通信的波特率发生器。第二节 单片机中断系统1、中断1)、与中断相关的几个概念中断程序在运行过程中,由于外界的原因,CPU暂停当前的处理转去执行紧急事件,待紧急事件执行完毕后再转回执行原程序。中断源引起中断的原因或触发中断请求的来源。中断服务中断之后执行的处理叫中断服务,对应的处理程序叫中断服务程序,原程序叫主程序。中断系统实现中断功能而设置的各种硬件和软件。注意:正确区分中断服务和调用子程序。2)、引进中断技术的优点、分时操作有了中断功能就能解决快速CPU与慢速外设之间的矛盾,可以使CPU和外设同时工作。、实时处理在实时控
16、制中,现场的各个参数信息是随时间和现场情况不断变化的。有了中断功能,外界的这些变化量可根据要求随时向CPU发出中断请求,要求CPU及时处理,CPU可以马上响应加以处理。、故障处理计算机在运行过程中,出现一些事先无法预料的故障是难免的,例如电源突变存储出错运算溢出等,有了中断功能,计算机就能自行处理,而不必停机处理。3)、中断源、外部中断:INT0、INT1单片机外部中断源有INT0、 INT1,每个中断源有两种触发方式,一种是电平触发,另一种是脉冲触发方式。具体的触发过程如下:电平方式:当INT0、INT1对应管脚出现低电平时有效。脉冲方式:在两个相邻机器周期中,检测到引脚由高电平到低电平时,
17、表示有中断发生。特别注意:电平方式与脉冲方式的区别:在电平触发方式,单片机在每个机器周期都将INT0(或INT1)的信号读入IE0(或IE1)中,如果送入8051的中断信号,未能及时检测到,就会漏掉中断要求。脉冲方式不存在这个问题,但脉冲方式必须采用软件清除IE0(或IE1)。、定时计数器中断:T1,T2单片机内部有两个定时计数器,当启用中断时,如果计数器有溢出,溢出信号去置位TF0(或TF1)标志位,作为单片机接受中断请求的标志。、串行中断: 当串行口发送和接收一组串行数据时,就产生一个中断请求。、中断优先权:按中断的级别将中断分成不同的等级,并按优先权原则执行中断处理,CPU响应中断的顺序
18、:a、不同级别的中断源同时申请时按中断优先权执行;b、同级别的中断源同时申请时按事先安排的程序执行;c、在处理中断过程中,又有中断申请时,视其级别的高低,如果申请的级别高程序转向申请的中断,如果申请的级别低程序继续执行,直到结束再转向中断。对80C51单片机来说,同一级别的中断按下顺序执行:外部中断0 定时/计数器T0 T1外部中断1 定时/计数器 串行口2、单片机中断系统1)、单片机中断系统单片机中断系统如图11所示:图11 80C51单片机中断系统2)、单片机中断入口地址当有中断发生并且系统开放中断时,单片机将自动转入固定的入口地址,单片机的中断入口地址如表1所示:表1 80C51单片机中
19、断入口地址中断源入口地址中断源入口地址外部中断00003HT1溢出001BHT0溢出中断000BH串行口接收0023H外部中断10013H串行口发送0023H3)、单片机中断控制单片机的中断设置由下面的四个控制寄存器确定。中断充许寄存器IE中断允许寄存器是一个SFR,地址为A8H,可以位寻址。通过向IE写入中断控制字,实现CPU对中断的开放和屏蔽。如图12所示:EA:中断允话控制位;ES:串行口中断;ET1:定时计数器T1;EX1:外部中断1ET0:定时计数器0;图12 中断允许数寄存器EX0:外部中断0;定时控制寄存器TCON定时控制寄存器TCON也是SFR,字节地址为88H,可位寻址,位地
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 功能 部件
