版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子打铃器设计PAGE23电子打铃器设计目录634题目:电子打铃器设计 1281091.设计简介及方案论述 1125921.1作息时间控制钟系统概述 1125921.2设计目的以及作用 1215361.3设计要求 1277692.设计思路与方案 216982.1单片机总体设计思路 267832.2各功能模块程序实现原理分析 2215152.2.1液晶码管驱动模块 2131632.2.2蜂鸣器驱动模块 3284012.2.3按钮控制模块 3303052.3AT89C51单片机性能介绍 374853.电子打铃系统硬件设计 6285623.1系统主要硬件电路 6267573.2液晶式数码管驱动模块的硬件设计 681293.3蜂鸣器驱动模块的硬件设计 9322563.4键盘接口电路设计 10227513.5总体运行进程 1089904.系统软件设计 11165664.1系统软件设计的主要内容 1131064.2序流程设计 11127265.系统调试与测试结果分析 1431045.1系统调试 14131545.2调试现象及解决方案 1446845.3仿真结果 14202096.元件清单 15180577.心得体会 16271628.致谢 17265119.参考文献 182487110.附录 192435710.1程序清单 19890210.2电路图仿真 23
题目:电子打铃器设计1.设计简介及方案论述1.1作息时间控制钟系统概述
本设计是一个具有打铃功能的作息时间控制钟。它利用89C51单片机的2Hz时基计时,进行年历计算,并用的蜂鸣器驱动模块将它打出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。由七段显示驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成,四个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。1.2设计目的以及作用能综合运用电子技术课程中的所学到的理论知识来完成自动打铃机的设计和分析电路,学会了在虚拟的环境下创建电路,计算和调整参数,能灵活的应用protues软件画图,并且掌握了一定的单片片机知识,通过这门课的设计我还有以下几点收获:1、有利于基础知识的掌握自己思考,将理论知识上升到实践的高度,从而进一步打破了单片机的神秘面纱。2、有利于逻辑思维的锻炼。程序设计是公认的,最能直接有效的训练学生的创造思维,培养分析问题解决问题的能力的方法之一。即使见到陌生的程序,从任务分析,确定算法界面布局,缩写代码到调试运行,都能顺利完成。1.3设计要求:利用单片机组成一个电子打铃器。按照学校上下课铃声次序设定定时间用一个蜂鸣器模拟电铃,响铃10s。周六周日不打铃通过“周”“时”键和“分”键分别校正周、时和分,每按一次对应+1。2.设计思路与方案2.1单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;
(2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;
(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;(4)设计打铃执行机构,完成自动打铃功能。2.2各功能模块程序实现原理分析图2-1模块程序图模块组成框图如图2-1所示,该模块由蜂鸣器驱动模块、蜂鸣器驱动模块和按钮控制模块电源,时钟电路五部分组成。且五部分都通过AT89C51来实现。2.2.1液晶码管驱动模块LCD正是由这样两个相互垂直的极化滤光器构成,所以在正常情况下应该阻断所有试图穿透的光线。但是,由于两个滤光器之间充满了扭曲液晶,所以在光线穿出第一个滤光器后,会被液晶分子扭转90度,最后从第二个滤光器中穿出。另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光器挡住。总之,加电将光线阻断,不加电则使光线射出。2.2.2蜂鸣器驱动模块采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。2.2.3按钮控制模块四个按钮的一端分别接地,另一端接单片机一个端口的四个引脚,当某一个按钮按下的时候,其对应的引脚就由高电平变成低电平,然后通过单片机扫描读取引脚的电平来判断按钮是否按下。2.3AT89C51单片机性能介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
引脚说明:
VCC:供电电压。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。89C51各部分引脚图如下:
图2-289C51引脚图RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。为使该模块化自动打铃系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。硬件电路包括七段式数码管驱动模块、蜂鸣器驱动模块、按钮控制模块等三大模块。3.电子打铃系统硬件设计3.1系统主要硬件电路系统主要硬件电路作为驱动整个打铃系统的电路又分为七段数码显示电路和蜂鸣器驱动电路。由显示LCD数码显示电路和蜂鸣器驱动电路组成的系统硬件主要电路如下:图3-3系统主要硬件电路该系统通过按钮控制(系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮;调整选择键SET_KEY:P1.0通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1按一次使选中位加1;减少键DEC_KEY:P1.2按一次使选中位减1;如果长按ADD_KEY或DEC_KEY,识别后则进行调时快进,此时停止闪烁)AT89C51的计时和定时,在七段数码管上显示出来(实现24小时制电子钟,8位数码管显示,显示时分秒),再通过蜂鸣器(BEEP:P3.7)来实现打铃。3.2液晶式数码管驱动模块的硬件设计液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。图3-4单色液晶式显示器(1)1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3-1引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。(2)1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3-2所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表3-2控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.3蜂鸣器驱动模块的硬件设计本设计中的蜂鸣器驱动模块用到了蜂鸣器(SPEAKER)、三极管、100欧姆的电阻。将蜂鸣器的一段接地,另一端接三极管的发射极,三极管的基极通过100欧姆的电阻接在三极管的P3.7引脚,三极管的集电极接+5V的电源。其电路图如下图所示:图3-5蜂鸣器驱动电路图3.4键盘接口电路设计由于键盘只有四个,采用独立式按钮,分别与8051的P1.0,P1.1,P1.2相连,用普通按钮10K上拉电阻,用查询法完成读健功能。图3-6按键电路图3.5总体运行进程首先实现24小时制电子钟,在液晶数码管显示,显示为时分秒,实现的格式为:23-59-59。到达预定时间启动蜂鸣器开始打铃,打铃的方式分为起床、熄灯和上下课铃两种。系统使用了4个按键,3只按键用来调整时间,另一只为强制打铃按钮。通过选择键选择调整位,选中位闪烁,按增加键为选中位加1,按减少键为选中位减1。4.系统软件设计软件是该LED显示屏控制系统的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。4.1系统软件设计的主要内容系统软件设计由三个模块编程组成:蜂鸣器打铃编程,七段显示管显示编程,按键编程。4.2序流程设计主程序初始化,并打开中断,然后执行中断服务程序。实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:23-59-59(小时十位如果为0则不显示)
到预定时间启动蜂鸣器模拟打铃,蜂鸣器BEEP:P3.7打铃方式分起床、熄灯铃和上、下课铃两种系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮
调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁增加键ADD_KEY:P1.1;按一次使选中位加1减少键DEC_KEY;P1.2;按一次使选中位减1,如果长按ADD_KEY或DEC_KEY,识别后则进行调时快进,此时停止闪烁。主程序流程设计图:图4-1主程序流程设计图如图所示主程序开始初始化后,就跳转到中断服务程序,如正常走时,则往下进行打铃时间的比较,继续向下执行对打铃的判断程序;如不正常走时,则直接转到显示程序。这以后,继续执行按键的检测,若有键按下,则取值打铃;反之,则返回到中断服务程序的开始继续执行。开保护现场开保护现场100ms单元加100ms单元加100ms单元100ms单元清零,秒单元加秒单元秒单元清零,分单元加分单元分单元清零,时单元加时单元时单元清零100ms单元加退出NNN图4-2定时中断流程设计图5.系统调试与测试结果分析5.1系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:LED驱动模块的调试,数据存储模块的调试,PC机通信模块的调试等,最后将各模块组合后进行整体测试。5.2调试现象及解决方案进入调试状态后应该在关键的地方设置断点然后按步运行,同时观察参数的变化,通过变化来判断程序运行的过程即可找出程序中混乱的部分,进行改正,这需要对软件熟练的掌握和对语言程序的很好的理解,实验板搭建成功后,我们就进入了程序的设计和调试阶段,开始编写程序时很顺利,但是后来在调试过程中出现了很多的错误,比如定时器准确度的设置,子程序的调用问题,最困难的就是对没步程序执行顺序的分析,由于程序中一些语句的错误理解和执行顺序的判断失误,让我掉进了误区,耽误了很长时间,最后在同学的帮助下终于找到了错误的关键点,更正成功了。看来对程序的调试能力我还需要加强,程序的调试需要耐心,而且需要熟练掌握软件的跟部分功能。5.3仿真结果此系统的仿真效果很好,能实现设计要求和目的所规定的内容。(见附录)元件清单名称数值个数单片机仿真器或程序固化设置1PC机1AT89C511喇叭1键盘4C1,C230uf2液晶显示控制器10uf、47uf4电阻10K3万用表1排阻17.心得体会本系统被广泛用企事业单位,设计比较简单。经过一学期的学习,使我对单片机有了初步的认识,了解了一些软件编程的技巧。经过这次的课程设计,使我学会了课堂上学不到的知识,颇有一番感受,对于单片机更加的了解了,对各种器件的使用方法更加熟悉,学会了电路的基本设计思路和原理,掌握单片机设计步骤,知道这门课程在工作中的重要性。由于知识点不够精通,所以经常出现问题,在程序设计中我太过马虎,导致第一次制作出来的打铃器不正常工作,仔细检查后我发现程序有错误,然后经过仔细排查我修改了错误。在电路调试过程中我发现了电路的一些问题,但在老师和同学们的同共努力下都得到解决,。这些教训使我领悟到了科学是严谨的,不能有一点马虎,所以我们在对待科学的态度上应该要一丝不苟。最终看到了成果。另外,如果在工作中遇到困难,就要及时虚心向他人请教,提早解决问题,这样才不至于延误工作。课程设计加深了学生对所学课程理论的理解,扩展了教学中的实验内容和要求,积累了实践体验和经验,让我们提前感受到毕业设计的大致过程,进而能顺利进入毕业设计,提高课程设计质量和学生实际应用能力。8.致谢在本文的撰写过程中,首先,要感谢我的导师潘湘高教授给予了悉心的指导和关心,使我克服了众多困难终于完成了课程设计的撰写工作。导师渊博的知识、严谨求实的治学态度及敬业精神,给我留下了深刻的印象,并将在我今后的人生道路上产生深远的影响,在此设计完成之际,谨向导师致以崇高的敬意和衷心的感谢。
其次,感谢我的父母亲,你们是我力量的源泉,只要有你们,不管面对什么样的困难,我都不会害怕,谢谢你们对我的支持与鼓励!
第三,感谢我的室友及其他好友,因为有你们的帮助,我的课程设计得以顺利完成。感谢你们,那么的帮助与鼓励我,在我不开心的时候,总能让我开心起来。在我无助的时候,总是陪在我的身旁。最后对老师,同学和家人再次致以我最衷心的感谢!教导过我的老师,你们的人格魅力永记我心间。身边的同学和朋友,有你们,我的大学才算完整。寝室的好友,你们的天赋犹如上天恩赐,有了你们我的生活更加精彩。9.参考文献沈红卫,基于单片机的智能系统设计与实现,电子工业出版社,2005.张志良,单片机原理与控制技术,机械工业出版社,2009.孙涵芳,徐爱卿,MCS-51/96系列单片机原理及引用,北京航空航天大学出版社.1996.李光弟,单片机基础,北京航空航天大学出版社.1992.孙育才,苏学成,单片微型计算机应用系统设计与实现,东南大学出版社,1990.林毓梁,单片机原理及应用,机械工业出版社,2009.杨宏丽,王静霞,单片机基础教程,人民邮电出版社.2009.唐继贤,51单片机工程引用实例,北京航空航天大学出版社,2009.赵星寒,刘小波,王庚兰,从0开始教你学单片机,北京航空航天大学出版社,2008.张毅刚,MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004龙威林,杨冠声,胡山.单片机应用入门:AT89S51和AVR[M].北京:化学工业出版社,2008.赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.杨恢先,黄辉先.单片机原理及应用[M].北京:人民邮电出版社,2006.张虹.单片机原理及应用[M].北京:中国电力出版社,2009.李云钢,邹逢兴,龙志强.单片机原理与应用系统计[J].北京:中国水利水电出版社,2008.10.附录10.1程序清单#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#defineKEY_IOP3#defineLCD_IOP0sbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;sbitSPK=P1^7;sbitLED=P2^4;bitnew_s,modify=0;chart0,sec=55,min=59,hour=23;//charcodeLCD_line1[]="xingqi1byyixi";charcodeLCD_line1[]="Designedbyyixi";charcodeLCD_line2[]="Timer:00:00:001";charTimer_buf[]="23:59:50";charxingqi_buf[]="1";charxingqi=1;//voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}//voidW_LCD_Com(ucharcom){LCD_RS=0;LCD_IO=com;LCD_EN=1;delay(5);LCD_EN=0;}//voidW_LCD_Dat(uchardat){LCD_RS=1;LCD_IO=dat;LCD_EN=1;delay(5);LCD_EN=0;}//voidW_LCD_STR(uchar*s){while(*s)W_LCD_Dat(*s++);}//voidW_BUFF(void)//填写显示缓冲区{Timer_buf[7]=sec%10+48;Timer_buf[6]=sec/10+48;Timer_buf[4]=min%10+48;Timer_buf[3]=min/10+48;Timer_buf[1]=hour%10+48;Timer_buf[0]=hour/10+48; xingqi_buf[0]=xingqi+48;W_LCD_Com(0xc0+6);W_LCD_STR(Timer_buf);W_LCD_Com(0xc0+15);W_LCD_STR(xingqi_buf);}//ucharread_key(void){ucharx1,x2;KEY_IO=255;x1=KEY_IO;if(x1!=255){delay(100);x2=KEY_IO;if(x1!=x2)return255;while(x2!=255)x2=KEY_IO;if(x1==0x7f)return0;elseif(x1==0xbf)return1;elseif(x1==0xdf)return2;elseif(x1==0xef)return3;elseif(x1==0xf7)return4;}return255;}//voidInit(){LCD_RW=0;W_LCD_Com(0x38);delay(50);W_LCD_Com(0x0c);W_LCD_Com(0x06);W_LCD_Com(0x01);W_LCD_Com(0x80);W_LCD_STR(LCD_line1);W_LCD_Com(0xC0);W_LCD_STR(LCD_line2);TMOD=0x01;TH0=0x4c;TR0=1;PT0=1;ET0=1;EA=1;}//voidmain(){uinti,j,S,P;ucharKey;Init(); SPK=0;while(1){//if(new_s){new_s=0;sec++;sec%=60;//if(!sec){min++;min%=60;//ifsec=0时小时加一sec=0时(!sec)=1if(!min){if(hour<23)hour++; elseif(hour>=23)hour=00;} //同上 if(hour==00&&min==00&&sec==00)//当小时=23和分钟=59和秒=59则星期加一 {xingqi++;// if(xingqi>=8)xingqi=1;//}}////W_BUFF(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论