欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机的功能部件.docx

    • 资源ID:11164648       资源大小:540.41KB        全文页数:41页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机的功能部件.docx

    1、单片机的功能部件第六章单片机的功能部件教学内容:1、定时计数器 2、单片机中断系统 3、单片机串行通信本章重点:1、单片机定时/计数器、中断系统、串行通信的结构与工作原理 2、单片机定时/计数器、中断、串行通信初始化设置教学要求:1、要求掌握单片机定时/计数器、中断、串行通信的结构与工作原理 2、能熟练进行单片机定时/计数器、中断、串行通信初始化设置 3、能应用单片机定时/计数器、中断、串行通信解决实际问题教 案:第一节 定时计数器1、 结构80C51单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图1所示: 图180C51单片机内部定时计数

    2、器的结构TMOD-方式控制寄存器,用于设定定时计数器的工作方式TCON-定时器控制寄存器,用于启动定时计数器IE-中断允许控制寄存器:定时计数器是微机的中断源2、工作原理80C51系列单片机内部定时计数器的工作原理可用图2来说明。定时/计数功能选择:当CT0时,为定时器功能,此时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P3.4 或P3.5口输入)。定时/计数器设置:定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(IE)共同完成。3、控制寄存器1)、方式控制寄存器TMOD方式控制寄存器(TMOD)是一个

    3、SFR寄存器,字节地址为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时,定时计数器工作在方

    4、式3例:设定时计数器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为定时计数器中断标志:当T

    5、FX1,表示定时计数有溢出,可用查询或中断来处理;当TFX0,表示定时计数无溢出,可用查询或中断来处理;IE0IE1为外中断标志:图4定时器控制寄存器TCON 当IEX1,表示外部有中断发生(与ITX配合使用);当IEX0,表示外部无中断发生(与ITX配合使用);IT0IT1为外中断触发方式选择位:置ITX1,则外中断在脉冲下降沿触发,置1T1=0,则外中断在低电平触发方式,例:定时器计数器T0作定时器使用,工作在方式1,T1作计数器使用,工作在方式2,当T0定时到,先关闭定时,后开启计数器T1,计数到,先关闭计数,后开启定时器T0,如些往复,试编写实现上述过程的程序。分析:先确定方式寄存器的

    6、值:由题意知:TMOD01100001BA1H判别定时计数溢出:用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对中断的开放和屏蔽

    7、。4、工作方式80C51单片机共有四种工作方式,定时器计数器的功能与其工作方式有关:1)、方式0工作在方式0时,内部定时/计数器控制逻辑图如图6所示,计数值由THX(8位)和TLX(低5位)组成13位计数器。定时计数值的确定:最大定时计数值最大定时计数值213*机器周期; 此时,TH00HTL00H定时计数值的确定定时值计数值(213-X)*机器周期;式中X为THTL的设置值注意:在实际运算过程中,由于TL的高3位未用,一般应填写O,因此对实际的计算结果要进行调整。如:实际计算定时值X1111100000110B,调整后X1111100000000110B图6内部定时计数器控制逻辑例:选择T1

    8、工作在方式0用于定时,晶振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,0

    9、6H MOVTH1,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程序采用查询方式确定工作方式值:

    10、TMOD=60H确定计数器初值: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仍可

    11、设置为方式02,如图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时

    15、,T1口工作在方式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)标志位,作为单片机接受中断请求的标志。、串行中断: 当串行口发送和接收一组串行数据时,就产生一个中断请求。、中断优先权:按中断的级别将中断分成不同的等级,并按优先权原则执行中断处理,CP

    18、U响应中断的顺序:a、不同级别的中断源同时申请时按中断优先权执行;b、同级别的中断源同时申请时按事先安排的程序执行;c、在处理中断过程中,又有中断申请时,视其级别的高低,如果申请的级别高程序转向申请的中断,如果申请的级别低程序继续执行,直到结束再转向中断。对80C51单片机来说,同一级别的中断按下顺序执行:外部中断0 定时/计数器T0 T1外部中断1 定时/计数器 串行口2、单片机中断系统1)、单片机中断系统单片机中断系统如图11所示:图11 80C51单片机中断系统2)、单片机中断入口地址当有中断发生并且系统开放中断时,单片机将自动转入固定的入口地址,单片机的中断入口地址如表1所示:表1 8

    19、0C51单片机中断入口地址中断源入口地址中断源入口地址外部中断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

    20、,可位寻址,位地址为88H8FH,用于控制定时器的操作与中断。如图13所示:图13 定时控制寄存器注意:IT11T0:是专门用来设置外部中断1和0的触发方式的,对于外部中断INT1INT0来说,用不同的触发方式,中断过程是不一样的:1T10:为低电平触发方式。处于这种触发方式时,CPU响应中断后不能自动清除IE1标志,也不能由软件清除,因此在中断返回前发须撤消INT1引脚上的低电平,否则将再次响应中断。IT01:为脉冲触发方式。处于这种触发方式时,CPU响应中断后自动清除IE1。对于IE0来说触发方式与IE1的触发方式一样。串行控制寄存器SCONSCON是一个可位寻址的专用寄存器,用于串行数据

    21、通信的控制,单元地址为:98H,位地址与位功能如表2所示:表2 位地址与位功能表位地址 9F 9E 9D 9C 9B 9A 99 98位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI中断优级控制寄存器IP* * * PS PT1 PX1 PT0 PX0IP:PX0-外部中断0中断优先级控制位PT0-定时/计数器T0中断优先级控制位PX1-外部中断1中断优先级控制位PT1-定时/计数器T1中断优先级控制位PS-串行口中断优先级控制位3、中断处理过程单片机在每一指令的S5P2期间,CPU采样各中断源,并设置相应的中断标志位。CPU在下一个周期S6期间按优先级顺序查询各中断标志,如

    22、查询到某个中断标志为1,将在下一个机器周期S1期间按优先级进行中断处理。中断处理过程分成三个阶段,即中断响应中断处理和中断返回,如图14所示:1)、中断响应(1)、中断请求标志IE0(外部中断0)中断处理时,由硬件复位。中断返回 TF0(T0)中断处理时,由硬件复位 IE1(外部中断0)中断处理时,由硬件复位 TF1(T1)中断处理时,由硬件复位 T1(发送标志)中断处理时,由软件复位R1(接收标志)中断处理时,由软件复位(2)、中断响应 CPU响应中断的条件有中断源发出中断申请对应的中断开放 图14 中断处理CPU不是运行在中断服务程序;也不是处于执行RET1或者读写IE或IP指令期间,正在

    23、执行的指令要执行完成。(3)、中断响应过程CPU响应中断请求后,自动将当前的PC值压入椎栈然后程序转入约定的入口地址,开始执行中断服务程序。2)、中断处理中断处理又叫中断服务,程序从入口地址开始执行,直到返回指令RETI为止,这个过程称之为中断处理。中断服务过程包含两部分内容:一是保护现场,二是处理中断源的请求。中断处理过程如图15所示:保护现场 将中断处理程序所用到的如累加器、通用寄存器等参数;入栈保护。注意在入栈时应关中断,入栈完成后再开中断。图15 中断处理中断服务 处理中断事件,它是事先按中断要求编制的服务程序。恢复现场;中断服务结束后,应立即关中断,恢复现场;恢复现场结束后应立即开中

    24、断。注意:中断请求的撤除:CPU响应中断请求后,在中断返回前,应撤消中断请求,否则会引起另一次中断对于定时器T0T1以及外部中断0或1工作在脉冲触发方式时,CPU响应中断后,会自动清除中断标志位;对于串行通信中断请求只能用软件清除;外部中断0或外部中断1工作在低电平触发方式时,只有改变触发电平,再配以软件才能清除中断请求。中断响应的时间:CPU不是在任何时候都能响应中断的,因此CPU响应中断的时间也不一样。3)、中断返回在中断处理完成后用RETI返回主程序指令。4、中断系统扩展1)、利用定时器扩展外部中断让定时计数器作计数器用,工作在方式2,定时器的定时值为0FFH当外部来一个脉冲,定时计数器

    25、产生溢出,用定时计数器的溢出作为中断请求标志,这样就可以增加两个外部中断源。例如:将定时器T0作为外部中断源的程序如下:MOVTMOD,06HMOVTL0,0FFHMOVTH0,0FFHSETBTR0SETBEASETBET02)、利用中断和查询结合法扩展外部中断如图16所示,有多个外部中断,只用一个外部中断源,采用中断和查询相结合的方法解决外部多中断请求的问题:解决问题的思路:将外部信号通过非门后接在一起,作为外部中断信号,当CPU响应外部中断后,查询外部中断信号,根据外部中断信号转到相应服务程序,这样就实现了用一个外部中断源解决多个外部中断的问题。中断服务程序设计:中断服务程序:CLREA

    26、JBP1.0, X10JB P1.1, X11JB P1.2, X12JB P1.3, X13ZDFH:RETI图16 中断扩展 X10:AJMPZDFHX11:AJMPZDFHX12:AJMPZDFHX13:AJMPZDFH5、中断系统应用实例例1:利用定时器T0定时,在P1.0端输出一方波,方波周期为20ms。已知晶振频率为12MHZ。解:定时器T0工作在方式1,经计算定时器的初值为:D8F0H程序设计:ORG0000HLJMP 1000HORG 000BHLJMP 2000HORG 1000H1000H:MOVTMOD,01H MOVTL0,0F0H MOVTH0,0D8H MOVIE,

    27、82H SETBTR0LOOP:SJMPLOOP-ORG2000HMOVTL0,0F0HMOVTH0,0D8HCPLP1.0RETIEND例2:单片机P1口的输出通过与非门接发光二极管,正常情况发光二极管从左到右点亮,现系统开发中断INT0,当有中断发生时,灯间隙闪烁16次。试编制相关程序。解:系统采用软件定时,定时时间为1S,开发外部中断INT0。程序设计:主程序:ORG0000HLJMP1000HORG 0003HLJMP2000HORG1000H1000H:SETBEA SETBEX0 SETBIT0 MOVA,80HLOOP:MOVP1,A LCALL1SMIN RLA LJMPLOOP子程序:1SMIN:MOVR0,0FALOOP1:MOVR1,88HLOOP2:DJNZR1,LOOP2DJNZR0,LOOP1RET中断服务程序:ORG2000HMOVR2,10HLOOP3:MOVP1,55HLCALL1SMINMOVP1


    注意事项

    本文(单片机的功能部件.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开