应广单片机定时器TIME16配置
应广单片机定时器TIME16配置,关于time16的配置
$T16M sysCLK,/64,BIT15; $T16M sysCLK,/64,BIT15;
选择(SYSCLK/64)当Timer16时钟源,每2^16个时钟周期产生一次INTRQ.2=1系统时钟 System Clock = HRC /2=8 MHz
sysclk/64=8 MHz/64=125 kHz,约每524 mS产生一次INTRQ.2=1
两个注意点的点:时钟源和BIT?记得2的BIT?+1次方,这个数是产生中断的时间
入下面的代码
#include "extern.h"BIT LED_G : PA.3;#define GRE_LED_FLASH {if(LED_G){LED_G=0;}else{ LED_G=1;}}
// $ LED_G toggle; //翻转SW信号/*****************LED*******************/
word ucFlashTmrCnt;
BIT ubMsFlag; /****************系统时钟*********************/
bit FLAG_NMS;
byte count;
word usTmrCnt;/**************T16*************************/
void TIME16_Init(void)
{/*设置计数值*/usTmrCnt=0;//488;ubMsFlag=0;/*定时器配置*/$ T16M IHRC, /1, BIT11; //16MHz / 1 = 16MHz : the time base of T16.INTEN.T16 =1;/*开启定时中断*/Intrq.T16 =0;/*清除中断请求*/
}void FPPA0 (void)
{.ADJUST_IC SYSCLK=IHRC/8, IHRC=16MHz, VDD=3.3V;$ CLKMD IHRC/8,En_IHRC,En_ILRC;/*上电延时*/.delay 40000;/*端口配置*/$ LED_G OUT,HIGH; /*定时器配置*/TIME16_Init();ENGINT //全局中断开启while (1){}
}void Interrupt ( void )
{pushaf;if ( Intrq.T16 ) {Intrq.T16 = 0;/*重新设置计数值*/STT16 usTmrCnt;$ LED_G toggle; }popaf;
}
计算方式:
$ T16M IHRC, /1, BIT11;
IHRC = 16M
BIT11 -> 2的11+1次方 = 4096
所以中断的频率 = 16M (分频系数1如果是其他 除以相对应的数值 )除以4096 = 0.00390M
= 3.9K 大概是这个频率
因为我们再中断函数里面做gpio翻转,所以可以使用示波器进行测试核对。
另外计定时计数器的数值一直向上计数,计数的储值也可以设置,使用stt16 ,这样可以更灵活的设置定时中断的时间。
/****************系统时钟*********************/
bit FLAG_NMS;
byte count;
word usTmrCnt;/**************T16*************************/
void TIME16_Init(void)
{/*设置计数值*/usTmrCnt=488;ubMsFlag=0;/*定时器配置*/$ T16M IHRC, /1, BIT11; //16MHz / 1 = 16MHz : the time base of T16.INTEN.T16 =1;/*开启定时中断*/Intrq.T16 =0;/*清除中断请求*/
}void Interrupt ( void )
{pushaf;if ( Intrq.T16 ) {Intrq.T16 = 0;/*重新设置计数值*/STT16 usTmrCnt;}popaf;
}
第一次使用这款单片机,有可能理解有误,如果是朋友们看待错误,希望留言指出,大家一起学习用好这款单片机。
应广单片机定时器TIME16配置相关推荐
- 应广单片机定时器中断配置
应广单片机主要应用于消费电子,资源有限,只有一个16bit定时器,因此用好T16定时器就非常关键了.可以说是整个单片机系统的核心配置 不说那么多了,直接上代码. BIT LED_G ...
- 应广单片机开发案例应广单片机11bitPWM配置
应广单片机有两种硬件pwm,一种是8bit,另外一种是11bit,8bit的配置稍微简单一些.现在以pms133/psm134为例子,贴一个11bit pwm配置的例子.修改一下可以应用于应广其他系列 ...
- 应广单片机11bitPWM配置
应广单片机有两种硬件pwm,一种是8bit,另外一种是11bit,8bit的配置稍微简单一些.现在以pms133/psm134为例子,贴一个11bit pwm配置的例子.修改一下可以应用于应广其他系列 ...
- PMS150C应广单片机开发案例
PMS150C应广单片机开发案例 应广单片机价格美丽,性价比高,mini-c好用,适用于消费电子开发.但是案例demo太少了,为了方便大家能够快速入门.这里贴出了一份经典PMS150C的点灯程序代码. ...
- 应广单片机-按键状态机(单击、双击、长按)
在正常0.5s内无按键操作为启始按键扫描条件下,扫描按键将产生以下3种按键事件: 1.长按事件:任何1次出现的长按操作都属于长按事件 2.单击事件:1次短按操作后,间隔2s内没有短按操作 3.双击事件 ...
- 应广单片机框架程序_T16应用
T16是应广单片机唯一的一个16bit定时器,一个定时器要么用了计时,要么用来计数.一个定时器,那怎么才能够又用来计时,又可以用了计数呢?这个没有问题,在一定频率(时间)范围内配合中断使用,不仅可以用 ...
- 应广单片机adc_应广单片机adc和pwm例程
应广单片机Otp单核系列主要有以下几个系列,15x系列为纯iO,13x系列为带12bit的adc,17x系列为带8bit的adc,现在我用pms132B写个adc/pwm例程,方便大家快速上手.不多说 ...
- 应广PMS171B(1)--概述配置端口输出高低电平
应广PMS171B--1概述&&配置端口输出高低电平 概述 PMS171B模板 IO 引脚设置 下面例程为PA7口输出1s高电平,输出0.5s低电平. 演示结果 视频教学 最后 概述 ...
- 应广单片机_呼吸灯理解
计数器的介绍 对于应广单片机来说,它提供了3种计数器,分别为 TM2\TM3\T16 其中对于TM2\TM3来说,是属于PWM计数器,用法是简单的,但是要求比较高,需要对应的引脚来达到它的要求 从芯片 ...
最新文章
- 卷积核输出特征图大小的计算 深度学习
- Selenium2+python自动化46-js解决click失效问题
- python爬大学生就业信息报告_Python程序员招聘市场简要报告
- 手写一个合格的前端脚手架
- Serverless 实战 —— 快速搭建 SpringBoot 应用
- python3.6新特性
- python的合法名称_python 命名规范
- linux计划任务一小时,linux,计划任务,每小时执行一次(共7篇).docx
- python 弹窗炸弹
- igs时间和utc_UTC时间与北京时间的差多久?
- 自动登陆qq空间代码
- 开发环境 - pip install cv2下载失败的解决办法
- 老文新读 | 大数据于国内影视行业的意义及应用
- ADN FDN SDN
- arcgis api for javascript4.18加载天地图服务,并且加载自己的发布的动态地图服务
- JavaWeb项目中出现No converter found for return value of type的解决方法
- 第一章 FANUC数控机床采集方案
- PCL点云的旋转平移矩阵
- 快速查询单号物流,导出详细信息生成表格
- 如何快捷得去除代码中的行号?