控制工程师论坛

软件与程序

单片机学习,C51单片机入门经典30课 第十八课

xilinxue
xilinxue

2009-02-10

第18课,嘀声报警信号输出试验


这一课,我们将学习如何控制蜂鸣器的声音输出,这一课我们只输出一个频率的声音,之后几课我们将逐步输出更为复杂的音乐声,你甚至可以自己输入一个乐谱,直接播放出来。


蜂鸣器有有源和无源的几种。也称为直流蜂鸣器和交流蜂鸣器。有源蜂鸣器只要通上直流电,就会发出预定的声音,比如,连续嘀声,或者间断嘀嘀声,这种声音无法控制,频率也无法改变。一般用在一些简单应用场合。无源蜂鸣器相当于一个简单的喇叭,通上直流点不会发声,只有通上交流电时,才会根据交流点的频率发出相应的声音,这种蜂鸣器可以任意控制声音输出,但是需要用户以相应的信号驱动,工作复杂一些。


我们的试验使用的是交流蜂鸣器。我们的电路中用P17来驱动。


下面看连续输出一个频率的例程:


――――――――――――
#define uchar unsigned char //定义一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include //包括一个52标准内核的头文件
char code dx516[3] _at_ 0x003b;//这是为了仿真设置的
sbit P10=P1^0; //LED1
sbit K1=P3^2; //K1
sbit BEEP=P1^7; //喇叭输出脚
//嘀声报警信号输出试验
void main(void) // 主程序
{
uint n;
while(1)
{
for(n=0;n<100;n++); //延时
BEEP=~BEEP; //取反输出到喇叭的信号
}
}
―――――――――――――――――――


程序里,在延时一点时间之后,就将驱动蜂鸣器的引脚取反,不断循环,形成一个交流信号,蜂鸣器也就响了。


请编译,运行。可以听到发出嘀的连续的声音。

回帖

评论2

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China