欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机课件 (6).ppt

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

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

    单片机课件 (6).ppt

    单片机原理及应用主讲教师:胡晓娟中国矿业大学理学院 物理系2 5.3 MCS-51单片机的定时器单片机的定时器/计数器计数器在单片机中的控制应用中,可供选择的定时方法有:在单片机中的控制应用中,可供选择的定时方法有:l l软软软软件件件件定定定定时时时时:通通过过执执行行循循环环程程序序进进行行时时间间延延迟迟,定定时时时时间间精精确确且且不不需需要要外外加加硬硬件件电电路路。但但要要占占用用CPU,增增加加CPU开开销销,定定时时间不宜过长。时时间不宜过长。l l硬硬硬硬件件件件定定定定时时时时:定定时时功功能能全全部部由由硬硬件件电电路路完完成成,不不占占CPU时时间间,但但需需通通过过改改变变电电路路中中的的元元件件参参数数来来调调节节定定时时时时间间,使使用用上上不不够灵活方便。够灵活方便。l l可可可可编编编编程程程程定定定定时时时时器器器器定定定定时时时时:通通过过对对系系统统时时钟钟脉脉冲冲的的计计数数来来实实现现。计计数数值值通通过过程程序序设设定定,改改变变计计数数值值即即可可改改变变定定时时时时间间,使使用用灵灵活方便。活方便。35.3.1 5.3.1 定时器定时器定时器定时器/计数器的计数和定时功能计数器的计数和定时功能计数器的计数和定时功能计数器的计数和定时功能MCS-51单单片片机机有有2个个16位位的的可可编编程程定定时时器器/计计数数器器,称称为为定定时时器器/计计数数器器0和和定定时时器器/计计数数器器1,分分别别由由两两个个8位位的的计计数数器器TH0、TL0和和TH1、TL1组成,这组成,这4个计数器都是特殊功能寄存器。个计数器都是特殊功能寄存器。l l计数功能计数功能计数功能计数功能所所谓谓计计数数是是指指对对外外部部事事件件进进行行计计数数。外外部部事事件件的的发发生生以以输输入入脉冲表示,因此计数功能的实质就是对外来脉冲的计数。脉冲表示,因此计数功能的实质就是对外来脉冲的计数。MCS-51芯芯片片的的信信号号引引脚脚T0(P3.4)和和T1(P3.5)分分别别是是两两个个计计数数器器的的计计数数输输入入端端。外外部部输输入入的的脉脉冲冲在在负负跳跳变变时时有有效效,供供计数器进行加计数器进行加 1 计数。计数。4计计数数方方式式下下,单单片片机机在在每每个个机机器器周周期期的的S5P2对对计计数数脉脉冲冲输输入入引引脚脚进进行行采采样样。如如果果前前一一个个机机器器周周期期为为高高电电平平,后后一一个个机机器器周周期期为为低低电电平平,即即为为一一个个有有效效的的计计数数脉脉冲冲,在在下下一一个个机机器器周周期期的的S3P1进进行行计计数数。由由于于采采样样计计数数脉脉冲冲是是在在2个个机机器器周周期期完完成的,所以成的,所以计数脉冲的周期不能小于计数脉冲的周期不能小于2个机器周期个机器周期。l l 定时功能定时功能定时功能定时功能定定时时功功能能是是通通过过对对单单片片机机内内部部脉脉冲冲进进行行计计数数来来实实现现的的。即即每每个机器周期产生个机器周期产生1个计数脉冲,使计数器加个计数脉冲,使计数器加 1。在在使使用用定定时时器器时时,既既可可以以根根据据计计数数值值计计算算定定时时时时间间,也也可可以以根据定时时间的要求计算出计数器的预置值。根据定时时间的要求计算出计数器的预置值。l l计数功能计数功能计数功能计数功能5加法计数器加法计数器加法计数器加法计数器 l加加法法计计数数器器是是计计满满溢溢出出时时才才申申请请中中断断,所所以以在在给给计计数数器器赋赋初初值值时时,不不能能直直接接输输入入所所需需的的计计数数值值,而而应应输输入入的的是计数器计数的最大值与这一计数值的差值。是计数器计数的最大值与这一计数值的差值。l设设最最大大值值为为M,计计数数值值为为N,初初值值为为X,则则X的的计计算算方方法为法为:计数状态:计数状态:计数状态:计数状态:X=M X=MN N 定时状态:定时状态:定时状态:定时状态:X=M X=M(定时时间(定时时间(定时时间(定时时间 机器周期)机器周期)机器周期)机器周期)65.3.2 5.3.2 与定时器与定时器与定时器与定时器/计数器有关的控制寄存器计数器有关的控制寄存器计数器有关的控制寄存器计数器有关的控制寄存器位地址位地址8FH8EH8DH8CH8BH8AH89H88H位符号位符号TF1TR1TF0TR0IE1IT1IE0IT0 定时器定时器/计数器控制寄存器:计数器控制寄存器:TCON字节地址:字节地址:88H 位地址:位地址:88H 8FH (可位寻址)(可位寻址)l功能:功能:用于保存外部中断请求以及定时器的计数溢出。用于保存外部中断请求以及定时器的计数溢出。lTCON既既有有定定时时器器/计计数数器器的的控控制制功功能能,又又有有中中断断控控制制功功能能,其中与定时有关的控制位共其中与定时有关的控制位共4位:位:TF1、TR1、TF0、TR0。7lTF0和和TF1:计数溢出标志位:计数溢出标志位当计数器产生计数溢出时,相应的溢出标志位由当计数器产生计数溢出时,相应的溢出标志位由硬件置硬件置“1”。计数溢出标志位的使用有两种情况:计数溢出标志位的使用有两种情况:使使用用中中断断方方式式时时,作作中中断断请请求求标标志志位位来来使使用用,在在转转向向中中断断服服务程序时由硬件自动清务程序时由硬件自动清“0”。使使用用查查询询方方式式时时,作作查查询询状状态态位位来来使使用用,查查询询有有效效后后应应以以软软件方法及时将该位清件方法及时将该位清“0”lTR0和和TR1:运行控制位(软件置:运行控制位(软件置1或清或清0)TR0(TR1)=0 停止定时器停止定时器/计数器工作计数器工作TR0(TR1)=1 启动定时器启动定时器/计数器工作计数器工作位地址位地址8FH8EH8DH8CH8BH8AH89H88H位符号位符号TF1TR1TF0TR0IE1IT1IE0IT08 定时器方式选择寄存器:定时器方式选择寄存器:TMOD字节地址:字节地址:89H (不可位寻址)(不可位寻址)位位 序序D7D6D5D4D3D2D1D0位符号位符号GATEC/TM1M0GATEC/TM1M0定时器定时器/计数器计数器 1定时器定时器/计数器计数器 0l功功能能:用用于于设设定定定定时时器器/计计数数器器的的工工作作方方式式(只只能能用用字字节节传送指令设置其内容)传送指令设置其内容)lTMOD的的低低半半字字节节对对应应定定时时器器/计计数数器器 0,高高半半字字节节对对应应定时器定时器/计数器计数器 1,前后半字节的位格式完全对应。,前后半字节的位格式完全对应。9lC/T:定时方式或计数方式选择位:定时方式或计数方式选择位C/T =0 定时工作方式定时工作方式 C/T=1 计数工作方式计数工作方式lGATE:门控位门控位GATE=0以运行控制位(以运行控制位(TR0或或TR1)启动定时器)启动定时器 GATE=1以外部中断请求信号(以外部中断请求信号(INT0 或或INT1)启动定时器)启动定时器M1 M0 工作方式工作方式说说 明明0 0013 位定时器位定时器/计数器(计数器(TH的的 8 位和位和TL的低的低 5 位)位)0 1116 位定时器位定时器/计数器计数器 1 02自动重新装入初值的自动重新装入初值的 8 位定时器位定时器/计数器计数器1 13 T0 分成两个独立的分成两个独立的 8 位计数器,位计数器,T1 停止工作停止工作 lM1和和M0:工作方式选择位:工作方式选择位10 中断允许控制寄存器:中断允许控制寄存器:IE字节地址:字节地址:0A8H 位地址:位地址:0A8H 0AFH其中与定时器其中与定时器/计数器有关的控制位共计数器有关的控制位共3位:位:lEA:中断允许总控制位:中断允许总控制位lET0和和ET1:定时器:定时器/计数器中断允许控制位计数器中断允许控制位ET0(ET1)=0禁止定时器禁止定时器/计数器中断计数器中断ET0(ET1)=1允许定时器允许定时器/计数器中断计数器中断位地址位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符号位符号EAESET1EX1ET0EX0115.3.3 5.3.3 定时器工作方式定时器工作方式定时器工作方式定时器工作方式 0 01.1.电路逻辑结构电路逻辑结构电路逻辑结构电路逻辑结构l定定时时器器工工作作方方式式0是是13位位计计数数结结构构,计计数数器器由由TH的的全全部部8位位和和TL低低5位构成,位构成,TL的高的高3位不用。位不用。12对工作方式对工作方式对工作方式对工作方式 0 0 的说的说的说的说 明:明:明:明:l当当TL0的的低低5位位计计数数溢溢出出时时,向向TH0进进位位,而而全全部部13位位计计数数溢溢出时,向计数溢出标志位出时,向计数溢出标志位TF0TF0进位。进位。l当当C/T=0时时,多多路路开开关关接接通通振振荡荡脉脉冲冲的的12分分频频信信号号(机机器器周周期脉冲)作为计数信号,此时期脉冲)作为计数信号,此时T0为作为为作为定时器定时器定时器定时器;l当当C/T=1时时,多多路路开开关关接接通通计计数数引引脚脚T0,计计数数脉脉冲冲为为P3.4引引脚脚上上的的外外部部输输入入脉脉冲冲,当当计计数数脉脉冲冲发发生生负负跳跳变变时时,计计数数器器加加1,此时,此时T0为作为为作为计数器计数器计数器计数器。lGATE=0时,由时,由TR0的状态控制计数脉冲的接通与断开。的状态控制计数脉冲的接通与断开。lGATE=1且且TR0=1时时,计计数数脉脉冲冲的的接接通通与与断断开开由由外外引引脚脚INT0控制。控制。132.2.启停控制启停控制启停控制启停控制l定定时时器器/计计数数器器的的启启停停控控制制有有两两种种方方法法:纯纯软软件件方方法法和和软软、硬硬件相结合的方法。件相结合的方法。(由门控位由门控位GATE的状态进行选择的状态进行选择)l当当GATE0时时,为为纯纯软软件件启启停停控控制制。这这时时TR0的的状状态态控控制制计计数数脉脉冲冲的的通通断断,而而TR0位位的的状状态态又又是是通通过过指指令令设设置置的的,所所以以称称为为软软件件方方式式。当当把把TR0设设置置为为1,控控制制开开关关接接通通,计计数数器器开开始始计计数数,即即定定时时器器/计计数数器器工工作作;当当把把TR0清清0时时,开开关关断断开开,计数器停止计数。计数器停止计数。l当当GATE1时时,为为软软、硬硬件件相相结结合合的的启启停停控控制制方方式式。这这时时计计数数脉脉冲冲的的接接通通与与断断开开决决定定于于TR0和和INT0的的“与与”关关系系,而而INT0是是引引脚脚P3.2引引入入的的控控制制信信号号。由由于于P3.2引引脚脚信信号号可可控控制制计计数数器器的的启启停停,所所以以可可利利用用80C51的的定定时时器器/计计数数器器进进行行外外部部脉冲信号宽度的测量。脉冲信号宽度的测量。143.3.定时和计数范围定时和计数范围定时和计数范围定时和计数范围l使用工作方式使用工作方式0 的计数功能时,的计数功能时,计数值的范围是:计数值的范围是:1 81921 8192(2 21313)l使用工作方式使用工作方式0 的定时功能时,的定时功能时,定时时间的计算公式为:定时时间的计算公式为:(2 21313计数初值计数初值计数初值计数初值)晶振晶振晶振晶振周期周期周期周期 1 12 2或或(2 21313计数初值计数初值计数初值计数初值)机器周期机器周期机器周期机器周期其时间单位与机器周期或晶振周期的时间单位相同,为其时间单位与机器周期或晶振周期的时间单位相同,为m ms。最最小小定定时时时时间间为为1个个机机器器周周期期,最最大大定定时时时时间间为为8192个个机机器器周周期。期。对对于于6MHz的的晶晶振振,最最小小定定时时时时间间为为2m ms,最最大大定定时时时时间间为为16384m ms。154.4.应用举例应用举例应用举例应用举例 计算计数初值计算计数初值计算计数初值计算计数初值欲欲产产生生500m ms的的等等宽宽正正方方波波脉脉冲冲,只只需需在在P1.0端端以以250m ms为为周周期期交交替替输输出出等等宽宽高高低低电电平平即即可可实实现现,为为此此定定时时时时间间应应为为250m ms。若若使使用用6MHz晶晶振振,则则1个个机机器器周周期期为为2m ms。方方式式0为为13位位计计数数结结构构,设待求的计数初值为设待求的计数初值为X,则:,则:(213 X)210-6=25010-6可解得:可解得:X=8192 125=8067=1111 1100 00011B。用用十十六六进进制制表表示示,高高8位位放放入入TH1(TH1=0FCH);低低5位位放放入入TL1(TL1=03H)。)。【例例1】设设单单片片机机晶晶振振频频率率为为6MHz,使使用用定定时时器器1以以方方式式0产产生生周周期期为为500m ms的的等等宽宽正正方方波波连连续续脉脉冲冲,并并由由P1.0输输出出。以以查查询询方方式式完成。完成。00016 TMODTMOD寄存器初始化寄存器初始化寄存器初始化寄存器初始化 为实现定时器为实现定时器/计数器计数器1的纯软件运行控制,则的纯软件运行控制,则GATE=0;为实现定时功能,应使为实现定时功能,应使C/T=0;为把定时器为把定时器/计数器计数器1设定为方式设定为方式0,则,则M1M0=00;定时器定时器/计数器计数器0不用,不用,TMOD的的低低4位设定为位设定为0;因此,因此,TMOD寄存器应初始化为寄存器应初始化为 00H。由由由由定定定定时时时时器器器器控控控控制制制制寄寄寄寄存存存存器器器器TCONTCON中中中中的的的的位位位位TR1TR1控控控控制制制制定定定定时时时时的的的的启启启启动动动动与停止与停止与停止与停止 TR1=1 启动,启动,TR1=0 停止停止17 程序设计程序设计程序设计程序设计MOV TMOD,#00H;设置设置T1为工作方式为工作方式0MOV TH1,#0FCH;设置计数初值设置计数初值MOV TL1,#03HMOV IE,#00H;禁止中断禁止中断SETB TR1;启动定时启动定时LOOP:JBC TF1,LOOP1;查询计数溢出(反复查询)查询计数溢出(反复查询)AJMP LOOPLOOP1:MOV TH1,#0FCH;重新设置计数初值重新设置计数初值MOV TL1,#03HCPL P1.0;输出取反输出取反AJMP LOOP;重复循环重复循环185.3.4 5.3.4 定时器工作方式定时器工作方式定时器工作方式定时器工作方式 1 11.1.电路逻辑结构电路逻辑结构电路逻辑结构电路逻辑结构l定定时时器器工工作作方方式式1是是16位位计计数数结结构构,计计数数器器由由TH的的全全部部8位位和和TL的的全全部部8位位构构成成。它它的的逻逻辑辑电电路路和和工工作作情情况况与与方方式式0完完全相同,所不同的只是计数器的位数。全相同,所不同的只是计数器的位数。TL0(8位位)192.2.定时和计数范围定时和计数范围定时和计数范围定时和计数范围l使用工作方式使用工作方式1 的计数功能时,的计数功能时,计数值的范围是:计数值的范围是:1 1 6 655365536(2 21 16 6)l使用工作方式使用工作方式1 的定时功能时,的定时功能时,定时时间的计算公式为:定时时间的计算公式为:(2 21 16 6计数初值计数初值计数初值计数初值)晶振晶振晶振晶振周期周期周期周期 1 12 2或或(2 21 16 6计数初值计数初值计数初值计数初值)机器周期机器周期机器周期机器周期其时间单位与机器周期或晶振周期的时间单位相同,为其时间单位与机器周期或晶振周期的时间单位相同,为m ms。最最小小定定时时时时间间为为1个个机机器器周周期期,最最大大定定时时时时间间为为65536个个机机器器周期。周期。对对于于6MHz的的晶晶振振,最最小小定定时时时时间间为为2m ms,最最大大定定时时时时间间为为131 072m ms(约为(约为131 ms)。204.4.应用举例应用举例应用举例应用举例 计算计数初值计算计数初值计算计数初值计算计数初值方式方式 1 为为16位计数结构,设待求的计数初值为位计数结构,设待求的计数初值为X,则:,则:(216 X)210-6=25010-6可解得:可解得:X=65536 125=65411=1111 1111 1000 0011B。用用十十六六进进制制表表示示,高高8位位放放入入TH0(TH0=0FFH);低低8位位放放入入TL0(TL0=83H)。)。【例例2】设设单单片片机机晶晶振振频频率率为为6MHz,使使用用定定时时器器0以以方方式式1产产生生周周期期为为500m ms的的等等宽宽正正方方波波连连续续脉脉冲冲,并并由由P1.0输输出出。以以中中断断方方式式完成。完成。21 TMODTMOD寄存器初始化寄存器初始化寄存器初始化寄存器初始化 定时器定时器/计数器计数器1不用,不用,TMOD的的高高4位设定为位设定为0;为为实实现现定定时时器器/计计数数器器 0 的的纯纯软软件件运运行行控控制制,则则GATE=0;为实现定时功能,应使为实现定时功能,应使C/T=0;为把定时器为把定时器/计数器计数器 0 设定为工作方式设定为工作方式 1,则,则M1M0=01;因此,因此,TMOD寄存器应初始化为寄存器应初始化为01H。22 程序设计程序设计程序设计程序设计主程序:主程序:MOV TMOD,#01H;设置设置T0为工作方式为工作方式1MOV TH0,#0FFH;设置计数初值设置计数初值MOV TL0,#83HSETB EA;开中断开中断SETB ET0;定时器定时器0允许中断允许中断SETB TR0;定时开始定时开始SJMP$;等待中断等待中断中断服务程序中断服务程序:CPL P1.0;输出输出取反取反MOV TH0,#0FCH;重新设置计数初值重新设置计数初值MOV TL0,#83HRETI;中断返回中断返回235.3.5 5.3.5 定时器工作方式定时器工作方式定时器工作方式定时器工作方式 2 2l工工作作方方式式 0 和和工工作作方方式式 1 的的共共同同特特点点是是计计数数溢溢出出后后计计数数器器为为全全0,因因此此,用用作作循循环环定定时时时时需需要要反反复复设设置置计计数数初初值值。这这不不仅影响定时精度,而且也给程序设计带来麻烦。仅影响定时精度,而且也给程序设计带来麻烦。l工工作作方方式式 2 是是针针对对此此问问题题而而设设置置的的,它它具具有有自自动动重重新新加加载载计计数数初初值值的的功功能能,免免去去了了反反复复设设置置计计数数初初值值的的麻麻烦烦。所所以以工工作作方式方式 2 也称为也称为自动重新加载自动重新加载工作方式。工作方式。241.1.电路逻辑结构电路逻辑结构电路逻辑结构电路逻辑结构l在在工工作作方方式式 2 下下,16位位计计数数器器被被分分为为两两部部分分,TL作作为为计计数数器器使使用用,TH作作为为预预置置寄寄存存器器使使用用,初初始始化化时时把把计计数数初初值值分分别别装装入入TL和和TH中中。当当计计数数溢溢出出后后,由由预预置置寄寄存存器器TH以以硬硬件件方方法法自动给计数器自动给计数器TL重新加载。变软件加载为硬件加载。重新加载。变软件加载为硬件加载。25对工作方式对工作方式对工作方式对工作方式 2 2 的说的说的说的说 明:明:明:明:l工作方式工作方式 2 为为 8 位计数结构,最大计数值为位计数结构,最大计数值为256(28)。)。l初始化时,初始化时,8位计数初值同时装入位计数初值同时装入TL0和和TH0中。中。l当当TL0计计数数溢溢出出时时,置置位位TF0,同同时时由由硬硬件件自自动动把把保保存存在在预预置置寄寄存存器器TH0中中的的计计数数初初值值重重新新加加载载TL0,然然后后TL0开开始始重重新新计计数。如此重复不止。数。如此重复不止。l用用途途:这这种种自自动动重重新新加加载载工工作作方方式式适适用用于于循循环环定定时时或或循循环环计计数数。例例如如,可可用用于于产产生生固固定定脉脉宽宽的的脉脉冲冲,可可作作为为串串行行数数据据通通信的波特率发生器。信的波特率发生器。26 计算计数初值计算计数初值计算计数初值计算计数初值在在6MHz晶晶振振下下,1个个机机器器周周期期为为2m ms,以以TH0作作重重装装载载的的预预置置寄寄存器,存器,TL0作作8位计数器,假设计数初值为位计数器,假设计数初值为X,则:,则:(28 X)210-6=10010-6可解得:可解得:X=256 50=206=1100 1110B=0CEH把把0CEH分别装入分别装入TH0和和TL0中:中:TH0=0CEH,TL0=0CEH【例例3】使使用用定定时时器器 0 以以工工作作方方式式 2 产产生生100m ms定定时时,在在P1.0输输出出周周期期为为200m ms的的连连续续正正方方波波脉脉冲冲。已已知知单单片片机机晶晶振振频频率率为为6 MHz。2.2.循环定时应用循环定时应用循环定时应用循环定时应用27 TMODTMOD寄存器初始化寄存器初始化寄存器初始化寄存器初始化 定时器定时器/计数器计数器 1 不用,不用,TMOD的的高高4位设定为位设定为0。为实现定时器为实现定时器/计数器计数器 0 的纯软件运行控制,则的纯软件运行控制,则GATE=0。为实现定时功能,应使为实现定时功能,应使C/T=0;定时器定时器/计数器计数器0为工作方式为工作方式2,则,则M1M0=10;因此,因此,TMOD寄存器应初始化为寄存器应初始化为02H由由于于定定时时器器/计计数数器器工工作作方方式式 2 具具有有自自动动重重新新装装载载功功能能,因因此此计计数初值只需设置数初值只需设置 1 次,以后不再需要软件重置。次,以后不再需要软件重置。28 程序设计(查询方式)程序设计(查询方式)程序设计(查询方式)程序设计(查询方式)MOV IE,#00H;禁止中断禁止中断MOV TMOD,#02H;设置设置T0为工作方式为工作方式2MOV TH0,#0CEH;保存计数初值保存计数初值MOV TL0,#0CEH;设置计数初值设置计数初值SETB TR0;启动定时启动定时LOOP:JBC TF0,LOOP1;查询计数溢出查询计数溢出AJMP LOOPLOOP1:CPL P1.0;输出取反输出取反AJMP LOOP;重复循环重复循环29程序设计(中断方式)程序设计(中断方式)程序设计(中断方式)程序设计(中断方式)主程序:主程序:MOV TMOD,#02H;设置设置T0为工作方式为工作方式2MOV TH0,#0CEH;保存计数初值保存计数初值MOV TL0,#0CEH;设置计数初值设置计数初值SETB EA;开中断开中断SETB ET0;定时器定时器 0 允许中断允许中断SETB TR0;定时开始定时开始SJMP$;等待中断等待中断中断服务程序:中断服务程序:CPL P1.0;输出取反输出取反RETI;中断返回中断返回30 计算计数初值计算计数初值计算计数初值计算计数初值X=28 100=156=1001 1100B=9CH把把9CH分别装入分别装入TH1和和TL1中:中:TH1=9CH,TL1=9CH【例例4】使使用用定定时时器器 1 以以工工作作方方式式 2 实实现现计计数数,每每计计100次次进进行行累累加器加加器加 1 操作。按操作。按查询方式查询方式进行编程进行编程。3.3.循环计数应用循环计数应用循环计数应用循环计数应用 TMODTMOD寄存器初始化寄存器初始化寄存器初始化寄存器初始化 为实现定时器为实现定时器/计数器计数器 1 的纯软件运行控制,则的纯软件运行控制,则GATE=0。为实现计数功能,应使为实现计数功能,应使C/T=1;定时器定时器/计数器计数器1为工作方式为工作方式2,则,则M1M0=10;定时器定时器/计数器计数器 0 不用,不用,TMOD的的低低4位设定为位设定为0。因此,因此,TMOD寄存器应初始化为寄存器应初始化为60H31 程序设计(查询方式)程序设计(查询方式)程序设计(查询方式)程序设计(查询方式)MOV IE,#00H;禁止中断禁止中断MOV TMOD,#60H;设置设置T1为工作方式为工作方式2MOV TH1,#9CH;保存计数初值保存计数初值MOV TL1,#9CH;预置计数初值预置计数初值SETB TR1;启动计数启动计数DEL:JBC TF1,LOOP;查询计数溢出查询计数溢出AJMP DELLOOP:INC A;累加器加累加器加 1AJMP DEL;循环返回循环返回325.3.6 5.3.6 定时器工作方式定时器工作方式定时器工作方式定时器工作方式 3 3l工工作作方方式式0、方方式式1、方方式式2下下,对对两两个个定定时时器器/计计数数器器T0和和T1的的设设置置和和使使用用是是完完全全相相同同的的,但但在在工工作作方方式式 3 下下,两两个个定定时时器器/计数器的设置和使用是不同的。计数器的设置和使用是不同的。l在在工工作作方方式式 3 下下,定定时时器器/计计数数器器 0 被被拆拆成成两两个个独独立立的的8位位计计数器数器TL0和和TH0,这两个计数器的使用完全不同。,这两个计数器的使用完全不同。l如如果果定定时时器器/计计数数器器 0 已已经经工工作作在在方方式式 3,则则定定时时器器/计计数数器器 1 的的运运行行控控制制位位TR1及及计计数数溢溢出出标标志志位位TF1被被TH0借借用用,此此时时定时器定时器/计数器计数器 1 只能工作在方式只能工作在方式 0、方式、方式 1 或方式或方式 2。331.1.工作方式工作方式工作方式工作方式 3 3 下的定时器下的定时器下的定时器下的定时器/计数器计数器计数器计数器 0 0l在工作方式在工作方式 3 下,定时器下,定时器/计数器计数器 0 中中TL0和和TH0 的使用:的使用:TL0既既可可用用于于计计数数,又又可可用用于于定定时时。与与定定时时器器/计计数数器器 0 相相关关的的控控制制位位C/T、GATE、TF0、TR0和和引引脚脚信信号号INT0全全归归它它使使用。用。TH0只只能能作作8位位的的定定时时器器使使用用。由由于于寄寄存存器器TCON的的定定时时器器0的的控控制制位位已已被被TL0独独占占,只只能能借借用用定定时时器器1的的控控制制位位TR1和和TF1为为其其服服务务。即即用用计计数数溢溢出出置置位位TF1,而而定定时时的的启启动动和和停停止止则受则受TR1的状态控制。的状态控制。l总总结结:在在工工作作方方式式 3 下下,定定时时器器/计计数数器器 0 可可以以分分解解为为 2 个个 8 位定时器或位定时器或 1 个个 8 位计数器和位计数器和 1 个个 8 位定时器。位定时器。34定时器定时器定时器定时器/计数器计数器计数器计数器 0 0 工作方式工作方式工作方式工作方式 3 3 的逻辑结构的逻辑结构的逻辑结构的逻辑结构352.2.工作方式工作方式工作方式工作方式 3 3 下的定时器下的定时器下的定时器下的定时器/计数器计数器计数器计数器 1 1l如如果果定定时时器器/计计数数器器 0 已已经经工工作作在在方方式式 3,则则定定时时器器/计计数数器器 1 的的运运行行控控制制位位TR1及及计计数数溢溢出出标标志志位位TF1被被TH0借借用用,此此时时定定时器时器/计数器计数器 1 只能工作在方式只能工作在方式 0、方式、方式 1 或方式或方式 2。l这这种种情情况况下下,定定时时器器/计计数数器器1通通常常是是作作为为串串行行口口的的波波特特率率发发生生器器使使用用,以以确确定定串串行行通通信信的的速速率率。因因为为已已没没有有计计数数溢溢出出标标志志位位TF1可供使用,因此只能把计数溢出直接送到串行口。可供使用,因此只能把计数溢出直接送到串行口。l作作为为波波特特率率发发生生器器使使用用时时,只只需需设设置置好好工工作作方方式式,便便可可自自动动运运行行。若若要要停停止止工工作作,只只需需向向TMOD送送入入一一个个能能把把它它设设置置为为方方式式 3 的的控控制制字字就就可可以以了了。定定时时器器/计计数数器器 1 不不能能在在方方式式 3 下下使用,如果硬把它设置为方式使用,如果硬把它设置为方式 3,就会停止工作。,就会停止工作。36工作方式工作方式工作方式工作方式 3 3 下定时器下定时器下定时器下定时器/计数器计数器计数器计数器 1 1 的使用的使用的使用的使用373.3.工作方式工作方式工作方式工作方式 3 3 下的定时器下的定时器下的定时器下的定时器/计数器计数器计数器计数器 0 0 的应用举例的应用举例的应用举例的应用举例【例例5】设设晶晶振振频频率率为为6MHz、定定时时/计计数数器器T0工工作作于于方方式式3,TL0和和TH0作作为为两两个个独独立立的的8位位定定时时器器,要要求求TL0使使P1.0产产生生400m ms的的方波,方波,TH0使使P1.1产生产生800m ms的方波。的方波。计算计数初值计算计数初值计算计数初值计算计数初值X0=28-(20010-6)/(210-6)=156=9CHX1=28-(40010-6)/(210-6)=56=38H把把X0和和X1分别装入分别装入TL0和和TH0中:中:TL0=9CH,TH0=38H TMODTMOD寄存器初始化寄存器初始化寄存器初始化寄存器初始化 定定时时器器T1不不用用,TMOD高高4位位取取为为全全0。对对定定时时器器T0:GATE=0,C/T=0,M1M0=11。因此,。因此,TMOD=03H38 程序设计(中断子程序在中断地址区)程序设计(中断子程序在中断地址区)程序设计(中断子程序在中断地址区)程序设计(中断子程序在中断地址区)ORG0000H AJMPMAIN;转主程序转主程序ORG000BH;TL0中断服务程序中断服务程序CPLP1.0;P1.0取反取反MOVTL0,#9CH;重新装入计数初值重新装入计数初值RETI ;中断返回中断返回ORG001BH ;TH0中断服务程序中断服务程序CPLP1.1 ;P1.1取反取反MOVTH0,#38H ;重新装入计数初值重新装入计数初值RETI ;中断返回中断返回39ORG2000H ;主程序主程序 MAIN:MOVSP,#60HMOVTMOD,#03H ;T0工作于方式工作于方式3 MOVTL0,#9CH ;置计数初值置计数初值 MOVTH0,#38H SETBEA ;CPU开中断开中断 SETBET0 ;允许允许T0中断(用于中断(用于TL0)SETBET1 ;允许允许T1中断(用于中断(用于TH0)SETBTR0 ;启动启动TL0 SETBTR1 ;启动启动TH0HALT:SJMP HALT;暂停,等待中断暂停,等待中断40 程序设计(中断地址区存放的是无条件转移指令)程序设计(中断地址区存放的是无条件转移指令)程序设计(中断地址区存放的是无条件转移指令)程序设计(中断地址区存放的是无条件转移指令)ORG0000H START:AJMPMAIN;转主程序转主程序ORG000BH AJMPPIT0;转转TL0溢出中断溢出中断ORG001BH AJMPPIT1;转转TL1溢出中断溢出中断 MAIN:MOVSP,#60HMOVTMOD,#03H ;T0工作于方式工作于方式3MOVTL0,#9CH ;置计数初值置计数初值 MOVTH0,#38H41MOVTCON,#50HMOVIE,#8AH ;开放中断开放中断HERE:AJMPHERE ;暂停,等待中断暂停,等待中断PIT0:CPLP1.0 ;P1.0取反取反MOVTL0,#9CH ;重新装入计数初值重新装入计数初值RETI ;中断返回中断返回PIT1:CPLP1.1 ;P1.1取反取反MOVTH0,#38H ;重新装入计数初值重新装入计数初值RETI ;中断返回中断返回

    注意事项

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

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开