在使用定时器的过程中,避免不了使用定时器定时或者查询的情况
但定时器用于定时中断和查询,其实是有实际的区别的
下面直接把分享下我之前代码
定时器查询是通过判断标志位的方式
#include<reg51.h>
#define uint unsigned int //宏定义
sbit led1=P2^0; //定义led1
uint num;
void timer0_init(void); //引用定时器子函数void main()
{
led1 = 0;
num = 0;
timer0_init();
while(1)
{
if(TF0 == 1) //检测是否溢出
{
TF0 = 0; //软件清零
TH0 = (65536-50000)/256; //重新赋值
TL0 = (65536-50000)%256;
num++; //累加器
}
if(num>=140) //学号最后一位为数字7,50ms循环140次,时间为7s
{
num = 0;