[STC32F12K54入门第二步]Timer定时器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、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灯电平变换
在这里插入图片描述
在这里插入图片描述

总结

这就是STC32F12K54的定时器,下一篇我会讲解STC32F做Modbus RTU从机接收主机的数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片有机机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值