标题:
求助大神,为什么我的中断延时实现不了
[打印本页]
作者:
qq363746379
时间:
2015-5-31 23:03
标题:
求助大神,为什么我的中断延时实现不了
#include<Reg51.h>
unsigned int delay1=0;
sbit Key1=P2^6;
int main()
{
void Timer1(int count);
P2=0xff;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
Key1=1;
Timer1(80);
Key1=0;
}
}
void Timer1(int count) //延时函数
{
delay1=count;
while(delay1!=0);
}
void zhongduan()interrupt 1 //中断服务函数
{
if(delay1!=0)
delay1--;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
复制代码
作者:
电子爱好者life
时间:
2015-6-1 00:51
首先提点建议,函数声明写在主函数之前就可以。
作者:
电子爱好者life
时间:
2015-6-1 00:59
停在while(delay1!=0);这里了
作者:
电子爱好者life
时间:
2015-6-1 01:09
#include<Reg52.h>
unsigned char count=0;
sbit LED = P2^6;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
;
}
}
void Timer0()interrupt 1 //中断服务函数
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==80)//取晶振为12MHZ是,80*50=4000MS=4s
{
count=0;
LED =~LED; //实现4S取反一次
}
}
复制代码
你的int main() 却没有返回值。
作者:
fangel
时间:
2015-6-1 14:24
你这是Timer1定时中断,你首先要查Timer1定时器设置正确不,然后再查能否进入中断
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1