单片机电子时钟设计_第1页
单片机电子时钟设计_第2页
单片机电子时钟设计_第3页
单片机电子时钟设计_第4页
单片机电子时钟设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机设计安阳工学院单片机基础课程大作业课题名称:用单片机设计日历和时钟院系:电子信息与电气工程学院专业班级:2010级自动化(2)班姓名:李好飞学号:201002010107成绩(教师填写):2012 年 6月 7日摘要: 本设计是基于51系列的单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。硬件部分主要由at89s52单片机,led显示电路,以及调时按键电路等组成,系统通过led显示数据,所以具有人性化的操作和直观的显示效果。

2、软件方面主要包括时钟程序、键盘程序,显示程序等。本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在proteus软件中嵌入单片机内进行仿真。关键词:at89s52; ds1302; led10目录1概述12设计方案论证12.1功能要求12.2方案确定22.2.1单片机芯片的选择方案和论证22.2.2显示模块选择方案和论证22.2.3时钟芯片的选择方案和论证32.2.4电路设计最终方案确定33硬件设计33.1电路设计框图33.

3、2系统概述43.3电源设计43.4单片机的复位电路43.5单片机系统的晶振电路53.6主电路设计54软件设计64.1主程序设计74.2日历时钟子程序设计84.3显示子程序设计9参考文献10-1概述在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有cpu控制器或者是单片机。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电

4、)等。用单片机来控制的小型家电产品具有便携实用,操作简单的特点。时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。本文设计的日历和时钟的显示广泛用于小型智能家用电子产品,如电子钟。利用单片机进行控制,实时时钟芯片ds1302进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。电子钟既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重

5、要的现实意义和实用价值。2设计方案论证2.1功能要求1、能显示年、月、日、时、分、秒、星期2、能对时间进行手动修正3、采用24小时制4、使用led显示时间参数5、上电后,电子钟显示“2010年 1月 1日” “1时 1分 1秒 星期1”对时,分,秒,日,月,年高位为0时做消隐处理,只显示单个数字以增强其可读性。2.2方案确定2.2.1单片机芯片的选择方案和论证方案一: 采用89c51芯片作为硬件核心,采用flash rom,内部具有4kb rom 存储空间,能于3v的超低压工作,而且与mcs-51系列单片机完全兼容,但是运用于电路设计中时由于不具备isp在线编程技术, 当在对电路进行调试时,由

6、于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用at89s52,片内rom全都采用flash rom;能以3v的超底压工作;同时也与mcs-51系列单片机完全该芯片内部存储器为8kb rom 存储空间,同样具有89c51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用at89s52作为主控制系统.2.2.2显示模块选择方案和论证方案一:采用led液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,

7、但是价格昂贵,需要的接口线多,所以在此设计中不采用led液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用led数码管动态扫描,led数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了led数码管作为显示。2.2.3时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方

8、案。方案二:采用ds1302时钟芯片实现时钟,ds1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的ram做为数据暂存区,工作电压2.5v5.5v范围内,2.5v时耗电小于300na.2.2.4电路设计最终方案确定综上各方案所述,对此次作品的方案选定: 以单片机at89s52为主控制器,时间数据是通过时钟芯片ds1302来读取,并通过led数码管显示出来,并用键盘来完成对当前时间的调整。3硬件设计3.1电路设计框图at89s52主控制模块ds1302时钟模块led数码管动态扫描显示模块键盘模块复位电路时钟电路图3-13.2系统概述本

9、电路是由at89s52单片机为控制核心,具有在线编程功能,低功耗,能在3v超低压工作;时钟电路由ds1302提供,它是一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个31*8的用于临时性存放数据的ram寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由15个数码管,74hs138、74ls244构成。使用动态扫描显示方式对数字的显

10、示。硬件的结构和可靠性直接影响着整个系统的可靠性,所以合理的安排电路能提高电子产品的性能。3.3电源设计在这里因设计分工和侧重点不同,电源模块用通用的5v变压器。3.4单片机的复位电路图3-2手动复位电路在系统运行的过程中,有时可能对系统需要进行复位,为了避免对硬件系统经常加电和断电造成的损害,设计了手动的复位电路。如图4-2所示。这种电路的设计,在系统的运行过程中需要复位时,只需使开关闭合,在rst端就会出现一定时间的高电平信号,从而使单片机实现复位。3.5单片机系统的晶振电路单片机必须在时钟的驱动下才能进行工作。mcs-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就能产生一定频

11、率的时钟信号送到单片机的内部的各个单元,决定单片机的工作速度。图4-3就是内部时钟工作方式的电路图,这是一种常用的方式。这种方式是外界振荡源,本设计就采用这种外接晶振的方法。电路中的两个电容的作用有两个:一是帮助振荡器起振(c1 c2的值大,起振的速度慢;反之,速度快。);二是对振荡器的频率起到微调的作用(c1 c2的值大,频率略有减少,反之,频率略有提高)。c1 c2的值采用30pf。图3-3单片机内部晶振电路连接图 3.6主电路设计主电路的功能是完成年、月、日、星期、时、分、秒之间的转换, 再送往led显示,并且接受键盘操作,对日期和时间进行校正。电路原理图如图4-4所示,显示部分用p0口

12、做为输出数据接到led数码管a到h,并接74ls244做为各段的驱动(为了简化电路图在此用了8个上拉电阻代替74ls244)。用p3口的低3位接译码器的a0,a1,a2端,用p3.3,p3.4,p3.5分别接译码器的使能端,通过控制p3口来控制led的动态扫描。单片机的18和19引脚接12mhz的晶振,并接两个22pf的电容同时接地,单片机复位端接一极性电容并连接到电源处,在极性电容的负极接一10k的电阻,并连接至地做为放电用。本设计用到四个独立式键盘分别接到p1口的低4位,用p1口的p1.4,p1.5,p1.6接日历时钟的使能端和时钟端及数据输入输出口,并在日历时钟上接一32.768khz的

13、晶振,并接两个22pf的电容终端和地相连,各芯片的电源部分分别接到有开关式电源产生的5v电源上,芯片的接地端都接在公共地上,在这里接电源部分就不再一一详述。设计采用动态显示,轮流扫描各个led使之显示相应的数型码,当扫描频率大于人眼所能识别的频率时就看不到闪烁现象。动态显示的亮度不如静态显示,但静态显示占用的i/o口资源较多,往往用移位寄存器74ls164等来扩充其i/o口不足的情况,当显示位数较多时,这样势必增加硬件开销,增大成本,不利于开阔市场。本设计的突出之处在于硬件电路简单,大大减少了硬件开销,这样又势必增加了软件开发的难度,但降低了成本有利于市场的开阔。图3-4电路原理图4软件设计软

14、件的设计是设计控制系统的应用程序。其任务是在整体设计和硬件设计的基础上,确定程序结构,分配内ram资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整应用程序,与硬件相结合完成相应功能。4.1主程序设计主程序才用模块化设计,流程图如图5-1所示。从上面主程序看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直观的看出主程序所要完成的功能,首先是初始化各模块,之后调用键盘完成时间的调整,调用日历子程序完成日历时钟的初始化和时间数据的读写,调用显示子程序显示数据,最后又转到键盘程序来回循环。初始化部分主要有初始化定时器部分和和一些寄存器、标志位、初始化时间等。

15、对定时器t0初始化时,首先置初值,cpu开中断,定时器t0开中断,并且开始计数,而对定时器t1初始化时,首先置初值,定时器t1关中断,并且停止计数,只有收到命令时才能产生中断。开始初始化t0并开中断初始化t1并关中断寄存器初始化标志位初始化初始化时间调键盘子程序调日历子程序调显示子程序结束寄存器的初始化主要是初始化执行程序时用到的部分ram空间,防止程序执行时带来混乱。标志位初始化是对时间调整时判断是调分还是调时等而专设的位标志,初始化过程中标志位全部置0,即开始时是处于显示状态,而不是调整状态,这一点在程序中相当明了。初始化时间是开机时显示的时间,并通过调用日历时钟的写程序来完成时间的置初值

16、。上图为图4-1程序流程图4.2日历时钟子程序设计ds1302与cpu的连接需要三条线,即sclk(7)、i/o(6)、rst(5)。日历时钟ds1302的读写需要初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机启动写时序开始,如果要求单总线器件回送是低位在先。读写都是16位数据高8位是地址低8位是数据,在读写时要严格遵从其读写时序,否则读写将会失效。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电运行时,在vcc2.5v之

17、前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平,这一点我们要一定注意。当rst置为高电平时,在串行时钟的sclk的上升沿,ds1302从i/o端口读入一位数据,8个串行时钟脉冲就可以读入一字节的数据。在串行时钟的下降沿,ds1302向i/o端口输出一位数据,8个串行时钟脉冲就可以输出一字节的数据。显示子程序设计电子产品是否实用其中显示占了很重要的地位,很多数人都渴求用视觉效果好,范围广,直观明了,led符合以上的要求,但相应的硬件设计相对复杂。rst置1开 始发送1位命令码命令码8位送完?写一位数据数据写完?rst置0(a)时钟写结 束开 始rst置1发送1位命令码

18、命令码8位送完?读一位数据数据读完?rst置0结 束(b) 时钟读图4-2 日历时钟的写和读nyyyynnn4.3显示子程序设计本设计的显示部分具有消隐和闪烁功能,当时分秒等高位为0时显示消隐, 此时在读时间时更加明了,但低位不能显示消隐。闪烁功能也是本设计的一个难点,本设计采用8个位标志位,其中一个标志位通过用定时器0产生一个周期大约为每秒1.5次,使闪烁时效果达到最好。此时定时器采用定时中断的工作方式,这样可以充分利用cpu资源。另外7个标志位是时分秒等的位标志位,当秒标志位置1时即秒开闪烁,与用中断产生的标志位相结合,即在一个周期内为0时此时消隐为1时开显示,这样就使在调时间时对应的位闪烁。参考文献01何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.0702杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.0603先锋工作室编著.单片机程序设计实例.北京:清华大学出版社.2003.0104谢宜仁主编.单片机实用技术问答.北京:人民邮电出版社.2003.0205孙江宏,李良玉等编著.

温馨提示

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

评论

0/150

提交评论