技术文档

单片机叮咚 用51单片机制作一个门铃

小编 2024-10-09 技术文档 23 0

用51单片机制作一个门铃

51单片机应用实例

当按下开关SP1,AT89S51单片机产生“叮咚”声从P1.0端口输出到LM386,经过放大之后送入喇叭。

电路原理图

系统板上硬件连线

(1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;

(2. 在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭;

(3. 把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;

程序设计方法

(1. 我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。

(2. 在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。

(3. “叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。

C语言源程序

#include <AT89X51.H>

unsigned char t5hz;

unsigned char t7hz;

unsigned int tcnt;

bit stop;

bit flag;

void main(void)

{

unsigned char i,j;

TMOD=0x02;

TH0=0x06;

TL0=0x06;

ET0=1;

EA=1;

while(1)

{

if(P3_7==0)

{

for(i=10;i>0;i--)

for(j=248;j>0;j--);

if(P3_7==0)

{

t5hz=0;

t7hz=0;

tcnt=0;

flag=0;

stop=0;

TR0=1;

while(stop==0);

}

}

}

}

void t0(void) interrupt 1 using 0

{

tcnt++;

if(tcnt==2000)

{

tcnt=0;

if(flag==0)

{

flag=~flag;

}

else

{

stop=1;

TR0=0;

}

}

if(flag==0)

{

t7hz++;

if(t7hz==3)

{

t7hz=0;

P1_0=~P1_0;

}

}

else

{

t5hz++;

if(t5hz==4)

{

t5hz=0;

P1_0=~P1_0;

}

}

}

基于51单片机的时钟电路应用

硬件:STC89C52RC一片(含基座),74HC595三片,74HC138一片,ULN2003A两片,74HC573一片,四位显示共阴极数码管两件,LED红色小灯27只,轻触按键三只,10K欧姆电阻14只,470欧姆电阻8只,104电容三只,外部晶振电路一组,另加电源接口(不含复位电路)

原理:使用定时器1,加中断程序,定时0.02秒,循环50次为一秒,然后按照时间的60进制依次累加,经函数处理,将时间分解成八位数码管显示的数据,并通过74HC595芯片将串行数据分为并行数据,并将其发送给74HC573芯片,经电阻限流,控制共阴极数码管显示每一位数据,通过74HC138芯片不断扫描八位数码管的阴极,使数据不断显示,利用人眼视觉暂留现象形成时钟显示的状态。

配有三个轻触按键,第一个按键接89C52芯片的外部中断引脚,可以实现时钟初始时间的依次设置,另外两个按键分别为加和减,配合使用。

当秒数据变成零的时候,意味着分钟数进位,将启动LED小灯显示程序。小灯共有27只,排成心形,并有并联结构,共需14个数据引脚产生驱动电压差,驱动芯片为ULN2003A芯片,配限流电阻,它的数据来自两颗74HC595芯片,当分钟越位时,将定义好的二进制数据经74HC595芯片解析发出,信号交给ULN2003A,通过改变设置好的二进制数组,可以改变小灯显示效果。

需要注意的是:一、启动设置时间的按键动用了外部中断引脚,当引脚为低电平时,立即响应中断程序,但轻触按键有抖动现象,虽加了电容,但实际效果并不好,这里主要用来熟悉外部中断命令的使用;二、未加复位电路,在自己制作的时候可以加上;三、74HC573芯片的使能引脚由单片机一个引脚控制,用于后期程序开发使用;四、图片中配有无源蜂鸣器,但本人模拟电路知识匮乏,未能实现“叮咚”响声的效果;五、本人是初学者,内部程序用的是最简单的语句,过于冗杂,请大家不吝赐教;六、经实验,时钟精度并不高,问题不知道出在哪里,很抱歉。

这篇文章用于学习交流,内部程序和电路不得用于商业用途。

单片机爱好者请加我微信:LL15511990773

以下为视频效果:

以下为电路板正面图:

电路板正面图

以下为电路板背面图,由于是洞洞板,用的漆包线连接,相貌丑陋,请不要计较:

电路板背面图(太丑,凑活看吧)

以下为电路原理图(不含晶振、复位电路,可自行补齐):

电路板原理图

以下为内部程序:

第一页

第二页

第三页

第四页

第五页

第六页

第七页

第八页

以下为LED小灯数据真值表,通过改变它,可以实现不同的显示效果(ULN2003A输入高电平,输出低电平信号,小灯共接高电平,但在编辑数据时,高电平小灯点亮,所以作共阴极处理即可):

谢谢!

相关问答

求柏达楼宇对讲说明书_土巴兔装修问答

十六首和铉音乐选择适用于30数码10直按系统清晰度:黑白420TV线彩色12万像素。频率响应:300~3400HZ工作电压:DC12V音频输出最大不失真功率主...

猜你喜欢