1、 单片机原理与应用 - 基于单片机的电子时钟 专 业:计算机科学与技术 班 级:专升本1班 小组成员:张琴 张娜 赵慧佩 学 号:23 24 25 基于单片机的电子时钟设计摘 要20世纪末,电子技术获得了飞速的开展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的开展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示
2、的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟是采用数字电路实现对“时、“分、“秒数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广阔消费的喜爱,因此得到了广泛的使用。. 目 录第一章 绪论 1.1 数字电子钟的背景 41.2 数字电子钟的意义 41.3
3、数字电子钟的应用 4第二章 整体设计方案2.1 单片机的选择 52.2 单片机的根本结构 7第三章 数字钟的硬件设计3.1 最小系统设计113.2 LED显示电路 14第四章 数字钟的软件设计4.1 系统软件设计流程图 164.2 数字电子钟的原理图 19第五章 系统仿真5.1 PROTUES软件介绍 205.2 电子钟系统PROTUES仿真 21第六章 调试与功能说明 硬盘调试 226.2 系统性能测试与功能说明 226.3 系统时钟误差分析 226.4 软件调试问题及解决 22附件:主程序23第一章 绪论数字电子时钟的背景 20世纪末,电子技术获得了飞速的开展,在其推动下,现代电子产品几乎
4、渗透了社会的各个领域,有力地推动了社会生产力的开展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么珍贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向开展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面开展。下面是单片机的主要开展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大
5、局部功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报
6、时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时播送、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为根底的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.3数字电子钟的应用 数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的开展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 第二章 整体设计方案2.1 单片机的选择 单片机微型计算机
7、是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的根本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的开展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向开展。其开展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比方A/D、PWM、PCA可编程
8、计数器阵列、WDT监视定时器-看家狗、高速I/O口及计数器的捕获/比拟逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROMFLAS
9、H和RAM的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言如C语言来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改良和扩充功能。3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作1.2V或0.9V,功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格 单片机应用面广,使用数量大,带来的直接好处就是本钱的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的
10、价格。下面大致介绍一下单片机的主要应用领域和特点。1家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器如洗衣机、空调、冰箱、微波炉、和电视机等功能更完善,更加智能化和易于使用。2办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、 机和 机等。3商业应用领域 商业应用系统局部与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和平安性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、平安监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比拟封闭,可以更有效地防止病
11、毒和电磁干扰等,可靠性更高。4工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。5智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。6现代交通与航空航天领域 通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用
12、系统还要高,因此采用单片机系统更加重要。目前,我国生产很多型号的单片机,在此,我们采用型号为STC89C52的单片机。因为:STC89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出I/O端口,同时内含2个外中断口,
13、2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。2.2 单片机的根本结构 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系
14、统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8052内部有128个8位用户数据存储单元和128个专用存放器单元,它们是统一编址的,专用存放器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图2-1 单片机8052的内部结构程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8052共有4组8位
15、I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存
16、储器合二为一的结构,即普林斯顿(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系列单片机
17、中的8031、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地址开始执行程序。然而
18、,初始复位不改变RAM包括工作存放器R0-R7的状态,8052的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下列图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丧失。图2-4 上电自动和手动复位电路图图2-5 内部和外部时钟方式图 Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。 如果单片
19、机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器那么把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址那么读取外部指令数据。如EA为低电平,那么不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。第三章 数字钟的硬件设计3.1 最小系统设计图3-1 单片机最小
20、系统的结构图 单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成局部。1.电源引脚 Vcc40电源端GND20接地端工作电压为5V,另有AT89LV51工作电压那么是2.7-6V, 引脚功能一样。 图3-2 晶振连接的内部、外部方式图XTAL119XTAL218 XTAL1是片内振荡器的反相放大器输入端,XTAL2那么是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内
21、部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反应元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反应回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的上下、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可
22、靠地工作。3. 复位RST9在振荡器运行时,有两个机器周期24个振荡周期以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能存放器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取2
23、2F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如下列图所示:图3-3 常用复位电路图(1) P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1对端口写1时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉
24、到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4) P3端口P3.0P3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存
25、储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看下表。P3引脚兼用功能串行通讯输入RXD串行通讯输出TXD外部中断0 INT0外部中断1INT1定时器0输入(T0)定时器1输入(T1)外部数据存储器写选通WR外部数据存储器写选通RD表3-1P3端口引脚兼用功能表3.2 LED显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一,如下列图所示。图3-4 LED显示器的符号图发光二极管LED由特殊的半导体材料砷化镓、磷砷
26、化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件半导体显示器。分段式显示器LED数码管由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。图是共阳式、共阴式LED数码管的原理图和符号.图3-5 共阳式、共阴式LED数码管的原理图和数码管的符号图显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下列图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在
27、第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下列图所示。图3-6 数码管的硬件连接示意图数码管使用条件:a、段及小数点上加限流电阻 b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA每段 10mA;动态:平均电流 4-5mA 峰值电流 100mA数码管使用考前须知说明:数码管外表不要用手触摸,不要用手去弄引角;焊接温度:度;焊接时间:外表有保护膜的产品,可以
28、在使用前撕下来。第四章 数字钟的软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件完成各种实质性功能的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:1根据软件功能要求,将系统软件划分为假设干个相对独立的局部,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;2培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;3建立正确的数学模型,通过仿真提高系统的性能,并选取适宜的参数;4绘制程序流程图;5合理分配系统资源;6为程序参加注释,提高可读性,实施软件工程;7注意软件的抗干扰设计,提高系统的可靠性
29、。4.1 系统软件设计流程图 这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。开始动定时器按键检测时间显示图4-1 主程序流程图按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。 NYNYNY时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下?图4-2 按键处理流程图定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加
30、1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。N24小时到?分单元清零,时单元加1NNNYY时单元清零时间显示中断返回开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY 图4-3 定时器中断流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。时十位计算显示结束开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示 图4-4 时间显示流程图4.2 数字钟的原理图用PROT
31、UES软件,根据要求画出数字电子钟的原理图如下所示。图4-5 数字钟的原理图 数字电子钟的工作原理 : 数字电子钟是一个将“ 时,“分,“秒显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。因此,一个根本的数字钟电路主要由显示器“时,“分,“秒和单片机,还有校时电路组成。8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元,“秒单元采用60进制计数器,每累计60秒发出一个“分脉冲信号,该信号将作为“分单元的时钟脉冲。“分单元也采用60进制计数器,每累计60分钟,发出一个
32、“时脉冲信号,该信号将被送到“时单元。“时单元采用24进制计时器,可实现对一天24小时的累计。显示电路将“时、“分、“秒通过七段显示器显示出来。 第五章 系统仿真5.1 PROTUES软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方MCS-51系列、PIC系列等等,以及单片机外围电路,比方键盘、LED、LCD等等。
33、通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。5.2 电子钟系统PROTUES仿真用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。图5-1 数字钟的PROTES仿真第六章 调试与功能说明单片机应用系统的调试包括硬件和软件两局部,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。6.1 硬盘调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要防止电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电芯片座上不插芯
34、片,并检查各引脚的电位是否正确。假设一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。6.2 系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时-分分-秒秒,有2个“-动态显示,时间会按实际时间以秒为最少单位变化。走时调整:按ksec对秒进行调整,按一下加一秒;按kmin对分进行调整,按一下加一分;按khour对时进行调整,按一下加一小时,从而到达快速设定时间的目的。 6.3 系统时钟误差分析时间是一个根本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使
35、用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢;反之,S0表示秒单元数值的刷新超前,即走时误差为“快。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。6.4 软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试
36、上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真局部采用protus 6 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。首先翻开protus 6 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择wave6000已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查
37、,直到满足要求。附件:主程序。本次设计我们采用汇编语言编写程序; P0.0-7口 为数码管段选,采用共阳显示管。; P2.1-6为数码管位选。; 7071H 秒计时和显示单元 ; 7273H 分显示单元 注意:72H放个位数 73H放十位数; 7475H 小时显示单元; 7677H 分计时单元; 7879H 小时计时单元 中断入口程序 ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG
38、 0013H ;外中断1中断程序入口 RETI ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回; 主 程 序 ; START: MOV R0,#70H ;清70H-7AH共11个内存单元 MOV R7,#0BH ; CLEARDISP: MOV R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H标志用 MOV 7AH,#0AH ;放入熄灭符数据 MOV TMOD,#11H ;设T0、T1为16位定
39、时器;用初值是4C00H;用12M初值是3CB0H MOV TL0,#00H ;50MS定时初值T0计时用 MOV TH0,#4cH ;50MS定时初值 MOV TL1,#00H ;50MS定时初值T1闪烁定时用 MOV TH1,#4cH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用初值50MS20 START1: LCALL DISPLAY ;调用显示子程序 jnb P1.1,set_h ;此按键是小时加1 jnb P1.2,set_M ;此按键是分钟加1 set_h: ljmp
40、set_hh set_m: ljmp set_mm1秒计时程序 ;T0中断效劳程序 INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0;用初值是4C00H;用12M初值是3CB0H MOV A,#00H ;中断响应时间同步修正,要精确调整在这里! ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重装初值低8位修正值 MOV A,#4CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重装初值高8位修正值 SETB TR0 ;开启定时器T0 DJNZ R4, OUTT0 ;20次中断未到中断