【KF8V111控制器】定时器T0配置
来源:互联网 发布:贾扬清 知乎 编辑:程序博客网 时间:2024/05/16 19:24
先看一下定时器框图:
{
定时器T0初始化好了,接下来就是中断函数处理了,官方给出的处理函数名为void int_fun0() __interrupt (0);
{
下面的程序功能是利用定时器T0中断控制输出矩形波,周期为50us,占空比50%:
void SYSTEM_Init(void) //系统时钟配置
{
void PORT_Init(void) //I/O口配置
{
void TIM0_Init(void)
{
void main()
{
}
//中断函数0:0X04入口地址
void int_fun0() __interrupt (0) //时间间隔=(255-205)*1/f =50*0.5us=25us
{
我们选择图中红色圈出的线路,然后根据以下流程和相关的寄存器进行配置,
我们的T0定时器的初始化函数如下:
{
T0CS = 0; //选择定时模式
PSA =1;//不分配预分频器
T0 = 205; //计数初始值
T0IE =1;}
AIE = 1; //开中断
定时器T0初始化好了,接下来就是中断函数处理了,官方给出的处理函数名为void int_fun0() __interrupt (0);
这样我们编一个中断处理函数:
{
T0IF= 0; //清除标志}
。。。。 //相关处理函数
下面的程序功能是利用定时器T0中断控制输出矩形波,周期为50us,占空比50%:
#include<KF8V111.h>
void SYSTEM_Init(void) //系统时钟配置
{
Flag=0;}
IRCS0 =0;
IRCS1 =1;
IRCS2 =1; //系统时钟频率8MHz
void PORT_Init(void) //I/O口配置
{
TR05 = 0; //P05配置为为输出模式}
P0LR5 = 0; //P05初始化输出为0
void TIM0_Init(void)
{
T0CS = 0; //选择定时模式
PSA =1;//不分配预分频器
T0 = 205; //计数初始值
T0IE =1;}
AIE = 1; //开中断
void main()
{
SYSTEM_Init();
PORT_Init();TIM0_Init();
while(1)
{
if(Flag){
Flag =0;P0LR5 = ~P0LR5; /输出取反
}}
}
//中断函数0:0X04入口地址
void int_fun0() __interrupt (0) //时间间隔=(255-205)*1/f =50*0.5us=25us
{
T0IF= 0;
Flag++;
}
这样定时器中断控制时间就OK了!
上面注意点就是中断时间的配置,定时器的频率是系统时钟4分频后的频率!这样根据频率与计数值的关系可以任意制定时间定时!
阅读全文
0 0
- 【KF8V111控制器】定时器T0配置
- 【KF8V111控制器】系统时钟配置
- 【KF8V111控制器】I/O配置
- 【KF8V111控制器】PWM模块配置
- 【KF8V111控制器】A/D转化配置
- STC15W4K32S4 系列 T0定时器输出时钟
- t0
- 20120801-51单片机定时器T0的使用1-中断法
- 用定时器T0的中断控制8位LED闪烁
- C51单片机定时器T0,T1的常用基本设置
- 使用定时器T1的模式2 定时器T0的模式2 并且引入外部事件计数器
- 定时器T0和T1都工作在模式1,每隔两秒让整排LED灯取反
- 用定时器T0查询方式P0口8位控制LED闪烁
- 利用T0定时器定时 100ms,每当定时时间到就使 P1.7 求反
- 按键控制数码管0-99显示,十位不跳,用定时器T0中断
- 基于proteus的51单片机仿真实例五十六、定时器/计数器T0的外部计数实例
- 基于proteus的51单片机仿真实例五十七、定时器/计数器T0的定时实例
- 使用定时器T1的模式2 定时器T0的模式2 每隔两秒左右切换指示灯
- ASP.net MVC5 简介
- 重载和重写
- centos6.5安装docker
- javasrcipt在页面显示字符是document.write("aaa");
- #linux 笔记
- 【KF8V111控制器】定时器T0配置
- mac下安装mcrypt扩展
- 追MM与设计模式
- have a reunion,调整心态,给自己和前女友一波“别样”的相逢(舞步学院精心推荐)
- iOS UINavigationBar 完全透明的方法 超级实用
- Android.mk文件学习笔记
- 调用pdo模式的时候出现"无法加载数据库驱动“
- Python知识点整理
- Nginx启动提示找不到libpcre.so.1解决方法