外部中斷0控制報警器發聲,按鍵按下,喇叭響。按鍵放開,喇叭停止響,程序經學習板測試。圖一為500Hz--150ms的信號波形,圖二為1KHz--250ms的信號波形。
#include"reg51.h" #include"intrins.h" #define uchar unsigned char uchar count; bit flag; sbit BEEP=P3^7; void delay500() { uchar i; for(i=250;i>0;i--) { _nop_(); } } void main() { EA=1; EX0=1; while(1); { } } void timer() interrupt 0 { for(count=150;count>0;count--) { BEEP=~BEEP; delay500(); } for(count=250;count>0;count--) { BEEP=~BEEP; delay500(); delay500(); } }