关于定时器、外部中断的一些理解
定时器方面
写程序时,一般按照以下步骤。
- 设置TMOD
高四位为定时器1,第四位为定时器0。C/T为1时是定时器,为0时是计数器。
- 装初值
THx=(65536-xxxx)/256
TLx=(65536-xxxx)%256 - 开中断允许
EA=1;
ETx=1; - 启动中断
TRx=1;
中断函数为
1 void Tx_time() interrupt 1/3 2 { 3 THx=xxxx; 4 TLx=xxxx; 5 ···; 6 }
外部中断方面
写程序时,一般按照以下步骤。
- 开中断允许
EA=1;
EXx=1; - 设置中断触发方式
ITx=x;
其为0时,是电平触发方式,低电平触发;其为1时,是边沿触发方式,负跳变(1->0)有效。
中断函数为
1 int1_srv() interrupt 2/4 2 { 3 ···; 4 }
作者:祁俊辉
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。