身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇

Posted 小码农U

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇相关的知识,希望对你有一定的参考价值。

身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇

内部定时器/计数器中断

1.定时/计数器的概念

1 、 定时/计数器是单独的硬件功能模块。就是一个容量固定的杯子。每个脉冲就是往杯子里滴一滴水。当杯子里的水满了就溢出,于是向 CPU 申请中断, CPU 跑去执行定时/计数器服务函数。但是定时/计数器则继续定时或者计数。两者各自运行。杯子里预装多少滴水,就叫装初值

2 、 如果用作定时器功能,脉冲信号是来自晶振时钟电路,频率固定,所以能精确定时。

如果用作计数器功能,脉冲信号来自外部引脚的输入,INT/T0(P3.4) 、 INT/T1(P3.5)

2.定时/计数器的模式

STC15 单片机总共有5个定时/计数器硬件和两个 PCA 模块可以做定时器。5个可以同时运行。可以配置多种模式。T0 有模式0、模式1、模式2、模式3T1只有模式0、模式1,模式2没有模式 3 .T2\\T3\\T4.都只有模式0

1. 模式0是16位自动重装。容量是0-65535.

2.模式1是16位手动重装。容量是0-65535.

3.模式2是8位自动重装。自动重装初值,容量0-255

4.模式3不可屏蔽中断的16位自动重装。容量是0-65535

核心图

定时1ms

1.时钟12分频(我们使用传统51的速度)T0x12=0(也就是AUXR &= 0x7f)

进入脉冲就是24/12 = MHz

2.设置成定时模式C/T=0(也就是TMOD &= 0xf0)

3.定时器0启动:TR0=1

4.装初值,直接装入TH0,TL0即可

5.中断ET0,EA闭合

6.定时器0服务函数中P3.2口翻转,也就是LED1亮1ms灭1ms,重装TH0,TL0

void Timer0_Routine() interrupt 1
{
	//重装初值
	TH0 = 0xf8;
    TL0 = 0x30;//定时1ms
	LED1 = ~LED1;
}

采集图

所以1s就也好定时了,我们只需要操作中断服务函数即可

void Timer0_Routine() interrupt 1
{
	static u16 count = 0;
	//重装初值
	TH0 = 0xf8;
    TL0 = 0x30;//定时1ms
	count++;
	if(count>=1000)
	{
		count = 0;
		LED1 = ~LED1;
	}
}

采集图

以上是关于身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇的主要内容,如果未能解决你的问题,请参考以下文章

身价过亿的女王对小码农说中断会了吗

身价过亿的帝都富豪对小码农说预处理学的不错

#yyds干货盘点#单链表一发入魂

身价过亿的女总裁对小码农说你按键会了吗

身价过亿的冰山御萝的姐姐对小码农说你有大一点的液晶吗

身价过亿的冰山御萝对小码农说你液晶能显示吗