蜂鸣器发出“滴滴”声

 时间:2018-06-30 06:04:25 贡献者:dlyj789

导读:#include sbit D1=P1^0; int a; void main() { while(1) { D1=0; a=25000; while(--a); D1=1; a=25000; while(--a); } } Lesson2.2: 8 个发光管由上至下间隔 1s 流动,其中每个管亮 500ms,灭 500ms,亮时蜂鸣器响, 灭时关闭蜂鸣器,

汽车倒车喇叭货车面包车轿车蜂鸣器滴滴声12v24v倒车喇叭包邮
汽车倒车喇叭货车面包车轿车蜂鸣器滴滴声12v24v倒车喇叭包邮

#include sbit D1=P1^0; int a; void main() { while(1) { D1=0; a=25000; while(--a); D1=1; a=25000; while(--a); } } Lesson2.2: 8 个发光管由上至下间隔 1s 流动,其中每个管亮 500ms,灭 500ms,亮时蜂鸣器响, 灭时关闭蜂鸣器,一直重复下去。

#include #include #define uint unsigned int #define uchar unsigned char void delay(uint); uchar temp; sbit beep=P2^3; void main() { temp=0xfe; while(1) { P1=temp; beep=0; delay(500); P1=0xff; beep=1; delay(500); temp=_crol_(temp,1); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } Lesson2.3: 8 个发光管来回流动,第个管亮 100ms,流动时让蜂鸣器发出“滴滴”声。

#include #include #define uint unsigned int #define uchar unsigned char void delay(uint); uchar temp; int i,j; sbit beep=P2^3; void main() { temp=0xfe; while(1) { for(i=7;i>0;i--) { beep=0; delay(100); beep=1; delay(100); beep=0; delay(100); beep=1; P1=temp; delay(500); temp=_crol_(temp,1); } for(i=7;i>0;i--) { beep=0; delay(100); beep=1; delay(100); beep=0; delay(100); beep=1; P1=temp; delay(500); temp=_cror_(temp,1); } }

} void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } Lesson2.4: 用 8 个发光管演示出 8 位二进制数累加过程。

} Lesson2.5: 8 个发光管间隔 200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再 以 300ms 间隔全部闪烁 5 次。

重复此过程。

#include #include #define uint unsigned int #define uchar unsigned char void delay (uint); uchar temp; int i,j; sbit beep=P2^3; void main() { while(1) { temp=0xfe; for(i=7;i>0;i--) { P1=temp; delay(200); temp=_crol_(temp,1); } for(i=8;i>0;i--) { P1=temp; delay(200); temp=_cror_(temp,1); } for(i=0;i<5;i++)

{ P1=0xff; delay(300); P1=0x00; delay(300); } P1=0xff; delay(300); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } Lesson2.6: 间隔 300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到 8 个管亮, 然后重复整个过程。

(注意此程序中移位的使用,体会按位左右移与循环左右移的区别!) #include #include #define uint unsigned int #define uchar unsigned char void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } uint i,j; uchar temp; void main() { while(1) { temp=0xfe; for(j=0;j<8;j++) { for(i=0;i<8-j;i++) { P1=temp; delay(500); temp=_crol_(temp,1);

} temp=_crol_(temp,j); P1=0xff; delay(150); temp=temp<<1; } } } Lesson2.7: 间隔 300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从 两边往中间流动三次;再从中间往两边流动三次;8 个全部闪烁 3 次;关闭发光管,程序停 止。

#include #include #define uint unsigned int #define uchar unsigned char sbit beep=P2^3; uchar temp; int i,j=3; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { beep=0; delay(300); beep=1; for(i=0;i<3;i++) //奇偶闪烁三遍。

{ P1=0xaa; delay(300); P1=~P1; delay(300); } beep=0; delay(300); beep=1; temp=0xfe; //单个循环三遍,带有蜂鸣器提示。

while(j--) {

for(i=0;i<8;i++) { P1=temp; temp=_crol_(temp,1); delay(300); } beep=0; delay(300); beep=1; for(i=0;i<8;i++) { temp=_cror_(temp,1); P1=temp; delay(300); } } beep=0; delay(300); beep=1; for(j=0;j<3;j++) { P1=0x7e; delay(300); P1=0xbd; delay(300); P1=0xdb; delay(300); P1=0xe7; delay(300); P1=0xdb; delay(300); P1=0xbd; delay(300); } P1=0x7e; delay(300); P1=0xff; delay(300); beep=0; delay(300); beep=1; for(i=0;i<3;i++) { P1=0x00; //感觉这个代码有些繁琐,有好建议改进的 //网友还请慷慨回帖,咱们一起研究进步。

//两边向中间后中间向两边整体三遍。

//8 个灯全部闪烁三次。

delay(300); P1=0xff; delay(300); } P1=0xff; while(1); } 希望对你的学习有所帮助!

 
 

微信扫一扫 送福利