资源描述
届学生毕业论文(设计) 存档编号: 江 汉 大 学 文 理 学 院 College of Arts & Science of Jianghan University毕业论文(设计)论文题目 基于单片机电子时钟的设计与实现 (英 文)Design and implementation of single chip electronic clock 学 部 信息技术学部 专 业 电子信息工程 姓 名 学 号 指导教师 2014年 5月8 日摘 要电子钟亦称数显钟(数字显示钟)。它是一种利用数字电路技术实现时、分、秒计时的装置。与老式机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,给人们的生活、学习、工作、娱乐带来极大地方便。在这次设计中,我们以24小时计时方式,采用LED数码管显示时、分、秒,根据数码管动态显示原理来进行显示。用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的基本功能,还可以实现对时间的调整以及定时响铃。数字钟因其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱.因此,研究数字钟及扩大其应用,有着非常现实的意义。关键字:数字电子钟;单片机;数码管AbstractElectronic clock is also called digital clock. It is a kind of device to realize the use of digital circuit technology, minutes, seconds. Compared with the old mechanical clock, it has the advantages of accurate, intuitive display, no mechanical transmission device. To peoples life, study, work, entertainment , it brings great convenience. In this design, we take 24 hour time, use LED digital display hours, minutes, seconds, according to the principle of dynamic display of digital tube to display, use the 12MHz crystal oscillation pulse to the timer count. In this design, the circuit has a display time of basic function, also can achieve the adjustment of time and regular rings. Digital clock because of its small, low price, travel time and high precision, convenient use, multiple functions, easy integration and loved by the general consumer. Therefore , the digital clock and expand its application, has the very. realistic significance.Keywords: digital electronic ;clock chip;digital目 录摘 要I目录III1.绪论11.1 选题的背景和意义11.2 电子时钟的现状与发展趋势11.3 本设计研究的主要内容与终极目标12.采用的主要技术32.1 单片机控制技术32.1.1 AT89C51主要功能32.1.2 AT89C51引脚特性42.1.3 结构特点52.2 软件的仿真技术72.2.1 keil仿真72.2.2 protues 仿真83.电子时钟的硬件电路设计93.1 系统控制电路(单片机系统)93.2 秒信号产生电路103.3 计时电路103.4 校准电路103.5 显示电路103.6 功能选择电路(键盘控制)123.7定时闹铃电路134.电子时钟的软件程序设计144.1 主程序流程144.2 计时程序流程164.3 键盘扫描程序174.4中断程序及延时程序174.5 时间显示程序185.电子时钟电路仿真与性能测试205.1 电子时钟电路仿真图205.1.1 电子时钟正常走时状态电路仿真图205.1.2 电子时钟定时响铃电路仿真图215.2 电子时钟性能测试分析225.2.1 系统性能测试225.2.2 系统误差分析256.收获体会26致 谢27参考文献28附录:电子时钟程序清单29 1 绪论1.1 选题的背景和意义随着科技的进步,电子技术获得了飞速的发展。在社会的各个领域,我们可以看到各种各样的电子产品。电子技术的进步使我们社会生产力的发展和社会信息化程度得到了提高。现代社会的电子产品性能也更进一步提高,各种产品更新换代的速度越来越快。几百年前开始,钟表就已将出现,以前的摆钟和怀表可以说是钟表中的经典,它们不仅大方实用,而且制作精美。但是,近几十年来,它们已经逐渐被电子时钟所取代。电子时钟精确度高,外观小巧,功能完善,成本低。单片机控制的电子时钟具备时钟的各种功能,而且硬件组成非常精简,我们只需要进行软件编写,就可以实现我们所需要的功能。1.2 电子时钟的现状与发展趋势时间就是金钱,现代生活的人们对时间越来越重视。在工作,学习,生活中,许多时候都需要我们对时间把握非常严格和准确,错误的信息会带来非常大的麻烦。这个时候数字电子钟就给我们带来了很大的方便,数字电子钟是以数码管作为显示器,比指针式的时钟有很大的优势。用数码管来显示时间,我们可以简单快速的读数,而且它的时间准确显示到秒。因此,电子时钟在生活中被广大消费者喜爱,得到了广泛的应用。数字电子时钟的精度是远远的超过老式的钟表。 在生活中,我们享受着钟表数字化带来的便利,并且不断的扩展着钟表的功能,让它在更多的领域得到应用。例如,时间程序自动控制、定时自动报警、定时广播、按时自动打铃、定时开关烘箱、通断动力设备、自动起闭路灯等等各种定时装置,它们都是以钟表数字化为基础的。因此,我们对数字钟进行研究并且扩大它的应用,是有着非常现实的意义的。1.3 本设计研究的主要内容与终极目标本次设计是使用12MHZ晶振与单片机AT89C51相连接,通过软件编程的方法来设计以24小时为一个周期同时显示小时,分钟和秒的数字电子钟,并在计时过程中通过对调时键盘的扫描来调整时间,以及控制显示电路进行时间显示功能和定时响铃功能。整体方案如图1-1所示。键盘输入秒信号走时电子时钟60进制计数器LED显示24进制计数器定时闹铃图1-1 电子时钟设计总方案图2 采用的主要技术2.1 单片机控制技术单片机是一种在一块硅片上集成了各种部件的微型计算机。它可以将中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、定时器计数器以及输入/输出(I/O)接口电路等主要计算机部件,集成在一块电路芯片上,独立执行内部程序。2.1.1 AT89C51主要功能AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,所以ATMEL的AT89C51是一种高效微控制器, 它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚特性如图2-1所示。 主要特性:与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道 低功耗的闲置和掉电模式 图2-1 单片机引脚图片内振荡器和时钟电路 2.1.2 AT89C51引脚特性(1)P0口(P0.0P0.7)8位、漏极开路的双向I/O口。当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。(2)P1口(P1.0P1.7)8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。(3)P2口(P2.0P2.7)8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。(4)P3口(P3.0P3.7)8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。P3口除了作为一般的I/O口使用之外,其还具有特殊功能。P3口作为AT89C51的一些特殊功能口,如下表2-1所示。表2-1P3端口引脚兼用功能表P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RD(5)RST:复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。(6)ALE/PROG:低字节锁存信号ALE。在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。(7)/PSEN:片外程序存储器读选通信号,低电平有效。在片外程序存储器取指令期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部数据存储器时,PSEN 无效。(8)/EA/VPP:外部程序存储器访问允许信号EA。当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,该引脚可接编程电压5V或12V。在编程校验时,该引脚可接VCC。 (9)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(10) XTAL2:来自反向振荡器的输出。2.1.3 结构特点AT89C51内部主要包含:一个8位CPU,一个时钟电路,4Kbyte程序存储器,128byte数据存储器,两个16位定时/计数器,64Kbyte扩展总线控制电路,四个8-bit并行I/O端口,一个可编程串行接口,五个中断源,其中包括两个优先级嵌套中断,如图2-2所示。图2-2 单片机系统结构框图1. CPUCPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作。 2. 存储器 AT89C51单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。 3. 并行I/O口 AT89C51单片机有4个双向的8位并行口P0P3,每一个口都有一个8位的锁存器,复位后他们的初始状态全为1,每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。 4. 串行I/O口 AT89C51单片机具有一个采用通用异步工作方式的全双工串行通信接口,可以同时发送和接收数据。它具有两个相互独立的接收、发送数据缓冲器,两个缓冲器共用一个地址(99H),发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入。 5. 定时/计数器AT89C51单片机内有两个可编程的16位定时/计数器,记做T0和T1。T0和T1具有两种工作方式:定时器工作方式和计数器工作方式。作为定时器工作方式,每个机器周期给定时/计数器加1,由于一个机器周期包含12个震荡周期,故计数的速率是震荡器的1/12;作为计数器工作时,每当T0或T1的外部输入信号引脚(即P3.4脚或P3.5脚)由1转0时,计数器加1。定时/计数器T0和T1除具有两种工作方式外,还具有4钟工作模式。模式0: 13位定时器/计数器。模式1: 16位定时器/计数器。模式2: 8位定时器/计数器,可重装初值。模式3: 定时/计数器0分为两个8位定时/计数器 定时/计数器1在此方式无意义。与定时/计数器有关的特殊功能计数器为TMOD和TCON,其相关格式如表2-2所示。表2-2 TMOD格式定时/计数器1定时/计数器0D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0GATE=0,表示相应的外部中断不起作用;GATE=1,表示相应的外部中断起作用。C/=0,表示定时器工作方式;C/=1,表示计数器工作方式。M1M0表示定时器/计数器工作模式的选择。M1M0=00,选择工作模式0;M1M0=01,选择工作模式1;M1M0=10,选择工作模式2;M1M0=11,选择工作模式3。6. 中断系统AT89C51单片机的中断系统有5个中断源。AT89C51的5个中断源中,两个为外部中断(P3.2脚)和(P3.3脚)输入中断请求;两个为片内定时/计数器T0、T1溢出中断请求TF0和TF1;一个为片内串行口中断请求TI(发送中断)和RI(接受中断)。这些溢出中断请求标志分别由特殊功能寄存器TCON和SCON的相应位锁存。 7. 时钟电路 AT89C51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz12MHz,典型取值为6MHz。 8. 总线 以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。2.2 软件的仿真技术2.2.1 keil仿真Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种2.2.2 protues 仿真Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus仿真软件包含两个应用程序,Proteus ISIS和ProteusaresProteus ISIS是Proteus系统的核心,拥有超过8000元件的大型元件库,包含几千个模拟和数字电路中常用的Spice模型及各种动态元件,如三极管、555定时器等基本元件,完全适合于仿真模型。同时ISIS也为用户提供了非常友好的作图界面,元件之间的连线方便、灵活、高效率,剪切、移动等操作借助鼠标可简单实现;另外,ISIS还支持层次图设计,支持WMF、BNP、DXF等多种图形输出格式。3 电子时钟的硬件电路设计电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,并通过数码管进行显示。3.1 系统控制电路(单片机系统)单片机的最小系统包括:电源电路、晶振电路、复位电路和引脚EA的接入状态,如图3-1所示。 图3-1 单片机最小系统的结构图 1.电源电路VCC40接入电源端;GND20接地端;工作电压为5V。2.振荡电路系统的时钟电路设计是利用芯片内部的振荡电路来完成的。时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。3.复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在RET引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电自动复位电路。复位操作不会对内部RAM有所影响。4. EA接入状态引脚EA接入高电平,表示访问内部程序存储器,当程序计数器的值超过0FFFH时,将自动转向访问外部存储器。3.2 秒信号产生电路本次时钟系统的设计是利用芯片内的震荡电路,对定时器定时50ms,然后通过定时中断响应20次来计时1秒钟。3.3 计时电路计时电路是通过对秒信号的累计,秒信号达到60,分加1,秒清零;分累计达到60,小时加1,分清零;小时达到24,小时清零,如此循环计时。3.4 校准电路在这次时钟系统的设计中,是通过K、kadd、ksub三个键对时、分、秒来进行加、减校对调整。3.5 显示电路显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。本次设计采用动态显示方式显示时间,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。本次设计是通过LED采用动态扫描的方式来对时间进行显示,其接口电路是把所有LED显示器的8个笔划段ag、dp的同名端连在一起,由P2口控制公共的COM端来决定哪个数码管点亮(低电平点亮),P0口输入字形码。通过轮流控制各个显示器的COM端,使各个显示器轮流点亮。由于每位显示器的点亮时间是极为短暂的,所以只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,如图3-2(a)和图3-2(b)所示。图3-2(a)数码管连接电路图3-2(b)数码管连接电路3.6 功能选择电路(键盘控制)本次设计了5个键,kadd和ksub用于对时间进行加减,K用于对时,分,秒进行选择以及判断时钟是否从正常走时的状态进入到设定时间的状态, K1用于启动时钟,让时钟开始走时,K2用于对时钟的闹铃时间进行设定。按键电路的连接关系如图3-3所示。图3-3按键控制电路的连接图3.7定时闹铃电路本次设计的电子时钟有到时响铃的功能,当时间到达指定时间时,蜂鸣器就会启动,发出响声5秒,其电路连接如图3-4所示。图3-4 蜂鸣器电路连接图4 电子时钟的软件程序设计系统的软件设计也是系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。4.1 主程序流程主程序流程如图4-1所示。开始设置初值,开中断时间显示键盘扫描K1是否按下 N 时钟启动,计时 YK是否按下 N时钟停止工作Y NK2是否按下定时闹钟 Y 图4-1 主程序流程图4.2 计时程序流程本设计编写了一个计时程序,通过它使时钟正常走时,其具体流程如图4-2所示。开始一秒时间到?秒单元加1Y 60秒到?N秒单元清零,分单元加1Y 60分钟到? N 分单元清零,时单元加1Y24小时到?N时单元清零 Y结束 图4-2 计时流程图4.3 键盘扫描程序本次设计的键盘扫描程序有两部分,一部分在主程序中,通过K、K1、K2来选择电子时钟的状态。按下K表示时钟进入调时状态,按下K1表示时钟进入走时状态,按下K2表示时钟进入设定闹铃时间的状态。另一部分在调试时态下的按键扫描程序中,其中的K键用于对时,分,秒进行选择。程序开始,先判断K键是否按下以及按下几次。K键按下1次,表示选择小时;K键按下2次,表示选择分钟;K键按下3次,表示选择秒;K键按下4次,表示清零,可以重新进行选择。再来判断kadd和ksub是否按下,kadd按下表示加1,ksub按下表示减1,如图4-3所示:K按下,i加1i=4i=3i=2i=1 秒分钟小时i=0kadd按下,加1 ; ksub按下,减1图4-3 按键处理示意图 4.4中断程序及延时程序中断程序,本次设计中,通过中断进行计时,在中断程序中定时50毫秒,中断响应20次,则1秒钟时间到。定时初值:本次设计选用的是定时器0在工作方式1下工作,所以TMOD初始值为0 x01.因为晶振频率为12MHZ,所以机器周期为1us。定时时间:X=(216-50000)/1 TH0=(216-50000)/256TL0=(216-50000)%256延时程序,本次设计中延时程序有一个很重要的作用就是给按键消抖。当用手按下一个键时,如图4-4所示,通常按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也会出现类似的情况,这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。抖动问题不解决就会引起对闭合键的误识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。键按下前沿抖动后沿抖动闭合稳定图4-4 按键抖动信号波形4.5 时间显示程序本次设计数码管是共阴极。当选用共阴极的LED时,所有发光二极管阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮。因此要显示某字形就应使此字形的相应段的二极管点亮,实际上就是送一个用不同电平组合代表的数据字来控制LED的显示,根据图4-5和表4-1,我们可以得出数码管显示0-9的字型码,如下所示:table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f表4-1 LED显示器各段关系D7D6D5D4D3D2D1D0dpgFedcba图4-5共阳式、共阴式LED数码管的原理图和数码管的符号图在本次设计中,我们要让时间显示出它对应的数值,是先将秒、分、时的个位和十位分别提取出来。然后提取对应的字型码送入P0口,通过P2口的选择,轮流显示,其具体内容如图4-6所示。秒 分钟 小时%10,得到个位/10,得到十位P2口位选P0口段选 LED显示0 xfe0 x7f图4-6 时间显示示意图5 电子时钟电路仿真与性能测试本次设计通过keil软件和protues软件进行软件仿真,实现对电子时钟功能的测试。5.1 电子时钟电路仿真图5.1.1 电子时钟正常走时状态电路仿真图电子时钟正常走时状态仿真图如图5-1所示。图 5-1 电子时钟正常走时仿真图5.1.2 电子时钟定时响铃电路仿真图电子时钟定时响铃状态仿真图,为了显示明显用发光二极管代替蜂鸣器,如图5-2所示。图5-2 电子时钟响铃状态仿真图5.2 电子时钟性能测试分析5.2.1 系统性能测试1.调时状态通过k,kadd,ksub对时,分,秒进行加减的调整。时钟开始默认为调时状态,如图5-3所示。 图5-3 开始调时状态 对小时进行加、减的调整,如图5-4和图5-5所示。 图5-4 小时加调整图5-5 小时减调整对分钟进行加、减调整,如图5-6和图5-7所示。 图5-6 分钟加调整图5-7 分钟减调整对秒进行加、减的调整,如图5-8和图5-9所示。 图5-8 秒加调整图5-9 秒减调整2走时状态按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化,如图5-10所示。 图5-10 时钟正常走时3.定时响铃 在调时状态时设定响铃时间,然后在走时状态中,时间达到定时时间,开始响铃,5秒后结束。用发光二极管代替蜂鸣器,发光二极管会亮5秒熄灭,如图5-11和图5-12所示: 图5-11 时钟到时闹铃显示图5-12 5秒后闹铃结束5.2.2 系统误差分析本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。6 收获体会这次设计中遇到了很多问题,例如:时间调整从0减1应该等于23或者59,但是开始时总是直接就跳到22或者58了,后来明白了0先减了个1,那么应该是对应的值等于-1,它才能跳到23或者59。还有仿真过程中,按键调整状态的时候,第一次按一下就能迅速的调整好,到第二次按时,如果按下的时间短了,就不会变化,原来是因为第一次直接执行按键相关程序,而后来要执行主程序中的所有程序,需要时间,要检测到按键,就需要按下时间也长一些。在本次设计中,我虽然遇到了不少麻烦,经过反复编译仿真才解决它们 ,但是也从中学到了许多:1. 在进行设计之前,我们首先要对我们所学的单片机有一个系统的了解,知道单片机片内片外的内容及其功能。这样才能合理的利用它去完成我们所需要的功能。2.在开始编写程序之前,我们要有一个清晰的思路,想好设计的流程,有哪些部分功能,怎样去完成一个整体的电子时钟系统。模块化的设计思想在程序设计中的作用是很大的,它可以为你提供一个比较清晰的思路,并且很容易找到头绪,不至于在编写一个程序时感觉到无从下手。3. 在编写程序时,我们要静下心来,程序只有经过反复推敲才能设计好。程序刚开始编好时,一般情况下会存在一些错误,要我们不断地修改,不断的改进才能达到预期的目的。所以我们一定要有耐心。总之,在这一次毕业设计的过程中,我受益匪浅。通过对以前所学的知识的回顾和理解,以及对毕业设计的思考和合理的书面表达,最终完成了毕业设计。这为我今后进一步深化学习,积累了不少的经验。撰写论文的过程也是我们专业知识学习进一步加深的过程,在这个过程中,我学会了运用已有的专业基础知识,来进行时钟系统设计,分析和解决遇到的理论问题或实际问题,让我的实际动手能力得到了提高。对于本次的设计,实现了电子时钟的显示,调时以及闹铃的功能,但是也有一些尚未完善的地方。例如:对于电子时钟系统的实现只进行了原理上的仿真,而且在电子时钟系统功能的实现方面有所欠缺。希望以后能够进一步的增加其他的功能,比如显示年月日及温度等等。总体来说:圆满完成了任务,实现了电子时钟的设计。致 谢通过这一阶段的努力,我的毕业论文终于完成了,我们的大学生活也即将结束了。在大学阶段,我在学习上和思想上都学到了很多,进步了很多,这除了自身的努力外,与各位老师、同学和家人的关心、支持和鼓励是分不开的。本文从选题到完成,每一步都是在我的导师路银聚的指导下完成,倾注了导师的大量的心血。我们的导师对我们给予了极大的帮助,从选题到开题报告,从写作提纲,到一遍又一遍地指出论文的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和家人。写毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。在新的生活中,我会更加努力的提升自己,不辜负老师,同学和家人的期望。参考文献1. 贺红娟.汇编语言程序设计教程.清华大学出版社有限公司.2009-4-1。2. 任文.孔庆彦.C语言程序设计.机械工业出版社.2009-7-1。3. 吉海彦.微机原理与接口技术.机械工业出版社.2007-7-1。4. 段德功.丁莹亮.单片机原理及应用.经济科学出版社.2010-5。5. 陈涛.单片机应用及C51程序设计.机械工业出版社.2011-1-1。6楼然苗.单片机课程设计指导.北京航空航天大学出版社,2007.7.7苏家健.单片机原理及应用技术.高等教育出版社,2004.11.8 何立民.单片机高级教程(第一版)M.北京:北京航空航天大学出版社,20019张毅坤,陈善久,裘雪红.单片微型计算机原理及应用.西安电子科技大学出版,1998.91 版 .10李学海.标准80C51单片机基础教程:原理篇.北京航空航天大学出版社,2006.11王建校.51系列单片机及C51程序设计.科学出版社,2002.12陈龙三.C语言控制与应用.清华大学出版社,1999.8.13赵建领.51系列单片机开发宝典.电子工业出版社,2007.附录:电子时钟程序清单:/*设定初始内容*/#include sbit kadd=P10; sbit ksub=P11; sbit K=P12; sbit K1=P13; sbit K2=P14; sbit bear=P16; unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0; unsigned int num=0,sec=0,min=0,hour=0; unsigned int sec1=25,min1=25,hour1=25; unsigned int a=0,i=0; unsigned char code table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; void delay(unsigned int); void keyscan(); void display(); void jishi();/*主程序*/ main()TMOD=0 x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1; while(1) bear=0; display(); keyscan(); while(K1=0)delay(10); while(K1=0)a+; while(a=1)jishi(); display();if(hour=hour1&min=min1&sec=sec1) bear=1; if(sec=sec1+5)bear=0; while(K=0)delay(10); while(K=0)a-;TR0=0;num=0;i=0; while(K2=0)delay(10);while(K2=0)a+;while(a=1)display();a-;sec1=sec;min1=min;hour1=hour; void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);/*定时器中断子程序*/void time0() interrupt 1 num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; /* 计时程序*/void jishi() TR0=1; if(num=20) num=0; sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; /*显示程序*/void display() secge=sec%10; secshi=sec/10; minge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10; P2=0 xfe; P0=tablesecge; delay(5); P2=0 xfd; P0=tablesecshi; delay(5); P2=0 xfb; P0=0 x40; delay(5); P2=0 xf7; P0=tableminge; delay(5); P2=0 xef; P0=tableminshi; delay(5); P2=0 xdf; P0=0 x40; delay(5); P2=0 xbf; P0=tablehourge; delay(5); P2=0 x7f; P0=tablehourshi; delay(5);/*按键控制子程序*/void keyscan() if(K=0) delay(10); if(K=0) i+; while(!K); if(i=1)if(kadd=0)delay(10); if(kadd=0)hour+;if(hour=24)hour=0; while(!kadd)display(); if(ksub=0)delay(10); if(ksub=0) hour-; if(hour=-1)hour=23; while(!ksub)display(); if(i=2)if(kadd=0)delay(10); if(kadd=0)min+;if(min=60)min=0; while(!kadd)display(); if(ksub=0)delay(10); if(ksub=0)min-; if(min=-1)min=59; while(!ksub)display(); if(i=3)if(kadd=0)delay(10); if(kadd=0)sec+;if(sec=60)sec=0; while(!kadd)display(); if(ksub=0)delay(10); if(ksub=0)sec-; if(sec=-1)sec=59; while(!ksub)display(); if(i=4)i=0; 为你提供优秀的毕业论文参考资料,请您删除以下内容,O(_)O谢谢!A large group of tea merchants on camels and horses from Northwest Chinas Shaanxi province pass through a stop on the ancient Silk Road, Gansus Zhangye city during their journey to Kazakhstan, May 5, 2015. The caravan, consisting of more than 100 camels, three horse-drawn carriages and four support vehicles, started the trip from Jingyang county in Shaanxi on Sept 19, 2014. It will pass through Gansu province and Xinjiang Uygur autonomous region, and finally arrive in Almaty, formerly known as Alma-Ata, the largest city in Kazakhstan, and Dungan in Zhambyl province. The trip will cover about 15,000 kilometers and take the caravan more than one year to complete. The caravan is expected to return to Jingyang in March 2016. Then they will come back, carrying specialty products from Kazakhstan A small art troupe founded six decades ago has grown into a household name in the Inner Mongolia autonomous region. In the 1950s, Ulan Muqir Art Troupe was created by nine young musicians, who toured remote villages on horses and performed traditional Mongolian music and dances for nomadic families. The 54-year-old was born in Tongliao, in eastern Inner Mongolia and joined the troupe in 1975.He says there are 74 branch troupes across Inner Mongolia and actors give around 100 shows every year to local nomadic people. I can still recall the days when I toured with the troupe in the early 80s. We sat on the back of pickup trucks for hours. The sky was blue, and we couldnt help but sing the folk songs, Nasun says. The vastness of Inner Mongolia and the lack of entertainment options for people living there, made their lives lonely. The nomadic people were very excited about our visits, Nasun recalls. We didnt have a formal stage. The audience just sat on the grass. Usually, the performances became a big party with local people joining in. For him, the rewarding part about touring isnt just about sharing art with nomadic families but also about gaining inspiration for the music and dance. Ulan Muqir literally translates as red burgeon, and todays performers of the troupe still tour the regions villages and entertain nomadic families, but their fame has spread around the world. On May 16 and 17, nearly 100 singers and dancers from the troupe performed at Beijings Poly Theater. Their show, titled Ulan Muqir on the Grassland, depicted the history and development of the art troupe. Being from the region allowed me to embrace the culture of Inner Mongolia and being a member of the troupe showed me where I belonged, Nasun, the art troupes president, who is also a renowned tenor, tells China Daily. During a tour in 1985, he went to a village and met an elderly local man, who told him a story about his fri
展开阅读全文