欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数字电子时钟论文.doc

    • 资源ID:3944270       资源大小:555.50KB        全文页数:29页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字电子时钟论文.doc

    目 录1 绪论11.1 数字时钟的背景11.2 数字时钟的意义11.3 数字时钟的应用12 整体设计方案22.1 单片机型号选取22.2 AT89C51单片机基本结构简介33 数字时钟的硬件设计43.1单片机最小系统简介43.1.1 电源电路43.1.2 晶振电路53.1.3 复位电路63.1.3 引脚EA设置63.2 LED显示电路设计63.3 外围控制电路设计83.3.1 按键电路83.3.2 闹钟电路93.3.3 秒表电路94 数字时钟的软件设计104.1 数字钟的原理图104.2 KEIL环境下编程115 调试与功能说明125.1 系统性能测试与功能说明125.2 系统时钟误差分析135.3 软件调试问题及解决13结束语14参考文献15附录16致谢271 绪论1.1 数字时钟的背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2 数字时钟的意义数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.3 数字时钟的应用 数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 2 整体设计方案2.1 单片机型号选取 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格 单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。考虑到这几方面,本方案我们采用型号为AT89C51的单片机。因为AT89C51是一个低电压,高性能的8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大。AT89C51为我们提供了高性价比的解决方案。2.2 AT89C51单片机基本结构简介AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。AT89C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。3 数字时钟的硬件设计硬件设计总体方案如图3.1,下面分别介绍下各模块的作用。图3.1 硬件设计总体方案图3.1单片机最小系统简介单片机的最小系统是由电源、晶振、复位、EA=1组成,下面介绍一下每一个组成部分。3.1.1 电源电路Vcc电源端,GND接地端,工作电压为5V。 电子表中使用5V左右的纽扣电池,如果时钟用于工控领域,则需要变压,让220v通过变压器输出5v左右电压。硬件如图3.2所示。图3-7 电源电路部分图3.2电源电路如图3.2所示,220V交流电通过双12V变压器变为12V的交流电,12V交流电通过四个二极管的全桥整流后变为12V直流电,然后经过电解电容(470F)进行一级滤波,以去除直流电里面的杂波,防止干扰。12V直流电出来后再经过三端稳压器7805稳压成为稳定的5V电源,其中7805的Vin脚是输入脚,接12V直流电源正极,GND是接地脚,接12V直流电源负极,Vout为输出脚,它和接地脚的电压就是+5V了。5V电源出来再经过电解电容的二级滤波,使5V电源更加稳定可靠。同时在5V稳压电源加上一个470的电阻和一个绿色发光二极管,当上电后,绿色发光二极管点亮,表示电源工作正常。此时一个稳定输出5V的电源已经设计好,对于本设计它完全能够满足单片机及集成块所需电源的要求。3.1.2 晶振电路图3.3 晶振连接的内部、外部方式图如图3.3所示,XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。3.1.3 复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是按钮复位电路。3.1.3 引脚EA设置EA是外部寄存器选择位,低电平有效,EA=1,程序从内部ROM启动,EA=0,程序则从外挂的ROM芯片启动。3.2 LED显示电路设计显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一,如图3.4所示。图3.4 LED显示器的符号图发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。图3.5是共阳式、共阴式LED数码管的原理图和符号。图3.5 共阳式、共阴式LED数码管的原理图和数码管的符号图显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示。本方案采用动态显示方式显示时间,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。数码管使用注意事项说明:(1)数码管表面不要用手触摸,不要用手去弄引角;(2)焊接温度:260度;焊接时间:5s;(3)表面有保护膜的产品,可以在使用前撕下来。同时采用74LS245锁存器芯片驱动数码管,74LS245锁存器芯片有放大电流的作用,为数码管提供足够大的驱动电流。3.3 外围控制电路设计外围控制电路包括校时,闹钟,秒表电路,如图3.6所示,下面分别说明下。图3.6控制电路的硬件连接图3.3.1 按键电路按键电路需要消抖,原理如下:当用手按下一个键时,如图3.7所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,再读入键盘码。键按下前沿抖动后沿抖动闭合稳定图3.7 按键抖动信号波形其次,按键电路的三个按键分别链接到P1的3个端口上,本方案采用查询的方法检测是否有按键按下。校对时间用三个按键来实现。按调时来调节小时的时间,按调分来调节分针的时间,按清零来复位时钟。3.3.2 闹钟电路闹钟电路采用外部中断1的触发方式,一端接P3.3,另一端接地。同时喇叭需要接到P1端口的某一位(本方案采用P1.7端口)。当接到中断响应时,执行中断服务函数,P1.7端口输出高电压,触发闹钟。3.3.3 秒表电路同闹钟电路原理,一端接到P3.2端口,另一端接地,采用外部中断0触发方式。当接到中断响应时,执行中断服务函数,秒表开始工作。4 数字时钟的软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。4.1 数字钟的原理图用PROTUES软件,根据要求画出数字电子钟的原理图如图4.1所示。图4.1 数字钟的原理图 数字电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。因此,一个基本的数字钟电路主要由显示器“时”,“分”,“秒”和单片机,还有校时电路组成。8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。“时单元”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”通过七段显示器显示出来。校时电路用三个按键来实现。按调时来调节小时的时间,按调分来调节分针的时间,按清零来复位时钟。闹钟采用一个按键,中断1中设立s状态标志变量,未按下时s=0,闹钟取消。第一次按下触发中断1使s=1,进入设定闹钟状态,第二次按下触发中断1使s=2,闹钟工作,时间与设定时刻一致时,闹钟响(一分钟后自动关闭,可手动关闭)。s状态切换(0-1-2-0)通过外部中断1实现。同理秒表也采用按键加外部中断0的方式,设立秒表状态标志变量k,(0-1-2-0)通过外部中断0实现。0秒表关;1秒表从零计时;2秒表停,显示计时时间。4.2 KEIL环境下编程在Keil开发环境下采用C语言编程,如图4.2所示,源程序见附录。图4.2 Keil编程图5 调试与功能说明5.1 系统性能测试与功能说明Proteus软件仿真,调时,秒表仿真结果如图5.1所示:图5.1仿真结果图5.2 系统时钟误差分析时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。5.3 软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真部分采用Proteus 7.5 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。首先打开Proteus 7.5 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。结束语有日子我起初认为单片机是个噩梦,因为自己在单片机这一块存在着太大的缺陷,幸运的是我终于完成了这次考试论文。一开始按照老师布置的流程,一步步去实现那个目标,找资料,读懂程序,写写流程图,通过自己的勤奋和同学之间的取长补短,目标一步步的被我找到和实现,时间尽管很短但是我在单片机这一块的缺陷正在慢慢缩短和知识的不断上升,对单片机也有了很大的兴趣,并且使数字钟够顺利运行,完成了预期的目标。从单片机模块数字钟的设计过程中也找到了一些单片机开发的规律:先了解所有元件的具体内容,从而画出其电路图,使数字钟从简易变成多功能的方式,虽没有做多功能数字钟,却知晓了其方法。从而让我踏入了单片机应用领域的第一步。然而在调试过程中有也有许多的不足之处:例如编写调试程序有点不足。希望能够在以后的不断深入学习中能够弥补自己的不足之处。同时更是朝着单片机应用领域迈进。当然通过这次的课程设计,我了解了Keil C51集成环境和PROTEUS 7.5仿真软件的使用,用此软件练习电子时钟的设计。仿真实现了把抽象的东西具体化,把理论和实际结合起来,更利于对单片机程序的理解掌握。并且,在这次的课程设计中,我知道了,要自己熟练地掌握一个软件,不能光看老师的演示过程,得自己去学习这个软件,明白每一个步骤的确切含义,自己逐步的亲手去进行演示,这样才能变成自己的知识来熟练应用。最后谢谢一直为我们默默付出的老师。 参考文献1 于海生微型计算机控制技术M 清华大学出版社1999-62 孙涵芳MCS-51系列单片机原理及应用M 北京航空航天大学出版社1996-43 黄正谨综合电子设计与实践M 东南大出学版社2002-34 杨欣等电子设计从零开始M 清华大学出版社2005-105 谢嘉奎电子线路M 高等教育出版社2003-26 夏路易,石宗义电路原理图与电路设计教程Protel 99SEM 北京希望电子出版社20027 王毓银数字电路逻辑设计M 高等教育出版社2004-28 邱关源电路M 高等教育出版社2003-2附录#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit qingling=P10;/清零sbit tiaofen=P11;/调分sbit tiaoshi=P12;/调时sbit sounder=P17;/闹钟uint a,b;uchar hour,minu,sec, /时钟 hour0,minu0,sec0,/秒表 hour1,minu1,sec1; h1,h2,m1,m2,s1,s2,/显示位 k,s;/状态转换标志 uchar code select=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*函数声明*/void keyscan();void init();void delay(uchar z);void display(uchar,uchar,uchar);void sounde();/*主函数*/ void main()init();while(1) while(TR1)keyscan(); /扫描函数while(s=1) /s是状态标志,当s=0时,闹钟取消。s=1时,设定 /闹钟时间(也是通过调时,调分函数); /s=2时,闹钟工作,时间与设定时刻一致时,闹钟响(/1分钟后自动关闭,可手动关闭)。再次切换,s=0.keyscan(); /s状态切换(0-1-2-0)通过外部中断1实现。display(hour1,minu1,sec1); /闹钟时刻显示 display(hour0,minu0,sec0); /时钟表显示while(k) /k是秒表状态(0-1-2-0)通过外部中断0实现。0秒表关;1秒 /表从零计时;2秒表停,显示计时时间 display(hour,minu,sec); /秒表显示 /*初始化函数*/void init()a=0;b=0;k=0;s=0;hour0=0;minu0=0;sec0=0;hour=0;minu=0;sec=0;hour1=0;minu1=0;sec1=0;TMOD=0x11; /定时器0,1工作于方式1;赋初值TH0=(65536-5000)/256;TL0=(65536-5000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;EX0=1; /秒表中断EX1=1; /闹钟设定中断ET0=1;ET1=1;IT0=1; /边沿触发方式IT1=1;PX0=1;PX1=1;TR0=0; /初始,秒表不工作TR1=1; /时钟一开始工作/*定时器0中断*/void timer0_int() interrupt 1/秒表TH0=(65536-5000)/256;TL0=(65536-5000)%256;a+;if(a=2)a=0;sec+;if(sec=100)sec=0;/毫秒级minu+;if(minu=60)minu=0;/秒hour+;if(hour=60) /分hour=0;/*外部中断0中断函数*/void ex0_int() interrupt 0k+;if(k=3)k=0;if(k=1)TR0=TR0;if(TR0=1) hour=0;minu=0;sec=0;if(k=2)TR0=TR0; /*外部中断1中断函数*/void ex1_int() interrupt 2s+;if(s=3)s=0;/*定时器1中断*/void timer1_int() interrupt 3 /控制时钟工作TH1=(65536-50000)/256;TL1=(65536-50000)%256;if(s=2)if(hour1=hour0 && minu0=minu1)sounde();b+;if(b=20)b=0;sec0+; if(sec0=60) sec0=0; minu0+; if(minu0=60) minu0=0; hour0+; if(hour0=24) hour0=0; /*键盘扫描*/void keyscan()if(s=1)if(qingling=0)delay(10);if(qingling=0)sec1=0;minu1=0;hour1=0;if(tiaofen=0)delay(10);if(tiaofen=0)minu1+;if(minu1=60)minu1=0;while(!tiaofen);if(tiaoshi=0)hour1+;if(hour1=24)hour1=0;while(!tiaoshi);else /调整时钟时间 if(qingling=0)delay(10);if(qingling=0)sec0=0;minu0=0;hour0=0;if(tiaofen=0)delay(10);if(tiaofen=0)minu0+;if(minu0=60)minu0=0;while(!tiaofen);if(tiaoshi=0)hour0+;if(hour0=24)hour0=0;while(!tiaoshi);/*显示函数*/void display(uchar hour,uchar minu,uchar sec)h1=hour/10;h2=hour%10;m1=minu/10;m2=minu%10;s1=sec/10;s2=sec%10;P2=0xff;P0=tableh1;P2=select0;delay(5);P2=0xff;P0=tableh2;P2=select1;delay(5);P2=0xff;P0=0x40;P2=select2;delay(5);P2=0xff;P0=tablem1;P2=select3;delay(5);P2=0xff;P0=tablem2;P2=select4;delay(5);P2=0xff;P0=0x40;P2=select5;delay(5);P2=0xff;P0=tables1;P2=select6;delay(5);P2=0xff;P0=tables2;P2=select7;delay(5);/*闹钟函数*/void sounde()sounder=sounder;/*延时函数*/void delay(uchar z)int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);致谢首先感谢我的指导老师郑宝周老师,郑宝周老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。再次我要感谢一直陪同我完成单片机课程考试论文的同学,谢谢他们平时对我帮助和关心。我很高兴能生活在一个互助友爱和充满活力的集体中,从他们的身上我学到了很多,同时他们给我的大学生活留下了许多美好的回忆。最后,我要特别感谢我的父母。在我求学的过程中他们付出的不仅仅是辛勤的劳动和汗水,而是世界上最崇高、最伟大的爱。他们所做的一切是我这一生都无法回报的。真诚感谢给予我热情帮助和关注的所有人。

    注意事项

    本文(数字电子时钟论文.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开