基于单片机的电子时钟设计与应用

上传人:仙*** 文档编号:28438140 上传时间:2021-08-28 格式:DOC 页数:40 大小:2.47MB
收藏 版权申诉 举报 下载
基于单片机的电子时钟设计与应用_第1页
第1页 / 共40页
基于单片机的电子时钟设计与应用_第2页
第2页 / 共40页
基于单片机的电子时钟设计与应用_第3页
第3页 / 共40页
资源描述:

《基于单片机的电子时钟设计与应用》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计与应用(40页珍藏版)》请在装配图网上搜索。

1、基于单片机的电子时钟设计与应用本科毕业论文题 目:基于单片机的电子时钟与应用Based on SCM electronicclockand application姓 名:* *学 号:01401*12专 业:电子信息工程指导教师:沈婧芳职 称:副教授 中国武汉 二一二年 六 月目 录基于单片机的电子时钟设计与应用21. 绪论41.1数字电子钟的背景41.2数字电子钟的意义41.3数字电子钟的应用52. 方案论证与比较62.1数字时钟方案62.2数码管显示方案63. 系统设计83.1 单片机的选择83.2 单片机的基本结构103.3总体设计143.3.1系统说明143.3.2系统框图153.4模

2、块设计163.4.1电源部分163.4.2复位电路173.4.3程序下载接口183.4.4位选部分183.4.5段选部分193.4.6数码管的连接电路193.4.7 LED流水灯分203.4.7 蜂鸣器部分203.4.8控制部分214. 原理图与PCB图225. 软件设计235.1程序流程图245.2源程序286. 调试与功能说明376.1 硬盘调试376.2 系统性能测试与功能说明376.3 系统时钟误差分析376.4 软件调试问题及解决38参考文献(References):39基于单片机的电子时钟设计与应用摘 要20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的

3、各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒、年、月、日

4、,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整,对闹钟的设置。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。关键字数字电子钟 单片机 AbstractThe late 20th century, electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost f

5、ields, a strong impetus to the development of social productive forces and social improvement in the level of information, while also further improve the performance of modern electronic products, replacement products have become increasingly fast pace. Growing emphasis on modern life from the time

6、the concept of time and money can be said to draw the equal sign. For those who are very strict and accurate grasp of time and things, time will not exactly bring a very big trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. Digital display of time

7、reading simple and fast, accurate display of time to seconds. The mechanical oscillator depends on the crystal may lead to errors. Digital Clock is a digital circuit implementation of the when, sub, seconds The figures show the timing device. Digital clock precision, stability, far more than the old

8、 mechanical clock. In this design, we use LED digital display hours, minutes, seconds, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has a display time of the this function, you can also realiz

9、e the time adjustment. Digital clock is its compact, low cost, travel time and high precision, easy to use, features and more, easy integration and loved by the general consumer, so widely used. Keywords digital electronic clock SCM 31. 绪论1.1数字电子钟的背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动

10、了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软

11、件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2数字电子钟的意义数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

12、诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.3数字电子钟的应用 数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 2. 方案论证与比较2.1数字时钟方案数字时钟是本设计的最主要的部

13、分。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS,1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设就个字节分别存放时钟的时、分、秒、年、月、日、定时、定分、定秒信

14、息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零,日子节加1,同理还有月子节、年字节。该方案用四个键来调整时间、设置定时时间,当定时时间到后蜂鸣器响,led灯闪烁。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。2.2数码管显示方案方案一:静态显示。所谓静态显示,就是

15、每个数码管的每一个段码都由一个单片机的I/O埠进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5840根I/O埠来驱动。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。方案二:动态显示。数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端

16、电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。从节省I/O口和降低能耗出发,本设计采用方案二。393. 系统设计3.1 单片机的选择 单片机微型计算机是微型计算机的一个重要分支,也

17、是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看

18、家狗)、高速I/O口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的

19、数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。下面大致介绍一下单片机

20、的主要应用领域和特点。(1)家用电器领域用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。(2)办公自动化领域单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、电话机和传真机等。(3)商业应用领域商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和安全性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁干扰等

21、,可靠性更高。(4)工业自动化在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。(5)智能仪表与集成智能传感器目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。(6)现代交通与航空航天领域通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用系统还要

22、高,因此采用单片机系统更加重要。目前,我国生产很多型号的单片机,在此,我们采用型号为STC89C52的单片机。因为:STC89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2

23、个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。3.2 单片机的基本结构MCS-52单片机内部结构8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的

24、工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图2-1 单片机8052的内部结构程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口8052共有4组8位I/O口(

25、P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为

26、一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-52系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-52系列单片机的内部结构示意图。图2-2 MCS-52系列单片机的内部结构MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-52系列单片机中的8031、

27、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明: 图2-3 单片机的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改

28、变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。8051的复位方式可以是自动复位,也可以是手动复位。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图2-5 内部和外部时钟方式图 Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。 如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin2

29、9:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。3.3总体设计3.3.1系统说明利用单片机(AT89S52)制作简易电子时钟,由八个LED数码管分别显示小时十位、小时个位、一

30、横、分钟十位、分钟个位、一横、秒钟十位、秒钟个位,还有年月日的十位和个位。位选芯片74HC138控制八个数码管的亮灭,四个按键用于时间调整,设置定时,当定时时间到时,LED流水灯闪烁,蜂鸣器响。3.3.2系统框图8个共阴极发光二极管显示部分控制部分单片机(AT89S52)按键S3、S4、S5、S6复位电路电源部分直流电源5V8个七段共阴极数码管显示秒,分钟及小时位1个74HC138位选芯片和1个74HC573段选芯片图3-13.4模块设计3.4.1电源部分 图3-2如图3-2所示,从外部引入5V的直流电,为单片机、复位电路提供电源。3.4.2复位电路图3-3单片机复位电路主要有四种类型:(1)

31、微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。本设计用的是微分型复位电路,常用的上电复位方式。在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电

32、路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。3.4.3程序下载接口图3-4如图3-4所示,由AT89S ISP构成的一排十针下载口,板图上有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角。3.4.4位选部分图3-5图3-5为位选电路,74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74H

33、C138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。当P2口为0时,第一个数码管亮,当P2为1时,第二个数码管亮,以此类推,当P2口为7时,第八个数码管亮。3.4.5段选部分图3-6图3-6是一个段选的引脚图,主要有锁存器74HC573组成。3.4.6数码管的连接电路图3-7图3-7为数码管的引脚图,每位的段(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S52控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位

34、I/O口输出段码对各个显示位来说都是相同的。3.4.7 LED流水灯部分图3-8图3-8为LED流水灯的引脚图,由八个共阴极的发光二极管组成,当P1口为低电平时发光管将会发光。3.4.7 蜂鸣器部分图4-9图4-9为蜂鸣器引脚图。当P16为高电平时,蜂鸣器响。3.4.8控制部分图3-10AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含8K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S52提供以下标准功能:8K字节Flash闪速存储器,128字节内部RAM,32

35、I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。如图3-10所示,AT89S52有40引脚,双列直插(DIP)封装,所用引脚功能如下:1. VCC 运行时加5V2. GND 接地3. XTAL1 振荡器反相放大器及内部时钟发生器的输入端4. XTAL2 振荡器反相放大器的输出端5. RST 复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为R

36、ESET输出高电平打开状态。6. EA/VPP 片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。7. P1口,P2口P1,P2是一组带内部上拉电阻的8位双向I/O口。运行时通过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。P2.0P2.5口控制数码管的位选,使六个数码管轮流显示数据,等于1时位选三极管导通,等于0 时位选三极管截止。8. 无自锁开关(S2P3.7)开关接相应引脚

37、P3.7,当开关按下时,相应引脚为低电平0,断开时引脚为高电平1。4. 原理图与PCB图图4-1图4-25. 软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合

38、理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。5.1程序流程图这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。开始启动定时器按键检测时间显示主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。图4-1 主程序流程图按键处理是先检测秒按键是否按下,主按键如果按下,num值就加1;如果num值等于10则num值清零。如果num值等于1,则对分值进行编辑;如果num值等于2,则对秒值进行编辑;如果num值等于3,则对时值进行编辑;如果num值等于4,怎对日值进行编辑;如果num值等于5,则对月

39、值进行编辑;如果num值等于6,则对年值进行编辑;如果num值等于7,则对定秒进行编辑;如果num值等于8,则对定分进行编辑;如果num值等于9,则对定时值进行编辑;如果num值为0,则重新显示时间。 图4-2 按键处理流程图定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间,同理,年月日也是如此。 图4-3 定时器中断流程图时间显示是按秒个位计算显示、秒十位计算显示、分个位计算显示、分十位显示、时个位计算显示、时十位显示、日个位显示、日十位显示、月个

40、位显示、月十位显示、年个位显示、年十位显示、定秒个位显示、定秒十位显示、定分个位显示、定分十位显示、定时个位显示、定时十位显示。当num值为13,则显示时分秒;当num值为46,则显示年月日;当num值为79,则显示定时定分定秒。时十位计算显示结束开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示图4-4 时间显示流程图5.2源程序表5-1 P1口对应段码及数值:显示数字P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.016进制代码dpgfedcba0001111113FH10000011006H2010110115BH3010011114FH401100

41、11066H5011011016DH6011111017DH70000011107H8011111117FH /*/ /* 数码管定时器 */ /* 初始化日期 12年2月8日 */ /* 初始化时间 12 :03 : 00 */* 定时时间为12 :03 : 30 */#include #define uchar unsigned char #define uint unsigned intsbit s13=P30; /*键盘S13是根据num值来选择所调的内容(时分秒,年月日,定时定分定秒)sbit s14=P31; /使数据 加一sbit s15=P32; /使数据减一sbit s16=

42、P33; /显示 日期 5秒sbit SPK=P16;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar tt,bzw=0,bzw1=0,aa,num=0,j,i;char miao,fen,shi,nian,yue,ri,dshi=12,dfen=3,dmiao=30; /定时时间为12 :03 : 30void deyscan();void delay(uchar z) /* 延时函数*/ uchar x;while(-z) for(x=0;x0&num3&num7) display_ri(ri)

43、; display_yue(yue); display_nian(nian); else if(num4|bzw=0) display_miao(miao); display_fen(fen); display_shi(shi); else display_dmiao(dmiao); display_dfen(dfen); display_dshi(dshi); void timer0() interrupt 1 /定时器0中断程序 TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt+; if(tt=20) tt=0; miao+; if(miao

44、=60) miao=0; fen+; if(fen=60) fen=0;shi+;if(shi=24) shi=0; ri+; if(ri=30) ri=0;yue+;if(yue=12)yue=0;nian+; void timer1() interrupt 3/ 定时器1 中断程序 TH1=(65536-50000)/256; TL1=(65536-50000)%256; if(bzw=1) aa+; if(aa=100) aa=0; bzw=0; if(bzw1=1) j+; if(j=10) j=0; i+; P1=P1; /定时时间到,蜂鸣器响,灯反复亮灭 30秒 if(i=60)

45、bzw1=0;6. 调试与功能说明单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。6.1 硬盘调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。6.2 系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。走时调整:按一下S13对秒进行调整,按两下S13对分进行调整,按三下S13对时进行调整,按四下S1

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