单片微型计算机c第11讲(机械).ppt

上传人:小飞机 文档编号:6103480 上传时间:2023-09-24 格式:PPT 页数:41 大小:2.76MB
返回 下载 相关 举报
单片微型计算机c第11讲(机械).ppt_第1页
第1页 / 共41页
单片微型计算机c第11讲(机械).ppt_第2页
第2页 / 共41页
单片微型计算机c第11讲(机械).ppt_第3页
第3页 / 共41页
单片微型计算机c第11讲(机械).ppt_第4页
第4页 / 共41页
单片微型计算机c第11讲(机械).ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《单片微型计算机c第11讲(机械).ppt》由会员分享,可在线阅读,更多相关《单片微型计算机c第11讲(机械).ppt(41页珍藏版)》请在三一办公上搜索。

1、,Microcontrollers Principle and Applications,单片机原理及应用,C,上节内容回顾,MCS51单片机的中断系统中断的概念及中断的处理过程中断源、中断的触发方式、中断屏蔽、中断优先级中断服务程序的编写,第11讲教学目的和要求,【教学目标】通过讲述MCS-51单片机的定时器/计数器系统的电路结构、特殊功能寄存器及功能和使用方法,使学生对定时、计数的使用和编程。【教学重点】定时器/计数器的工作原理;使用和编程方法;【教学难点】定时和计数的应用,第七章 MCS-51的定时器/计数器,7.1定时/计数器的结构和工作原理,单片机的应用中,工业检测、控制的许多场合需

2、要用到计数或定时的功能。如生产过程中的计件、产生精确的定时时间等。采用软件延时的方法较难产生精确的定时;另外容易被中断等事件打断,精确度与及时性难以保证。MCS51单片机提供两个16位可编程的定时器/计数器T1和T0,当计数/定时值满时,可采用中断的方式通知单片机及时处理,实时性得到保证。,计数与定时的区别,计数功能指的是对外来脉冲进行计数。脉冲频率可不固定,宽度可以不一致。脉冲由T0(P3.4)或T1(P3.5)引脚输入。定时功能指的是对内部脉冲计数。故对固定频率的脉冲计数即可完成定时的功能。每经过1个机器周期,计数值加1。如单片机采用12MHZ的晶振,则计数频率为1MHZ。,定时器/计数器

3、的硬件结构,TH1、TL1、TH0、TL0:8位寄存器,用于存放计数器1、0计数初值的高、低位。TCON:定时器/计数器控制寄存器TMOD:工作方式控制寄存器,计数器/定时器的工作原理,振荡器,定时器模式对内部机器周期计数。计数值乘以机器周期就是定时时间。引脚C/#T(为1计数,为0定时)为0。,控制器,T1/T0,TF,中断,加1计数,溢出位,TRX=1,GATEX=0时,软件方式启动定时器。,工作模式不同,计数数据的位数不同,12,计数器/定时器的工作原理,TX引脚,计数器模式是对外部事件计数。脉冲由T0(P3.4)或T1(P3.5)引脚输入。引脚C/#T(为1计数,为0定时)为1。,控制

4、器,T1/T0,TF,中断,加1计数,溢出位,TRX=1,GATEX=1,且/INT=1时,硬件启动定时器,工作模式不同,计数数据的位数不同,7.2定时/计数器的控制,TCON:计数器控制寄存器。字节当中的位可以进行位寻址,也可通过字节地址访问。TF1、TF0:计数溢出标志位。当计数值满后,该位置1;使用查询方式时,可查询该位状态后,由用户程序清零。使用中断方式时,进入中断服务程序后,由硬件清零。TR1、TR0:计数运行控制位。置1/清0可以启动/停止计数器工作。可通过软件设置。,工作方式寄存器TMOD,TMOD:计数器工作方式寄存器。字节当中的位不能进行位寻址。GATE:门控位GATE=0时

5、,仅依靠运行控制位TRX来启动定时器;GATE=1时,除TRX=1外,还需用用外中断引脚/INTX上的高电平来启动定时器。,T1方式字段,T0方式字段,工作方式寄存器TMOD,C/#T:模式选择位C/#T=0时,定时模式;C/#T=1时,计数模式。M1M0:工作方式选择位。,T1方式字段,T0方式字段,7.3 定时/计数器的工作方式,T0有方式0、1、2、3;T1有方式0、1、2。方式0:13位计数器/定时器,计数范围1213,计数初值的计算,若T0工作在方式0,当计满20次时向CPU发出中断申请,其计数初值X应为多少?置入后TH0与TL0的值分别为多少?问题:13位计数器何时产生溢出?,1,

6、11,1,13个1,+1,计数1次,初值应为213-1计数2次,初值应为213-2,计数初值的计算,若T0工作在方式0,当计满20次时向CPU发出中断申请,其计数初值X应为多少?置入后TH0与TL0的值分别为多少?方式1:公式法由计数量程(28、213、216)减去计数值,将其转换成二进制即可。上题中,计数值为20,根据方法,计数初值X=213-20D=8192-20=8172,再转换成十六进制1FECH,即TH0=0FFH,TL0=0CH。,麻 烦,改进,若T0工作在方式0,当计满20次时向CPU发出中断申请,其计数初值X应为多少?置入后TH0与TL0的值分别为多少?上式中X=213-20D

7、方法2:求补法取计数值的二进制形式,逐位取反,最低位加1即可,亲,你可曾想起了我?,取反+1求补!,计数/定时初值的计算总结,根据计数器的工作方式,确定计数的位数(13、16、8)对给定的计数值,转换成二进制形式位数不足的情况下,前面补足0从后数第一个1,该1及后面的0保持不变,该1前面的均取反即可计数初值。【例】方式0下,计数130,求其初值。,130,10000010B,0 0000 1000 0010B,1 1111 0111 1110B,TH0=0FBH,TL0=1EH,方式1(*),方式1:16位计数器/定时器,计数范围1216,注意:方式0的计数初值高8位和低5位确定麻烦,实际应用

8、中常由16位的方式1取代。,举例,若要求定时器T0工作于方式1,定时时间为1ms,当晶振为6 MHz时,求送入TH0和TL0的计数初值各为多少?应怎样送入TH0和TL0?【解】机器周期频率为6MHZ/12=0.5MHZ,Tcy为2us。定时时间为1ms,则需要的时钟周期数为1ms/2us=500。计数器的计数值为500=1 1111 0100 B根据求补法,得到的计数初值为0FE0CH高位送TH0,低位送TL0,故TH0=0FEH,TL0=0CH。,方式2(*),方式2:带自动重装功能的8位计数器/定时器,计数范围1256,计数溢出的同时,自动重装计数初值。特别适合于脉冲信号发生器 赋初值时,

9、高低8位需要同时赋值,方式3,仅计数器T0可工作在方式3,计数器T1不允许工作在方式3不要求掌握该方式的工作原理及应用。,定时器工作方式小结,重点掌握方式1和方式2了解工作方式中总共有四种即可TMOD控制字中M1M0位控制计数方式T0可以工作在方式03T1只能工作在方式02,定时器工作方式小结,赋初值除方式2外,其它模式下定时器溢出后,如想重新计数必须用软件赋初值(若采用中断方式,在中断服务程序中要有赋初值语句)。,定时器工作方式小结,初始化编程初始化程序应完成:对TMOD赋值,以确定T0和T1的工作方式;求初值,并写入TH0、TL0或TH1、TL1;中断方式时,要对IE赋值,开放中断;查询方

10、式时,检测TF0或TF1,为1代表计时到,将其清0;使TR0或TR1置位,启动定时/计数器工作。,7.4 定时/计数器的应用举例,外部中断扩展,例:用T0扩展一个外部中断源。将T0设置为计数器方式,按方式2工作,TH0、TL0的初值均为0FFH,T0允许中断,CPU开放中断,试完成其初始化编程。,T1方式字段,T0方式字段,MOV TMOD,#06H;置T0为计数器方式2MOV TL0,#0FFH;置计数初值MOV TH0,#0FFHSETB EA;CPU开中断SETB ET0;允许T0中断 SETB TR0;启动T0工作,T0外部引脚上出现一个下降沿信号时,TL0计数加1,直到产生溢出,将T

11、F0置1,向CPU发出中断请求,应用举例计数应用,【例】有一包装流水线,产品每计数24瓶时发出一个包装控制信号。试编写程序完成这一计数任务。用T0完成计数,用P1.0发出控制信号。,分析流水线是连续工作的,因此计数也非一次性的。选用方式2。题中选定计数器为T0,则控制字为06H。即:M1M0=10,GATE=0,C/#T=1,应用举例计数应用,【例】有一包装流水线,产品每计数24瓶时发出一个包装控制信号。试编写程序完成这一计数任务。用T0完成计数,用P1.0发出控制信号。,初值的确定工作在方式2,即8位重装的计数器计数值为24=11000B求补可得11101000B=E8H。将TH0和TL0均

12、赋初值E8MOV TH0/TL0,#E8H,应用举例计数应用,【例】有一包装流水线,产品每计数24瓶时发出一个包装控制信号。试编写程序完成这一计数任务。用T0完成计数,用P1.0发出控制信号。,ORG 0000H LJMP MAIN ORG 000BH LJMP DVT0 ORG 0100HMAIN:MOV TMOD,#06H;置T0计数方式2 MOV TH0,#0E8H;装入计数初值 MOV TL0,#0E8H,SETB ET0;T0开中断SETB EA;CPU开中断SETB TR0;启动T0SJMP$;等待中断,DVT0:SETB P1.0 NOP NOP CLR P1.0 RETI EN

13、D,应用举例定时应用,定时时间较小时,一般直接采用方式1完成定时任务。若晶振频率fosc=12MHZ,则采用方式1最大的延长时间为:65536/12M/12=65536us=65.536ms【例】利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12 MHz。,每隔10ms的时间翻转P1.0一次即可,应用举例定时应用,【例】利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12 MHz。分析:设定初值,使T0每10ms发出一次中断。中断服务程序

14、中将P1.0取反,重装计数值,启动计数器返回后重复上述步骤。,应用举例定时应用,【例】利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12 MHz。确定工作方式控制字TMOD:T0定时C/#T=0,通过程序启动计数,故GATE=0;方式1,则M1M0选择01。故控制字为01H。,应用举例定时应用,【例】利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12 MHz。计算初值计数值=10ms/1us=10000=4*2500=16*625=16

15、*(512+127-8-4-2),1001110001B,10011100010000B,求补,1101100011110000B=D8F0H,应用举例定时应用,ORG 0000H LJMP MAIN ORG 000BH LJMP DVT0 ORG 0100HMAIN:MOV TMOD,#01H;置T0方式1 MOV TH0,#0D8H;装入计数初值 MOV TL0,#0F0H SETB ET0;T0开中断 SETB EA;CPU开中断 SETB TR0;启动T0 SJMP$;等待中断,DVT0:CPL P1.0 MOV TH0,#0D8H MOV TL0,#0F0H RETI END,中断服

16、务程序,应用举例定时应用,【例】利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12 MHz。此题若不采用中断方式,采用程序查询方式如何实现?,应用举例定时应用,ORG 0000H LJMP MAIN;跳转到主程序 ORG 0100H;主程序MAIN:MOV TMOD,#01H;置T0工作于方式1 LOOP:MOV TH0,#0D8H;装入计数初值 MOV TL0,#0F0H SETB TR0;启动定时器T0 JNB TF0,$;TF0=0,查询等待 CLR TF0;清TF0 CPL P1.0;P1.0取反输出 SJ

17、MP LOOP END,应用举例定时应用,定时时间较大(大于65ms)时,有两种方法解决一是采用1个定时器定时一定的间隔(如20ms),然后用软件进行计数;二是采用2个定时器级联,其中一个定时器用来产生周期信号(如20ms为周期),然后将该信号送入另一个计数器的外部脉冲输入端进行脉冲计数。,应用举例较长时间定时应用,编写程序,实现用定时/计数器T0定时,使P1.7引脚输出周期为2s的方波。设系统的晶振频率为12MHz。分析:Tcy=1us,计数周期为2S,现有条件下计数值为2s/1us=2*10665536。只能采用多次计数的方式进行。可取20ms*50,即定时20ms,重复50次。中断服务程

18、序中,首先对次数进行判断,若不为0,则重启计数;否则将P1.7取反,重装计数值,启动计数器返回后重复上述步骤。,应用举例较长时间定时应用,编写程序,实现用定时/计数器T0定时,使P1.7引脚输出周期为2s的方波。设系统的晶振频率为12MHz确定TMOD与上题一致,应为01H计算初值计数值=20ms/1us=20000装入初值为:1011000111100000B=0B1E0H,应用举例较长时间定时应用,ORG 0000H LJMP MAIN ORG 000BH LJMP DVT0 ORG 0030HMAIN:MOV TMOD,#01H;置T0方式1 MOV TH0,#B1H;装入计数初值 MOV TL0,#E0H;首次计数值 MOV R7,#50;计数50次 SETB ET0;T0开中断 SETB EA;CPU开中断 SETB TR0;启动T0 SJMP$;等待中断,DVT0:DJNZ R7,NT0 MOV R7,#50 CPL P1.7 NT0:MOV TH0,#B1H MOV TL0,#E0H SETB TR0 RETI END,中断服务程序,实验三 定时器应用实验(2学时),【实验目的】了解MCS-51单片机定时器的结构及使用方法。【实验要求】用CPU内部定时器方式计时,实现每秒钟输出状态发生一次翻转。,本节作业,P112 第1、3、6题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号