版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 1 页6. 516. 51内核单片机定时器计数器的应用编程内核单片机定时器计数器的应用编程6.1 MCS-516.1 MCS-51单片机定时器计数器单片机定时器计数器0 0实现的定时实现的定时控制控制例例 6 1 利用利用MCS-51单片机的定时器计数器单片机的定时器计数器0实现实现250s定时,并由单片机的端口定时,并由单片机的端口P1.0输出输出2kHz的方波,单片机的时钟频率为的方波,单片机的时钟频率为12MHz。 0 01 1 T=500sT=500s 0 0250s250s250s250sP1.0P1.0250s250s第 2 页#include #define SYSCLK 1
2、2000000#define c_tmr0 -(SYSCLK/12.0)/1000000*250sbit P1_0 = P10;void TIM0_INIT (void);void main (void)TIM0_INIT ();EA = 1;while (1);6.1 MCS-516.1 MCS-51定时器计数器定时器计数器0 0实现的定时控实现的定时控制制硬件确定硬件确定单位转换:单位转换:MHzMHz第 3 页6.1 MCS-516.1 MCS-51定时器计数器定时器计数器0 0实现的定时控实现的定时控制制void TIM0_INIT (void)TMOD |= 2;TH0 = c_tm
3、r0;TR0 = 1;ET0 = 1;void tmr0_ISR (void) interrupt 1P1_0 =P1_0;第 4 页定时器计数器的工作原理定时器计数器的工作原理AUTO_RAUTO_R时序电路时序电路(计数器)(计数器)OFOFI I7 7 I I6 6 I I5 5 I I4 4 I I3 3 I I2 2 I I1 1 I I0 0CLKCLK+ +WRITEWRITEO O7 7 O O6 6 O O5 5 O O4 4 O O3 3 O O2 2 O O1 1 O O0 0计数计数:外部信号:外部信号定时:系统时钟定时:系统时钟中断中断标志标志自自动动重重装装允允许许
4、计计数数初初值值软件重装软件重装硬件自动重装硬件自动重装计数计数初值:初值:减法计时器减法计时器 = = 计数长度计数长度加法计时器加法计时器 = 2= 2n n 计数长度计数长度 其中其中n n为计算器的位数为计算器的位数 重装与计数重装与计数 计时终点:计时终点:1212点点 计时计时3 3小时小时 计时起点:计时起点: 倒计时:倒计时:3 3点点 正计时:正计时:9 9点点 =12-3=12-3第 5 页6.1 MCS-516.1 MCS-51定时器计数器定时器计数器0 0实现的定时控实现的定时控制制定时器定时器/计数器计数器0、1的工作模式的工作模式模式模式0:13位定时器位定时器/计
5、数器计数器模式模式1:16位定时器位定时器/计数器计数器模式模式2:8位自动重装定时器位自动重装定时器/计数器计数器模式模式3:8位定时器位定时器/计数器和计数器和8位定时器(定时器位定时器(定时器/计数器计数器0 )第 6 页定时器计数器定时器计数器0 0、1 1的模式的模式0/10/1MCS-51MCS-51模式模式1 1为为8bits8bits外部中断外部中断0 0:定时器:定时器 1 1:计数器:计数器 第 7 页定时器计数器定时器计数器0 0、1 1的模式的模式2 2TH0 = c_tmr0;TH0 = c_tmr0;第 8 页定时器计数器定时器计数器0 0的模式的模式3 3计数器计
6、数器/ /定时器定时器0 0有效,计数器有效,计数器/ /定时器定时器1 1为停止运为停止运行行定时器定时器定时器定时器/ /计数器计数器第 9 页TMODTMODTMOD |= 2;TMOD |= 2;第 10 页TCONTCONTR0 = 1;TR0 = 1;第 11 页定时器计数器应用的注意事项定时器计数器应用的注意事项 确定定时器的工作模式确定定时器的工作模式 计算定时器的初值计算定时器的初值 对于周期性的定时,一般应使用具有定时初对于周期性的定时,一般应使用具有定时初值硬件自动重装的功能值硬件自动重装的功能 定时时间不能超出特定定时器的工作模式下定时时间不能超出特定定时器的工作模式下
7、的最长定时时间的最长定时时间最长定时时间最长定时时间 = 系统时钟周期系统时钟周期 12 2n 计数初值计数初值 = 2n 计数长度计数长度当当n = 8、16、32时时计数初值计数初值 = 计数长度计数长度第 12 页例例6-16-1的定时器设置的定时器设置#define SYSCLK 12000000#define c_tmr0 -(SYSCLK/12.0)/1000000*250最长定时时间最长定时时间 = (1/12000000) 12 256 = 256 s定时器的输入脉冲频率定时器的输入脉冲频率 = (SYSCLK/12.0)/1000000 MHz#define c_tmr0 -
8、(SYSCLK/12.0)/1000000*250第 13 页6.2 C8051F6.2 C8051F定时器计数器定时器计数器0 0实现的定时控实现的定时控制制例例 6 2 利用利用C8051F320单片机的定时器计数器单片机的定时器计数器0实现实现5000s定时,并由单片机的端口定时,并由单片机的端口P1.0输输出出100Hz的方波,单片机的时钟频率为的方波,单片机的时钟频率为1.5MHz。第 14 页6.2 C8051F6.2 C8051F定时器计数器定时器计数器0 0实现的定时控实现的定时控制制#includec8051F320.h#define SYSCLK 12000000/8#de
9、fine c_tmr0 -(SYSCLK/48.0)/1000000*5000sbit P1_0 = P10;void WDT_INIT (void); /声明完成声明完成WDT初始化的函数初始化的函数void PORT_INIT (void); /声明完端口初始化的函数声明完端口初始化的函数void TIM0_INIT (void); /声明完成定时器计数器声明完成定时器计数器0初始化的函数初始化的函数void main (void)WDT_INIT (); /调用完成调用完成WDT初始化的函数初始化的函数TIM0_INIT (); /调用完成定时器计数器调用完成定时器计数器0初始化的函数初
10、始化的函数PORT_INIT ();EA = 1;while (1);第 15 页6.2 C8051F6.2 C8051F定时器计数器定时器计数器0 0实现的定时控实现的定时控制制void WDT_INIT (void)PCA0MD &= 0 x40;void PORT_INIT (void)P1MDOUT = 1;XBR1 |= 0 x40;第 16 页6.2 C8051F6.2 C8051F定时器计数器定时器计数器0 0实现的定时控实现的定时控制制void TIM0_INIT (void)CKCON |= 2;TMOD |= 2;TH0 = c_tmr0;TR0 = 1;ET0 =
11、 1;void tmr0_ISR (void) interrupt 1P1_0 =P1_0;第 17 页MCS-51MCS-51无此无此SFRSFR,固定为固定为SYSCLK/12SYSCLK/126.2 C8051F6.2 C8051F定时器计数器定时器计数器0 0实现的定时控实现的定时控制制第 18 页例例6-26-2的定时器设置的定时器设置#define SYSCLK 12000000/8#define c_tmr0 -(SYSCLK/48.0)/1000000*5000最长定时时间最长定时时间 = (8/12000000) 48 256 = 8192 s定时器的输入脉冲频率定时器的输入
12、脉冲频率 = (SYSCLK/48.0)/1000000 MHz#define c_tmr0 -(SYSCLK/48.0)/1000000*5000第 19 页CKCONCKCONCKCON |= 2;CKCON |= 2;第 20 页6.3 MCS-516.3 MCS-51定时器计数器定时器计数器2 2实现的定时控实现的定时控制制例例 6 3分析程序分析程序4-2的功能。的功能。#include extern void TIM2_INIT (void);/声明完成定时器计数器声明完成定时器计数器2初始化的函数初始化的函数extern bit second_ok;/声明外部位变量声明外部位变量
13、second_oksbit P1_0 = P10;void change_P1_0 (void);void main (void)TIM2_INIT ();/调用完成定时器计数器调用完成定时器计数器2初始化的函数初始化的函数while (1)if (second_ok) /1秒定时到秒定时到change_P1_0 (); void change_P1_0 (void)second_ok = 0;P1_0 = P1_0;第 21 页6.3 MCS-516.3 MCS-51定时器计数器定时器计数器2 2实现的定时控实现的定时控制制/*定时器计数器定时器计数器2初始化为初始化为50mS自动重装定时,
14、利用定时器计数器自动重装定时,利用定时器计数器2的中断的中断实现实现1秒定时,系统时钟频率秒定时,系统时钟频率=12MHz */#include #define SYSCLK 12000000#define c_tmr2 -(SYSCLK/12.0)/1000*50sfr16 RCAP2 = 0 xca;sfr16 TMR2 = 0 xcc;bit second_ok;unsigned char data sec_count = 20;void TIM2_INIT (void)RCAP2 = c_tmr2;TMR2 = c_tmr2;TR2 = 1;ET2 = 1;EA = 1;第 22 页6
15、.3 MCS-516.3 MCS-51定时器计数器定时器计数器2 2实现的定时控实现的定时控制制void tmr2_ISR(void) interrupt 5TF2 = 0;if (-sec_count = 0) /定时定时1秒秒sec_count = 20;second_ok = 1;第 23 页定时器计数器定时器计数器2 2 带捕捉功能的带捕捉功能的16位的定时器计数器位的定时器计数器 带重装功能的带重装功能的16位的定时器计数器位的定时器计数器 通用异步收发器的波特率发生器通用异步收发器的波特率发生器第 24 页带捕捉功能的带捕捉功能的1616位定位定时器计数器时器计数器第 25 页带重
16、装功能的带重装功能的1616位定位定时器计数器时器计数器第 26 页T2CONT2CON第 27 页6.4 C8051F6.4 C8051F定时器计数器定时器计数器2 2实现的定时控实现的定时控制制u 基本功能与基本功能与MCS-51单片机兼容单片机兼容 捕捉功能的捕捉功能的16位定时器计数器位定时器计数器 硬件自动重装功能的硬件自动重装功能的16位定时器计数器位定时器计数器 翻转(翻转(Toggle)模式(计数器)模式(计数器/定时器定时器2和和4) 系统时钟分频:系统时钟分频:1、2和和12;外部时钟;外部时钟8分频分频第 28 页6.4 C8051F6.4 C8051F定时器计数器定时器
17、计数器2 2实现的定时控实现的定时控制制u 基本功能与基本功能与MCS-51单片机不兼容单片机不兼容 硬件自动重装功能的硬件自动重装功能的16位定时器(位定时器(无捕捉重无捕捉重装装) 两个硬件自动重装功能的两个硬件自动重装功能的8位定时器(位定时器(无捕捉无捕捉重装重装) 内部捕捉功能的内部捕捉功能的16位定时器位定时器 系统时钟分频:系统时钟分频:1和和12;外部时钟;外部时钟8分频分频第 29 页6.5 MCS-516.5 MCS-51定时器计数器定时器计数器0 0实现的信号分实现的信号分频频例例 6 5 利用利用MCS-51单片机定时器计数器单片机定时器计数器0实实现对外部信号的偶数次
18、分频。现对外部信号的偶数次分频。计数器计数器外部信号外部信号溢出溢出中断中断控制端口控制端口分频信号分频信号改变计数初值即可改变分频系数改变计数初值即可改变分频系数第 30 页6.5 MCS-516.5 MCS-51定时器计数器定时器计数器0 0实现的信号分实现的信号分频频#include sbit P1_0 = P10;unsigned int data f_div = 12;void TIM0_INIT (unsigned int div);void main (void)TIM0_INIT (f_div);EA = 1;while (1);第 31 页6.5 MCS-516.5 MCS-51定时器计数器定时器计数器0 0实现的信号分实现的信号分频频void TIM0_INIT (unsigned int div)TMOD |= 6;TH0 = -(div/2);TL0 = TH0;TR0 = 1;ET0 = 1;void tmr0_ISR(void) interrupt 1P1_0 =P1_0;第 32 页 测量信号的频率测量信号的频率高频信号高频信号最高频率最高频率=SYSCLK/4=SYSCLK/4最低频率最低频率= =测量次数测量次数/ /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业间借款合同范本:合同登记与备案
- 2024年度物联网研发与产业化促进合同
- 2024年度知识产权转让合同转让标的及转让条件
- 2024年度电子商务平台退出机制合同
- 幼儿园大班课件
- 《地产销售报告》课件
- 2024年商场电梯清包维修保养项目合同3篇
- 八年级物理上册 3 物态变化教案 (新版)新人教版
- 2024年度企业物业租赁合同
- 2024年度玻璃制品销售合同simpletemplate
- 2023年地域文化学习报告
- 医用耗材配送服务方案
- 安全风险告知书(钢筋)
- 酒店智能化弱电工程施工方案
- 理论催化剂体积计算
- YS/T 950-2014散装红土镍矿取制样方法
- GB/T 2980-2018工程机械轮胎规格、尺寸、气压与负荷
- GB/T 26705-2011轻型印刷纸
- GB/T 19052-2003声学机器和设备发射的噪声噪声测试规范起草和表述的准则
- GB/T 16491-1996电子式万能试验机
- 运输公司系统平台建设、维护及管理制度
评论
0/150
提交评论