概述
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了
}
最后
以上就是悲凉饼干为你收集整理的中断函数的写法的全部内容,希望文章能够帮你解决中断函数的写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复