您的位置:控制工程论坛网论坛 » 软件与程序 » 单片机学习,C51单片机入门经典30课 第二十课

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

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

xilinxue  发表于 2009/2/7 13:15:23      1068 查看 1 回复  [上一主题]  [下一主题]

手机阅读

第20课,变频声救护车报警信号输出试验


这一课,我们做一个更复杂的声音输出,不断交替输出2个频率的声音,类似救护车的声音。同时闪烁2个灯。


―――――――――――――――――――――
#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 P11=P1^1; //LED1
sbit K1=P3^2; //K1
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; //闪灯
}
}
―――――――――――――――――


程序很简单,不用解释了。

1楼 0 0 回复
总共 , 当前 /