欢迎来到天天文库
浏览记录
ID:866364
大小:192.03 KB
页数:12页
时间:2017-09-21
《电子门铃 课程设计 源码 单片机》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学年设计报告设计题目电子门铃设计所学专业计算机科学与技术指导教师温卫敏2010年12月28日目录1绪论11.1引言11.2选题意义12基本原理12.1前期工作12.2电路结构12.3单片机选型22.3.1AT89C2051单片机定时器的工作原理22.3.2AT89C51单片机的优点23.音乐门铃的硬件设计23.1电源模块电路23.2复位模块电路33.3按键模块电路33.4门铃模块电路34音乐门铃的软件设计34.1定时器/计数器的运用34.2程序流程图44.3源代码45系统调试仿真55结束语6参考文献6电子门铃的设计摘要:该设计以AT89C51为芯片组成的一个音
2、乐门铃解决方案,在设计系统硬件电路的基础上,实现了电子门铃系统软件设计,该系统设计主要包括电源、按键模块等。经过系统测试,证明达到了设计要求。关键词:AT89C51;电子门铃;1绪论1.1引言此次课程设计是完成电子门铃的设计与实现,为此我们从网上查阅了相关知识,利用自己所学的知识和老师的指导,完成了此次设计。该设计包括设计的基本原理,电子门铃的硬件设计,电子门铃的软件设计等。1.2选题意义对于此次选题,通过完成课程设计,旨在巩固所学的单片机,模拟数字电路等知识。并了解单片机简单应用的开发流程,能达到学以致用。2基本原理2.1前期工作通过大家对单片机的学习,能够
3、通过keilC软件编写C语言程序,并且能够在Proteus仿真软件上成功的运行。2.2电路结构音乐门铃的硬件电路由6个部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。音乐门铃的硬件电路设计框图如下。时钟与复位电路选择按键输入电路单片机音频发生器音频放大器扬声器图2-1音乐门铃硬件电路设计框图2.3单片机选型2.3.1AT89C2051单片机定时器的工作原理单片机AT89C51有2个定时器T0、T1,它们有4种工作方式,分别是工作方式0、工作方式1、工作方式2、工作方式3,除方式3外,T0和T1有完全相同的工作状态。工作方式0
4、为13位工作方式,即最大的计数次数为213;工作方式为16位工作方式,即最大的计数次数为216;工作方式2为8位工作方式,即最大的计数次数为工作方式为位工作方式,即最大的计数次数为28;对于工作方式3只适合于定时器0。在单片机的特殊功能寄存器中有6个寄存器(TH1、TH0、TL1、TL0、TMOD、TCON)是用来控制单片机的定时器的,通过编程对这些特殊功能寄存器的读写就可以控制单片机的两个定时器T0、T1。TH0、TH1是分别用来存放定时器0和定时器1的计数初值的高8位,TL0、TL1是分别用来存放定时器0和定时器1的计数初值的低8位。TMOD是用来设定定时
5、器的工作状态,TCON中有定时器的标志位,单片机可以根据这些标志位来查询定时器的工作状态。2.3.2AT89C51单片机的优点AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。3.音乐门铃的硬件设计该系统在完成总体设计方案的基础上,完成系统硬件电路的设计,
6、硬件电路主要包括电源模块、复位模块、按键模块和门铃电路模块等。3.1电源模块电路3-1电源电路3.2复位模块电路3-2复位电路3.3按键模块电路3-3按键电路3.4门铃模块电路3-4门铃电路4音乐门铃的软件设计4.1定时器/计数器的运用利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.0引脚的输出每次取反,就可以在P3.0的引脚输出相应的方波频率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一音频的周期,然后将此周期除以2,得到半个周期的时间。定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就
7、可在P3.0脚上的某一音频的脉冲。4.2程序流程图启动是否有门铃按键信号播放音乐图4.1程序流程4.3源代码#include#defineucharunsignedchar#defineuintunsignedintsbitKey=P1^7;sbitDoorBell=P3^0;uintp=0;voidTimer0()interrupt1{DoorBell=~DoorBell;p++;if(p<400){TH0=(8192-700)/32;TL0=(8192-700)%32;}elseif(p<800){TH0=(8192-1000)/32;T
8、L0=(8192-1000)%32;}
此文档下载收益归作者所有