单片机课程设计叮咚门铃设计.docx
《单片机课程设计叮咚门铃设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计叮咚门铃设计.docx(10页珍藏版)》请在冰豆网上搜索。
单片机课程设计叮咚门铃设计
中南民族大学
计算机科学学院
单片机课程设计报告
课程单片机课程设计
设计题目“叮咚〞门铃设计
年级专业12级自动化
学号
学生
指导教师
2014年12月12日
课程设计量化评分标准
指标
最高分
评分要素
评分
方案设计
35
方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。
调试
15
过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。
结果
20
电路与程序运行结果正确,达到预期效果。
设计报告
20
报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规化要求,用计算机打印成文。
工作态度
10
工作态度认真,按时完成设计任务,是否独立完成。
总评成绩
指导教师评语:
设计题目:
一、要求
要求按下按键时,蜂鸣器发声,并播出“叮咚-叮咚-叮咚〞声音
二、分析
系统方案
本次课设是基于STC89C51单片机的叮咚门铃设计。
STC89C51单片机是一款性能稳定,价格比拟低廉的单片机,用STC89C51作为主控芯片,结合外设蜂鸣器电路,可使门铃性能更加优良,更适合用于现实生活中去。
在该设计中,STC89C51单片机是整个系统主控芯片,它主要负责输出不同频率的PWM脉宽,从而控制三极管通断次数来使扬声器发出不同频率的声音。
程序方案
本次课设主要用高级语言C语言来实现,通过KEIL公司的Uvision4软件编译,stc-isp下载工具下载程序
三、设计
1、硬件设计(包括设计方案与说明、完整的硬件连接图等)
叮咚门铃硬件电路主要包括单片机最小系统、蜂鸣器电路、按键。
电路图如下
蜂鸣器电路
最小系统
总电路图
2、软件编程〔包括流程图、完整的汇编源程序与其注释〕
软件设计流程图
程序代码
#include
unsignedcharobuf1;
unsignedcharobuf2;
unsignedintobuf3;
bitstopb;
bitflagb;
voiddelayms(unsignedintk)
{
unsignedcharp;
for(;k>0;k--)
for(p=110;p>0;p--);
}
voidmain(void)
{
unsignedchari,j,k;
TMOD=0x02;//定时器T0初始化
TH0=0x06;
TL0=0x06;
ET0=1;
EA=1;//允许总中断
while
(1)
{
if(P1_0==0)//检测K1按键
{
for(k=0;k<3;k++){//三重循环
P1=0x00;
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P1_0==0)
{
obuf1=0;
obuf2=0;
obuf3=0;
flagb=0;
stopb=0;
TR0=1;//启动定时器T0,发出"叮咚"声
while(stopb==0);
P1=0xff;
}
delayms(3000);//延时函数
}
}
}
}
voidt0(void)interrupt1using0
{
obuf3++;
if(obuf3==3000)
{
obuf3=0;
if(flagb==0)
{
flagb=~flagb;
}
else
{
stopb=1;
TR0=0;
}
}
if(flagb==0)
{
obuf2++;
if(obuf2==1)
{
obuf2=0;
P1_6=~P1_6;
}
}
else
{
obuf1++;
if(obuf1==25)
{
obuf1=0;
P1_6=~P1_6;
}
}
}
3、调试说明
在对系统设计以与实现后,需要进入调试阶段,以检查系统所存在的缺陷,以便排除各种可能出现的不利于系统正常运行的因素。
调试本系统主要包括两个步骤:
调试控制系统和各个模块是否能正常工作,其中分为底层硬件调试和上层软件的调试。
底层硬件调试和上层软件的调试是不可缺少的调试,这两者可分开调试,其间可以没有联系的调试,之后再整体的调试,看看是否能够达到我们的预期的效果。
这样,我们才能与时的发现问题,从而着手的解决每一个问题。
软件调试
程序经KIEL4软件屡次编译无误后,下载到单片机中,通过反复的调试,更改单片机的延时时间和输出频率,找到最适合的频率段和效果最明显的音频,使蜂鸣器发出最悦耳的叮咚声
硬件调试
本次课设只需要用到单片机最小系统,和一个蜂鸣器电路,电路简单,在工艺实习板子上稍作更改即可使用,在原有的工艺实习板子上,去掉多余的杜邦线和数码管,提高系统的稳定性。
尝试下载程序,检查无误,电路可正常使用。
按键的测试
用电表对按键进展测试,当按键的按下,跟按键连接的管脚变为低电平,松开变为高电平。
按键没有问题。
声音播放测试
由于声音播放模块电路很简单,只需一个上下电平即可进展测试。
在测试中,我将声音播放模块的控制引脚给了单独断开,将其对电源进展试触、发现扬声器有声音传出,这说明了声音播放系统是能正常工作的!
4、设计结果与错误分析
在本次设计中,遇到了很多的问题和困难,由于自己不太擅长软件编程,需要查阅大量的质料,理解语句的意译,不得不得向同学求问,刚开始由于输出700Hz与500Hz的方波,我花了一个多礼拜的时间都无法攻克这个问题,因为频率不对,蜂鸣器发出的叮咚声音不够标准,后来在同学的帮助下,通过不断地调试,终于找到的最适合的频率,
四、总结
经过这一段时间的学习,我学到了不少的知识。
在这为期不长的一个月里,我发现了要想认真做好一件并非是那么简单的。
从一开始的什么也不知道,直到逐渐的对整个系统有个整体的思路,我经历了很对的艰辛。
在这段时间,幸好有教师和同学的耐心指导,我不断的努力,不断的尝试,最终完成了课设,我感觉我在短时间成长了很多很多。
在硬件设计中,我尽量做到硬件系统能够简单而稳定,给软件提供一个良好的编程环境。
软件系统的编写的时候,我尽量做到思路的清晰,代码编写得简洁和规,以使系统能够更好的运作,性能更加稳定,以便达到预期的要求。
因时间有限,设计中还有许多需要改良的地方。
在这一段时间的学习中,我也真正认识到实践是检验真理的唯一标准这一句话的真谛。
同时通过这次设计,我明白了“书到用时方恨少〞。
所以,在今后,我会不断的学习,不断的充实我自己!