写了一个程序,每隔一秒蜂鸣器响一下。开始程序如下: #include<reg52.h> sbit beep=P3^3; unsigned int timenum; void delay(unsigned int h) { while(h--); }
void main() { TMOD=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; timenum=0; while(1); { if(timenum==20) { timenum=0; beep=0; delay(5000); beep=1; } } }
void buzzer() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; timenum++;
}#include<reg52.h> sbit beep=P3^3; unsigned int timenum; void delay(unsigned int h) { while(h--); }
void main() { TMOD=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; timenum=0; while(1); { if(timenum==20) { timenum=0; beep=0; delay(5000); beep=1; } } }
void buzzer() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; timenum++;
} 程序未出错,但有如下WARNING:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT:?PR?_DELAY?TIMER1 下载到单片机后,无法实现功能,请问这是为什么呀?
另问一下关于单片机实现按键扫描用什么方式好?中断,还是写在主函数里? 请各位指教,谢谢了! |