提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、STC32F12K54的Timer定时器
STC32F和STC32G的定时器都是16位的。而且寄存器地址是一样的,程序也是通用的。寄存器地址我也不讲了,想知道的自己查数据手册或者看我写的STC32G12K128的定时器内容。
二、程序展示
Timer.h
#ifndef __Timer_H
#define __Timer_H
#include <STC32G.H>
#include <String.h>
#include "System.h"
void Timer_Init(void);
#endif
Timer.c
#include "Timer.h"
u16 time;
/*函数名:TM0_Isr() interrupt 1
*功能:Timer0中断处理函数
*形参:无
*返回值:无
*修改时间:2023/6/56
*作者:小夏
*/
void TM0_Isr() interrupt 1
{
time++;
if(time==100){
P21=!P21;
time=0;
}
}
/*函数名:Timer_Init(u16 Per)
*功能:Timer0初始化 1ms让LED灯电平变换
*形参:无
*返回值:无
*修改时间:2023/6/56
*作者:小夏
*/
void Timer_Init(void){
TMOD=0x00;
TL0=0x1F; //1ms触发一次 由于我们使用的晶振是58mhz,所以1ms跳动5800次,这里是65535-5800.
TH0=0xEA;
TR0=1;
ET0=1;
EA=1;
}
3、效果展示
100ms让P21的LED灯电平变换
文章来源:https://www.toymoban.com/news/detail-513896.html
总结
这就是STC32F12K54的定时器,下一篇我会讲解STC32F做Modbus RTU从机接收主机的数据文章来源地址https://www.toymoban.com/news/detail-513896.html
到了这里,关于[STC32F12K54入门第二步]Timer定时器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!