《电子钟的设计》word版

上传人:pia****nwu 文档编号:140785792 上传时间:2022-08-23 格式:DOC 页数:31 大小:905.02KB
收藏 版权申诉 举报 下载
《电子钟的设计》word版_第1页
第1页 / 共31页
《电子钟的设计》word版_第2页
第2页 / 共31页
《电子钟的设计》word版_第3页
第3页 / 共31页
资源描述:

《《电子钟的设计》word版》由会员分享,可在线阅读,更多相关《《电子钟的设计》word版(31页珍藏版)》请在装配图网上搜索。

1、 课 程 设 计 课程名称: 专业课程设计 设计课题: 电子钟的设计 指导教师: 方芳 专业: 电子信息工程 班级: 1382052 姓名: 郭国信 学号: 138205206 电子信息工程 专业课程设计题单 班级 1382052 学生 郭国信 课程名称 专业课程设计 课 题 电子钟的设计 设计要求 利用单片机最小系统设计一个电子钟 用8255扩展键盘及显示接口 显示方式:* 时* 分* 秒 时间可以任意修改 课 题 发 给 日 期 2016.06.08 课程设计完成日期 2016.07.03 指 导 教 师 方芳 评语: 评分: 摘要当今信息科技高速发展,使用方便、低成本电子设备已逐步成为我

2、们日常生活中电子产品的主力军。用软件代替硬件的电子设备能大大地节省成本,且有利于资源的节约,因此,以软代硬的设计必将成为我们现代设计的主流。本设计是利用MCS-51系列单片机内部的定时器/计数器进行定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使设计者在定时/计数器的使用中及程序设计方面得到锻炼和提高,因此本系统将采用软件方法实现计时。关键词: 单片机 计数器 软件目录第一章 实验要求及设计思路41.1 设计内容及要求41.2 设计的目的与意义41.3 设计的基本思路与主要内容5第二章 系统组成及工作原理62.1 系统组成62.2工作原理7第三章 硬件设计与分析93.1 硬

3、件设计原理93.2 AT89C52单片机介绍93.3单片机最小应用系统93.4显示电路113.5键盘及其接口12第四章 软件设计134.1 主程序的设计134.2 定时中断程序144.3 显示子程序1644 按键处理程序16第五章 调试与运行18第六章 结论与体会18参考文献20附录一 系统原理图21附录二 元件清单22附录三 实验程序23第一章 实验要求及设计思路1.1 设计内容及要求设计一个电子钟,要求如下:(1) 利用单片机最小系统设计一个电子钟(2) 用8255扩展键盘及显示接口(3) 显示方式:* 时* 分* 秒(4) 时间可以任意修改单片机显示器键盘图 1-1 电子钟系统结构1.2

4、 设计的目的与意义人类的生活包括:工作、学习、休息以及参与社会的多种实践活动,环环有条理,更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念,就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。现在投入生产的大多是智能时钟,它的功能很全面,但价格有点昂贵,大多数学生或者经济条件较差的人,想要拥

5、有它,都有点困难。因此,在这里设计一个较简单的电子钟,它能完成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此,它的价格比较便宜,对于学生很实用。1.3 设计的基本思路与主要内容设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计一个按键对时钟进行复位和一个按键对时间切换,六个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及LED显示器四个部分。单片机选用AT89C52芯片,它无须外扩程序存储器,设计电路很简单。通过程序扩展,用了八个按键,所

6、以采用独立式按键使设计更简单。显示时(年)、分(月)、秒(日)加两个分隔符,采用8位的数码管,利用8255扩展的数码管及键盘达到时间显示和修改的功能。 简易数字时钟可实现校时和整点报时功能,该软件采用C语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。可通过按键实现时钟复位和分、秒、时的校正。第二章 系统组成及工作原理2.1 系统组成电子钟的电路图主要由单片机(AT89C52)、键盘电路、驱动显示电路和LED显示器四部分组成,它主要实现时钟的显示,以及对时(年

7、)、分(月)、秒(日)进行调整,即实现调时(日)的功能。其数字钟系统整体结构如图2-1所示。 七 段 数 码 管AT89C52驱动 LED显示器位选 按 键图2-1 电子钟系统整体结构1. 显示方案方案一:静态显示就是当CPU将要显示的字或字段码送到输出口,显示器就可以显示出所要显示的字符,如果CPU不去改写它,它将一直保持下去;静态显示硬件开销大,电路复杂,信息刷新速度慢。方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态显示硬件连接简单,信息刷新速度快。由于本次设计是对时间进行显示,如采用静态

8、显示,则所占用的I/O口较多,电路较复杂,所以在此选择的是方案二,采用动态显示。2. 键盘方案方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其它芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常用于按键数量不多的场合。方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上.(当接口线数量为8时,可以将4根接口线定义为行线,另4根接口线定义为列线,形成4*4键盘,可以配置16个按键。)由于本设计只用了八个按键,不需要采用矩阵式键盘,所以选用第

9、一种方案,采用独立式键盘。3. 计时方案采用软件控制:利用单片机内部的定时/计数器进行定时,配合软件定时实现时(年)、分(月)、秒(日)的计时。该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用软件方法实现计时。2.2工作原理AT89C52内部有三个16位的定时器/计数器,利用它们可以获得精准的时间。设计中定义40H-47H8个单元为时间显示缓冲区,里面存放00H-0AH之间的数,其中0AH在查表时会查到的字形码。我们让定时器T1定时50ms。同时再定义一个单元来记录T1定时器记满50ms的次数,当该单元中的次数达到了20次时,即时间走了1s钟,马上执行时间加1s的程

10、序。即要对40H-47H中的秒缓冲单元加一,再将更新后的40H-47H依次查表后送8255去显示,这样便实现了电子钟走时的功能。8255的PC口接有按键开关,平时不按下,对应的PC口会获得一个高电平,可一旦有键按下,对应的PC口便会接地而获得一个低电平。设计中使用了八个PC口。这样,每个键都会有一个确定的键值对应着。如此,我们便可在程序中根据读取到的键值让单片机去执行相应的设置时(年)、分(月)、秒(日)加、减和确定等功能程序。数码管的动态显示是指一位一位地轮流点亮各个数码管。对于每一个数码管来说,每隔一段时间点亮一次。通常点亮时间为1ms左右,相隔时间为20ms。图2.2中,PA口的输出为段

11、数据口,接显示器的各个段极,PB口输出为位扫描口,将PB0和PB1分别接入两个74HC573锁存器的LE锁存使能输入引脚。显示时,首先使PB口的B0为低电平,B1-B7为高电平,则仅第一位数码管的公共阴极为低电平(被选通);同时PA口输出第一个显示数据的段码,这时第一位数码管将显示出第一个显示数据。持续1ms左右后,使B0为高电平,关闭第一个数码管,随后使B1为低电平,选通第二位数码管,并由PA口输出第二个显示数据,并持续1ms左右。用类似的方法依次选通第3,第4,第8位即完成一次循环显示。如果连续地循环便可在数码管上稳定地显示所需显示的内容。图2.2 电子钟硬件电路图 第三章 硬件设计与分析

12、3.1 硬件设计原理时钟电路的核心是AT89C52单片机,其有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的。3.2 AT89C52单片机介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52为8 位通用微处理器,采用工业标准的C51内核

13、,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口

14、,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.3单片机最小应用系统时钟电路和复位电路是单片机最小应用系统中必不可少的。单片机时钟电路图,如图3-1所示:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发

15、器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。复位是使单片机或系统中的其它部件处于某种确定的初始状态。单片机的工作就是从复位开始的,当在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是上电与按键均有效的复位。由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图3-1所示:图3-1单片机最小应用系统电路图上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位如上图所示。上电瞬间RST引脚获得高电平,随着电容C1的

16、充电,RST引脚的高电平将逐渐下降。3.4显示电路一、七段LED显示器的原理显示器是单片机应用系统常用的设备,包括LED、LCD等。LED显示器由若干个发光二极管组成。七段LED通常构成字型“8”,还有一个发光二极管用来显示小数点。每段LED分别引出一个电极,电极的名为a、b、c、d、e、d、g、dp,其中dp是小数点段的引出电极。当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的二极管导通,就能显示出对应字符。说明:在该设计中,用单位的数码管来显示分隔符,其七段LED显示器如图3-4.1所示图3-4.1 七段LED显示器二、动态显示本设计共享了八位LED显示器,因此采用动态显示方式

17、。所谓动态显示就是一位一位的轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到的却是多个字符“同时“显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。显示器的位数不大于8位,则控制显示器公共极电位只需要一个I/O接口,称为扫描口或字位口,控制各位LED显示器所显示的字型也需要一个8位接口,称为段数据口或字型口。3.5键盘及其接口键盘是由若干个按键组成的,它是单片机最简单的输入设备。通过键盘输入数据或命令,就可实现简单的人机对话。一、按键的抖动现象按键就是一个

18、简单的开关。当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。按键在闭合和断开时,触点会存在抖动现象。按键抖动时间一般为5ms10ms,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响。消除的方法很多,本设计采用软件延时的方法来消除抖动。当单片机检测到有按键按下时先定时,然后再检测按键的状态,若仍是闭合状态则认为真的有键按下。当检测到按键释放时,亦需要做同样的处理。二、按键电路 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其它芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用

19、多。所以,独立式按键常用于按键数量不多的场合。该设计用了八个按键,来实现功能控制。在运行状态下,按下按键,执行相应的功能。因此采用独立式键盘方式,设计起来比较简单。各个按键的功能如图3-5所示图3-5 键盘电路第四章 软件设计在软件设计中,整个程序的主框架是以定时1s计算的方式来实现电子钟。定时1s的程序段,使用动态显示程序实现延时,既完成了延时,也完成了数字的显示。在计算程序中,使对应于时、分、秒的变化量按照60进制和24进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了电子钟的功能。其软件功能模块主要有键输入程序、中断程序、显示程序,以及延时程序。需要说明的

20、是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出1s的时间精度是很有限的,所以整个时钟的精度不太高。4.1 主程序的设计在主程序中,需要对8255初始化,定义定时器T0的工作模式及赋初值,判断时间是否计了1s钟,然后更新显示缓冲区里的内容,并送到8255去显示。最后还要读取8255 PC口的按键值,根据键值转入执行相应的程序。下面是主程序框图。图4-1 电子钟主程序框图4.2 定时中断程序定时器T0中断服务程序用来对定时器重新赋初值,对中断程序执行次数记录的单元进行加1操作。其程序框图如下所示:N24小时到?分单元清零,时单元加1NNNYY时单元清零时间显示中断返回

21、开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY 图4.2a 定时中断程序框图中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的二月,每月的天数也不尽相同。具体的逻辑判断方法是:首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以100,如果能整除,就将年份除以400,如果还能整除,就是闰年,如果不能,就是平年;如果不能被100整除,就判断是否能被4整除,如果可以,则为闰年,若不能则为平年。只有二月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是二月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。其中1、3、5、7、8、10、12月

22、是每月31天,4、6、9、11月为每月30天。本实验用8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。日历进位判断流程如图所示:年份能否被100整除NY年份是否能被4整除年份是否能被400整除NN平年Y是不是2月是不是2月Y日=28之后返回为1NNY日=29之后返回为1若月份为1、3、5、7、8、10、12月则调用31天的程序若月份为4、6、9、11则调用30天的程序图4.2b日历进位判断流程图4.3 显示子程序一次只向数码管发送一个段码和选通一个数码管,循环8次便可以完整的将40H-47H显示缓冲区里查表后的内容显示在8个数码管上。该显示子程序的框图如下图所示。 时十位计算显

23、示 结束 开始 秒个位计算显示 秒十位计算显示 分个位计算显示 分十位计算显示 时个位计算显示图4.3 时间显示流程图44 按键处理程序按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。流程图如下图所示。NYNYNY时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下? 图4.4a 按键处理程序框图 图4.4b 键扫子程序流程框图第五章 调试与运行在软件调试和仿真中,由于刚开始程序不够完善,无法实现平年和闰年的区分,

24、后经修改得以正常的实现。此外,在仿真中发现当调整数值时,有时按键反应太快,按一次跳了几下,使设置时间,日期很不方便。通过分析可知:由于在键按下和释放时存在着机械抖动,而且通常抖动时间为5-10ms,所以为了保证CPU对键的闭合只作一次处理,利用软件方法增加一消抖延时程序,使得在键稳定闭合和断开后才去读取键值的状态,用此方法可有效解决该问题。而在硬件仿真中,刚开始复位键的功能无法实现。后经检查分析得到,复位电路的原理是单片机RST引脚接收到2us以上的电平信号,只要保证电容的充放电时间大于2us,即可实现复位。因此改变了复位电路的电阻和电容参数,复位功能得以实现。设计中提供了系统板,因此我们领元

25、器件焊接了一些需要外接的电路,即8255扩展的数码管。焊完元件之后,连接电路,却出现乱码。经过长时间的排查,发现是8255与C52单片机有几根线没接。接完线之后,结果得以正确显示。结果显示图如下:第六章 结论与体会 本次课程设计完成了设计的要求,并且在一定程度上扩展了功能。电子钟能较为精确的计时,能够对小时进行24小时任意修改,并且扩展之后能够对日期任意修改。在软件的实现中,是用C语言编写的程序,相对汇编语言来说不够精确。但是,相比汇编语言更容易编写并且更加通用。在本次的课程设计,学习到了单片机的一般设计过程,通常都要进行系统扩展与配置,因此,要完成一个单片机的设计工作,必须依次做到下述工作:

26、1、硬件电路的设计、组装与调试;2、应用软件的编写、调试;3、完整应用软件的调试、固化和脱机运行。而在进行硬件系统设计时我们应当尽量做到:1、尽可能的选择典型电路,并符合单片机的常规使用方法;2、在充分满足系统功能要求前提下,留余地以便于二次开发;3、硬件结构设计应与软件设计方案一并考虑;4、整个系统相关器件要力求性能的匹配;5、硬件上要有可靠性与抗干扰设计;6、充分考虑单片机的带载驱动能力。通过本次单片机课设,加强了软件编程能力,同时也提高了对硬件的理解。对于单片机课设,这是可以提高学生整体水平的课程设计,在课程设计的过程很好的锻炼了学生的编程能力和对硬件的理解能力。参考文献1孙涵芳MCS-

27、51系列单片机原理及应用M 北京航空航天大学出版社1996-42夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 20013尹建华、张惠群微型计算机原理与接口技术 第2版M 北京:高等教育出版社,20084 陈黎娟. 单片机技术实践教程. 南昌:南昌航空大学出版社, 2009-35张先庭. 单片机原理、接口与C51应用程序设计. 第1版M 北京:国防工业出版社,2011-12附录一 系统原理图 附录二 元件清单元件名称数量单片机最小系板1块82551块共阴数码管8个200欧姆电阻7个10K欧姆电阻5个按键开关9个附录三 实验程序#include /包含头文件,一般不需要改动,头

28、文件包含特殊功能寄存器的定义#include #define com_8255 XBYTE0X7FFF#define PA_8255XBYTE0X7CFF#define PB_8255 XBYTE0X7DFF#define PC_8255 XBYTE0X7EFFunsigned char shi,miao,fen,count;unsigned int year,month, day;unsigned char flag=0;unsigned char codeDuanMa11=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/显示段

29、码值09unsigned char code WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分别对应相应的数码管点亮,即位码void DelayUs2x(unsigned char t);/us级延时函数声明 void DelayMs(unsigned char t); /ms级延时void DelayUs2x(unsigned char t) while(-t);void DelayMs(unsigned char t) while(t-) DelayUs2x(245); DelayUs2x(245); void display_bit_dat

30、a (unsigned char bit_count,unsigned char data_count) PA_8255=0x00; /清空数据,防止有交替重影 PB_8255=PB_8255|0x01; PB_8255=PB_8255&0xfe; PA_8255=bit_count; /取位码 PB_8255=PB_8255|0x02; /位锁存 PB_8255=PB_8255&0xfd; PA_8255=data_count; /取显示数据,段码 PB_8255=PB_8255|0x01; /段锁存 PB_8255=PB_8255&0xfe;void display_time() /*显示

31、时间*/display_bit_data(WeiMa7,DuanMamiao%10);display_bit_data(WeiMa6,DuanMamiao/10);display_bit_data(WeiMa5,DuanMa10);display_bit_data(WeiMa4,DuanMafen%10);display_bit_data(WeiMa3,DuanMafen/10);display_bit_data(WeiMa2,DuanMa10);display_bit_data(WeiMa1,DuanMashi%10);display_bit_data(WeiMa0,DuanMashi/10

32、);void display_date()/*显示日期*/display_bit_data(WeiMa7,DuanMaday%10);display_bit_data(WeiMa6,DuanMaday/10);display_bit_data(WeiMa5,(DuanMamonth%10)|0x80);display_bit_data(WeiMa4,DuanMamonth/10);display_bit_data(WeiMa3,(DuanMayear%10)|0x80);display_bit_data(WeiMa2,DuanMa(year/10)%10);display_bit_data(W

33、eiMa1,DuanMa(year/100)%10);display_bit_data(WeiMa0,DuanMayear/1000);void time_data()if(miao=60) miao=0; fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;switch(month)case 1: if(day+=31)day=1;month+; break;case 2: if(year%4=0 & year%100!=0) | year%400=0 ) if(day+=29)day=1;month+; else if(day+=28)day=1;month

34、+;break;case 3: if(day+=31)day=1;month+; break;case 4: if(day+=30)day=1;month+; break;case 5: if(day+=31)day=1;month+; break;case 6: if(day+=30)day=1;month+; break;case 7: if(day+=31)day=1;month+; break;case 8: if(day+=31)day=1;month+; break;case 9: if(day+=30)day=1;month+; break;case 10: if(day+=31

35、)day=1;month+; break;case 11: if(day+=30)day=1;month+; break;case 12: if(day+=31)day=1;month+; break;default: break;if(month=13)month=1;year+;unsigned char KeyScan(void) unsigned char keyvalue; if(PC_8255!=0xff) DelayMs(10); if(PC_8255!=0xff) keyvalue=PC_8255; while(PC_8255!=0xff);switch(keyvalue) c

36、ase 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; return 0;void key()int num;num=KeyScan();switch(num)case 0: break;cas

37、e 1: TR0=0;if(flag=0)if(shi-=0)shi=23;break;elseyear-;break;case 2: TR0=0;if(flag=0) if(shi+=23)shi=0;break; else year+;break;case 3: TR0=0;if(flag=0) if(fen-=0)fen=59;break; else if(month-=1)month=12;break; case 4: TR0=0;if(flag=0)if(fen+=59)fen=0;break; elseif(month+=12)month=1;break;case 5: TR0=0

38、;if(flag=0)if(miao-=0)miao=59;break; elseif(day-=1)day=31;break;case 6: TR0=0;if(flag=0)if(miao+=59)miao=0;break;elseif(day+=31)day=1;break; case 7: TR0=1;break;case 8: if(flag+=1)flag=0;break; default : break; void init() shi = 0; fen = 0;miao=0;year=2013;month=7;day=2; TMOD = 0x01; /*设定时器0为工作方式1 *

39、/TH0 = (65535-46080)/256;TL0 = (65535-46080)%256;/*定时50MS装入初值*/EA = 1; /*开总中断 */ET0 = 1; /*开定时器中断 */TR0 = 1; /*启动定时器 */com_8255=0x89;void main()init();display_time ();while(1)key();time_data();if(!flag)display_time (); elsedisplay_date (); void timer0() interrupt 1TH0 = (65536-46080)/256;TL0 = (65536-46080)%256; /*再次装入初值, 50MS */count+;if(count = 20)count =0;miao+;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!