中断与定时计数器(1).ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;单片机中断系统;单片机中断系统;中断示意图; “中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。引起中断的原因,或能发出中断申请的来源,称为“中断源”。中断源要求服务的请求称为“中断请求”(或中断申请)。 ; 调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。 ;定时器控制寄存器TCON (88H);定时器控制寄存器TCON (88H);?在CPU已经开放了外部中断允许的前提下: ?在INT0/INT1引脚输入一个负脉冲或低电平, ?TCON寄存器中的IE0/IE1标志位自动变“1”, ?检测到IE0/IE1变“1”后,将产生指令: 执行中断服务程序, ?并将IE0/IE1标志位自动清“0”,以备下次申请。; EA — ET2 ES ET1 EX1 ET0 EX0;中断系统硬件结构; — — PT2 PS PT1 PX1 PT0 PX0;对同时发生多个中断申请时: ?不同优先级的中断同时申请(很难遇到) ——先高后低 ?相同优先级的中断同时申请(很难遇到) ——按序执行 ?正处理低优先级中断又接到高级别中断 ——高打断低 ?正处理高优先级中断又接到低级别中断 ——高不理低;单片机的中断矢量与优先级;中断服务程序的编制;using m,定义函数使用的工作寄存器组,m的取值范围为0~3。它对目标代码的影响是:函数入口处将当前寄存器保存,使用m指定的寄存器组;函数退出时,原寄存器组恢复。选择不同的工作寄存器组,可方便地实现寄存器组的现场保护。;;CPU时序的有关知识;学前弄明白: 1。定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。 2。单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器的数据加1 3。有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1的工作可以交??定时器/计数器处理。CPU转而处理些复杂的事情。同时可以实现精确定时作用。;定时器计数器的概念;也就是由单片机的晶体震荡器经过12分频后获得的一个脉冲源(机器周期)。晶振的频率是很准确的,所以这个计数脉冲的时间间隔也很准。一个12M的晶振,它供给给计数器的脉冲时间间隔是1微秒。计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。;比如滴水的例子,当水持续落下,盆中的水逐渐变满,最终会有一滴水使得盆中的水全满了。这个时候如果再有一滴水落下,水会漫出来,用术语来讲就是“溢出”,而每一滴水落下,用术语来说就是发出一个计数脉冲。 ?水溢出是流到地上,而计数器溢出后就会引发一个定时中断事件,就象定时的时间一到,闹钟就会响一样。 现在另一个问题是:要有多少个计数脉冲才会产生事件。 ?? 刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有少于65536个计数值的要求,如制药厂包装线上,一瓶药片为100粒,500瓶为一箱 那么怎么样来满足这个要求呢? 举例 如果是一个空的水盆要1万滴水滴进去才会满,我在开始滴水之前就先放入一勺水,还需要10000滴吗?对了,这时我们就采用预置数的办法,我要计 100,那我就先放进65436,再来100个脉冲,不就到了65536了吗。定时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536 毫秒,但现在我只要10毫秒,怎么办?10个毫秒为10000个微秒,所以,只要在计数器里面放进55536就可以了。;3个16位定时器/计数器 ——(51系列有2个16位Timer少一个T2) 定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数;单片机定时/计数器内部结构;定时器的2个特殊功能寄存器(TCON);TR0/TR1:定时器0/1运行控制位: TR0/TR1 =0 时,Timer0/1停止计数 TR0/TR1 =1 时,Timer0/1启动计数;GATE C / T M1 M0 GATE C / T M1 M0;GATE C / T

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档