毕业设计(论文)-具有温度显示的电子实时时钟万年日历系统的设计与制作.doc_第1页
毕业设计(论文)-具有温度显示的电子实时时钟万年日历系统的设计与制作.doc_第2页
毕业设计(论文)-具有温度显示的电子实时时钟万年日历系统的设计与制作.doc_第3页
毕业设计(论文)-具有温度显示的电子实时时钟万年日历系统的设计与制作.doc_第4页
毕业设计(论文)-具有温度显示的电子实时时钟万年日历系统的设计与制作.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)具有温度显示的电子实时时钟/万年日历系统的设计与制作专业(系) 电气工程系 铁道通讯信号方向 班 级 铁道通讯091 学生姓名 指导老师 完成日期 38目 录摘 要2第1章 引 言41.1研究背景41.2论文研究目标和意义41.3论文章节安排5第2章 任务与要求62.1课题概述62.1.1 设计内容62.1.2 要求62.2 参数要求6第3章 方案论证与设计83.1 总体设计分析83.2 方案的选择与设计83.2.1 显示模块选择方案和论证:83.2.2 时钟芯片的选择方案和论证:93.2.3 温度传感器的选择方案与论证:93.3 方案确定9第4章 硬件电路设计104.1 硬件电路设计框图104.1.1 系统硬件概述104.1.2 单片机主控制模块的设计104.1.3 振荡电路114.1.4 复位电路114.1.5 温度采集模块设计114.1.6 显示模块的设计124.1.7 蜂鸣器电路13第5章 系统的软件设计145.1软件设计方案145.2程序流程框图14第6章 电路调试145.1调试的设备145.2调试步骤155.2.1 硬件调试155.2.2 软件调试15第7章 使用说明176.1 使用方法176.1.1 系统面板介绍176.1.2 调整方法176.1.3 注意事项186.2故障分析186.2.1 LED数码管显示不全、模糊、多出相对较暗的一位186.2.2 调整时按键过于灵敏18第8章 心得体会19 参考文献19附件21附件一:总原理图21附件二:PCB版图22附件三:元件清单22附录四:程序代码23摘 要单片计算机即单片微型计算机(Single-Chip Microcomputer),是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。本设计以数字集成电路技术为基础,单片机技术为核心。本文详细的介绍基于AT89S51单片机带有温度和闹钟的万年历控制系统。利用单片机定时计数器提供秒信号,DS18B20数字式温度传感器进行温度数据传输,经软件处理,在动态扫描后,利用8个共阳数码管交替显示年月日、时分秒、环境温度值。为了更好的调节和设置,设计了四个按键快速进行时间和闹钟的精准调整。关键字: 单片机;万年历;温度;闹钟 ;DS18B20AbstractSingle-chip computer that is single-chip microcomputer (Single-Chip Microcomputer), is a CPU, RAM, ROM, timing, counting and multiple interfaces in one of the micro-controller. His small size, low cost, powerful, widely used in intelligent products and industrial automation, while 51 of the microcontroller chip is the most typical and most representative one. The graduation project through to its study, the application to achieve the study, design, development software and hardware capabilities. This design with digital integrated circuit technology as the foundation, microcontroller technology as the core. This paper introduced in detail based on AT89S51 with temperature and the alarm clock calendar control system. Using single chip computer timing counter offer seconds signal, the temperature sensor DS18B20 digital temperature data transmission, the software processing, in dynamic scan, a total of 8 Yang digital tube alternate show date, meticulous, environment when temperature. In order to better regulate and Settings, design the four keys of rapid time and alarm the accuracy of adjustment. Key words: Microcomputer; Calendar;Temperature; Alarm clock; DS18B20; Dynamic scanning 第1章 引 言1.1研究背景当今社会逐渐步入信息化时代,快节奏、高效率成为当今时代的主题。人们在日常的工作和生活中对各种信息量的需求也在不断加大,为了满足人们的这种需求,电子万年历应运而生。电子万年历整合了人们所需的日期、时间、气温、日程安排的闹钟等诸多常用信息,最大限度的方便了人们的信息获取,可以对工作和生活做出有效的安排。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2论文研究目标和意义本文分析的是具有温度显示的电子实时时钟/万年日历系统的设计,可以显示年月日时分秒及环境温度信息,具有可调整日期、时间和闹钟功能。采用数字电路实现对.时,分,秒.数字显示的计时装置,我们可以通过对电子万年历的研究进一步熟悉和掌握51单片机及其外围电路的应用,加强自己的动手能力,把理论和实际操作联系起来,在实践中达到理论知识的融会贯通,并进一步提高自身在电子技术方面的理论研究及实践能力。研究数字钟及扩大其应用,有着非常现实具有现实意义,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.3论文设计目的通过本研究性学习,进一步了解研究性学习的要求和写作过程,了解此类设计的研究方法,培养文献检索能力、创新能力、文字表达能力等。本设计电路都采用目前流行的简单的典型电路接法,简单实用、稳定廉价。可起到一个很好的学习目的和实验目的。1.4论文章节安排本论文大致可分为三大部分:第一部包含第一章至第三章,系统介绍了论文研究的目的及意义,并最终确立方案;第二部分包含第四章至第七章,给出实际硬件电路的分析,求证、及调试,还有使用说明;第三部分为第八章,是论文总结及未来相关展望。第2章 任务与要求2.1课题概述本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。该时钟系统主要由时钟模块、闹钟模块、显示模块、键盘控制模块等组成。能够准确显示时间(显示格式为时时:分分:秒秒,24小时制),可随时进行时间调整,能显示温度。2.1.1 设计内容1) 显示准确的北京时间(时、分、秒)及公历日期显示功能(年、月、日);2) 可通过按键切换年、月、日及时、分、秒的显示状态;3) 可随时可以调校年、月、日或时、分、秒;4) 可每次增减一进行时间调节,也可快速增减进行时间调节;5) 有闹钟功能(可控制闹钟的开关);6) 可显示环境温度。2.1.2 设计要求 绘制系统组成框图,确定设计方案; 了解电路所需集成芯片的功能,参数和工作原理; 绘制整机电路图; 制作实物并完成软、硬件调试; 提交毕业设计论文2.2 参数要求1) DS18B20主要参数温度测量范围-55+125,电源电压35.5V,在-10+85区间测量精度为0.5。1、 电参数:名称符号测试条件标准值单位MINTYPEMAX输入高电平VIH-2.2-VDDV输入低电平VIL-0.3-0.6V输出高电平VOHIOH=0.2mA2.4-V输出电平VOLIOL=1.2mA-0.4V工作电流IDDVDD=5.0V2.0mA第3章 方案论证与设计3.1 总体设计分析本课题设计的是具有温度显示的电子实时时钟/万年日历系统,3.2 方案的选择与设计 为实现本设计的要求可以采用以下几种方案:a.显示模块方案:方案一:采用LED液晶显示屏;方案二:采用点阵式数码管显示;方案三:采用LED数码管动态扫描;b.时钟芯片方案:方案一:单片机定时计数器提供;方案二:DS1302时钟芯片提供;c.温度传感器方案:方案一:热敏电阻;方案二:数字式温度传感器DS18B20;3.2.1 显示模块选择方案和论证:方案一: 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多。方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高。方案三: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。3.2.2 时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分、秒计数。采用此种方案减少芯片的使用,节约成本,实现的时间误差较小,单片机芯片得到充分利用。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.3.2.3 温度传感器的选择方案与论证:方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。3.3 方案确定我们根据手头现有资源,经济性,功能实现性选取方案。综上各方案所述,对此次设计的方案选定: LED数码管动态扫描作为显示;采用单片机定时计数器提供秒信号;DS18B20数字式温度传感器。第4章 硬件电路设计4.1 硬件电路设计框图LED数码管动态扫描显示模块AT89S51主控制模 块温度采集模块键盘模块闹钟模块4.1.1 系统硬件概述本电路是由AT89S51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。温度的采集由DS18B20构成;显示部份由8个数码管、74ls138译码器构成,使用动态扫描显示方式对数字的显示。4.1.2 单片机主控制模块的设计AT89S51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图所示:图4-1 主控制系统4.1.3 振荡电路本设计51芯片选用内部振荡器方式。由于本设计的时间由内部定时器中断与软件计数相结合产生的,所以从计算方便以及系统的效率上考虑,本设计选用12MHz频率的晶振,电路原理图如下:图4-2 AT89C51的振荡电路4.1.4 复位电路本设计使用上电复位电路。单片机晶振为12MHz,起振时间将近1ms,单片机1个机器周期的时间为1us。单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时与起振延时之和。从实际上讲,延迟一个treset往往还不够,不能够保障单片机有一个良好的工作开端。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时间。单片机是高电平的时候复位,一般是用电阻和电容组成的,电容充电的时RST复位端为高电平,此时单片机开始复位.电容充电完成,此时单片机复位完成。图4-3 AT89C51上电复位电路4.1.5 温度采集模块设计如图4-4所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用3.6与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。表4-1 DS18B20详细引脚功能描述:序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图4-4 DS18B20温度采集4.1.6 显示模块的设计要实现接在P0和P2口上8个数码管的动态显示,必须轮流向各数码管送出段码和相应的位码,利用发光二极管的余晖和人眼的视觉暂留效应,使得人感觉各位数码管同时在显示,实际多位数码管是一位一位轮流显示的,试试轮流的速度非常快,人眼已经无法分辨。数码管扫描频率必须大于42HZ,人的眼睛才不会感觉到闪烁。本设计中P2接段码,P0接位码,如图4-5所示:图4-5 数码管动态显示硬件原理图4.1.7 蜂鸣器电路如图4-6,本设计采用无源蜂鸣器,单片机必须输出固定频率的方波信号,其工作电压范围宽,4-12V,需要外围元件少,电压增益可调范围为20-200.,接在P3.5口。图4-6 蜂鸣器输出电路第5章 系统的软件设计5.1软件设计方案1.时间累加及显示设计5.2程序流程框图开始初始化读、写日期、时间和温度分离日期时间温度显示值显示子程序农历自动更新子程序日期、时间修改子程序闰月子程返回定时闹铃子程序第6章 电路调试正确的调试系统才能使各模块电路正常工作,实现高稳定性的显示。要经过反复的调整和测试,才能达到预期的目标。 5.1调试的设备稳压电源一台PC电脑一台USB数据线一条数字万用表一台5.2调试步骤调试具体步骤大致如下: 1、 硬件调试2、 软件调试5.2.1 硬件调试电路的调试具体步骤大致如下: 1.通电观察:通电后不要急于测量电气指标,而要观察电路有无异常现象,例如有无冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。如果出现异常现象,应立即关断电源,待排除故障后再通电。 2.静态调试:静态调试一般是指在不加输入信号,或只加固定的电平信号的条件下所进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合电路原理的分析,判断电路直流工作状态是否正常,及时发现电路中已损坏或处于临界工作状态的元器件。通过更换器件或调整电路参数,使电路直流工作状态符合设计要求。 3.动态调试:动态调试是在静态调试的基础上进行的,在电路的输入端加入合适的信号,按信号的流向,顺序检测各测试点的输出信号,若发现不正常现象,应分析其原因,并排除故障,再进行调试,直到满足要求。 5.2.2 软件调试(一)、调试步骤:1 首先启动KeilC51软件的集成开发环境。2 建立工程文件。3 建立并添加源文件。4 配置工程属性。5 程序调试。(二)、调试方法:1、 先进行人工检查,即静态检查。为了更有效地进行人工检查,所编的程序应力求做到以下几点:应当采用结构化程序方法编程,以增加可读性;尽可能多加注释,以帮助理解每段程序的作用;在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。各函数之间除用参数传递数据外,尽量少出现耦合关系,这样便于分别检查和处理。2、 在人工检查无误后,再上机调试。进行动态检查。在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。若系统提示的出错信息很多,应当从上到下逐一改正。有时显示出一大片出错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息。这时只要加上一个变量定义,就所有错误都消除了。3、 在改正语法错误(包括“错误(error)”和“警告(warning)”)后,应当对运行结果作分析,看它是否符合要求。4、 及时将程序写入芯片中,看是否达到要求,入不能实现功能则反复检查和调试,不断完善优化程序。第7章 使用说明6.1 使用方法2、 连接电源;3、 打开电源开关;4、 通过S1键、S2键、S3键、S4键对系统进行设置。6.1.1 系统面板介绍显示面板电源接口及开关复位按钮蜂鸣器S1、S2、S3、S46.1.2 调整方法1. 系统启动后按S4进入设置程序,设置时时钟停止运行,对当前项进行设置,调整顺序依次为:年(1)月(1)日(1)时(1)分(1)秒(1)闹钟小时(1)闹钟分钟(1)闹钟开/关(ON/OFF)年(10)年(100)年(1000)。2.按S3对设置项进行逐个切换,循环;3. S2对选项进行减(-)操作和ON/OFF的切换;4. S1对选项进行加(+)操作和ON/OFF的切换;5. 当全部选项或者部分选项设置完成,按下S4保存退出,时钟开始运行。6.1.3 注意事项6.2故障分析对实验过程中产生的故障进行分析及解决。6.2.1 LED数码管显示不全、模糊、多出相对较暗的一位故障分析:可能是电路断路、数码管没有消影造成。故障解决:首先使用试测仪对电路进行测试,观察电路是否存在断路现象。加入数码管消影程序,问题得到解决。6.2.2 调整时按键过于灵敏故障分析:可能是没有采用按键防抖。故障解决:加入按键防抖程序,问题得到解决。第8章 心得体会衷心感谢我的指导老师赵巧妮老师在设计的过程中对我的悉心指导,使我获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,单片机知识对今后进一步学习有极大的帮助。随着毕业日子的到来,毕业设计也接近了尾声。经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在此要感谢我的指导老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。总之,这次毕业设计让我学习到很多。虽然结束了,但这只能是一个开始。我们只有对自己有了更高的要求,才能作为动力不断取得新的成绩!参考文献1.模拟电子技术第二版 戴士弘 电子工业出版社2.数字电路郝 波电子工业出版社3.C语言程序设计徐建民 电子工业出版社4.新概念51单片机C语言教程郭天祥 电子工业出版社5. 相关网站和论文附件附件一:总原理图附件二:PCB版图附件三:元件清单序号名称代号数量标称值(型号)封装1电阻R22 R31 R34 R3541KAXIAL0.32电阻 R3611.5KAXIAL0.33开关二极管 D1111N4148D08H4稳压二极管D14 D1523.6VD08H5电阻R9-R16 R2994.7KAXIAL0.36电阻R3015.1KAXIAL0.37电阻R18110KAXIAL0.38电解电容C3 C19210uFEC2/59晶振XTAL1111.0592MX110晶振XTAL2112MCRY11接口J3118b20cz41312电容C21 C22222pFCC2.513电容C1 C2233PCC2.514电容C12 C17 C203104CC4.815电阻R37 R382180/200AXIAL0.316电阻R1-R8 R179200AXIAL0.317电容C181250V/102PFCC4.818电容C111470uF/16VEC5/819AT89S51芯片U118031AHDIP40L20芯片U71ATmage 8-16PIDIP28-221接口J61CPN3POWER SOCK322接口J1 J22CON8SIP823继电器JD11DC-05VRELAY524接口J4 J52JMP1SIP325发光二级管D12 D132LEDLED3.526三极管Q1-Q1010PNP855027数码管LED1-LED22SM410361K361K28蜂鸣器LS11SPEAKERspk29独立按键S1-S44SW-PB4WD30复位按键Srst11SW-PB4WD31接口J91USB_CONUSB-B32自锁开关Spowl1ZS6ZS6附录四:程序代码/* P2接段码,P0接位码*/#include #includesbit DQ=P36;void display();void init_18b20();int temp=365;typedef unsigned char UINT8;typedef unsigned int UINT16;#define S1 0x0e#define S2 0x0d#define S3 0x0b#define S4 0x07UINT8 code tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/段码int kaiguan=0xc8,0x8e,0xff,0x8e;int *p=kaiguan;int k=0;unsigned char Text7;bit flag=1;UINT16 Year=2011;UINT8 Month=8,Day=11,Hour=23,Minute=59,Second=40,AHour=01,num=0,AMin=10;static unsigned int show=0;sbit SPEAK=P35;void Delay(UINT16 t)UINT16 i,j;for(i=0;it;i+)for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(UINT8 wdata)/*写数据*/UINT8 i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; void display() UINT8 i; switch (show) case 0: Text0 =tabYear/1000; Text1 =tabYear%1000/100; Text2 =tabYear%100/10; Text3 =tabYear%10; Text4=tabMonth/10; Text5=tabMonth%10; Text6=tabDay/10; Text7=tabDay%10; break; case 1: Text0 =tabHour/10; Text1 =tabHour%10;Text2 =0xBF; Text3=tabMinute/10; Text4=tabMinute%10;Text5 =0XBF; Text6=tabSecond/10; Text7=tabSecond%10;break; case 2: Text0 =tabtemp/100; Text1 =tab(temp/10)%10; Text2 =0X7F; Text3 =tab(temp/1)%10 ; Text4 =0Xff;Text5 =0Xff;Text6 =0Xff;Text7 =0Xff;break; case 3: Text0 =tab0; Text1 =*(p+k);Text2 =*(p+k+2); Text3=tabAHour/10; Text4=tabAHour%10;Text5=0Xff; Text6=tabAMin/10; Text7=tabAMin%10; if(flag=0) switch(num) case 0:Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff; break; case 1:Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text3 =0Xff; Text6=0Xff; Text7=0Xff;break; case 2:Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text3 =0Xff; Text4=0Xff; Text5=0Xff;break; case 3: Text2 =0Xff; Text3 =0Xff; Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff;break; case 4:Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff;break; case 5:Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text3=0Xff; Text4=0Xff; Text5=0Xff;break; case 6: Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff;break; case 7: Text0 =0Xff; Text1 =0Xff; Text2 =0Xff; Text3=0Xff; Text4=0Xff; Text5=0Xff;break; case 8: Text3 =0Xff; Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff;break; case 9: Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff; break; case 10: Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff; break; case 11: Text4=0Xff; Text5=0Xff; Text6=0Xff; Text7=0Xff; break; for(i=0;i8;i+)/8位显示 P2=_cror_(0X7f,i); /段码送P2口 P0=Texti; /位码送P0口,移位显示 Delay(1); /延时2MS P0=0xff;P2=0xff; UINT8 Scankey(void)UINT8 key;if(P3&0x0f)=0x0f)return(0xff);Delay(10); if(P3&0x0f)=0x0f)return(0xff);key=P3&0x0f;while(P3&0x0f)!=0x0f);return(key);void Adjust(void)UINT8 c;show=0;flag=0;num=0;while(1)display();c=Scankey();SPEAK=0;/按键声音switch(c)case S1:SPEAK=0;SPEAK=!SPEAK;switch(num)case 0: show=0; display();Year+; display();break;case 1: show=0; display();Month+;if(Month=13)Mo

温馨提示

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

评论

0/150

提交评论