2008-08-29 00:48#include<reg51.h> #include<intrins.h> sbit K1 =P1^4 ; //PWMÖµÔö¼Ó¼ü sbit K2 =P1^5 ; //PWMÖµ¼õÉÙ¼ü sbit BEEP =P2^7 ; //·äÃùÆ÷ unsigned char PWM=0x7f ; //¸³³õÖµ void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); /*********************************************************/ void main() { P1=0xff; TMOD=0x21 ; TH0=0xfc ; //1msÑÓʱ³£Êý TL0=0x66 ; //ƵÂʵ÷½Ú TH1=PWM ; //Âö¿íµ÷½Ú TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) {
do{ if(PWM!=0xff) {PWM++ ;delayms(10);} else Beep() ; } while(K1==0);
do{ if(PWM!=0x02) {PWM-- ;delayms(10);} else Beep() ; } while(K2==0); } } /*********************************************************/ // ¶¨Ê±Æ÷0ÖжϷþÎñ³ÌÐò £¨ÆµÂÊ£© /*********************************************************/ void timer0() interrupt 1 { TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P3=0x00 ; //Æô¶¯Êä³ö } /*********************************************************/ // ¶¨Ê±Æ÷1ÖжϷþÎñ³ÌÐò £¨Âö¿í£© /*********************************************************/ void timer1() interrupt 3 { TR1=0 ; P3=0xff ; //½áÊøÊä³ö } /*********************************************************/ //·äÃùÆ÷×Ó³ÌÐò /*********************************************************/ void Beep() { unsigned char i ; for (i=0 ;i<100 ;i++) { delay(100) ; BEEP=!BEEP ; //BeepÈ¡·´ } BEEP=1 ; //¹Ø±Õ·äÃùÆ÷ delayms(100); } /*********************************************************/ // ÑÓʱ×Ó³ÌÐò /*********************************************************/ void delay(unsigned char t) { while(t--) ; } /*********************************************************/ // ÑÓʱ×Ó³ÌÐò /*********************************************************/ void delayms(unsigned char ms) { unsigned char i ; while(ms--) { for(i = 0 ; i < 120 ; i++) ; } } /*********************************************************/
|