- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程目标、重点与难点 课程目标: 掌握单片机定时器/计数器的特点;学会利用单片机 进行顺序控制系统的设计与应用。 课程重点与难点: 合理选择定时器/计数器工作方式、初始值的计算、 初始化程序的设计;1S定时程序的设计及工程中如 何运用定时计数器。 二、顺序控制系统的硬件结构分析 六、顺序控制系统所涉及的知识点 (1)定时/计数器的概念。 (2)89C51单片机中定时/计数器的应用。 (3)C51定时/计数器中断服务程序的设计与应用。 5.2 89C51单片机定时器/计数器 5.2 89C51单片机定时器/计数器 一、定时器/计数器的功能 1、定时方式:每一个计数周期(T计数)计数器加1,直至计满溢出(从全1到全0)产生中断请求。对于一个N位的加1计数器,若T计数是已知的,则从初值a开始加1计数至溢出所占用的时间为: 当N=8、a=0时,最大定时时间为:T=256×T计数 5.2 89C51单片机定时器/计数器 二、定时器/计数器的结构 三、与定时器/计数器有关的特殊功能寄存器1、特殊功能寄存器TMOD 2、定时/计数器控制寄存器(TCON) 四、定时器/计数器的工作方式 1、工作方式0 计数器的计数值范围是:1—65536 定时时间的计算公式为: (216—计数初值)×晶振周期×12或(216—计数初值)×机器周期 方式0和方式1的区别: 在于计数器的位数不同,方式0为13位,而方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字(GATE、TF0、TR0)和方式0相同。 4、工作方式3 当M1M0=11时,定时/计数器处于工作方式3,定时/计数器T0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器T0的各控制位和引脚信号全归它使用。其功能和操作与方式0或方式1完全相同。TH0只能借用定时/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制TH0定时的启动和停止。等效电路参见图5-8。 在工作方式3的情况下,定时/计数器1通常作为串行口的波特率发生器使用,以确定串行通信的速率,当作波特率发生器使用时,只需设置好工作方式,即可自动运行。 五、定时/计数器的编程和应用 定时计数器的初始化编程步骤: (1)工作方式控制字送TMOD寄存器; (2)根据定时时间要求或计数要求计算计数器初值; (3)送计数初值的高八位和低八位到THi和TLi寄存器中; (4)启动定时(或计数),即将TRx置位(设置TCON)。 (5)如果工作于中断方式,需要置位EA(中断总开关)及ETx(允许定时/计数器中断)并编中断服务程序。 最大定时时间(fOSC=12MHz): 方式0: TMAX = 213×1μs = 8.192ms 方式1: TMAX = 216×1μs = 65.536ms 方式2、3:TMAX = 28×1μs = 0.256ms 例5-1 用定时器实现P1.0所接LED每60ms亮或灭一次,设系统晶振为12M。分析: (1)设置定时器的工作方式,然后给定时器赋初值,即进行定时器的初始化。这里选择定时器0,工作于定时方式,工作方式1,即16位定时/计数的工作方式,不使用门控位。 (2)工作方式控制字送TMOD。由(1)知定时器的工作方式字TMOD应,即0x01。 (3)定时初值应为65536-60000=5536,由于不能直接给T0赋值,必须将5536转化为十六进制即为0x15a0,这样可以写出初始化程序:TMOD=0x01;TH0=0x15;TL0=0xa0; (4)初始化定时器后,要定时器工作,必须将TR0置1,程序中用“TR0=1;”来实现。可以用中断或查询的方式来使用定时器。 给定时器赋初值的语句也可以采用如下方法: TH0=(65536-2000)/256; TL0=(65536-2000)%256; 或 TH0=-2000/256; TL0=-2000%256; 2、中断方式参考源程序: #include reg51.h sbit P1_0=P1^0; void timer0( ) interrupt 1 { TH0=0x15; TL0=0xa0; P1_0=~P1_0; } 例5-2 P1口接有八个发光二极管,编程使八个管依次点亮,每个管亮100ms,设晶振为6MHz。 分析: 利用T1完成1
您可能关注的文档
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)