蓝桥杯单片机stc15f2k60s2 中断函数代码模板注释

版权声明: https://blog.csdn.net/miaoxiaocheng/article/details/88563687

用到哪些寄存器?

  • 中断使能寄存器//                                              EA=1(总使能开),ET0=1(T0中断允许)
  •  定时器/计数器控制寄存器TCON//                   TH0TL0设定值确定时间间隔(方法下面讲)                                                                                                                           TR0=1(定时器0启动),TF0中断函 数里面会用到
  • 定时器 / 计数器工作模式寄存器TMOD //         TMOD=0x01(TH0,TL0全用

代码模板

void main()
{
	EA=1;//总使能开
	TMOD=0x01;//十六位不可重装载模式,TH0,TL0全用
 
	TH0=0xfc;//设定中断时间间隔,后面会讲
	TL0=0x67;
 
	ET0=1;//T0中断允许
	TR0=1;//启动T0

}


void InterruptTime0() interrupt 1
{

	TH0=0xfc;//重载
	TL0=0x67;

	//要进行的操作
}

 官方说明书中对这些寄存器的介绍

中断使能寄存器:(画出比赛用的)

 定时器/计数器控制寄存器TCON(画出比赛用的)

 

 定时器 / 计数器工作模式寄存器TMOD

 

怎么设置定时的时间?

 技巧

TH0=(65536-想定的时间*921600)/256

TL0=(65536-想定的时间*921600)%256

另外想定的时间不能超过0.07秒

原理

stc15f2k60s2机器周期为12/11059200

65535时溢出

所以

(65536-要设置的数)*机器周期=要设置的时间

猜你喜欢

转载自blog.csdn.net/miaoxiaocheng/article/details/88563687
今日推荐