【Keil5】定时器应用//普中STC89C5xx-RC Series

本文介绍51单片机中定时器0的初始化配置及应用实例,包括定时器模式选择、计数器设置、中断处理等关键步骤,并通过LED闪烁和按键控制流水灯演示实际操作。

定时器模式一的初始化 

#include <REGX52.H>
#include "DSQ.h"
/**
	* @brief     定时器0初始化和功能函数,1毫秒
	* @param     无
	* @retval    无
	*/
void DSQ_init(void)//1ºÁÃë
{
	TMOD&=0xF0;//寄存器高位不变,模式1
	TMOD|=0X01;//寄存器低位GATE:0 C/T:0 M1:0 M0:1,模式1
	TL0=0X18;//1000计数,模式1是16位,所以须设值TL0和TH0
	TH0=0XFC;
	TF0=0;//初值无溢出,最高位溢出时1,CPU响应后归零,只读
	TR0=1;//与GATE=0共同使用,不考虑INT0外部中断,允许计数
	ET0=1;
	EA=1;
	PT0=0;
}
/*void Timer0_Routine() interrupt 1//这是模板
{
	static int num=0;
	TL0=0X18;//设值,继续1000计数
	TH0=0XFC;
	num++;
	if(num>=1000)//约1秒
	{
		//这里写功能
	}
}*/

 为什么要TMOD&=0xF0;TMOD|=0X01;?TMOD是不可位寻址,须整体赋值。本次只使用定时器0

 

为什么    TF0=0;TR0=1;?

TCON是可位寻址,每一位单独赋值的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

*Min*

写的不好多多包涵~

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

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

打赏作者

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

抵扣说明:

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

余额充值