音乐门铃
- 格式:doc
- 大小:766.00 KB
- 文档页数:22
时间:周四上午 3,4,5,6节
组号:2
创新性实验报告
题目音乐门铃设计
学院电子信息学院
专业电子信息工程
班级08041816,08041818
学号08041406,08041430
学生姓名钟婷,吴登榜
指导教师刘公致
完成日期2010年12月
摘要
AT89C2051是由ATMEL公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被广大用户接受,其程序的电可擦写特性,使得开发与试验比较容易。
我们采用51单片机开发板来完成制作,软硬件相互结合,实现播放音乐功能的电子门铃,并且外加显示屏显示欢迎信息,目的是让在等待在门口的人感受音乐和享有愉悦的心情,减少等待的焦躁。
选择AT89C2051单片机,通过T0定时中断,并配合P1.5引脚输出音频频率;P1.5接扬声器;通过P3.7引脚接入“播放音乐”按键,以中断方式接入。P0口接LCD显示文字。
关键词:单片机,电子门铃,定时器,蜂鸣器, LCD液晶显示器(1602)
目录
1.引言 (4)
2.系统总体设计 (5)
3.硬件电路设计 (6)
3.1 LCD显示模块电路 (6)
3.2 蜂鸣器电路模块 (7)
4. 程序流程图 (8)
5.制作与调试 (10)
5.1硬件电路的布线 (10)
5.2程序调试中遇到的问题及解决方法 (10)
6.结论与建议 (11)
7.参考文献 (12)
8附录 (13)
附录1: 实物照片 (13)
附录2:软件编译和proteus仿真图................................14-15 附录3: 原理图 (16)
附录4: 源程序 (16)
1 引言
随着时代的前进和发展,控制智能化、仪器小型化、功耗微小化得到广泛关注。在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。
近几年来,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要发展的方向。
2系统总体设计
音乐门铃的硬件电路由6个部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器,扬声器。音乐门铃的硬件电路设计框图如下。
图1 系统框图
时钟与复位电路
选择按键输入电路
单 片 机
扬声器
音频发生器
液晶显示屏
3 硬件电路设计
3.1 LCD显示模块电路
这里VCC=3.3V,因为我们用的是自己的52单片机,在其内部通过P2.6与LCD(1602)的RS连接,P2.5与RW,P2.7与E相连接。不需要我们通过杜邦线再连接了。P0[0:7]需要加上拉电阻Ri=10K拉高。我们只需要通过调节VO来控制LCD的亮度即调节与VO相连接的滑动变阻器来实现。
3.2 蜂鸣器电路模块
我们的AT89S52单片机内部由P1.5与蜂鸣器相连接,只需要将P1.5拉高,即可使蜂鸣器发出声音。为了保护蜂鸣器,再与VCC相连使加上一个上拉电阻去报蜂鸣器不会被烧坏。
4.程序流程图
图3 主程序流程图
通过液晶显示屏上电显示“HELLO! WELCOME TO MY HOME ”,如果有门铃按键的信号输入,启动定时器,产生一定频率的脉冲,驱动蜂鸣器发音,放出乐曲。对按键的次数计数,根据按键的次数选择播放的音乐,程序里预设了6首音乐可供循环播放。
开始
液晶屏示欢迎语
是
播放音乐
否
是否有门铃 按键信号?
初始化LCD 接口
初始化定时器
否
第一首歌
曲地址
取节拍(低四位)
取音频(高四位)
简谱码是
否结束?
是
否
是否有门
按键?
开定时器
蜂鸣器发音
取下一个
简码地址
关定时器是
否
音频是否
为零?
是
执行中断程
序,产生脉冲
图4:音乐播放程序流程图
5 制作与调试
一、硬件电路的布线
由于我们是二人一组,硬件上的设计相对简单。本来打算使用LM386组成音频放大电路,提高音乐的播放质量,后简化为直接由蜂鸣器输出。硬件电路由单片机,键盘, lcd1602液晶显示屏,蜂鸣器组成,用杜邦线连接相应的接口。
二、程序调试中遇到的问题及解决方法
1.有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的
2.程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。如果指令的跳转范围比较少,这时要用一个标号中转。不然编译通不过。
3.编程时要注意,在程序开始时,要写入各定时器中断的入口地址。编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。4.程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。5.在实现LCD显示功能时遇到很多问题,比如完全没显示或者显示不完全,这是因为程序中有时使用相同的寄存器,而寄存器中的数据没有得到好的清零处理。另外就是显示太模糊,要很费劲才看得清楚。