欢迎来到天天文库
浏览记录
ID:43022520
大小:25.51 KB
页数:4页
时间:2019-09-25
《漏水检测系统设计程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、89C52控制外部I/0接口程序: ORG 0 START: MOV R2,#8 MOV A,#0FEH SETB C LOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP M
2、OV R2,#8 LOOP1: MOV P1,A LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20 D2:
3、 MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END 89C52控制LED显示电路及蜂鸣器报警电路程序://利用定时器控制产生占空比可变的PWM波//按K1,PWM值增加,则占空比减小,LED灯渐暗。//按K2,PWM值减小,则占空比增加,LED灯渐亮
4、。//当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。 #include#includesbit K1=P1^0; //增加键sbit K2=P1^1; //减少键sbit BEEP=P2^1; //蜂鸣器unsignedcharPWM=0x7f; //赋初值voidBeep();voiddelayms(unsignedcharms);voi
5、ddelay(unsignedchart);voidmain(){ P0=0xff; TMOD=0x21; TH0=0xfc; //1ms延时常数12M TL0=0x18; //频率调节 TH1=PWM; //脉宽调节 TL1=0; EA=1; ET0=1; ET1=1; TR0=1; while(1) { do{ if(
6、PWM!=0xff) {PWM++;delayms(10);} elseBeep(); } while(K1==0); do{ if(PWM!=0x02) {PWM--;delayms(10);} elseBeep(); } while(K2==0); }}//定时器0中断服务程序.voidtimer0()interrupt1 //控制低
7、电平{ TR1=0; TH0=0xfc; TL0=0x66; TH1=PWM; TR1=1; P0=0x00; //启动输出}//定时器1中断服务程序voidtimer1()interrupt3 //控制高电平{ TR1=0; P0=0xff; //结束输出}//蜂鸣器子程序voidBeep() { unsignedchari ; for(i=0 ;i<100 ;i++) {
8、 delay(100) ; BEEP=!BEEP ; //Beep取反 } BEEP=1 ; //关闭蜂鸣器 delayms(100); }//延时子程序 voiddelay(unsignedchart) { while(t--) ; }//延时子程序voiddelayms(unsignedch
此文档下载收益归作者所有