中断函数的写法

1.定时/计数器

初始化程序应完成如下工作:

 对TMOD赋值,以确定T0和T1的工作方式。
 计算初值,并将其写入TH0、TL0或TH1、TL1。 
 中断方式时,则对IE赋值,开放中断。 
 使TR0或TR1置位,启动定时/计数器定时或计数。


TMOD=0x01;              \\设定工作方式为16位定时器 
TH0=(65536-50000)/256;    \\赋定时器T0高四的值为50MS(对256求模)  
TL0=(65536-50000)%256;  \\赋定时器T0低四的值为50MS(对256求余) 
EA=1;                    \\开总中断 
ET0=1;                   \\开定时器T0中断  
TR0=1;                   \\启动定时器T0


定时器时间到产生中断就自动跳到以下中断函数,中断函数不需要做任何声明;


void timer0( ) interrupt 1     \\ 5个中断源的排序:0代表外部中断0中断 ,1代表定时器/计数器0中断 ,

2代表外部中断1中断, 3代表定时器/计数器1, 4代表串行中断的中断  

  TH0=(65536-50000)/256;   \\重装初值  

TL0=(65536-50000)%256;   \\重装初值


 \\往下写CPU要处理的事情就OK了   

}


1.中断响应条件

  中断源有中断请求; 
  此中断源的中断允许位为1;
  CPU开中断(即EA=1)。

以上三条同时满足时,CPU才有可能响应中断。


P3.2口的外部中断 
EA=1;                   //开总中断  
EX0=1;                 //开外部中断0 
IT0=1;                 //当IT=0时为电平的外部中断触发方式, 
当IT=1时位跳变沿外部中断触发方式 
TCON=0x01;      
  
当符合外部中断的条件时执行下面的中断函数  


void exter0() interrupt 0     \\ 5个中断源的排序:0代表外部中断0中断 ,1代表定时器/计数器0中断 ,

2代表外部中断1中断, 3代表定时器/计数器1, 4代表串行中断的中断  
   { 
\\这里下写CPU要处理的事情就OK了 

 } 


  • 14
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值