基于Proteus软件的单片机数字时钟系统设计与仿真_第1页
基于Proteus软件的单片机数字时钟系统设计与仿真_第2页
基于Proteus软件的单片机数字时钟系统设计与仿真_第3页
基于Proteus软件的单片机数字时钟系统设计与仿真_第4页
基于Proteus软件的单片机数字时钟系统设计与仿真_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

教学单位:电子电气工程系教学单位:电子电气工程系学生学号:编号:本科毕业设计题目:基于Proteus软件的单片机数字时钟系统设计与仿真课题性质:实践应用型学生姓名:***专业名称:自动化指导教师:***2011年5月20日目录一、设计正文………(1)二、附录1.设计任务书………(32)2.设计中期检查报告………………(34)3.指导教师指导记录表……………(35)4.设计结题报告……………………(36)5.成绩评定及答辩评议表…………(37)6.设计答辩过程记录………………(40)基于Proteus软件的单片机数字时钟系统设计与仿真摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。关键词:单片机、时钟芯片、数码管显示驱动芯片、Proteus、电子钟DesignandSimulationOfelectronicclockBasedonProteusSoftwareSystemAbstract:Inrecentyears,withcomputersintheinfiltrationandthedevelopmentoflarge-scaleintegratedcircuits.SCMapplicationissteadilydeepening,asithasstrongfunction,smallsize,lowpowerdissipation,lowprices,reliable,easytousefeatures,itisparticularlysuitedtoandcontrolofthesystem,increasinglywidelyusedinvariousfields.Thisarticledescribesanelectronicbellsystemissingle-chipmicrocomputer(AT89C51)asthecore,theclockchipDS1302,LEDdisplaydriverchipcomponents,suchasMAX7219component.DescribestheapplicationofProteus'sISISsoftwareoftheelectronicsingle-chipsystemclocktoachievethedesignandsimulationmethodsindetails.Themethodcannotonlytestthepropertyofthesystemprecisely,butalsoimprovedevelopmentefficiencyandreducedevelopmentcost,whichvaluesinpopularity.Keywords:AT89C51、DS1302、MAX7219、Proteus、electronicsclock目录1绪论 -1-引言 -1-1.2Proteus软件简介 -1-2系统设计 -3-电子钟系统硬件组成 -3-2.2AT89C51单片机简介 -4-2.2.1.主要特性 -5-2.2.2.管脚说明 -5-2.3实时时钟电路DS1302工作原理 -8-DS1302的结构及工作原理 -8-2.3.3DS1302的寄存器 -9-2.4MAX7219工作原理简介 -10-2.4.1.引脚分配及功能 -11-2.4.2.寄存器介绍 -12-2.5数码管介绍 -14-数码管的分类 -14-2.5.2数码管的应用 -15-2.5.6数码管使用的电流与电压 -15-2.6电子时钟系统设计流程 -16-3硬件电路设计 -17-3.1电路原理图设计 -17-3.2Proteus电路图设计 -18-4软件设计 -19-4.1程序流程图设计 -19-4.2源程序设计 -19-4.3KeilC51进行程序调试 -25-5.系统调试与仿真 -27-5.1Proteus中Hex文件选择 -27-5.2Proteus进行电子钟系统仿真 -28-结束语 -29-参考文献 -30-谢辞 -31-1绪论1.1引言随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。来自英国LabcenterElectronics公司的Proteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。它包括PROTEUSVSM(VirtualSystemModelling)、PROTEUSPCBDESIGN两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。1.2Proteus软件简介PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择KeilC51uVision2软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus为我们建立了完备的电子设计开发环境。2系统设计电子钟系统硬件主要由AT89C51单片机、时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时。MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片。图1电子钟系统硬件电路组成框图2.2AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2AT89C51单片机2.2.1.主要特性与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路.管脚说明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编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表1.1P3口作为AT89C51的一些特殊功能口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)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。实时时钟电路DS1302工作原理DS1302的结构及工作原理DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。2.引脚功能及结构

图3DS1302芯片图示表出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK始终是输入端。2.3.3DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。MAX7219工作原理简介MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。图4DS1302芯片MAX7219的外部引脚分配2.4.1.引脚分配及功能

图5MAX7219的内部引脚分配各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流SEGA~SEGGDP 7段驱动和小数点驱动ISET: 通过一个10k电阻和Vcc相连,设置段电流2.4.2.寄存器介绍

MAX7219内部的寄存器如图所示,主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。编程时只有正确操作这些寄存器,MAX7219才可工作。图6MAX7219内部的相关寄存器分别介绍如下:译码控制寄存器(X9H)如图所示,MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。图7MAX7219的译码控制寄存器扫描界限寄存器(XBH)如图所示,此寄存器用于设置显示的LED的个数(1~8),比如当设置为0xX4时,LED0~5显示。图8MAX7219的扫描界限控制寄存器亮度控制寄存器(XAH)共有16级可选择,用于设置LED的显示亮度,从0xX0~0xXF关断模式寄存器(XCH)共有两种模式选择,一是关断状态,(最低位D0=0)一是正常工作状态(D0=1)。2.5数码管介绍数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。(1)数码管驱动方式的分类数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(2)静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。(3)动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.5.2数码管的应用数码管是一类显示屏通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字。可以显示、时间、日期、温度等所有可以用数字代替的参数。由于它的价格便宜使用简单,所以在电器特别是家电领域应用极为广泛,如:空调、热水器、冰箱等等。绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏。数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:当选择红色时,使用1.9V;当选择绿色时,使用2.1V。2.6电子时钟系统设计流程图9基于Proteus的单片机系统设计流程3硬件电路设计3.1电路原理图设计图10ProtelDXP设计的电子钟电路原理图主要元器件功能介绍:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时。具有调时功能。时钟操作可通过AM\PM指示决定采用24或12小时格式。MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片。采用三线制串行接口技术进行数据传送,可直接与单片机连接,用户能方便地修改内部参数实现多位LED数码管显示。内含有硬件动态扫描显示控制,每块芯片可驱动8个LED数码管。3.2Proteus电路图设计运行Proteus的ISIS后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component.按钮,接着再点击窗口左侧的元器件选择区的PickDivices.按钮,弹出的PickDevices窗口,再在Categ栏里点击MicroprocessorICs项后,在Results栏里会出现各种类型的CPU器件,找到AT89C51后双击,AT89C51就被添加到当前窗口左侧的元器件列表区了。用同样的方法依次把DS130、MAX7219、数码管、晶振以及多个电阻、电容也添加到器件列表区里。然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元件,并编辑其属性,合理布局后,进行连线。连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针rICs就会出现一个“×”提示符号,点击鼠标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导线,所有导线画完后,点击工具栏的Inter-sheeTerminal.按钮,添加上电源和接地符号,原理图的绘制就完成了。图11Proteus中设计的电子时钟系统原理图4软件设计4.1程序流程图设计图12系统程序流程图4.2源程序设计以下为源程序:#include"AT89X51.H"#include"delay.h"#include"max7219.c"#include"music.c"#defineucharunsignedchar#defineuintunsignedintidatasbitADD=P1^1;sbitSUB=P1^0;sbitACC0=ACC^0;sbitACC7=ACC^7;voidshowDay(void);//显示时间voidshowData(void);//显示日期voidshowDishi(void);//显示定时voidint_0(void);//中断0voidint_1(void);//中断1voidflash_max7219(unsignedcharn);//闪一个位max7219/*********************************************************************//*实时时钟模块时钟芯片型号:DS1302*//*//*********************************************************************/sbitT_CLK=P2^3;/*实时时钟时钟线引脚*/sbitT_IO=P2^4;/*实时时钟数据线引脚*/sbitT_RST=P2^5;/*实时时钟复位线引脚*//********************************************************************/voidv_RTInputByte(ucharucDa);//往DS1302写入1Byte数据ucharuc_RTOutputByte(void);//从DS1302读取1Byte数据voidv_W1302(ucharucAddr,ucharucDa);//往DS1302写入数据ucharuc_R1302(ucharucAddr);//读取DS1302某地址的数据//voidv_BurstW1302T(uchar*pSecDa);//往DS1302写入时钟数据(多字节方式)//voidv_BurstR1302T(uchar*pSecDa);//读取DS1302时钟数据//voidv_BurstW1302R(uchar*pReDa);//往DS1302寄存器数写入数据(多字节方式)//voidv_BurstR1302R(uchar*pReDa);//读取DS1302寄存器数据voidv_Set1302(uchar*pSecDa);//设置初始时间,,输入:pSecDa:初始时间地址。初始时间格式为:秒分时日月星期年voidv_Get1302(ucharucCurtime[]);//读取DS1302当前时间ucharshowTime[8]={0,0,10,0,0,10,0,0};//显示的时间**********************************************全局变量ucharsetTime[2]={0,0};//定时的设定uchartime[7]={0,0x59,0x19,0x24,0x7,0x01,0x08};//秒分时日月星期年ucharTmod=7;//此时的调节模式voidmain(){ delay_ms(200); //sound(); initMAX7219();//初始化max7219 cls();//清屏max7219 //v_Get1302(&time); //v_Set1302(&time); EX0=1; EX1=1; IT1=1;//下降沿触发 IT0=1; EA=1;//开中断 v_Get1302(&time); showDay(); //int_1(); //int_0(); while(1) { v_Get1302(&time); showDay(); if((setTime[0]==time[2])&&(setTime[1]==time[1]))sound(); }}//************************************************显示时间voidshowDay(void){ //将数据转化为显示格式 showTime[7]=time[0]&0x0f;//个位 showTime[6]=time[0]>>4;//十位 showTime[4]=time[1]&0x0f; showTime[3]=time[1]>>4; showTime[1]=time[2]&0x0f; showTime[0]=time[2]>>4; showTime[2]=showTime[5]=10; disp_88(&showTime); }//*************************************************显示日期voidshowData(void){ showTime[7]=time[3]&0x0f; showTime[6]=time[3]>>4; showTime[4]=time[4]&0x0f; showTime[3]=time[4]>>4; showTime[1]=time[6]&0x0f; showTime[0]=time[6]>>4; showTime[2]=showTime[5]=10; disp_88(&showTime);}//*************************************************显示定时voidshowDishi(void){ showTime[1]=setTime[0]&0x0f; showTime[0]=setTime[0]>>4; showTime[4]=setTime[1]&0x0f; showTime[3]=setTime[1]>>4; showTime[6]=12; showTime[7]=13; showTime[2]=showTime[5]=10; disp_88(&showTime);}4.3KeilC51进行程序调试把编写完的源程序放在KEIL软件中,先自行检查下程序是否有误,更改有误的部分,再创建工程进行程序一个一个地调试,把调试结果显示有误的部分找出,检查错误的原因然后再进行更改,更改后再进行调试,再找出错误进行更改,依次循环进行,至到程序调试成功为止。图13电子时钟程序编辑编译图14电子时钟程序链接5.系统调试与仿真5.1Proteus中Hex文件选择系统仿真分析电路原理图在ISIS里设计完成,并将系统软件编译成.Hex文件,再进行电子时钟的系统虚拟仿真。(1)在ISIS的原理图中,右键单击AT89C51将其选中,然后单击左键打开AT89C51的EditComponent对话框,如下图所示。图15EditComponent对话框(2)选择相应的.Hex文件,再在ProteusISIS编辑窗口的File菜单中选择SaveDesign选项,保存设计,生成.DSN文件。5.2Proteus进行电子钟系统仿真在ProteusISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如下图所示。实现功能:当进入调整功能时,按第一个键K1进行减运算,按第二个键K2进行加运算。按下第三个键K3,实现日期\时间调整及\定时功能,等数字闪烁后,按一二键进行加减,从而可以进行具体日期时间调整。当定时设定后,到预定时间后,系统通过C51音乐程序演唱歌曲-八月桂花。按下第四个键K4,可以进行时间\日期切换,8位LED数码管将显示时间或日期,采用24小时制。时间显示格式为:时-分-秒;日期显示格式为:日-月-年。具有实时显示当前计算机系统时间和日期的功能。图16Proteus系统仿真结果结束语本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。具体介绍应用ProtelDXP进行电路原理图设计,KeilC51软件调试程序以及Proteus的ISIS软件进行单片机系统的电子钟设计与仿真,实现了硬件软化的目的。参考文献[1]代启化.基于Proteus的电路设计与仿真[J].现代电子技术.2006,第19期.[2]曹洪奎;马莹莹基于Proteus单片机系统设计与仿真[J].辽宁工学院学报07年04期[3]侯玉宝基于Proteus的51系列单片机设计与仿真[M]电子工业出版社,2008.270~288[4]蔡希彪,曹洪奎;单片机电子时钟系统的设计与仿真[J];中国科技信息;2007年04期[5]方怡冰.单片机课程的教学与实验改革[J].电气电子教学学报.2006,第3期.[6]刘文秀.单片机应用系统仿真的研究[J].现代电子技术.2005,第286期[7]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2003.225~256.[8]李光飞.单片机设计实例指导[M].北京:北京航空航天大学出版社,2004.5,96~100.[9]胡汉才单片机原理及其接口技术[M].北京:清华大学出版社,1996.89~110.[10]杨立民.单片机技术及应用[M].西安:西安电子科技大学出版社.谢辞时光如梭,转眼四年的求学之路已临近尾声,心中感慨万千,在此之际我要向这四年来在生活和学习等诸多方面给予我无私帮助、关心的老师、同学和亲人们表示我崇高的敬意和诚挚的感激之情。在本文结束之际,我要感谢***老师。她在论文选题、结构、内容等方面提供了很多宝贵的意见,并在百忙之中对论文进行了多次审阅、修改,没有她的帮助与监督,论文不可能如期顺利完成,在四年的学习期间,*老师对我的学习和工作做了悉心指导和耐心帮助,她开朗的作风和平易近人的态度为我今后的工作、生活树立了学习的榜样。最后特别感谢我的父母,衷心感谢他们对我无微不至的关心和为我学习和生活做出的无私奉献。祝福所有给我帮助的人:万事如意!宝鸡文理学院本科毕业论文(设计)任务书课题条件:1.在这几年的自动化专业学习中,通过了系统的专业学习、实践,知识构造完整,完全有能力对该领域进行研究。2.学校图书馆和院资料室丰富的藏书和期刊资料为本课题的研究提供了坚实的基础;学校购买的电子期刊上的大量学术论文文献是本课题完成的保证。3.在得到李雅丽老师的亲切指导和支持后,经过前期对一些有助于课题研究的资料的大量搜集,并且结合自己的知识和兴趣,在条件相对成熟的前提下决定来开发此设计。毕业论文(设计)主要内容:1、Proteus软件在单片机应用研发中有着非常重要的作用,可节约开发时间和成本,提高开发效率,而且有很大的灵活性和可扩展性。2、在熟悉软件应用的基础上,以数字时钟系统开发设计为例,参阅相关资料确定系统功能及设计方案;并对系统进行硬件和软件设计。3、在Proteus软件中对系统进行调试、仿真。注:课题性质分为①理论型②实践应用型。下同。主要参考文献:[1]代启化.基于Proteus的电路设计与仿真[J].现代电子技术.2006,第19期.[2]曹洪奎;马莹莹基于Proteus单片机系统设计与仿真[J].辽宁工学院学报07年04期[3]侯玉宝基于Proteus的51系列单片机设计与仿真[M]电子工业出版社,2008.270~288[4]蔡希彪,曹洪奎;单片机电子时钟系统的设计与仿真[J];中国科技信息;2007年04期[5]方怡冰.单片机课程的教学与实验改革[J].电气电子教学学报.2006,第3期.[6]刘文秀.单片机应用系统仿真的研究[J].现代电子技术.2005,第286期[7]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2003.225~256.[8]李光飞.单片机设计实例指导[M].北京:北京航空航天大学出版社,2004.5,96~100.[9]胡汉才单片机原理及其接口技术

温馨提示

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

评论

0/150

提交评论