希望对大家有帮助
单片机源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- #define u8 unsigned char
- #define u16 unsigned int
- sbit beep=P2^3;
- sbit key=P3^0;
- void delay_ms(u16 x)//毫秒延时函数
- {u16 i,j;
- for(i=0;i<x;i++)
- for(j=0;j<115;j++);
- }
- void delay_us(u8 t) //延时10*t微妙
- {u8 i;
- for(i=0;i<=t;i++);
- }
- void BEEP_Alarm(u8 t) //蜂鸣器报警,持续t秒
- {
- u8 i,j,k;
- for(j=0;j<t;j++)
- { for(i=0;i<200;i++)
- {beep=0;delay_us(50);beep=1;delay_us(50);}
- for(k=0;k<100;k++)
- {beep=0;delay_us(110);beep=1;delay_us(110);}
- }
- }
- void led() //报警灯
- {u8 temp,i;
-
- temp=0xf8;
- for(i=0;i<9;i++)
- {P0=temp;
- BEEP_Alarm(1);
- temp=_crol_(temp,1);
- }
- }
-
-
- void main()
- {
- if(key==0)//判断按键被按下
- {
- delay_ms(10);//延时去抖
- if(key==0)//再次判断按键被按下
- {
- while(!key); //等待按键松开
- led();
- }
- }
- }
复制代码
所有资料51hei提供下载:
模本.zip
(58.97 KB, 下载次数: 38)
|