12MHz晶振
机器周期为1us
T1工作方式1为16位计数模式最大可以65536us=65ms
可以采用50ms一次的中断方式
并在中断里面使用
静态变量记录中断次数
当中断20次的时候就是1秒钟的时间了
//初始化部分
TMOD|=0x10;//T1 M0 置1 工作方式1 16位计数模式
TH1=(65536-50000)/256; //取高8位 设置初始值
TL1=(65536-50000)%256; //取低8位
ET1=1;//定时器中断允许打开
TR1=1;//开计数
EA=1;//打开总中断允许
//中断处理部分
static unsigned char cont=0;//保存进入中断的次数
TH1=(65536-50000)/256;//重装定时器
TL1=(65536-50000)%256;
if(++cont==20)//检测是否到了1秒钟
{
cont=0;//清零次数
//1秒钟到了,添加处理代码
}本回答被提问者采纳