- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 定时器/计数器 MCS-51单片机内部共有两个 16位可编程定时/计数器:定时器/计数器0和定时器/计数器1(MCS-52比MCS-51多一个定时/计数器2)。在51单片机中,定时/计数器的定时功能和计数功能是由同一种硬件完成的。它们的区别在于计数器的计数脉冲来源于单片机的外部脉冲,而定时器的脉冲来源于单片机的内部(它的脉冲频率取决于单片机的晶振频率)。 6.1 定时器/计数器的结构与工作原理6.1.1 硬件结构 6.1.2 定时/计数器的工作原理 定时器/计数器有两种用途:定时器和计数器。但一个定时器/计数器(T1或T0)不能既做定时器,又做计数器。其实定时/计数器的核心是一个加1计数器,其脉冲来源有两个:一个是由系统的时钟晶振器输出脉冲经12分频后送来;另一个是由T0或T1引脚(P3.4或P3.5)输入的外部脉冲源提供。这就是51单片机中定时/计数器的定时功能和计数功能的区别(前者是定时器,后者是计数器)。 1、定时/计数器的控制寄存器TCON TCON字节地址为88H,用于控制定时/计数器的启、停,标志定时器溢出和中断情况。可以按位寻址,其结构如表 TCON寄存器结构 TCON寄存器各个位的功能 2、定时器工作方式寄存器TMOD TMOD字节地址为89H,用来确定定时器的工作方式及功能选择。不能按位寻址。其结构如表 TMOD寄存器结构 TMOD寄存器各个位的功能 6.2 定时器/计数器的工作方式 1、 方式0 方式0为13位计数, 2、方式1 方式1的计数位数是16位, 3、方式2 定时/计数器方式2则可解决软件反复装初值所带来的问题,在计数器溢出后,计数器会自动将上次设置的初值重装。所以方式2特别适合做较精确的脉冲信号发生器,但由于它只有8位计数器, 4、方式3 方式3只适用于定时/计数器T0, 6.3 52单片机的定时/计数器2介绍 52单片机与51单片机相比,除了其内部程序存储器容量增大外,还多了一个T2定时/计数器。定时/计数器T2是一个16位的计数器,通过设置特殊功能寄存器T2CON中的位,可将其设置为定时器或计数器;通过设置T2CON中的工作模式选择可将定时/计数器T2设置为三种模式,分别为:波特率发生器、自动重装(递增或递减)和捕获。 6.3.1 定时/计数器2控制寄存器T2CON T2CON寄存器的字节地址为C8H,该寄存器可进行位寻址,即可对该寄存器的每一位进行单独操作,单片机复位时T2CON全部被清零,其各位定义如表 定时/计数器2控制寄存器T2CON 定时/计数器2模式控制寄存器T2MOD 6.3.2 定时/计数器2的三种工作模式 1、自动重装模式(递增或递减) 2、捕获模式 3、波特率发生器模式 4、定时/计数器2的设置 除了波特率发生器模式,T2CON不包括TR2位的设置,TR2位需要单独设置来启动定时/计数器2。定时/计数器2的定时器和计数器的设置方法如表 T2为定时器的设置 T2为计数器的设置 5、可编程时钟输出 6.4 定时/计数器的初始化 初始化程序应完成如下工作: (1)对TMOD赋值,以确定T0和T1的工作方式。 (2)计算初值,并将其写入TH0、TL0或TH1、TL1。 (3)使用中断方式时,则对IE赋值,开放中断。 (4)使TR0或TR1置位,启动定时/计数器的定时或计数。 6.4.1 初值的计算 假设定时器工作在工作方式1,位数是16位。定时器一旦启动,它便在原来的数值上开始加1计数,若在程序开始时,我们没有设置TH.x和TL.x,它们的默认值为0。假设时钟频率为12MHz,12个时钟周期为一个机器周期,那么此时机器周期就是1us,计满TH.x和TL.x就需要:计数最大值—1。 6.4.2 Keil C中断服务程序的写法 C51的中断函数格式如下: void 函数名() interrupt 中断号 using 工作组 { 中断服务程序内容 } 6.5 定时器中断应用实例6.5.1 设计要求 用C编程,每1秒点亮P1.0口的发光二极管一次,然后熄灭,使发光二极管形成闪烁的效果。要求:采用定时/计数器0,其工作方式为1;当P1.0口输出低电平时,发光二极管点亮。 6.5.2 硬件设计 6.5.3 软件设计 6.5.4 联合调试与运行6.5.5 电路图功能分析 给定时器0设置定时初值为50ms,每次中断溢出执行中断子程序时,计数变量count加1。当count增加到20时(总时长为20*50ms=1s),用户定义标志位flag被置1。程序跳回到主程序执行,这时的主程序的判断语句if(flag==1)成立,给P1.0输出低电平,使发光二极管电亮,
您可能关注的文档
最近下载
- 2024-2025学年四川省成都市第七中学高一(上)月考物理试卷(10月)(含答案).docx VIP
- 育婴员职业守则课件.pptx VIP
- 蔬菜生产技术课程标准.docx VIP
- 2025中考语文现代文阅读总复习-第1部分 专题12:记叙文阅读之主旨把握(讲义)(教师版).docx VIP
- 硅铁冶炼培训课件.pptx VIP
- 水土保持工程监理规划.pdf VIP
- 政务云平台 第4部分:系统部署和迁移要求_地方标准编制说明.pdf
- DB37T-政务云平台监管指标体系及编制说明.pdf VIP
- 高中物理必修二第一章检试测卷.doc VIP
- DB37T 4394.4—2024政务云平台 第4部分:系统部署和迁移要求.pdf VIP
文档评论(0)