简易电子钟设计单片机课程设计_第1页
简易电子钟设计单片机课程设计_第2页
简易电子钟设计单片机课程设计_第3页
简易电子钟设计单片机课程设计_第4页
简易电子钟设计单片机课程设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计简易电子钟设计姓名:学号:专业班级:指导老师:所在学院:2007年摘要本设计是利用AT85C51和液晶显示管制作的实用电子钟,可完成计时,计分,计秒和校时,校分的功能。微处理器是单片机的核心,完成运算和控制的操作串行口数据存储器与复位电路,时钟电路,校时电路由微处理器控制完成各自的任务。最后通过液晶显示器显示时、分、秒。在振荡器正在运行时,复位是靠RST或在RST引脚上施加持续2个机器周期的高电平来实现,在RST引脚上施加高电平的第2个周期执行内部复位,以后每个周期执行一次,直到RST变化。复位时,ALE和/RSEN输出高电平,机ALE=1和/RSEN=1,片内RAM不受复位的影响,复位后PC指向0000H使单片机从起始地址0000H开始执行程序。设计中采用内部时钟方式,在XTAL1和XTAL2两端接晶振,与内部反向器构成稳定的自激振荡器,其发出的时钟脉冲直接送入片内定时控制部件,该简易电子钟最后由6个液晶显示管显示,分、秒段式LCD显示采用七段显示,其结构除在上电极板上喷上a到g这七个笔画外,还在下电极板喷上与笔画相对应的“日”字形的电极并接公共电极COM 。另外时钟的校对采用与校对普通电子手表相同的操作方式来完成,只需按K1、K2两个键来校时、校分。AT85C51的XTAL1和XTAL2分别为反向器的输入和输出,RST为复位输入,由它再接一个上拉电阻,引脚被拉高,P1口作为电子钟的位选,P3口部分作为电子钟的输出端。目录1概述 3电子钟的设计要求和内容 32系统总体方案及硬件设计 4系统总体方案 4硬件设计 4时钟电路 4复位电路 5 LCD数码显示电路 6 AT89C51单片机芯片 73软件设计 9流程图 94proteus软件下的仿真 115设计心得 14参考文献 15附1源程序代码 16附2简易电子钟系统电路图 201概述单片机即微处理器,自1976年Inter公司推出MCS-48,迄今已有20多年了。由于单片机具有集成度高,功能强,体积小,功耗低,使用方便,价格低廉等一系列优点,目前已经应用到人们工作和生活的各个领域,单片机的应用已经从面向工业控制,通信,交通,智能仪表等迅速发展到家用消费产品,办公自动化,汽车电子,PC机外围以及网络通信等广大领域,目前最具有代表性的是MC-51系列单片机,MC-51虽然是8位的单片机,但是它比MCS-48功能强大,此外还具有品种全,兼容性强,软硬件丰富等优点。时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。任选一款51系列单片机能完成时分秒的显示能完成校时校分要求用Proteus软件进行仿真2系统总体方案及硬件设计采用AT89C51来设计电子钟。按照功能要求确定系统方案,如下图所示。从图中可以看出该设计有微处理器模块,串行口通信模块,时钟模块,数据存储模块以及显示模块等组成。图1控制器功能框图硬件设计时钟电路本设计的时钟电路的设计如图2。对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的实际应用中一定要注意正确选择参数(30±10PF),并保证对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。实验表明,这2个电容元件对闹钟的±走时误差有较大关系。图2系统时钟电路复位电路随着微电子技术的飞速发展,单片机的性能迅速提高,在运算、逻辑控制、智能化方面显示出非凡的优势,在很大程度上取代了原来由数字逻辑电路、运算放大电路组成的检测、控制电路,应用非常广泛。但由于它存在着死机、程序跑飞等致命缺陷,使它在许多重要场合的应用受到限制。在抗干扰方面的许多技术,比如设软件陷阱、加硬件看门狗电路等,可使这一问题有较好的解决,但仍然存在问题:①看门狗动作时,意味着已经出现了错误,且运行了一段时间,这在有些场合是不允许的;②有时程序出现死循环错误,但是刚好把看门狗控制环节包含进去,对于这样的错误采用看门狗无法识别;③在检测控制周期比较长的系统中,单片机花大量时间等待外设,执行等待命令时同样会受到干扰。针对这些情况,我们在实践中尝试了主动复位的办法,采用等间隔的脉冲或根据外部条件对单片机进行复位唤醒。每次复位后,单片机执行相应的程序,执行完任务后及时进入休眠,等待下次复位。用此方法较好地解决了上述问题,并在农用变压器综合保护器实验中得到了较好的效果。下面以51系列单片机为例探讨具体原理与实现方法,复位信号为高电平。本设计采用的是上电复位方式。RC复位电路的实质是一阶充放电电路,现结合图3说明这种复位电路的特点。系统上电时该电路提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。理论上说,51系列单片机复位引脚只要外加2个机器周期的有效信号即可复位,即只要保证t=RC>2M(机器周期)便可,但实际设计中,通常取C1为10µF以上,R1通常取10K左右。实践发现R1如果取值太小,例如1K,则会导致RST信号驱动能力变差而无法使系统可靠复位。图3中的虚线所接的续流二极管D1对于改善复位性能,起到了重要作用,它的作用是在电源电压瞬间下降时使电容迅速放电,因此一定宽度的电源毛刺(如波形中A点)也可令系统可靠复位。图3RC复位电路LCD数码显示电路本设计采用的LCD液晶显示器来显示时钟的时间。液晶显示器是采用了液晶控制透光度技术来实现色彩的显示器。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。对于画面稳定、无闪烁感的液晶显示器,刷新率不高但图像也很稳定。LCD显示器还通过液晶控制透光度的技术原理让底板整体发光,所以它做到了真正的完全平面。一些高档的数字LCD显示器采用了数字方式传输数据、显示图像,这样就不会产生由于显卡造成的色彩偏差或损失。完全没有辐射的优点,即使长时间观看LCD显示器屏幕也不会对眼睛造成很大伤害。LCD显示器的工作原理:LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5μm均匀间隔隔开。因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。在液晶材料周边是控制电路部分和驱动电路部分。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。图4LCD液晶显示AT89C51单片机芯片本设计采用的AT89C51单片机芯片来实现电子钟的设计的。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图片见下图:图5AT89C51芯片AT89C51单片机芯片的主要特性有:与MCS-51兼容,4K字节可编程闪烁存储,数据保留时间长达10年,内含有128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路AT89C51单片机芯片还具有振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT89C51单片机芯片管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口。3软件设计本设计采用中断方式进行设计程序的,在中断中应注意的问题:采用中断的方式,最好将定时器中断的优先级设置为最高级,关于程序数据的稳定性应注意两个问题:一,在低优先级中断响应时,应在入栈保护数据时禁止高优先级的中断响应。二,在入栈保护有关数据后,对中断程序执行有影响的状态位,寄存器,必须恢复为复位状态的值。例如,在以下程序中,由于用到了十进制调整,所以在中断进入时,将PSW中的AC,CY位清零,否则,十进制调整出错。定时准确性的讨论:程序中定时器,一直处于运行状态,也就是说定时器是理想运作的,其中断程序每隔0.1秒执行一次,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为:每0.1秒,误差7—12个机器周期。当然这是在定时器定时刚好为0.1秒时的情况,由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,我们在定时值设置时,可以适当的扣除9个机器周期的时间值。但如果在中断的情况下,没有将定时器中断设置为最高级,那就要视中断程序的大小,在定时值设置时,扣除相应的时间值。流程图图6流程图该流程图,先对电路进行初始化,然后程序从伪指令(ORG)开始顺序执行,进入主程序,在主程序中调用各个子程序,在各个子程序中利用数据传送,循环移位指令等和中断方式,以及各个子程序,始终开始运行,在运行是可对时钟进行调整,K1键是进行校时,K2键是进行校分,利用中断进行校时,校分,最终实现了电子钟的设计。4proteus软件下的仿真4.1软件介绍WAVE6000软件是在窗口管理、项目管理和源文件编辑工具上工作的,在WAVE6000环境下的所有窗口均可以放在窗口的同一块区域,各窗口可以直接切换,节省了窗口的面积,使窗口管理更有效。WAVE6000中项目管理和源文件编辑方面的功能,使得项目、文件切换更方便,有效地后退、前进功能使得修改程序更方便。新增加的书签窗口和断点窗口可以有效地管理断点和书签,使得程序员无需在众多的代码和断点中逐行查询,断点信息和书签信息在各自的窗口中显示一目了然。项目窗口是用户和源程序文件、目标文件和用户设置等的桥梁,通过项目窗口可以建立项目、设置项目、添加源程序到项目、编译项目等项目操作,信息串口显示项目操作和文件操作后的详细信息,例如打开项目、保存项目、项目编译过程以及出错信息等等。在一个项目调试之前,必须经过新建项目、设置项目、添加模块和包含文件、保存项目、编译项目,最后进入调试项目,其中的所有成功和错误信息都会在该窗口中显示,因此用户在调试项目前,需要观察此窗口是否有错误信息,待排除错误后方可正确调试项目。外设(包括端口、定时器、串行口、中断)菜单和相应的窗口是由SFR窗口寄生出来的外设菜单,专门用来显示外部设备的状态和相应的设置,可以通过该窗口生成用户修改设置后的汇编源码、C源码,用户可以脱离常用的手册直接修改各外设的工作方式,然后产生源码。外设(包括端口、定时器、串行口、中断)菜单和相应的窗口是由SFR窗口寄生出来的外设菜单,专门用来显示外部设备的状态和相应的设置,可以通过该窗口生成用户修改设置后的汇编源码、C源码,用户可以脱离常用的手册直接修改各外设的工作方式,然后产生源码。1) 在计算机上打开“WAVE6000”2) 建立新程序选择菜单[文件|保存文件]或[文件|另存为]功能。3) 建立新的项目,选择菜单[文件|新建项目]功能。新建项目分三步走,首先,加入模块文件。在加入模块文件的对话框中选择刚才保存的文件,按打开键。如果你是模块项目,可以同时选择多个文件再打开。然后,加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件。如果没有则按取消键。最后,保存项目。在保存项目对话框中输入项目名称,按保存键将项目保存在与你的源文件相同的文件夹下。4) 然后再设置项目。选择菜单栏的编译功能编译项目。在编译过程中如果有错误可以在信息窗口中显示出来。双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译只到正确为止。5) 在编译没有错误后,就可以执行、调试程序了。软件仿真的时间显示图:任一时间的时钟显示按下K1键进行校时,小时加一后的时间显示。按下K2键进行校分,分钟加一后的时间显示5设计心得经过一周的努力和同学们的帮助,我终于顺利完成了利用单片机实现的电子钟课程设计。在两个月的时间里,谭老师带着我们学习《单片机原理及应用技术》,让我们加深了对MCS-51系列单片机的认识和了解。目前单片机已成为测量控制应用系统中的优选机种和新电子产品的关键部件。单片机的高可靠性,高控制功能及高运行速度的“三高”优点,必然使未来的高科技工程系统将采用单片机的多机系统作为主要的发展方向。作为一名即将进入社会的大学生,认识和了解单片机这一特殊功能的计算机对我们来说是非常有用的,常说“书到用时方恨少”,在做课程设计时,我明显感觉有些吃力,以前学习理论知识不够扎实到用到才发现不知所措,我也希望有更多的时间来学习这门课,28学时来学完这门课实在是太少了,我们的认识只是在表面上,这次课程设计让我们把所学的知识联系在一起,也让我们把具体的知识应用到实际中,在课程设计中出现了不少问题,但是在老师‘同学的帮助下,我顺利完成了设计,经过软件仿真后,实现了时、分、秒的显示和校时的功能。参考文献余发山单片机原理及应用技术中国矿业大学出版社张毅刚单片机应用设计哈尔滨工业大学出版社李刚51系列单片机系统设计与应用技巧房小翠王金凤《单片微型计算机与机电接口技术》北京:国防工业出版社李珍《单片机原理与控制技术》北京:清华大学出版社范立南《单片微机接口与控制技术》沈阳:辽宁大学出版社张友德《单片微型机原理应用与实践》上海:复旦大学出版社李华《MCS-51系列单片机实用接口技术》北京:北京航空航天大学出版社附1源程序代码DB0_DB7EQUP1DI_DADATA20HSECDATA21HMINDATA22HHOURDATA23HORG0000HLJMPMAINORG000BHLJMPCLOCKORG0030HMAIN:MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CHSETBET0SETBTR0MOVDI_DA,#00HMOVSEC,#00HMOVMIN,#00HMOVHOUR,#00HSETBEAMOVSP,#60HLCALLINITIALLCALLCLSMOVA,#10000000BLCALLWRITE_COMMOVDPTR,#LINE0LCALLDISPMOVA,#11000000BLCALLWRITE_COMMOVDPTR,#LINE1LCALLDISP;*******************MOVA,#11001100BLCALLWRITE_COMMOVDPTR,#LINE1LCALLDISP;*****STARTTIME******JNBP3.0,MIN_ADJJNBP3.1,HOUR_ADJACALLCONVACALLDISAJMPBEGIN;*****SCANKEYBOARD******MIN_ADJ:ACALLDEL10MSCLRCMOVA,MININCADAACJNEA,#60H,X1CLRAX1:MOVMIN,AACALLDISACALLDEL200MSJNBP3.0,MIN_ADJAJMPBEGINHOUR_ADJ:ACALLDEL10MSCLRCMOVA,HOURINCADAACJNEA,#24H,X3CLRAX3:MOVHOUR,AACALLDISACALLDEL200MSJNBP3.1,HOUR_ADJAJMPBEGIN;******CONVERT*********CONV:MOVA,DI_DACJNEA,#14H,DONEMOVDI_DA,#00HMOVA,SECADDA,#01HDAAMOVSEC,ACJNEA,#60H,DONEMOVSEC,#00HMOVA,MINADDA,#01HDAAMOVMIN,ACJNEA,#60H,DONEMOVMIN,#00HMOVA,HOURADDA,#01HDAAMOVHOUR,ACJNEA,#24H,DONEMOVHOUR,#00HDONE:RET;********DISPLAYTIME********DIS:MOVA,#11000100BLCALLWRITE_COMMOVA,HOURSWAPAANLA,#0FHADDA,#30HLCALLWRITE_DATAMOVA,HOURANLA,#0FHADDA,#30HLCALLWRITE_DATAMOVA,#3AHLCALLWRITE_DATAMOVA,MINSWAPAANLA,#0FHADDA,#30HLCALLWRITE_DATAMOVA,MINANLA,#0FHADDA,#30HLCALLWRITE_DATAMOVA,#3AHLCALLWRITE_DATAMOVA,SECSWAPAANLA,#0FHADDA,#30HLCALLWRITE_DATAMOVA,SECANLA,#0FHADDA,#30HLCALLWRITE_DATARET;*****50MSINTERUPPT*****CLOCK:MOVTL0,#0B0HMOVTH0,#3CHINCDI_DARETI;****DISPLAYINLCM*****DISP:PUSHACCDISP_LOOP:CLRAMOVCA,@A+DPTRJZEND_DISPLCALLWRITE_DATAINCDPTRSJMPDISP_LOOPEND_DISP:POPACCRET;****STARTLCM*****INITIAL:MOVA,#00111000BLCALLWRITE_COMMOVA,#00001100BLCALLWRITE_COMMOVA,#0000

温馨提示

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

最新文档

评论

0/150

提交评论