课程设计(定稿)_第1页
课程设计(定稿)_第2页
课程设计(定稿)_第3页
课程设计(定稿)_第4页
课程设计(定稿)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计基于单片机的门铃控制学院(部): 机械工程学院 专业班级: 机设10-10 学生姓名: 丁雪松 指导教师: 张双双 2013年 月 日基于单片机的门铃控制 摘要随着科技的发展,人们的生活越来便捷。其中单片机的出现让工业和生活有了质的飞跃。它功能强大,体积小,价格实惠,因而被广泛应用于智能行业。这次的课程设计就是从学习应用中掌握单片机的编程,仿真调试等技能。本篇介绍的就是基于单片机的门铃控制,有单片机控制输出频率是扬声器发出“叮咚”的响声。通过单片机的定时/计数T0,产生700HZ和500HZ两种不同频率。本次课程设计选用的是单片机AT89C51。关键词:单片机,ATC51,扬声器,频率

2、,C语言。Timer Controlling Doorbell Based on AT89C51 ABSTRACTAT89C51isasmallsinglechiplaunchedbyATMELcompany,andwecanuseittoachieveelectronicdoorbellwhichcanplaymusicandhasexternalscreentodisplaywelcomemessageandisanewbelldesign,sothesmallmicrocontrollerisworthyofwidelyusinginintelligentresidentialorint

3、heintelligentbuildingsystem.ProteusisthepowerfulEDAsimulationsoftware,ithasrichsimulationcomponents,especiallyitisthedynamicsimulationofperipheralswhichgreatlycomplementsdeficienciesofothersimulationsoftware;andtheintroductionofthevirtualtoolboxprovidesaconvenienttestforthesimulation.Thispaperanalyz

4、esthenew,uniqueusesof51singlechipinsmallsimulationprocessoranditsperipheralhardware.KEYWORDS:AT89C51,timer,buzzer,LCD1602liquidcrystaldisplay,Proteussimulationsoftware,WAVE6000orKeil805.目录摘要1摘要(外文)2绪论41总体方案设计41.1设计思路41.2相关软件及说明42 单片机AT89C51简介62.1单片机及其引脚排列62.2用到的AT89C51各引脚功能简介62.3振荡器特性72.4芯片擦除73系统主要硬

5、件电路设计83.1 单片机主机系统电路83.1.1原理图器件参数93.2扬声器电路114 系统软件设计114.1设计思路114.2电路原理图144.3 C语言程序代码145 PROTEUS简介166 keil与Proteus的联调分析166.1硬件调试166.2软件调试166.3软硬件联调16结论18参考文献19谢辞20绪论“叮咚”是一款经典且应用广泛的门铃,它价格低廉,方便可靠,响应快速,占有很大的市场。基于单片机输出的频率700HZ和500HZ按下按钮即可由扬声器发出,操作方便。检测的主要技术指标是按下按钮,单片机产生的信号在扬声器中能得到响应,proteus的左下运行方窗口不得有红色错误

6、或黄色警告。1总体方案设计1.1设计思路结合本次课题设计的任务,进行分析可以得得出总体思路:本次设计是利用单片机发出两种频率实现对扬声器发声的,控制采用的是按钮操作,AT89C51单片机进行控制,经由P3.0输出,最后使扬声器发出“叮咚”声音。按钮 扬声器单片机AT89C51 晶振电路 图1.1总设计方案1.2相关软件及说明 proteus的出现改变了单片机发烧友的经济状况,因为单片机开发板一般都有的硬件,它全部都有了。例如流水灯,数码管,液晶显示器,时钟芯片,温度传感,步进机,继电器,存储器,A/D转换,D/A转换等等。最近,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化

7、住宅小区的一个重要组成部分,被各商家和用户所接受。悦耳动听的电子门铃为家庭生活带来欢快的气息,来访的客人只需用手指轻触门外的按钮按键,蜂鸣器就可发出连续“嘟”音或叮咚的音乐门铃声。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的享受,将会日益成为我国未来的一个重要发展的方向。AT89C51是由ATMEL公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被广大用户接受,其程序的电可擦写特性,使得开发与测试方便又易于实现。本设计主要介绍由AT89C51单片机来构成电子音乐门铃系统的实现技术。 P

8、roteus仿真功能简介作为一款EDA(电子设计自动化)仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要的特点有两个:一是对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。下面着重介绍一下该软件的这两个突出特点。 实时动态仿真平台Proteus是英国Labcenterelectronics公司的EDA工具软件,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件具有和其它EDA工具一样的原理布图、PCB设计及自动或人工布线和电路仿真功能,此外,它的电路仿真是互动的,可以针对微处理器的应用,实时采

9、用诸如LED/LCD、键盘、RS232终端等动态外设模型对设计进行交互式仿真与多数仿真软件相似,Proteus有着数量庞大的元器件仿真模型库。Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的Spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS管、555定时器等;74系列TTL元件和4000系列CMOS元件;存储芯片包括各种常用的ROM、RAM、EEPROM、I2C器件等。在丰富的库元件支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量。Proteus在安装以后,主要由两个程

10、序组成:ARES和ISIS。其中,ISIS是电子系统仿真平台,主要用于电路原理图的设计及进行交互式仿真;ARES是布线编辑软件,主要用于印刷电路板的设计,并产生光绘输出文件。Proteus具有功能强大的ISIS智能原理图输入系统,有丰富的操作菜单和工具。在ISIS编辑区中,能方便地完成单片机系统的硬件设计、软件设计、单片机源代码级调试与硬件仿真功能。 虚拟工具箱Proteus的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真的同时对电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发

11、成本。Proteus软件提供的虚拟工具和仪器通常有10种:示波器、逻辑分析仪、计数器、串口调试工具、SPI调试工具、I2C调试工具、直交流电压表、直交流电流表、函数发生器、脉冲发生器。2 单片机AT89C51简介2.1单片机及其引脚排列AT89C51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB图2.1 AT89C51引脚线路图2.2用到的AT89C51各引脚功能简介VCC:AT89C51 电源正端输入,接+5V。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-F

12、FFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指

13、令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。PORT1(P1.0P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。我们用到的是P1.7。PORT3(P3.0P3.7):P3口管脚是

14、8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。我们用到的是:P3.0:RXD,串行通信输入。2.3振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.4芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正

15、确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3系统主要硬件电路设计3.1 单片机主机系统电路 本设计采用AT89C51单片机,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。

16、单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件

17、复位。I/O存储器EPROM/ROM定时/计数器运算器控制器中断CPU片内振荡器RAM/SFP并行口存储器扩展控制器串行口XTAL 图3.1 AT89C51内部结构原理图3.1.1原理图器件参数图3.1.1-1按钮图3.1.1-2电容(1nF)图3.1.1-3电阻(10K)图3.1.1-4电阻(470R)图3.1.1-5晶振(1MHz)图3.1.1-6扬声器(500ms)3.2扬声器电路4 系统软件设计4.1设计思路 1用单片机实现定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经

18、过4次250us的定时。信号产生的方法:500Hz信号周期为2ms,信号电平为每1ms(4X250us)变反1次,2.在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。 3“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。主程序流程图如下:开始T0初始化T0开中断启动T0工作T0工作完毕否?SP1按下否?YESNOYESNO图4.1-1主程序流程图该流程图是“叮咚”门铃系统设计,通过单片机的初始化判断按钮是否按下,通过单片机系统进行控制,使扬声器发出“叮咚”声音。T0中断程序框图如下:T0中

19、断入口T05S=0,Flag取反T05S加1中断返回P1.0取反T5HZ=0T7HZ=0Flag=0T7HZ加1T5HZ加1Flag=1T05S=2000吗?T7HZ=3吗?T5HZ=4吗?NOYESNOYESYESNO图4.1-2 T0中断服务程序框图4.2电路原理图图4.2仿真电路原理图4.3 C语言程序代码 本次代码编写采用的是Keil Vision4软件,它是Keil C51系列的一款,2009年2月发布Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏

20、幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不

21、使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。具体代码如下:#include#define uchar unsigned char#define uint unsigned intsbit Key=P17;sbit DoorBell=P30;uint p=0; /主程序 void main() DoorBell=0; TMOD=0x00;/T0 方式 0 TH0=(8192-700)/32; /700us 定时 TL0=(8192-700)%32; IE=0x82; while(1) if(Key=0)/按下按键启动定时器 TR0=1; while

22、(Key=0); /T0 中断控制点阵屏显示 void Timer0() interrupt 1 DoorBell=DoorBell; p+; if(p400) /若需要拖长声音,可以调整 400 和 800 TH0=(8192-700)/32; /700us 定时 TL0=(8192-700)%32; else if(p800) TH0=(8192-1000)/32; /1ms 定时 TL0=(8192-1000)%32; else TR0=0; p=0; 5 PROTEUS简介 Proteus软件是英国Labcenter公司开发的一款应用于电路分析与仿真软件,目前在国际上得到广泛应用。它集

23、原理图设计电路分析、仿真和PCB设计于一体,配有各种信号源和电路分析所需的虚拟仪表;具有模拟电路、数字电路、单片机应用系统、嵌入式系统设计与仿真功能。基于Proteus的电子电路设计从根本上克服了传统电子产品设计中没有物理原型就无法对系统进行测试,没有系统硬件就很难对软件进行调试的缺点。 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。6 keil与Proteus的联调分析

24、6.1硬件调试 这次的课程设计的硬件调试主要是用Proteus画出电路原理图进行调试。在Proteus绘图界面找出必要原件,合理布置并连好电路图后,运行时可能会出现没有反映或者其他的一些不良状况,此时首先要对单片机的引脚与音频功率放大器的引脚接进行检测,看是否完全正确,甚至有一个不正确都会对运行结果产生影响。其次就是元器件的选择,尤其是电阻,不同的阻值有不同的原件与之对应,还有电路布置尽量简洁易懂。所以要正确地选择适所用型号,做好每一步才能有一个正确的结果。 6.2软件调试 软件调试也是关键的一环, 在软件调试中,我用到的是eil软件。程序的编写是这一步骤的核心,本次课程设计系统编程是采用C语言完成的,做的是一个传统的“叮咚”铃声。 6.3软硬件联调在完成程序的编写和硬件的搭接后,并能确定均正确无误以后再对程序和硬、软件进行联合调试。调试的过程就是将keil中生成的HEX格式的文件导入到proteus中,点击左下角的运行,再按下原理图中的按钮,看是否正确运行并有清脆的“叮咚”。检查程序的运行方式和结果是否与设计要求相一致,如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论