救护车报警仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
结果:1、D1灯和D2灯表示两种频率的声音;
2、两种频率的声音交替响
单片机源程序:
- #define uchar unsigned char //定义一下方便使用
- #define uint unsigned int
- #define ulong unsigned long
- #include <reg52.h> //包括一个52标准内核的头文件
- char code dx516[3] _at_ 0x003b;//这是为了仿真设置的
- sbit P10=P1^0; //LED1
- sbit P11=P1^1; //LED2
- sbit BEEP=P1^7; //喇叭输出脚
- //变频声救护车报警信号输出试验
- void main(void) // 主程序
- {
- ulong ul;
- uint n;
- P10=0; //先点一个灯,以便2个灯轮流闪烁
- while(1)
- {
- //输出约1秒种一个频率的声音
- for(ul=0;ul<3000;ul++)
- {
- for(n=0;n<80;n++); //延时
- BEEP=~BEEP; //取反输出到喇叭的信号
- }
- P10=~P10; //闪灯
- P11=~P11; //闪灯
- //输出约1秒种另一个频率的声音
- for(ul=0;ul<2500;ul++)
- {
- for(n=0;n<100;n++); //延时
- BEEP=~BEEP; //取反输出到喇叭的信号
- }
- P10=~P10; //闪灯
- P11=~P11; //闪灯
- }
- }
复制代码
所有资料51hei提供下载:
例10 救护车报警的proteus仿真电路及C语言程序设计.rar
(94.41 KB, 下载次数: 15)
|