我是靠谱客的博主 悲凉饼干,最近开发中收集的这篇文章主要介绍中断函数的写法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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了 

 } 


最后

以上就是悲凉饼干为你收集整理的中断函数的写法的全部内容,希望文章能够帮你解决中断函数的写法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部