求51单片机同时控制流水灯和蜂鸣器七段数码管,分别用3个开关控制,流水灯在p1口p2口七段数码管p0^1蜂鸣器

求51单片机同时控制流水灯和蜂鸣器七段数码管,分别用3个开关控制,流水灯在p1口p2口七段数码管p0^1蜂鸣器,第1张

我这有两个以前写好的数码管显示程序及左右流水灯程序,但是是分开的,你自己再修改下吧,
把两个合到一起,再加入按键就可。
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
uchar num;
uchar code table[]={
0xC0,0XF9,0X24,0X30,0X19,//0,1,2,3,4
0X12,0X02,0XF8,0X00,0X10,//5,6,7,8,9
0X08,0X03,0XC6,0X21,0X06,0X0E,};//A,B,C,D,E,F
void delay(uint x ) //延时函数声明,延时程序_起
{
uint y;
for(;x>0;x--)
for(y=0;y<114;y++);//延时程序
}
void main()
{
while(1)
for(num=0;num<26;num++)
{
P1=table[num];
delay(1000);
}
}
以下左右流水灯程序
#include<reg52h>//主文件定义
#include<intrinsh>//位移主文件定义
#include<stdioh>
#define uchar unsigned char
#define uint unsigned int/
sbit led=P0^0;//位定义
sbit led1=P0^1;/
uchar temp,num,num1,num2;
void delay(uint x)//延时程序
{
uint y;
for(;x>0;x--)
for(y=100;y>0;y--);
}
void main()//主函数
{
temp=0xfe;//起始位定义:11111110
/以下5月31日改快速左右移动/

while(1)
{
for(num=0;num<1;num++)//左移次数
{
for(num=0;num<8;num++)//左移位数
{
P1=temp;
delay(100);//延时程序此处必须加延时程序
temp=_crol_(temp,1);//循环左移起始位位移1位
delay(100);//延时程序
}
}
for(num1=0;num1<1;num1++)//右移次数
{
for(num1=0;num1<8;num1++)//右移位数
{
P1=temp;

delay(100);//延时程序此处必须加延时程序

temp=_cror_(temp,1);//循环右移起始位位移1位
delay(100);//延时程序
}
}
}
}

#include "reg51h"
sbit P10=P1^0; //喇叭
sbit P14=P1^4; //按键
#define uc unsigned char//每次定义变量都要写unsigned char,不爽。精简了
void delay(uc d1,d2);//延时用两个变量,使得延时范围更大
//单片机的输入信号太弱,无法驱动喇叭!但是仿真时可以省略。
//单片机输出高电平,喇叭低电平不响;反之则响
main()
{
uc i=0;
P10=1;
while(1)
{
if(!P14);//按下按键不放,啥都不干
else//不按下按键,就叫个不停
{
for(i=0;i<50;i++)//i<50改为200,观察效果
{
P10=0;delay(1,100);//响
P10=1;delay(1,100);//不响
}
for(i=0;i<100;i++)//i<100改为250,观察效果
{
P10=0;delay(1,10);//响
P10=1;delay(1,10);//不响。改为delay(1,100)看看
}
}
}
}
void delay(uc d1,d2) //延时子程序
{
uc i,j;//定义字符型变量,范围为0至255
for (i=0;i<d1;i++)for(j=0;j<d2;j++);
}
看看能否解决

蜂鸣器两端口该怎么接线
您好!是一个接地一个信号,但是电路设计多是采用直接接正,三极管截止控制地。

蜂鸣器是有正负的,首先分清楚正负,(新的长脚是正,短脚负,如果是旧的在脚的边上有标注的,如果没有标注,用电池试试,不会烧的。)。然后就是还有电压限制的,一般的蜂鸣器是5V电压的,蜂鸣器在单片机上用的话建议用一个三极管驱动好些(三极管贰动为截止负极)电路太简单,我就不画图了,有什么问题直接问我吧 qq 247947471。一般设计也是多采用三极管驱动的。至于蜂鸣器的影响和声音吗,主要是看蜂鸣器的参数了,跟声音分贝有关系,有高分贝的。
电脑蜂鸣器怎么安装在主板上
是机箱带的蜂鸣器,还是单独购买的电脑用蜂鸣器?只要是带四针(实际只有两针)的插头,插到主板的供SPEAKER"座上就行,不分正负。如果不带插头的蜂鸣器,最好焊个相配的插头再插。
各种蜂鸣器的用途在哪里
主要是通过电子线路\单片机的控制发出声音,如报警声,提示声等,包括播放录音等
主板蜂鸣器怎么接
主板上有speaker插座,一般都有标识,标识略有不同

例图
proteus里的仿真蜂鸣器怎么设置,怎么接才能响! 150分
请将蜂鸣器的正极通过连接线连接到电源的VCC中,不要只使用连接符号,使用POWER符号是不会发声的,必须实际连接,如参考图所示

如果按下图使用POWER符号连接,蜂鸣器就不会发声。
蜂鸣器工作原理是什么,为什么需要接振荡的信号才能工作?
1、蜂鸣器类型及对应发声原理

蜂鸣器有“有源”和“无源”两种类型,有源是指其内部自带多谐振荡器等结构,外部只需要提供工作电压,它(内部的振荡器就工作)就能发出固定频率的声音;而无源的是指内部没有带振荡源,需要外部驱动电路提供一定频率的驱动信号。

你所使用的实验板上的蜂鸣器,应该是无源蜂鸣器,需要输入振荡信号使它工作。

2、蜂鸣器的声音

对于无源蜂鸣器,我们就可以通过控制振荡频率来发出不同的声音,常用的频率是1K,2K,4K等。

通常单片机开发中参考下面这个频率表来进行实验。

do(1) re(2) m(3) fa(4) so(5) la(6) si(7)

低 262Hz 294 330 349 392 440 494

中_524Hz 587 659 698 784 880 988

高_1046Hz 1175 1318 1397 1568 1760 1976

超高2092Hz 2351 2636 2794 3136 3520 3952

上面这些频率加上不同的时长间隔,可以组合出乐曲。

控制方式,常用单片机的PWM模块,或者直接用IO口模拟不同频率方波。

你使用振荡信号不同,蜂鸣器发出声音频率不同,就是这个原因。

3、工作原理

有源和无源蜂鸣器,工作原理不同。

(1)有源蜂鸣器,也称压电式压蜂鸣器,主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

其中最重要的就是它的压电蜂鸣片,通常这是一种压电陶瓷,能进行电能与机械能的转换。

发声过程为:外部提供恒定直流电压,提供能量给多谐振荡器,多揩振荡器起振,并提供变化的电压和频率给压电陶瓷,压电陶瓷将电能转化为机械能,也就发出了声音。

(2)无源蜂鸣器,也称电磁式蜂鸣器,主要由永磁体,线圈,振荡片构成。

发声过程为:外部按一定频率提供驱动一个振荡信号(一定占空比的方波,该信号作用于线圈,产生的磁声与永磁体共同作用,使一片金属片(振荡片)发生振动,从而发出声音。

以上为工作原理。

4、工程上的注意事项

(1)对于无源蜂鸣器,经常采取并联一个二极管的方式,进行保护。作用是吸收电磁线圈的电感在方波驱动时,产生的反激尖峰。这个尖蜂可能导致系统电源线和信号线的高频干扰。

(2)在单片机应用中,有很多蜂鸣器复用的情况。通常在驱动电路上加电容隔离直流信号,就可以进行复用。但要注意软件上的设计,避免发生干扰。
单片机怎么接一个蜂鸣器
复位电路断开了!数码管是 共阳否?

LED 指示灯,当R5电阻 是 300Ω,直插LED导通压降18V~2V,算2V;R5 上的压降Ur5 5V-2V=3V,R5电流 Ir5= Ur5/R5=3V/300Ω=10mA;

LED 的普遍 工作电流都在 5mA左右,10mA 不会有明显亮度增加,只会耗电、损坏LED寿命;建议R5 采用 470Ω~1KΩ;

蜂鸣器 直接用 NPN 三极管接地,B极串1K电阻;
外接一个蜂鸣器,怎么才可以 15分
接在蓝灯开关之后,绿灯开关之前,也就是连成蓝灯开关后-蜂鸣器-绿灯开关前。
蜂鸣器引脚怎么确定哪个是接电源的
只有两个脚你说怎么接,任何直流电气元件最低是2根线,不然怎么组成通路,只有两个脚就不要去问怎么哪个叫接电源,我只是反问一下如果只有一个脚那该怎么接电源,任何直流电源都有正负两根线,你该知道怎么接了,只是分不清你是有源蜂鸣器还是无源的,有源蜂鸣的话接线一正一负,无源蜂鸣器就不分正负极了,两个脚正负极随便接,你还是先看清楚是无源还是有源
电脑蜂鸣器应该插在电脑哪个接口?
主板有字母:Buzzer或者BUZ

#include
sbit beep=p0^4;
void main()
{
beep=0;
while(1);
}试试这个怎样,单片机在执行完程序之后会回到初始状态,然后再重新执行程序,所以蜂鸣器就会反复的开和关,听起来声音会小很多;加个while(1)死循环,让程序一直保持在beep=0的状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13159461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-13
下一篇 2023-06-13

发表评论

登录后才能评论

评论列表(0条)

保存