基于单片机的电铃控制系统的设计毕业论文.docx
- 文档编号:12398209
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:35
- 大小:34.43KB
基于单片机的电铃控制系统的设计毕业论文.docx
《基于单片机的电铃控制系统的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的电铃控制系统的设计毕业论文.docx(35页珍藏版)》请在冰点文库上搜索。
基于单片机的电铃控制系统的设计毕业论文
基于单片机的电铃控制系统的设计毕业论文
成人高等教育
毕业设计(论文)
题目
学院广东工业大学继续教育学院专业
年级
姓名
指导教师
(2009年4月)
广东工业大学继续教育学院制
共25页
基于单片机的电铃控制系统的设计
前言
21世纪是信息技术蓬勃发展的世纪,单片机技术的应用及发展就是其中之一。
自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快,目前已形成了多公司、多系列、多型号的局面。
单片机的优点是体积小,重量轻,抗干扰能力强,控制能力强,扩展灵活,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
结合单片机的发展,我国的很多技术工程人员根据自己的工作需要开发出许多拥有自主知识产权的单片机应用产品,推动了我国生产力的发展。
但是单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的电子设计方法和控制策略,使科学上先前无法实现的理论技术得以实现并转化为现实的生产力,推动社会的前进,改善人们的生活,是技术发展史上的一次革命,是科技发展史上一座重要的里程碑。
它们广泛存在于如下多个方面:
智能仪器仪表、工业控制、家用电器、计算机网络和通信领域、医用设备领域。
此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着十分广泛的用途。
我们日常生活中看到的MP3、、数码照相机、智能洗衣机、智能冰箱、高科技电视机等都是单片机应用的典型例子。
学生在校期间虽然系统的学习了有关单片机方面的知识,但由于缺乏实践锻炼的机会,对单片机没有一个深刻的理性的认识和理解,更不用说进行单片机的研究和开发了。
为了能使学生在校期间更系统、更全面、更理性的掌握单片机的知识及应用,所以在毕业设计选题中加入了和单片机相关的一些课题,基于单片机作息时间控制系统的设计就是其中之一。
共25页
一绪论
1.1课题的提出及意义
1.2设计要求
基本要求
发挥部分
二硬件设计
系统框图
2.2AT89S52单片机
功能特性
2.2.2AT89S52引脚图
2引脚功能
键盘部分
键盘工作原理
独立式键盘
行列式键盘
显示部分
2.4.1LED显示器简介
2.4.2LED静态显示法接口设计
2.4.3LED动态显示法接口设计
复位电路
复位操作
复位电路
时钟电路
振荡电路
指令时序
2.7软件设计
2.8主程序设计
2.9子程序设计
三系统安装与调试
3.1系统构建
设计原理图
3.1.2制作PCB
3.1.3安装元器件
3.2硬件调试
3.3软件调试
四总结
致谢
参考文献
共25页
摘要
本文主要介绍了如何利用单片机设计一个作息时间控制系统。
首先,对系统进行深入理解,包括系统的可行性、实用性等,然后确定设计方案。
方案确定后,进行硬件设计,其中包括利用Protel绘制原理图和PCB以及实物的制作。
最后,进行软件设计。
在软件设计的时候,先用仿真软件在PC机上调试,然后在电路板上进行功能验证和完善。
通过此课题的设计,学会利用单片机开发小型的应用系统。
本设计通过单片机内部的定时器进行1S定时,利用8位七段LED数码显示器显示时间,显示格式为:
时-分-秒,最大计时时间为23-59-59。
在计时的时候,将当前时间和定时时间比较,如果相等,就铃响5s。
由于定时计数存在误差,所以需要不定期调整时间。
在调时的时候,调整单元开始闪烁,利用键盘输入调整时间。
【关键词】:
单片机;作息时间控制;Protel;调整
ABSTRACT
ThisarticlemainlyintroducedhowtodesignadailyschedulecontrolsystemusingtheSCM.First,understandthesystemdeeply,includingthefeasibility、practicalityandsoon,thendeterminedthedesignproposal.Afterthat,designthehardware,includingusestheProtelplanschematicdiagramandthePCBboardaswellasthematerialobjectmanufacture.Finally,designthesoftware.Insoftwaredesign,usethesimulationsoftwaretodebugonPCmachinefirst,thenconfirmandimprovethefunctionintheself-madecircuitboard.Throughthistopic'sdesign,learntodevelopsmallapplicationsystemusingtheSCM.
Thisdesigncarrieson1SthroughtheSCMinternaltimerfixedtime,uses8theLEDnumericalcodemonitortelltime,thedisplayformatishour-minute-second,thebiggesttimeis23-59-59.Whentiming,comparecurrenttimewithfixedtime,ifisequal,makesasound5sonthebell.Becausethereisfixedtimecountserror,thereforerequiresthenon-periodicaltime.Intimingtime,theadjustmentunitdoesnotstopthetwinkle,usesthekeyboardentrytime.
【Keywords】:
SCM;Resttimecontrol;Protel;Debugging
共25页
一绪论
1.1课题的提出及意义
单片机作息时间控制系统是在数字电子钟的基础上,添加了电铃控制电路和音响控制电路,使其具有时钟、定闹等多重功能的一个小型的智能化系统。
此系统可以实现对时间的智能化控制,摆脱了传统的由人来控制时间的长短的不便,可广泛应用在学校、工厂和机关的自动打铃、计时、路灯及室内照明和其他对象控制,因此具有广阔的市场和良好的经济效益。
通过此次设计,我们要掌握以下方面的知识:
(l)单片机的原理及应用。
(2)Protel软件的使用。
(3)作息时间控制系统的原理和实现方法。
此外,通过该课题的设计,要达到提高我们综合能力的目的,如综合应用所学知识能力、资料查询能力、计算机应用能力、语言表达能力、论文撰写能力等,尤其是要提高我们单片机应用技术的实践操作技能和利用单片机进行科技革新、开发和创新的基本能力,同时使我们初步掌握单片机应用系统设计、研制的方法。
特别是如果我们毕业以后从事与单片机相关的工作,这就可以大大缩短我们在未来工作岗位上的适应期,使我们尽快在工作中担当主角,发挥我们的作用。
设计要求
基本要求
(1)基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
(2)能设置当前时间(含上、下午,时,分)
(3)能实现基本打铃功能,规定:
(4)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示器;
上午6:
00起床铃:
打铃5秒、停2秒、再打铃5秒。
下午10:
30熄灯铃:
打铃5秒、停2秒、再打铃5秒。
铃声可用小喇叭播放,凡是用到铃声功能的均按此处理
发挥部分
(1)增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。
(2)增加调整起床铃、熄灯铃时间的功能。
(3)增设上午4节课的上下课打铃功能,规定如下:
7.30上课,8.20下课:
8.30上课,9.20下课;9.40上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。
共25页
二硬件设计
系统框图
要设计一个系统,我们必须的先做大量的准备工作,比如市场调研、系统分析、资料查阅等,完成这些后我们在着手开始设计,就会事半功倍。
利用单片机做作息时间控制系统就是单片机里非常经典的应用之一。
作息时间控制系统从总体来分,可以分为两部分,控制核心和外围电路。
控制核心为单片机,外围电路主要包括显示电路、键盘电路、复位电路、时钟电路等。
确定了系统的大体形式之后,画出其结构布局,系统框图如图所示。
图硬件系统总体框图
共25页
2.2AT89S52单片机
目前,在国内市场上MCS-51系列占据着主流地位,与其兼容的产品应用最广,应用开发的公司也最多,其中之一就是Atmel公司生产的AT89系列单片机。
结合作息时间控制系统的要求、成本的因素以及单片机的性能,本次设计选用ATMEL公司的AT89S52单片机。
下面对其详细介绍一下。
功能特性
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
AT89S52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.2AT89S52引脚图
AT89S52与AT89C51的引脚一样,也有PDIP、PLCC、TQFP等多种封装形式,其典型引脚配置采用的是40只引脚的双列直插封装(PDIP)方式,如图所示。
目前大多数为此类封装方式。
图1.2AT89S52单片机引脚图
引脚功能
下面结合图来介绍各引脚的功能。
1)电源引脚
(1)Vcc(40脚):
主电源正端,接+5V电源。
(2)Vss(20脚):
主电源负端,接地
2)时钟引脚
两个时钟引脚XTAL1、XTAL2外接晶体与片内的反相放大器构成了一个振荡器,它为单片
共25页
机提供了时钟控制信号。
2个时钟引脚也可外接晶体振荡器。
(1)XTAL1(19脚):
片内高增益反向放大器的输入端。
接外部石英晶体
和电容的一端。
若使用外部输入时钟,该引脚必须接地。
(2)XTAL2(18脚):
片内高增益反向放大器的输出端。
接外部石英晶体
和电容的另一端。
若使用外部输入时钟,该引脚作为外部输入时钟的输入端。
3)控制引脚
此类引脚提供控制信号,有的引脚还具有复用功能。
(1)RST/VpD(9脚):
RST(RESET)是复位信号输入端,高点平有效。
当振荡器运行时,在此引脚输入最少两个机器周期以上的高电平,将使单片机复位。
复位后的那平静将从程序计数器PC=0000H地址开始执行程序。
对HMOS工艺的单片机此引脚还有备用电源VPD功能。
该引脚接上备用电源,在Vcc掉电期间,可以保持片内RAM的数据不丢失的。
(2)ALE/PROG(30脚):
当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
(3)PSTN(29脚):
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
(4)EA/Vpp(31脚):
片内程序存储器屏蔽控制端,低电平有效。
当EA保持低电平时,将屏蔽片内的程序存储器,只访问片外程序存储器。
当EA保持高电平时,执行片内程序存储器,但在PC值超过0FFFH或1FFFH时,将自动转向执行片外程序存储器内的程序。
Vpp为本引脚的第二功能。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
4)I/O口引脚
(1)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
(2)P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89S51不同之处是,和还可分别作为定时/计数器2的外部计数输入()和输入(),参见下表。
或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高
共25页
电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
(4)P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,还具有的第二种功能,如下表所示。
键盘部分
在单片机应用系统中,除了复位键有专门的复位电路以及专一的复位功能以外,其他的按键或键盘都是以开关状态来控制功能或输入数据的。
键盘有两种基本类型:
编码键盘和非编码键盘。
编码键盘本身除了按键以外,还包括产生键码的硬件电路。
这种键盘使用非常方便,但价格相对较高。
非编码键盘是靠软件来识别键盘上的闭合键,由此计算出编码。
非编码键盘几乎不需要附加硬件逻辑,在单片机应用系统中被普遍使用。
本设计中也是采用非编码键盘。
键盘工作原理
1)按键的分类
按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键、磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中常用的是第一类。
按照接口原理可分为编码键盘与非编码键盘两类,两类键盘的区别是键符识别及给出相应键码的方法。
2)键输入原理
当所设置的功能键(复位键单独)或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。
对于一组键或一个键盘,总有一个接口电路与CPU相连。
CPU可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。
3)按键结构与特点
微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。
也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。
机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。
抖动时间的长短与开关的机械特性有关,一般为5?
10ms。
共25页
在触点抖动期间检测按键的通与断状态,可能导致判断出错。
即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。
为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。
在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。
软件上采取的措施是:
在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。
4)按键编码
一组按键或键盘都要通过I/O口线查询按键的开关状态。
根据键盘结构的不同,采用不同的编码。
无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。
独立式键盘
独立式按键是指各按键相互独立地接通一条输入数据线,这是最简单的键盘结构,该电路为查询方式电路。
当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。
要判别是否有键按下,用单片机的位处理指令十分方便。
这种键盘结构的优点是电路简单;缺点是当键数较多时,要占用较多的I/O线。
行列式键盘
为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。
下面就说明一下行扫描法识别哪一个按键被按下的工作原理。
首先判别键盘中有无键按下,由单片机I/O口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。
方法是:
向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根列线电平被拉至低电平,从而使列输入不全为1。
判断键盘中哪一个键被按下是通过将行线逐行置低电平后,检查列输入状态实现的方法是:
依次给行线送低电平,然后查所有列线状态,称行扫描。
如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。
1)行扫描法识别键号(值)的工作原理
将第0行变为低电平,其余行为高电平时,输出编码为1110。
然后读取列的电平,判别第0行是否有键按下。
在第0行上若有某一按键按下,则相应的列被拉到低电平,则表示第0行和此列相交的位置上有按键按下。
若没有任一条列线为低电平,则说明0行上无键按下。
将第1行变为低电平,其余行为高电平时,输出编码为1101。
然后通过输入口读取各列的电平。
检测其中是否有变为低电平的列线。
若有键按下,则进而判别哪一列有键按下,确定按键位置。
将第2行变为低电平,其余行为高电平时,输出编码为1011。
判别是否有哪一列键按下的方法同上。
将第3行变为低电平,其余行为高电平时,输出编码为0111。
判别是否有哪一列键按下的方法同上。
在扫描过程中,当发现某行有键按下,也就是输入的列线中有一位为0时,便可判别闭合按键所在列的位置,根据行线位置和列线位置就能判断按键在矩阵中的位置,知道是哪一个键按下。
2)键盘扫描工作过程
(1)判断键盘中是否有键按下;
(2)进行行扫描,判断是否键按下,若有,则调用延时子程序去抖动;
(3)读取按键的位置码;
共25页
(4)将按键的位置码转换为键值(键的顺序号)0、1、2?
、F。
显示部分
显示器是计算机的主要输出设备,它把运算结果、程序清单等以字符的形式显示出来,以供用户查阅。
目前常用的显示器有数码管显示器(LED显示器)、液晶显示器(LCD显示器)和CRT显示器等,本设计中采用的是LED显示器。
下面就相信介绍LED显示器的结构和工作原理。
2.4.1LED显示器简介
1)数码管结构
数码管由8个发光二极管(以下简称字段)按“日”字形排列构成,其中7个发光二极管组成“日”字形的笔画段,另一个发光二极管为圆点形状。
通过不同的组合可用来显示数字0~9、字符A~F、H、P等、符号“-”及小数点“.”。
数码管又分为共阴极和共阳极两种结构。
2)数码管工作原理
共阳(阴)极数码管的8个发光二极管的阳极(阴极)连接在一起。
通常,公共阳(阳)极接高(低)电平,其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低(高)电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
(注:
二极管阳(阴)极为二极管正(负)端,高电平一般指接电源,低电平一般指接地。
)
3)数码管字形编码
当某一二极管导通时,相应的字段发亮。
这样,若干个二极管导通,就构成了一个字符。
在共阴极数码管中,导通的二极管用“1”表示,其余的用“0”表示。
这些“1”,“0”数符按一定的顺序排列,就组成了所要显示字符的显示代码。
例如,对于共阴极数码管来说,阳极排列顺训为h、g、f、c、e、d、c、b、a。
这样,字符1的显示代码为0000010,字符F的显示代码为011110001,用十六进制表示分别为06H和71H。
若要显示某一个字符,就在二极管的阳极按显示代码加以高电平,阴极加低电平即可。
2.4.2LED静态显示法接口设计
所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲显示的字形代码送到输出口上,就可以使显示器显示所需的数字或符号,此后,即使CPU不再去访问它,因为各笔画段接口具有锁存功能,显示的内容也不会消失。
静态显示法的优点是显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。
但是其主要缺点是占用的I/O口线较多,硬件成本较高。
所以静态显示法常用在显示器数目较少的应用系统中。
2.4.3LED动态显示法接口设计
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。
通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。
动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。
依此规律循环,即可使各位数码管显示将要显示的字符。
虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
本设计显示电路采用简单实用的8位共阳LED数码管,段码由P0口输出,用74LS244驱动;位码由P2口输出,用PNP三极管驱动。
共25页
复位电路
复位操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电铃 控制系统 设计 毕业论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)