51单片机的外部中断的程序怎么弄啊?
我知道了中断的原理,但是不会具体的使用,请写一段简单的c语言程序,我想看看中断的初始化,和怎么调用中断。...
我知道了中断的原理,但是不会具体的使用,请写一段简单的c语言程序,我想看看中断的初始化,和怎么调用中断。
展开
2个回答
展开全部
给你个我的代码你参考下
/*初始化定时器0*/
void intTIME0 (void)
{
TMOD = 0x01; //定时器方式1
TL0 = (65536-50000)%256; //定时器初值设置
TH0 = (65536-50000)/256;
ET0 = 1; //开定时器中断
EA = 1; //开总中断
TR0=1; //定时器开始计数
}
/*定时器0中断*/
void tm0_isr() interrupt 1 using 1 // interrupt 1这个1代表中断号1,如果是 interrupt 0是外部中断0
{ // interrupt 2是外部中断1, interrupt 3是定时器1中断
// interrupt 4是串口中断。
这里加入你自己的代码
}
/*初始化定时器0*/
void intTIME0 (void)
{
TMOD = 0x01; //定时器方式1
TL0 = (65536-50000)%256; //定时器初值设置
TH0 = (65536-50000)/256;
ET0 = 1; //开定时器中断
EA = 1; //开总中断
TR0=1; //定时器开始计数
}
/*定时器0中断*/
void tm0_isr() interrupt 1 using 1 // interrupt 1这个1代表中断号1,如果是 interrupt 0是外部中断0
{ // interrupt 2是外部中断1, interrupt 3是定时器1中断
// interrupt 4是串口中断。
这里加入你自己的代码
}
追问
TL0 = (65536-50000)%256这是什么意思啊?为什么要设置成这样?有没有简单点的啊
追答
有啊你可以自己算好了定时器初值TH0是高8位,TL0是低8位可以直接TH0=0X01;TL0=0X55;数值是我随便写的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体要求发给我 ,有扣扣吗?加你为你解答
追问
qq。。。4026。。45063
qq。。。4026。。45063
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询