




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要现代生活的人们越来越重视起了时间观念,可以说时间和金钱划上了等号。这为数字钟的存在创造了平台。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。数字钟其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。在这次设计中,我们采用led数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12mhz的晶振产生振荡脉冲,定时器计数。该设计中,电路具有显示时间的基本功能,还可以实现对时间的调整。并采用单片机编程的方式使其使用方便、精度高。另外还通过protues软件对设计的数字钟进行了有效的仿真,使得设计的电子产品更具有实用性关键字:数字钟; 数码管; 单片机; protues软件abstract there is a growing emphasis on modern life from the time the concept of time and money can be said to mark the equal sign.this digital clock presence to create a platform.digital clock is a digital circuit on the when, minute, second digital display of the timing device.digital clock precision, stability, far more than the old mechanical clock.digital clock its small, low cost, travel time and high precision, easy to use, multi-function, ease of integration and loved by the majority of consumers, it has been widely used. in this design, we use led digital display hours, minutes, seconds, 24-hour time mode, according to digital control theory to dynamic display to display, using 12mhz crystal oscillation pulse, the timer count.the design, the circuit has the basic function of display time, can be achieved for the time adjustment.microcontroller programming approach and adopt it easy to use, high accuracy.software is also designed by protues digital clock for an effective simulation, making the design more practical electronic products.keywords: digital clock, digital control, microcontroller, protues software 目 录摘 要1abstract2目 录31 绪论41.1 数字电子钟的背景41.2 数字电子钟的意义42 整体设计方案52.1 单片机基础52.1.1 单片机简介52.1.2 单片机的结构72.2 系统设计结构图93 数字钟的硬件设计103.1 单片机电路103.1.1单片机最小系统设计103.2 晶振电路133.3 复位电路143.4 实时时钟电路153.5 键盘控制电路163.6 液晶显示电路174 数字钟的软件设计194.1 系统软件设计流程图194.2 数字钟的源程序代码224.3 数字钟的原理图245 系统仿真25 5.1 protues软件的介绍255.2 电路功能仿真255.3 系统的调试及运行265.3.1 调试步骤265.3.2 运行结果265.4 调试过程中出现的问题286 总结29 参考文献.301 绪论1.1 数字电子钟的背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦是重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着cmos化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命1。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。1.2 数字电子钟的意义数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、 码头办公室等公共场所, 给人们的生活、学习、工作、娱乐带来极大的方便,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。2 整体设计方案2.1 单片机基础2.1.1 单片机简介 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和i/o接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强i/o功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能; 单片机中尽可能地把所需要的存储器和i/o口都集成在一块芯片上,使得单片机可以实现更多的功能。比如a/d、pwm、pca(可编程计数器阵列)、wdt(监视定时器-看家狗)、高速i/o口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了usb控制器、smart card接口、mp3解码器、can或者i*i*c总线控制器等,led、lcd或vfd显示驱动器也开始集成在8位单片机中2。2、高效率和高性能; 为了提高执行速度和执行效率,单片机开始使用risc、流水线和dsp的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内rom(flash)和ram的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如c语言)来开发单片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗;单片机的嵌入式应用决定了低电压和低功耗的特性。由于cmos等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2v或0.9v),功耗已经降低到ua级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格; 单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。下面大致介绍一下单片机的主要应用领域和特点:(1)家用电器领域; 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。(2)办公自动化领域; 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、电话机和传真机等。(3)商业应用领域; 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和安全性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁干扰等,可靠性更高。(4)工业自动化; 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。(5)智能仪表与集成智能传感器; 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口【1】。2.1.2 单片机的结构 目前,我国生产很多型号的单片机,根据以上单片机的特征,在此,我们采用型号为at89c51的单片机。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其相关参数介绍如下:1主要特性:与mcs-51 兼容 4k字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年全静态工作:0hz-24hz 三级程序存储器锁定128*8位内部ram 32可编程i/o线两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明:vcc:电源。 gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作 输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器 的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。图2.1 at89c51单片机 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。ea/vpp:当/ea保持低电平时,则在此期间外部程序存储(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时, /ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)【2】。2.2 系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。如图2.1所示。硬件电路主要由mcu微处理控制器单元、ds1302时钟电路、储存器、复位电路、晶振电路、lcd1602液晶显示模块构成。图2.2 系统结构图设计3 数字钟的硬件设计从上面的系统结构设计图来看,一个完整的数字钟的由中央处理器(单片机)及其外围电路组成。其外围电路包括晶振电路、复位电路、时钟电路、键盘控制电路、电源供电电路及液晶显示电路等电路。下面来分别介绍各部分的硬件部分。3.1 单片机电路3.1.1单片机最小系统设计 下面通过单片机的最小系统来说明单片机的运作情况以及其外围所必须的电路,以便为数字钟设计的单片机打下基础。其最小系统结构图如下: 图3-1 单片机最小系统的结构图由上面的最小系统图很容易看出: 单片机的最小系统是由电源、复位、晶振、/ea=1组成,下面介绍一下每个组成部分。1、电源引脚;vcc40电源端gnd20接地端工作电压为5v,另有at89lv51工作电压则是2.7-6v, 引脚功能一样。 2、外接晶体引脚; 图3-2 晶振连接的内部、外部方式图xtal1是片内振荡器的反相放大器输入端,xtal2则是输出端,使用外部振荡器时,外部振荡信号应直接加到xtal1,而xtal2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12mhz,时钟频率就为6mhz。晶振的频率可以在1mhz-24mhz内选择。电容取30pf左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。at89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1和xtal2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容c1和c2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12mhz,电容应尽可能的选择陶瓷电容,电容值约为22f。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。3、复位rst9;在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后p0p3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器sfr全部清零。当复位脚由高电平变为低电平时,芯片为rom的00h处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的s5p2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6mhz时,c取22f,rs约为200,rk约为1k。复位操作不会对内部ram有所影响【3】。4、输入输出引脚(上面已有所提到,这里再强调下);(1)p0端口p0.0-p0.7p0是一个8位漏极开路型双向i/o端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个ttl。对内部flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,p0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2)p1端口p1.0p1.7p1是一个带有内部上拉电阻的8位双向i/0端口。输出时可驱动4个ttl。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接收低8位地址信息。(3)p2端口p2.0p2.7p2是一个带有内部上拉电阻的8位双向i/0端口。输出时可驱动4个ttl。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,p2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4)p3端口p3.0p3.7p2是一个带有内部上拉电阻的8位双向i/0端口。输出时可驱动4个ttl。端口置1时,内部上拉电阻将端口拉到高电平,作输入用【5】。3.2 晶振电路每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(vco)。 晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步【3】。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。在本设计中,at89c51单片机在工作时需要外部提供时钟信号,因此,本设计选择在其18脚19脚之间接上12mhz的晶振,为单片机提供1s的机器振荡周期。其电路连接图如图所示。在图中,电容器c3.c4起稳定振荡频率、快速起振的作用,其电容值一般在2050pf。 图3-3 晶振电路图3.3 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。常见的复位电路有下面几种【3】:图3-4 常见复位电路图在该数字钟的设计中,at89c51单片机中的振荡器运行时,引脚上保持到少2个机器周期的高电平输入信号,复位过程即可完成。根据此原理,本设计采用上电复位和按键复位嵌套在系统中,增强了系统的实用性。3.4实时时钟电路本设计使用的实时时钟电路芯片是美国dallas公司生产的一种高性能、低功耗、带ram的实时时钟电路芯片ds1302,其引脚如图3-5所示。vcc1为后备电源,vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。ds1302由vcc1或vcc2两者中的较大 者供电;当vcc2大于vcc10.2v时,vcc2给ds1302供电;当vcc2小于vcc1时,ds1302由 vcc1供电。x1和x2是振荡源,外接32.768khz晶振。 是复位/片选线,通过把输 入驱动置高电平 来启动所有的数据传送。 图3-5 引脚图 输入有两种功能。首先,接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,提供终止单字节或多字节数据的传送手段。当为高电平 时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电运行时在vcc2.5v之前,必须保持低电平。只有在sclk为低电平时,才能将置为高电平。i/o为串行数据输入输出端(双向),sclk始终是输入端。本设计入端。本设计连接图如图3.15所示,其中c1和c2起微调晶振的作用【4】。3.5键盘控制电路该设计需要校对时间,所以用三个按键来实现。按时按钮来调节小时的时间,按分按钮来调节分针的时间,按 秒按钮来调节秒的时间。下图是按键硬件连接图。图3-6 按键控制电路的硬件连接图当用手按下一个键时,如图3-7所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,再读入键盘码。键按下前沿抖动后沿抖动闭合稳定图3-7 按键抖动信号波形3.6 液晶显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管led显示器、液晶lcd显示器、crt显示器等。led显示器是现在最常用的显示器之一,如下图所示。图3-8 led显示器的符号图发光二极管(led)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式led显示器件(半导体显示器)。分段式显示器(led数码管)由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。led数码管有共阳、共阴之分。图3-9是共阳式、共阴式led数码管的原理图和符号。图3-9 共阳式、共阴式led数码管的原理图和数码管的符号图显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。led显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位led显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示【4】。图3-10 数码管的硬件连接示意图4 数字钟的软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:1、根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;2、培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;3、建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;4、绘制程序流程图;5、合理分配系统资源;6、为程序加入注释,提高可读性,实施软件工程;7、注意软件的抗干扰设计,提高系统的可靠性。4.1 系统软件设计流程图这次的数字电子钟设计用到流程图如下所示。这次的数字电子钟设计用到很多子程序,它们的流程图如下所示【6】。开始启动定时器按键检测时间显示主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。图4-1 主程序流程图 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显nynyny时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下?示出来图4-2 按键处理流程图 定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。n24小时到?分单元清零,时单元加1nnnyy时单元清零时间显示中断返回开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1yy 图4-3 定时器中断流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。时十位计算显示结束开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示 图4-4 时间显示流程图4.2 数字钟的源程序代码第31页/共30页#include unsigned char code dispcode=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00; unsigned char dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; unsigned char dispbuf8=0,0,16,0,0,16,2,1; /初始化使显示时间的位全为12:00:00,其他都不点亮;当将dispbitcode2 和dispbitcode3对应的16改为x(1015中的一个),并将其指向dispcode16即0x00改为dispcodex即0x40。时分秒的间隔就为“”。unsigned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j; void main(void) tmod=0x02; th0=0x06; tl0=0x06; tr0=1; et0=1; ea=1; hour=12; while(1) if(p0_0=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_0=0) second+; if(second=60) second=0; dispbuf0=second%10; dispbuf1=second/10; while(p0_0=0); if(p0_1=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_1=0) minite+; if(minite=60) minite=0; dispbuf3=minite%10; dispbuf4=minite/10; while(p0_1=0); if(p0_2=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_2=0) hour+; if(hour=24) hour=0; dispbuf6=hour%10; dispbuf7=hour/10; while(p0_2=0); void t0(void) interrupt 1 using 0 mstcnt+; if(mstcnt=8) mstcnt=0; p3=0xff; /关闭所有显示 p1=dispcodedispbufdispbitcnt; p3=dispbitcodedispbitcnt; dispbitcnt+; if(dispbitcnt=8) dispbitcnt=0; tcnt+; if(tcnt=4000) tcnt=0; second+; if(second=60) second=0; minite+; if(minite=60) minite=0; hour+; if(hour=24) hour=0; dispbuf0=second%10; dispbuf1=second/10; dispbuf3=minite%10; dispbuf4=minite/10; dispbuf6=hour%10; dispbuf7=hour/10; 4.3 数字钟的原理图用protues软件,根据要求画出数字电子钟的原理图如图4-5所示。图4-5 数字钟的电路原理图5 系统仿真5.1 protues软件的介绍proteus isis是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大。5.2 电路功能仿真在protues绘制好原理图后,调入已编译好的目标代码文件:*.hex,可以在protues的原理图中看到模拟的实物运行状态和过程。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于protues提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。5.3 系统的调试及运行5.3.1 调试步骤(1)打开protues软件,按上面的设计图选取元件并连线完成上面所示的数字钟电路原理图。(2)通过菜单“sourceadd/remove source files”,新建源程序文件:cyuyan.asm。(3)通过菜单“sourcecyuyan.asm”,打开protues软件提供的文本编辑器srcedit,在其中编辑数字钟的源程序,程序编辑好后,单击保存按钮存入文件cyuyan.asm中。(4)通过菜单“sourcebuild all”编译源程序,生成目标代码文件cyuyan.hex。如编译失败,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖南-湖南保安员四级(中级工)历年参考题库典型考点含答案解析
- 城市轨道交通建设规划与新型运营管理技术应用研究报告2025
- 2025年事业单位工勤技能-湖北-湖北农机驾驶维修工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北中式面点师一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-海南-海南热力运行工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南水工监测工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南中式面点师五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-江西-江西食品检验工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏工程测量工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏保健按摩师五级(初级工)历年参考题库含答案解析
- 派出所签订治安调解协议书范文
- 《冠心病病人的护理》课件
- 牧场物语-矿石镇的伙伴们-完全攻略
- 中建三局社招在线测评题
- 2024年甲醇合成及精馏操作理论试题题库
- 外科学-第三十六章-阑尾疾病
- 旅游规划行业旅游目的地规划方案
- A特种设备安全管理考试题库及答案
- TCNPA - 景区玻璃栈道建设规范
- 股权估值协议书模板
- 顺丰快递合同
评论
0/150
提交评论