




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安文理学院课程设计报告第 1 页引言20 世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高1。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间2。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。 而钟表的数字化给人们生产生活带来了极大的方便,而且
2、大大地扩展了钟表原先的报时功能3。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义4。随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能5。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有更
3、高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用6。数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表7。多功能数字钟的应用非常普遍8。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术9。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C
4、51 为核心元件同时采用 LED 数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点10。西安文理学院课程设计报告第 2 页1 课题的背景1.1 课题的来源随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。现代的时钟不仅需要模拟电路技术而且需要数字电路技术和单片机技术,增加时钟的功能。数字电子钟可利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差;尽管如此数字钟还是可以改进和提高,比如选用更精密的元器件。但与机械
5、式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。1.2 课题研究的目的和意义20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们
6、生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.3 应解决的主要问题及达到的技术要求本设计应解决的主
7、要问题有两大方面,即硬件电路设计和软件设计两大方面。其中硬件电路部分又可分为四个模块:键盘模块、显示模块、计时模块和发声模块。硬件电路部分致力于低成本、低功耗和易实现性。软件部分则应做到代码的精简、准确、易读懂。最后通过硬软件的结合实现数字钟的精确计时、校时、闹钟设置、秒表和定时报警功能。2 方案的选择和论证2.1 单片机型号的选择通过对多种单片机性能的分析,最终认为 AT89C51 是最理想的电子时钟开发芯片。AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,西安文理学院课程设计报告第 3 页高性能 CMOS8 位微处理器,器件采用 ATMEL 高密度非易失存储器制造技
8、术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,而且它与 MCS-51 兼容,且具有 4K 字节可编程序存储器和 1000 次擦写循环,数据保留时间为 10 年,是最好的选择。2.2 按键的选择方案一:44 矩阵式键盘。如果选择此方案,那么在修改时钟或设置闹铃时间时就可以直接从键盘输入,方便、快捷,但程序较为复杂。 方案二:独立式按键。如果设置过多按键,将会占用较多 I/O 口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少,在修改时间
9、或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍为麻烦一些,但其程序简单。 由于并不需要经常修改时间和设置闹铃时间,而且方案二的程序简单,按键少、成本低,因此,选择方案二。2.3 显示器的选择方案一:液晶显示器。如果选择此方案,将会降低系统的功耗,这样就可以用电池供电,便于携带。但液晶显示器的驱动电路复杂,使用起来有一定的难度。 方案二:用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。由于数码管使用起来较为方便,在夜间看时间也很方便,因此我选择了方案二。2.4 计时部分的选择如果使用时钟芯片,系统就不
10、怕掉电且时间精确。但这种芯片比较贵,况且,设计本系统主要是为了学习单片机程序的编写和调试以及设计硬件电路的一些方法,因此采用软件的方法来计时而没有采用价格较高的时钟芯片。2.5 发音部分的设计通过三极管放大后驱动蜂鸣器工作,再通过软件这时产生等时时间方波驱动蜂鸣器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。2.6 显示器驱动电路由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片 74LS245 来驱动段码,用 P3 口作位码驱动。2.7 电源的选择如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器,功耗较大,需要经常更换电池。况且,本系统的体积较大,即
11、使使用电池供电也不能随身携带,因此,用电池供电不大合适,所以用 5V 外部稳压电源来供电。3 数字电子钟的设计原理和方法西安文理学院课程设计报告第 4 页3.1 设计原理系统原理图如图系统原理图如图系统原理图如图 3.13.13.1图图 3.1 系统原理图系统原理图3.2 硬件电路的设计3.2.1 AT89C51 单片机简介AT89C51 是一款单片封装的微控制器,适合于许多要求高集成度、低成本的场合。可以满足多方面的性能要求。AT89C51 采用了高性能的处理器结构,指令执行时间只需 2 到 4 个时钟周期。6 倍于标准 51 单片机器件。AT89C51 集成了许多系统级的功能,这样可大大减
12、少元件的数目和电路板面积并降低系统的成本。AT89C51 单片机内部主要有以下部件:8031CPU、振荡电路、总线控制部件、中断控制部件、片内 Flash 存储器、并行 I/O 接口、定时器和串行 I/O 接口。如图 3.2 所示。图图 3.2 AT89C51 单片机单片机3.2.2 键盘电路的设计键盘采用 7 个独立按键配以 7 个上拉电阻实现对时钟和闹钟的设定及修改。西安文理学院课程设计报告第 5 页如图 3.3,图 3.4 所示。图图 3.3 独立按键独立按键图图 3.4 键盘输入电路键盘输入电路3.2.3 段码驱动电路由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片
13、74LS245 来驱动段码,用 P3 口作位码驱动。如图 3.5 所示。西安文理学院课程设计报告第 6 页图图 3.5 段码驱动器段码驱动器 74LS2453.2.4 蜂鸣器驱动电路发音部分是通过三极管放大驱动蜂鸣器工作,再通过软件这时产生等时时间方波驱动蜂鸣器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。如图 3.6 所示。图图 3.6 蜂鸣器驱动电路蜂鸣器驱动电路3.3 软件部分的设计3.3.1 主程序部分的设计程序部分主要采用了程序结构的模块化设计,避免了一些函数的不必要的重复书写,使程序变得单间易懂。程序在执行时,主程序要须通过调用子函数就可完成相应的功能 。主程序流程图如下图
14、3.7。西安文理学院课程设计报告第 7 页图图 3.7 主程序流程图主程序流程图3.3.2 中断定时器的设置数字电子钟设计中主要使用定时器 T0 中断 ET0,利用 ET0 中断进行计时时间的自增,从而实现计时功能。AT89C51 有两个通用定时/计数器。两者均可配置为定时器或事件计数器。另外增加了定时器 T0/T1,溢出时 T0/T1 脚自动翻转的功能选项。 用作“定时器”功能时,每经过一个机器周期,寄存器值加 1。 用作“计数器”功能时,寄存器在对应的外部输入管脚 T0/T1 上每发生一次 1 到 0 的跳变时加 1。使用该功能时,外部输入每个机器周期被采样一次。 如图 3.8 所示。图图
15、 3.8 定时器工作原理定时器工作原理 1 设计中采用了中断方式 1 作为定时中断,其定时计数初值的设置可由以下公式计算得到,中断服务流程图如下图 3.9。cyTtX162西安文理学院课程设计报告第 8 页X:计数初值:计数初值 t:定时时间:定时时间 :机器周期:机器周期 1 cyT图图 3.9 中断服务流程图中断服务流程图3.3.3 闹钟子函数闹钟时间的判别主要是通过设定时间与实时时间对逐位对比确定是否进行闹铃。其工作流程图如下图 3.10。西安文理学院课程设计报告第 9 页图图 3.10 工作流程图工作流程图3.3.4 计时函数计时函数部分,主要是通过单片机定时中断来计时,复产生一次中断
16、标志位 FLAG 加 1,当 FLAG 加满 20 次为 1 秒,然后把 FLAG 清 0 把秒存储单元加1。然后再依次判断分、时。其流程图如下图 3.11。西安文理学院课程设计报告第 10 页图图 3.11 计时流程图计时流程图3.3.5 键盘扫描函数这些函数主要是判断是否有按键按下,并根据相应按键按下的情况调用相关函数执行,其相关流程图如下图 3.12。图图 3.12 键盘扫描流程图键盘扫描流程图3.3.6 时间和闹钟的设置此部分主要是通过判断 cnt 在不同值时通过调用加 1、减 1 子函数对时间和西安文理学院课程设计报告第 11 页闹钟的时、分、秒进行设置。在闹钟设置时,判断按键 S4
17、 按下情况我,进行闹钟的开启与关闭,相关流程图如下图 3.13。图图 3.13 时间时间/ /闹钟设置流程图闹钟设置流程图3.3.7 计时秒表的设置此部分主要是在 cnt7 时通过 S5、S6、S7 对秒表进行开始、暂停和清零的设置。相关流程图如下图 3.14。图图 3.14 秒表设置流程图秒表设置流程图4 实验结果此电子闹钟设计是利用 Proteus 仿真软件进行仿真,基本上实现了课程设计要求实现的功能。硬件部分设置了的三个按键 S1、S2、S3、S4、S5、S6、S7。当按键 S1 按下第一、第二、第三次时,分别进入闹钟的秒设置、分设置和时设置,当按 S1第四、第五、第六次按下时分别进入时
18、间的秒、分、时设置,在 S1 按下的各阶段,可用按键 S2、S3 进行时间和闹铃时间的时、分、秒进行加减设置;当按键S1 第七次按下时进入秒表显示功能,按下 S5、S6、S7 分别进行秒表计时、暂停、清零功能;当按键 S1 第八次按下时恢复到时间显示功能。当显示的时间和定时设置的时间一致时,蜂鸣器发出等时间断蜂鸣声,闹铃时间设置为 60 秒。在各个闹钟设置阶段,如果有 S4 按下,则相应闹钟功能关闭或开启;如在闹铃西安文理学院课程设计报告第 12 页时有 S4 按下则提前停止闹铃。如图 4.1。图图 4.1 运行仿真图运行仿真图西安文理学院课程设计报告第 13 页总 结通过自己的不懈努力,我终
19、于完成了课程设计设计要求。功能上基本达标:时钟的显示,调时功能、校时功能、闹铃功能、闹钟设置、秒表功能。其精确度完全可以满足日常生活显示时间的需要;调时功能,方便快捷;校时功能保证了时钟准确和可靠性,闹钟响铃还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求的功能。但是由于时间比较短,前期设计出现部分不足:如位选闪烁功能不能实现、闹钟的开启与关闭、间断蜂鸣声等。这些只是软件设计时相应功能部分还不完善造成。不过经仔细思考和程序的完善,最终将软件设计改进,并完全可以很好实现所有要求的功能。可见技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置
20、,具有更长的使用寿命等优点的数字时钟。数字时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。 无可否认机械时代已经过去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多去生活中探询所需要的。对于上述所提到的研究课题,我们应尽量考虑到人的因素,增强时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。所以,在设计的时候,应该从多方面、多角度去考虑问题,而且应该进一步提高时钟的质量。另外,在本次设计的过程中,我发现很多的问题,虽然以前没有做过这样的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的
21、程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编程的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高,我想这就是我在这次课程设计中的最大收获。西安文理学院课程设计报告第 14 页致谢经过两个星期的努力收集数据资料、整理材料、写作论文,我终于可以顺利的完成课程设计
22、了。 首先要感谢我的指导老师杨老师,她指引我论文的写作的方向和架构,并对本文初稿进行仔细批阅,指正出其中不当之处,使我有了思考的方向,他的循循善诱的教导和不拘一格的思路给予我无尽的启迪。通过此次的论文,我学到了很多知识,在论文的写作过程中,我不仅收集到了论文所需的资料数据,而且学到了很多书本上没有的知识。并且由原先的被动的接受知识转换为主动的寻求知识,我想这可以说是学习方法上的一个很大的突破。 在论文的写作过程中也学到了做任何事情所要有的态度和心态,首先做学问要一丝不苟,对于发展过程中出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂
23、鼓,只要坚持下去就可以找到思路去解决问题的。再次感谢我的大学和所有帮助过我并给我鼓励的老师和同学,谢谢你们!西安文理学院课程设计报告第 15 页参考文献1李全利、 迟荣强,单片机原理及接口技术M,北京:高等教育出版社,20042凌玉华,单片机原理及应用系统设计M,长沙:中南大学出版社,20063张毅刚,MCS-51 单片机应用设计M,哈尔宾:哈尔宾工业大学出版社,1997 4胡汉才,单片机原理及应用M,北京:清华大学出版社,20045何立明,单片机应用系统设计M,北京:北京航空航天大学出版社,19906王荣良,计算机接口技术M,北京:电子工业出版社,20037陈光东,单片机微型计算机原理与接口
24、技术M,武汉:华中理工大学出版社,19988王幸之、钟爱琴、王雷、王闪,AT89 系列单片机原理与接口技术M,北京:北京航空航天大学出版社,20049张道德,单片机接口技术(C51 版)M,北京:中国水利水电出版社,200710王为青、程国钢,单片机 KEIL CX51 应用开发技术M,北京:人民邮电出版社,200711张靖武、周灵彬,单片机系统的 PROTEUS 设计与仿真M,北京:电子工业出版社,2007西安文理学院课程设计报告第 16 页附 录相关的程序代码:/*头文件*#INCLUDE #INCLUDE/*宏定义*#DEFINE UCHAR UNSIGNED CHAR #DEFINE
25、UINT UNSIGNED INT/*位声明*SBIT KEY1=P10; SBIT KEY2=P11;SBIT KEY3=P12;SBIT KEY4=P13;SBIT KEY5=P14;/*开始计时SBIT KEY6=P15;/*暂停SBIT KEY7=P16;/*重置SBIT FMQ=P21;/*数码管显示的数值*UCHAR CODE TABLE=0XC0,0XF9,0XA4,0XB0,0X99,0X92,/ 0 1 2 3 4 5 0X82,0XF8,0X80,0X90,0XBF,0X0FF; / 6 7 8 9 - 灭 /*函数声明*VOID JIA(); VOID JIAN(); /
26、*数组定义,数组内含有 8 个数值*UCHAR TABLE18,TABLE28,TABLE38,TABLE48;/*时间显示初始值*UCHAR SHI=3,FEN=0,MIAO=0;UCHAR SHI2,FEN2,MIAO2; /*定义全局变量*UCHAR SHI1,FEN1,MIAO1;UCHAR SHI4,FEN4,MIAO4;UCHAR HMFLAG=0;UCHAR FLAG, FLAG1, WSS, CNT, CNT1, ALM1;/ 1 秒 等时 位闪 次数 校时 闹 1UINT FLAG2;/ 蜂鸣 /*延时函数,用于动态扫描数码管*VOID DELAY(UCHAR I) 西安文理
27、学院课程设计报告第 17 页 UCHAR X,Y; FOR(X=I;X0;X-) FOR(Y=120;Y0;Y-); /*初始化函数*VOID INIT() TMOD=0X11; /工作方式 1 TH0=0X3C; /定时时间为:50MS (65536-50000)/256 TL0=0X0B0; /(65536-50000)%256 TH1=0XFE; TL1=0X0C; ET0=1; ET1=1; /打开定时器 EA=1; /开总中断 TR0=1; /启动定时器 /*显示子函数,用于显示时间数值*VOID DISPLAY() UCHAR I,J; IF(CNT!=4|WSS=0) TABLE
28、10=MIAO%10; /分离秒的个位与十位 TABLE11=MIAO/10; ELSE TABLE10=TABLE11=11;IF(CNT!=5|WSS=0) TABLE13=FEN%10; /分离分的个位与十位 TABLE14=FEN/10; ELSE TABLE13=TABLE14=11;IF(CNT!=6|WSS=0) TABLE16=SHI%10; /分离时的个位与十位 TABLE17=SHI/10; ELSE TABLE16=TABLE17=11; TABLE12=TABLE15=10; J=0X7F; FOR(I=0;I=7;I+) /从秒到时的扫描 P3=J; P0=TABLE
29、TABLE1I; /显示数值 DELAY(10); J=_CROR_(J,1); /循环右移 /*显示子函数,用于显示定时 1 时间*西安文理学院课程设计报告第 18 页VOID DISPLAY1() UCHAR I,J; IF(ALM1=0) IF(CNT!=1|WSS=0) TABLE20=MIAO1%10; /以下含义同上 TABLE21=MIAO1/10; ELSE TABLE20=TABLE21=11; IF(CNT!=2|WSS=0) TABLE23=FEN1%10; TABLE24=FEN1/10; ELSE TABLE23=TABLE24=11; IF(CNT!=3|WSS=0
30、) TABLE26=SHI1%10; TABLE27=SHI1/10; ELSE TABLE26=TABLE27=11; ELSE TABLE20=TABLE21=TABLE23=TABLE24=TABLE26=TABLE27=10; TABLE22= TABLE25=10; J=0X7F; FOR(I=0;I=7;I+) P3=J; P0=TABLETABLE2I;DELAY(10); J=_CROR_(J,1); /*显示秒表子函数,用于显示时间数值*VOID DISPLAY2() UCHAR I,J; TABLE20=MIAO2%10; /分离秒的个位与十位 TABLE21=MIAO2/
31、10;TABLE23=FEN2%10; /分离分的个位与十位 TABLE24=FEN2/10; TABLE26=SHI2%10; /分离时的个位与十位 TABLE27=SHI2/10; TABLE22=TABLE25=10; J=0X7F; FOR(I=0;I=20) /判断是否到一秒 WSS=WSS; FLAG=0; /到了,则标志位清零 IF(CNT1!=0) MIAO4+; /秒加 1 IF( MIAO459) /判断秒是否到 60S MIAO4=0; /到了,则清零 FEN4+; /分加 1 IF(FEN459) /以下含义同上 FEN4=0; SHI4+; IF(SHI423) SH
32、I4=0; ELSE MIAO+; /秒加 1 IF( MIAO59) /判断秒是否到 60S MIAO=0; /到了,则清零 FEN+; /分加 1 IF(FEN59) /以下含义同上 FEN=0; SHI+; IF(SHI23) SHI=0; /*键盘扫描子函数*/VOID KEY_SCAN() IF(KEY1=0) WHILE(!KEY1) /防止掉显 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) 西安文理学院课程设计报告第 20 页 DISPLAY(); IF(CNT=7) DISPLAY2();
33、 CNT+; /记下按键 KEY1 按下的次数 IF(CNT=4&CNT1=0) MIAO4=MIAO; FEN4=FEN; SHI4=SHI; CNT1+; IF(CNT=8) CNT=0; IF(CNT1=1) MIAO=MIAO4; FEN=FEN4; SHI=SHI4; CNT1=0; IF(KEY2=0) /判断 KEY2 是否按下 WHILE(!KEY2) /防止掉显 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); JIA(); IF(KEY3=0) /判断 KEY
34、3 是否按下 WHILE(!KEY3) /防止掉显 IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); JIAN(); /调用减 1 子函数 IF(KEY4=0) /判断 KEY4 是否按下 WHILE(!KEY4) /防止掉 IF(CNT=1|CNT=2|CNT=3) ALM1=ALM1; DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); 西安文理学院课程设计报告第 21 页 IF(KEY5=0) DELAY(5); IF(
35、!KEY5) TR1=1; WHILE(!KEY5) IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); IF(KEY6=0) IF(!KEY6) TR1=0; WHILE(!KEY6) IF(CNT=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); IF(KEY7=0) WHILE(!KEY7) IF(CNT
36、=1|CNT=2|CNT=3) DISPLAY1(); IF(CNT=0|CNT=4|CNT=5|CNT=6|CNT=8) DISPLAY(); IF(CNT=7) DISPLAY2(); MIAO2=0;FEN2=0;SHI2=0; /*加 1 子函数*VOID JIA() IF(CNT=1) /判断 KEY1 按下的次数是否为 1 MIAO1+; /是,则秒加 1 IF(MIAO159) /判断秒是否大于 60,是,则秒清零 MIAO1=0; IF(CNT=2) /以下含意同上 FEN1+; IF(FEN159)西安文理学院课程设计报告第 22 页 FEN1=0; IF(CNT=3) SHI1+; IF(SHI123) SHI1=0; IF(CNT=4) MIAO+; IF(MIAO59) MIAO=0;CNT1+; IF(CNT=5) FEN+; IF(FEN59) FEN=0;CNT1+; IF(CNT=6) SHI+; IF(SHI23) SHI=0;CNT1+; /*减 1 子函数*/VOID JIAN() IF(CNT=1)/判断 KEY1 按下的次数是否为 1,是则秒减 1 MIAO1-; IF(MIAO1=255)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论