《基于单片机的电子时钟设计(27页).doc》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计(27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的电子时钟设计-第 23 页 本科生毕业论文(设计)基于单片机的电子时钟设计独 创 性 声 明本人郑重声明:所呈交的毕业设计是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,设计中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作了明确的说明并表示了谢意。签名: 年月日授 权 声 明本人完全了解许昌学院有关保留、使用本科生毕业设计的规定,即:有权保留并向国家有关部门或机构送交毕业设计的复印件和磁盘,允许毕业设计被查阅和借阅。本人授权许昌学院可以将毕业设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描
2、等复制手段保存、汇编设计。本人设计中有原创性数据需要保密的部分为(如没有,请填写“无”): 签名: 年月日指导教师签名: 年月日摘 要本文详细介绍了51单片机应用的数据转换显示,动态扫描显示原理,单片机的定时中断原理、从而达到学习,了解单片机相关指令在各方面的应用。电子时钟系统由AT89C51、LCD显示器、按键、二极管等部分构成,能实现日历的功能,能进行时、分、秒的显示,也具有日历计算、显示、校准、定时时间的设定、温度显示,实现三路开关定时输出等功能。关键词:电子时钟;单片机ABSTRACT In this paper,detailed information on the applicat
3、ion of 51 single.chip display data conversion, digital display principle,dynamic scan shows the principle of single.chip timing interruption principle,to achieve the learning and understanding of single.chip instruction in all aspects related to the application. Electronic clock system consists of A
4、T89C51,LCD digital tubes, buttons, diodes and other components,to achieve the function of the calendar , can be hours, minutes and seconds display.Also has a calendar calculation, display and clock,a calendar of the calibration,set the time from time to time、temperature display ,the realization of t
5、hree.way output functions. Key words: electronic clock;Single Chip Microcomputer目 录1绪 论11.1课题研究的目的和意义11.2电子时钟发展动态12电子时钟设计硬件结构22.1单片机简介22.1.1单片机的基本概念22.1.2单片机的工作原理22.2 AT89C51简介42.3 DS1302简介62.4温度传感器DS18B20简介62.4.1 DS18B20的性能特点72.4.2 DS18B20与单片机的接口电路72.5 LCD显示72.6电子时钟的原理图83电子时钟软件设计93.1程序设计思想和相关指令介绍93
6、.1.1计时功能的实现与中断服务程序93.1.2时钟误差分析103.1.3时间控制功能与比较指令103.2程序电路图103.2.1程序流程图103.2.2定时中断流程图113.2.3调时功能流程图134电子时钟软件仿真144.1Protues介绍144.2 Proteus ISIS的仿真步骤144.3 Keil uVision2调试软件154.4电子时钟仿真及其结果17总结20参考文献21附 录22致 谢311绪 论随着现代技术的发展,尤其是数字技术的发展,用数字电路技术实现电子时钟变得越来越重要,而且贴近我们的实际生活。在现代社会各领域中,广泛需要各种不同的定时系统,来完成定时操作功能。用单
7、片机实现定时控制,是当前实时控制的发展方向。而一些定时系统只能满足特定的需要,而定时时间是由研发者根据用户需要输入到系统存储器中的,在使用中用户无法更改。本系统采用通用单片机定时系统,具有很强的通用性,实用性并且其定时时间可以根据需要,由用户任意更改,并且可以设定多个定时时间,极大地方便了使用者。系统选用单片开发机。具有体积小、电路简单、操作便捷、价格低廉、运用灵活、使用方便等特点。系统中,定时时间到达时将相应的LED灯点亮,此功能也可变为其他功能从而应用到更广泛的领域例如:定时开启电源、打开阀门自动浇水等。1.1课题研究的目的和意义数字电子时钟是一个无处不在的电子产品,经过多年的发展技术已经
8、相当成熟了,目前广泛应用的电子时钟大多用AT89C51单片机为核心部件制作的,可以实现对年、月、日、时、分、秒的数字显示,通过扩展可实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场等公共场所的时间显示。与机械钟表和3V电源半机械钟表相比,数字电子钟有时间精确、减少汞电池的使用等优点。本课题将通过对市场上的电子时钟的研究,制作一个以AT89C51单片机为核心控制部件的数字式电子时钟,该时钟具有显示年、月、日、时、分、秒,正点报时,温度显示等功能,可以使人们在得到准确时间显示的同时提醒接下来的时间安排,方便人们的生活。1.2电子时钟发展动态二十一世纪的今天,最具代表性的计时
9、产品就是电子时钟,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子时钟),从原有传统指针计时的方式发展为人们日常更为熟悉的数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求。电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机
10、械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子时钟。在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚,但目前市场上各式各样的LCD数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点,因此有必要对数字电子钟进行改进。2电子时钟设计硬件结构2.1单片机简介2.1.1单片机的基本概念单片机,是集CPU,ROM,RAM,计数和多种接口于一体的微控制器。自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高,价格低廉、可靠性高、灵话性好、开发较为容易
11、,广泛应用于智能生产和工业自动化上。单片微型计算机(Single-Chip Microcomputer),简称单片机。就是将微处理器(CPU),存储器(存放程序或数据的ROM和RAM),总线,定时器/计数器,输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。由于单片机的重要应用领域为智能化电子产品。2.1.2单片机的工作原理单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用命令的形式写下来,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系
12、统亦不同。为使单片机能自动完成某一特定任务,把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件存储器中。存储器由许多存储单元(最小的存储单位)组成,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。 程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一
13、条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行,单片机的芯片如2-1所示。 图2-1 单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这
14、些纯硬件来搞定的话,电路是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别,因为单片机的通过你编写的程序可以实现高智能、高效率、以及高可靠性。 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸,对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在
15、硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。2.2 AT89C51简介AT89C51是一种4K字节闪存可编程可擦除只读存储(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C52是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C5
16、1是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,外形及引脚排列如图2-2所示。图2-2 AT89C51引脚图 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4
17、TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存
18、器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.
19、7 RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,对外部时钟信号的脉宽无要求,但必须保证脉冲的高低电平要求的宽度。2.3 DS1302简介DS1302是美国DALLAS公司推
20、出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V,采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302的外形及引脚排列如图2-3所示。 图2-3 DS1302引脚图VCC1: 后备电源。VCC2:主电源,在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC10.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302
21、由VCC1供电。X1,X2: 振荡源,外接32.768kHz晶振。RST: 复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送. RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。 I/O: 串行数据输入输出端(双向)。SCLK: 输入端,只有在SCLK为低电平时,才能将RST置为高电平。2.4温度传感器DS18B20简介DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温
22、元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。2.4.1 DS18B20的性能特点DS18B20的性能特点:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在唯一的三线上,实现多点组网功能;无须外部器件可通过数据线供电,电压范围为3.05.5V;零待机功耗;温度以9或12位数字量读出;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2.4.2 DS18B20与单片机的接口电路DS18B20可以采用两种方式供电,一
23、种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式。本设计采用电源供电方式,如图2-4所示。单片机AT89C51VCCP3.7321DS18B203 2 1图2-4 DS18B20采用电源供电的电路图2.5 LCD显示显示电路选用AMPIRE12864,其显示器LCD的引脚图如2-5所示。 图2-5 LCD的引脚图管脚一共18个。CS1:左半屏片选端,CS2:右半屏片选端; V0:液晶显示驱动电压,通过一个电位器接到VCC;RS:数据指令选择信号,H为数据,L为指令,也叫D/I;R/W:读写选择信号,H为读,L为写;E:LCD使能端,R/W
24、为L时,E信号下降沿锁存DB7-DB0;R/W为H时,E为H,DDRAM数据读到DB7-DB0。DB0-DB7:数据传输端口。RST:复位信号。-VOUT和V0:液晶显示驱动电压。12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字。2.6电子时钟的原理图本设计主要由单片机、时钟芯片、液晶显示器和温度传感器等几部分组成。其中时钟芯片用于显示日历、定时各种功能的实现。通过温度传感器与单片机的连接从而显示出温度,在确定了选用AT89C51型号的单片机后,就要确定外围电路如时钟输入部分、复位部分、晶振部分
25、、显示部分、定时部分组成,其原理图如图2-6所示。图2-6 电子时钟原理图3电子时钟软件设计3.1程序设计思想和相关指令介绍本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。3.1.1计时功能的实现与中断服务程序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位,24小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通
26、过扫描程序送LCD中显示出来,实现时钟计时功能。累加是用指令INC来实现的。进入中断服务程序以后,执行PUSH PSW 和PUSH A 将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的保护现场.以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循后进先出的原则。3.1.2时钟误差分析开启定时器/计数器0,使之开始计时,中断后进入中断程序。自停止计数到计数又开始,中间执行了7条指令,也就是延迟了13个单周期共用时间26us,这样,每个中断的总时间应为为100.0
27、26ms,而原来定时是100ms,所以,也就是说每次中断定时多了26us.这样,可改变计数重装值,使每次中断定时时间为99.974ms,加上原来的7 条指令所用的时间,正好100ms.计数10次得1s.这样就可得到较精确的计时秒数,然后根据进率,得到时、分的值。3.1.3时间控制功能与比较指令系统的另一功能就是实现对执行设备的定时开关控制 ,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入RAM某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR指令,将对应的那路P3置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等
28、,就执行SETB对应的P3置低电位,二极管截止 。实现此控制功能用到的比较指令为CJNE A,#direct,rel,其转移条件是累加器A中的值与立即数不等则转移。3.2程序电路图本系统的软件设计电路图主要由程序流程图、定时中断流程图、调时功能流程图等组成。3.2.1程序流程图 程序流程图如图3-1所示。主程序 开始按SB0?按SB4?与设定时同?中断T0调用程序条件显示/定时判断/开定时中断中断1中断0进入定时中断程序(最高级)设定定时(三路定时)调整时间(改变时间值)转换显示年月日(3S返回)对应P0.3/P0.4/P0.5输出秒分时日月年进位 图3-1 程序流程图 3.2.2定时中断流程
29、图定时中断流程图如图3-2所示。定时中断重装定时常数 加100ms 整秒调整秒单元整分调整分单元调整时单元整日 调整日单元整月调整月单元整年调整年单元 整时 图3-2 定时中断流程图3.2.3调时功能流程图调时功能流程图如图3-3所示。中断开始(SB0)按键开始扫描进入1路调整年单元月单元日单元时单元分单元开单元加1调整2路调整3路单元加1调整年单元单元加1调整月单元单元加1调整日单元单元加1调整时单元关定时调整分单元调整秒单元中断返回按SB1按SB3 图3-3 调时功能流程图4电子时钟软件仿真4.1Protues介绍Protues软件是Labcenter electronics公司出版的ED
30、A工具软件(该软件中国总代理为广州风标电子技术公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前应用广泛的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者以及从事单片机教学的教师、致力于单片机开发应用的工作者的青睐。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的设计,是目前世界上将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM
31、、8086和MSP430等,2010年增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器,在这次设计使用的是Keil编译器。4.2 Proteus ISIS的仿真步骤Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。在Proteus ISIS中,选中AT89C51并单击鼠标左键,对AT89C51进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.HEX文件,对单片机设置完毕后就可以开始仿真了。仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在KeiluVisio
32、n2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。Proteus ISIS的工作界面是一种标准的Windows界面,仿真界面如下图4-1所示。图4-1 Proteus ISIS仿真界面打开Proteus程序后,进入软件的主界面。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,如图4-2所示。图4-2 元件选取界面4.3 Keil uVision2调试软件Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于
33、传统C语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil uVision2软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keil uVision2来开发您的单片机应用程序。Keil uVision2 的使用流程如下图4-3所示。打开软件Keil C51新建工程文件新建源代码文件类型为.c或.asm调试、编译并生成.hex文件 图4-3 Keil的基本使用流程 Keil uVision软件的调试界面如下图4-4所示。图4-4 Keil uVision2 程序调试界面单片机的类型选取界面如下图4-
34、5所示,本设计选取的是AT89C51单片机。图4-5 单片机类型选取界面本设计利用软件Keil uVision2,在新建Keil项目时选择AT89C51单片机作为CPU,将源程序导入,在“Options For Target”对话窗口中,选中“Output”选项中的“Create HEX File”,编译链接后就可以生成.HEX文件,此文件的选取界面如图4-6所示。 图4-6 HEX 文件的选取界面4.4电子时钟仿真及其结果当未按下任何按钮时电子时钟的仿真原理图如图4-7所示。图 4-7 电子时钟的仿真原理图当启动运行后电子时钟的仿真图如图4-8所示。 图4-8 电子时钟显示结果当按下闹铃开关
35、及温度按钮时的仿真图如图4-9所示。 图4-9 电子时钟的闹铃及温度功能显示总结大学五年的时光我们基本上都在学习理论知识中度过,很少有机会将这些理论知识用于实践中,而这次的毕业设计正好给了我们展示这五年学业成果的好机会。在整个的设计过程中,实际上是自己对五年学习的总结,它不但加深了自己对理论知识的深化认知,更让自己学会了如何去正确运用理论知识解决实际问题,也就是“从理论中来,到实践中去”,从中也使自己学到和积累了许多经验。我的设计还具有很大的扩展空间,例如在硬件电路上增加彩灯,在不同的时间有不同的显示,使其更加美观。同时还可以与红外遥控连接,这样就省去了很多麻烦,我们可以利用遥控器对其进行远距
36、离的操作。通过这次设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。本次设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争。参考文献1 李全利.单片机原理及应用技术(第二版)M.北京:高等教育出版社,2000.2 韩志军,王振波,沈晋源.单片
37、机应用系统设计M.北京:机械工业出版社,2006.3 李光飞,楼然苗,胡佳文,谢象佐.单片机课程设计实例指导M.北京:航空航天大学出版社,2008.4 李朝清.单片机原理与接口技术M.北京:航空航天大学出版社,2000.5 余永权.ATMEL89系列单片机应用技术M.北京:航空航天大学出版社,2008.6 周志敏.周纪海等编.LED驱动电路设计与应用M.北京:人民邮电出版社,2006.7 袁宇正.电子爱好者实用电子制作M.北京:人民邮电出版社,2007.8 华成英,童诗白.模拟电子技术基础M.北京:高等教育出版社,2004.9 孙育才.MCS-51系列单片机微型计算机及其应用M.南京:东南大学
38、出版社,2005.10杨振江,杜铁军,李群编著.流行单片机实用子程序及应用实例M.西安:电子科技大学出版社,2002.附 录电子时钟的设计程序:SEC EQU 32H MIN EQU 31H HOUR EQU 30H DAY EQU 35H MON EQU 34H YEAR EQU 33H MIN_1 EQU 41H HOUR_1 EQU 42H DAY_1 EQU 43H MON_1 EQU 44H YEAR_1 EQU 45H MIN_11 EQU 40H HOUR_11 EQU 46H DAY_11 EQU 47H MON_11 EQU 48H YEAR_11 EQU 49H ORG 0
39、000HLJMP MAINORG 0003H LJMP SHOWORG 000BH LJMP TIMEORG 0013HLJMP CHANGE ;-主程序ORG 0030HMAIN:;-初始化赋值MOV YEAR , #02MOV MON , #05MOV DAY , #01MOV HOUR #00MOV MIN , #00MOV SEC , #00CLR 40H CLR 41HCLR 42HCLR 43HCLR 44HCLR 45HCLR 46HCLR 47HCLR 48HCLR 49H;-开中断MOV TMOD , #01H MOV TL0, #0B0H MOV TH0, #3CH CLR
40、 P3.0MOV 20H, #0AH SETB PT0 SETB TR0 SETB ET0 SETB EX0 SETB EX1 SETB EA ;-显示、定时器启动判断LOOP:MOV R1 , #30H MOV R4, #01H MOV R3, #03H NEXT:MOV A , R1 MOV B , #10 DIV ABSWAP AORL A, BMOV P0, A MOV P2 , R4INC R1 MOV A, R4 RL A MOV R4 , ALCALL DE5SM DJNZ R3, NEXT ;-判断定时输出(只编写了一路)CJNE R7, #88H , LOOP ;-开MOV
41、A, YEARCJNE A, YEAR_1, LOOP_1 MOV A, MONCJNE A, MON_1, LOOP_1MOV A, DAYCJNE A DAY_1,LOOP_1MON_AA:MOV R5, MONCJNE R5, #11, MON_BBMOV R5, DAYCJNE R5, #31, L5INC MONMOV DAY , #1L5: LJMP OUTMON_BB:MOV R5, DAYCJNE R5 , #32, L6INC YEARMOV MON, #1MOV DAY , #1L6: LJMP OUT;-校对时间、定时调整中断CHANGE : PUSH PSWPUSH A
42、CCPUSH BPUSH 00HMOV p2, #00HSHOW_1:MOV A , #01H MOV P0, AMOV P2, #0FFH LCALL READ CJNE A, 01H, SHOW_1 LCALL DE250SM CJNE A, #0FBH,ttT1LJMP SB3_1ttT1: CJNE A, #0FEH, SHOW_1AJMP SHOW_2;-二组显示SHOW_2:MOV A, #02H MOV P0, AMOV P2, #0FFH;LCALL READCJNE A, 01H, SHOW_2 LCALL DE250SM CJNE A, #0FBH ,T2 LJMP SB3_2T2: CJNE A, #0FEH, SHOW_2AJMP SHOW_3;_-三组显示SHOW_3:MOV A, #03