找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14010|回复: 5
收起左侧

数字时钟基于AT89C51和DS1302_LED—12864

[复制链接]
ID:111599 发表于 2016-3-31 15:26 | 显示全部楼层 |阅读模式
数字时钟基于AT89C51和DS1302_LED—12864

1.毕业设计(论文)题目:数字时钟制作
2.应完成的项目:设计一个数字温度计,要求如下:
1)设计一个能动态显示时分秒的数字时钟
2)可以调节小时和分钟
3)有闹钟功能,并且可以自行设定闹钟的时间
4)要有完整的设计思路,包括硬件电路设计、软件设计、源程序和仿真结果,或者实物演示。
3.参考资料以及说明:
[1] 李朝青. 单片机原理及接口技术(简明修订版). 杭州; 北京航空航天大学出版社,1998
[2] 李广弟. 单片机基础[M]. 北京; 北京航空航天大学出版社,1994
[3] 阎石. 数字电子技术基础(第三版). 北京; 高等教育出版社,1989
[4] 廖常初. 现场总线概述[J]. 电工技术,1999.
[5] 高卫东,辛友顺,韩彦征. 51单片机原理与实践[M]. 北京; 北京航空航天大学出版社,2008
4.本毕业设计(论文)任务书于2011117日发出,应于2011 127日前完成,然后提交毕业考试委员会进行答辩。
毕业设计(论文)评语:
应包括平时表现、论文质量、答辩表现等内容
毕业设计(论文)总评成绩:                         
              毕业设计(论文)答辩负责人签字:      
                                           年     月    日



摘要
本文介绍了一款基于AT89C51单片机数字时钟的设计,阐述了多功能数字时钟的设计思路,详细叙述了系统硬件、软件设计的具体过程。本设计用AT89C51作为主控器件,用DS1302作为时间的计数,用LED12864为显示器件。通过DS1302直接读取时间、日期,进行数据转换,该器件的物理化学性稳定,线性度较好,能自动计算年、月、日、时、分、秒、和星期,能自动计算闰年。该器件可直接向单片机传送数字信号,便于单片机控制和处理。而LCD12864是常用的液晶显示器件,其显示的分辨率为128*64,可以显示8*416*16点阵的汉字,也可以完成图形显示,低电压功耗是其又一个显著特点。在设计中还采用了单片机常用的汇编语言进行编写。在实际的仿真调试过程中,通过与实际时钟进行对比,查找误差的根源,确定调整误差的方法,尽量减少误差。使系统可以达到与实际时间一致的高精度准确性。
关键词:数字时钟,AT89C51DS1302LED12864
Abstract
Thispaper introduces a digital clock based on AT89C51 design, this paper expounds the multi-functiondigital clock design ideas, and this paper describes the system hardware andsoftware design of the specific process. This design is use AT89C51 for Master control device, useDS1302 for times count and use LED-12864 for shows.Through the DS1302 directly read time, date, carries on the data transfer, thisdevice of physical chemical stability, linearity is good, can automaticallycalculate date and time, minutes and seconds, and week, can automaticallycalculate a leap year. This device can be sent directly to the single chipmicrocomputer digital signal, facilitate single-chip microcomputer control andprocessing. And LCD-12864 is commonly used liquid crystal display device, itsthe resolution of the display for 128 * 64, can display 8 * 4 line 16 * 16 dotmatrix characters, also can be finished graphic display, low voltage powerconsumption is its and a notable features. In the design of the single chipcomputer is also used in the assembly languages used to write. In the actualsimulation debugging process, through comparing with actual clock, find thesource of the error, determine the arithmetic and try to minimize the error.The system can be achieved with the actual time consistent high precisionaccuracy.
Keyword: Digital clock, AT89C51, DS1302, LED-12864






第一章 诸论


1.1设计背景

随着“信息时代”的到来,我们的生活也趋向于数字化,信息化。“时间”是生活、工作都必不可少的信息。所以数字时钟是当今社会集信息化与数字化一身的设计。而作为今次设计主要的控制器件——单片机更是现代化的器件。单片机作为微型计算机的一个分支,产生于20世纪70年代,经过二三十年的发展,在各行各业中都已广泛应用。单片机体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。

美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机为核心,功耗小,能在3V的低压工作,电压可选用3V电压供电。

LCD12864是常用的液晶显示器件,其显示的分辨率为128*64,可以显示8*416*16点阵的汉字,也可以完成图形显示,低电压功耗是其又一个显著特点。

综上所述万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。


1.2 数字时钟设计方案论证


1.2.1 方案一

    可以利用单片机内部的定时器作为秒的计算,再用不同的地址单元记录时、分。再用LCD12864显示时间。这种设计误差较大,因为单片机的读取程序的时间会产生误差,其二程序编写也较为复杂。

1.2.2 方案二

采用数字芯片DS1302计算日期,输出信号全数字化。由数字计数芯片DS1302AT89C51单片机构成的数字时钟装置,它直接输出日历数字信号,也可直接与计算机连接。采用AT89C51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。再用低功耗的LCD12864液晶显示芯片进行显示。

从以上两种方案很容易看出,采用方案二,电路比较清晰简单,软件设计也比较简单,日期计算精确。所以我选择采用方案二。


1.3 方案二的总体设计框图


    数字时钟的电路设计总体方框图如图1-1所示,控制器用的是单片机AT89C51,时间计数器件采用DS1302,用液晶LCD12864显示:

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg

1-1 总体设计方框图











第二章 主要元器件介绍


2.1 AT89C51的性能介绍

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8CPU和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。


2.1.1  AT89C51的主要特性

MCS-51 兼容

●4K字节可编程闪烁存储器

  寿命:1000/擦循环

  数据保留时间:10

全静态工作:0Hz-24Hz

三级程序存储器锁定

●128*8位内部RAM

●32可编程I/O线

两个16位定时器/计数器

●5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路


2.1.2管脚说明

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写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口缓冲器可接收,输出4TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。当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只有在执行MOVXMOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

  /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

  /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

  XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

  XTAL2:来自反向振荡器的输出。

2.1.3振荡器特性

XTAL1XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。


2.2 DS1302概述


2.2.1 DS1302的基本情况

绍美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。给出DS1302在读写中的C51程序及流程图,以及在调试过程中的注意事项。

2.2.2 DS1302的结构及工作原理

  DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

2.2.3 引脚功能及结构

  DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302Vcc1Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2DS1302供电。当Vcc2小于Vcc1时,DS1302Vcc1供电。X1X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下图为DS1302的引脚功能图:

  


23 DS1302封装图

2.2.4 DS1302的控制字节

  DS1302 的控制字如图2所示。控制字节的最高有效位(7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;5至位1指示操作单元的地址;最低有效位(0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

  


2.2.5 数据输入输出(I/O)

  在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7

2.2.6DS1302的寄存器

  DS130212个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM31个字节,命令控制字为FEH()FFH()


2.2.7DS1302实时显示时间的软硬件

  


DS1302CPU的连接需要三条线,即SCLK(7)I/O(6)RST(5)。图3示出DS130289C2051的连接图,其中,时钟的显示用LCD

2.2.8 DS1302与CPU的连接

  实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。 LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有34线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2μA (典型值),省电模式时小于1μA,工作电压为2.4V3.3V,显示清晰。











第三章 硬件设计


系统整体硬件电路包括,按键模块,振荡电路,复位电路,DS1302与单片机接口电路和显示电路,下面分别是各个电路图。


3.1 单片机最小系统设计


3.1.1 按键模块

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg

图3-1按键模块连接

3.1.2 振荡电路和复位电路

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image013.jpg

图3-2 振荡电路


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpg

图3-3 复位电路


3.2 DS1302与单片机的接口电路


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg

3-4 DS18B20AT89C51的接口电路


3.3 显示电路


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image023.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.jpg

3-5 显示电路
























第四章 软件设计


按照系统设计要求,在硬件电路的基础上,进行软件设计,为增加程序可读性,可分为以下几个功能模块:

1、主程序。主程序流程图如图4-1所示。

2、DS1302复位子程序。复位子程序流程图如图4-2所示。

3、DS18B20读温度子程序。读温度子程序流程图如图4-3所示。

4、DS18B20数据处理子程序。数据处理子程序流程图如图4-4所示。


4.1 主程序流程图


主程序的主要功能是负责时间的实时显示、读出并处理DS1302的计数的当前时间值,每40ms读一次DS1302的时间。其程序流程见图4-1所示。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.jpg

图4-1 主程序流程图


4.2 各子程序流程图


4.2.1 DS1302实时时间流程

所有操作都必须初始化,这里设置了DS1302,和介绍了如何实时读取DS1302的时间数据。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image029.jpg

4-2 DS1302实时时间流程图

4.2.2 LCD12864流程图

LCD12864的驱动是初始化,清屏。然后打开左半屏,输入左半屏的内容。关掉左半屏,打开右半屏,输入右半屏的内容。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg

4-3 LCD12864流程图











第五章 仿真软件


5.1 PROTEUS仿真软件介绍

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051HC11PIC10/12/16/18/24/30/DsPIC33AVRARM8086MSP430等,2010年即将增加CortexDSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IARKeilMPLAB等多种编译器。


5.1.1功能特点

  Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:

  1.原理布图

  2PCB自动或人工布线

  3SPICE电路仿真

  革命性的特点

  1.互动的电路仿真

  用户甚至可以实时采用诸如RAMROM,键盘,马达,LEDLCDAD/DA,部分SPI器件,部分IIC器件。

  2.仿真处理器及其外围电路

  可以仿真51系列、AVRPICARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型

上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

5.1.2 Proteus ISIS的基本操作

1、选择元件:P按钮

  常用元件所在库及名称

  名称 所在库名 元件名

  51单片机 MicroprocessorAT89C51

  电阻Resistors

  排阻Resistors RESPACK

  电容Capacitors

  晶振Miscellaneous CRYSTAL

  继电器Switches&Relays G2R

  三级管Transistors

  7段数码管 Optoelectronics7SEG-COM-AN(共阳)

  7SEG-COM-CAT(共阴)

  LED 同上 LED-BLUE/GREEN

  两位、四位数码管 同上7SEG-MPX2/MPX4

2、选择要使用的元件

  在PickDevice窗口双击相应元件名称,即可将元件添加到主界面左侧的列表中

3、放置元件到绘图区

  单击列表中的元件,然后在右侧的绘图区单击,即可将元件放置到绘图区。(每单击一次鼠标就绘制一个元件,在绘图区空白处单击右键结束这种状态)

4、删除元件

  右击元件一次表示选中(被选中的元件呈红色),选中后再一次右击则是删除。

5、移动元件

  右击选中,然后用左键拖动。

6、旋转元件

  左下角旋转工具栏

7、元件连线

  在引脚上鼠标指针变成X状,单击,移动到目的引脚,再次单击。

8、删除连线

  同删除元件

9、绘制电源和地

  单击工具栏上的左起第8个工具(Inter-SheetTerminal),左侧工具栏显示TERMINALS,可在其中选择POWERGROUND,像放置元件一样放置到绘图区。

5.1.3功能模块

1)智能原理图设计(ISIS

  丰富的器件库:超过27000种元器件,可方便地创建新元件;

  智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;

  智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;

  支持总线结构:使用总线器件和总线布线使电路设计简明清晰;

  可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORDPOWERPOINT等多种文档使用。

2)完善的电路仿真功能(Prospice

  ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;

  超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;

  多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;

  丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;

  生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;

  高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;

3)独特的单片机协同仿真功能(VSM

  支持主流的CPU类型:如ARM78051/52AVRPIC10/12PIC16PIC18PIC24dsPIC33HC11BasicStamp8086MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEXDSP处理器;

  支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIMCOM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;

  实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;

  编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051AVRPIC的汇编编译器,也可以与第三方集成编译环境(如IARKeilHitech)结合,进行高级语言的源码级仿真和调试;

4)实用的PCB设计平台

  原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARESPCB设计环境,实现从概念到产品的完整设计;

  先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;

  完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览;

多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。


5.1.4资源丰富

  1Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

  2Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。

  3.除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。

  4Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。

5.1.4电路仿真

  在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

  PROTEUS是单片机课堂教学的先进助手。

  PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

  它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

  课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

  随着科技的发展,计算机仿真技术已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

  使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus有较高的推广利用价值。

  目前Proteus的最新版为7.9,今年将推出8.0版本,增加DSP系列及ARMcortex处理器。

















第六章 仿真调试与系统测试


6.1 仿真调试


6.1.1 绘制仿真原理图如6-1所示:

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.jpg

图6-1 仿真原理图

6.1.2 系统调试

双击单片机出现下图所示画面图,在Program File一栏中选取仿真项目的源程序代码,点击OK

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg

6-2 加载源程序示意效果图

6.1.3 开始仿真

1.现在时间

单击Play按钮,进入仿真状态,出现下图4.5所示

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image037.jpg

图6-3—1.1 仿真结果—现在时间(1)

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.jpg

图6-3—1.2 仿真结果—现在时间(2)

2.设定时间

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image041.jpg

图6-3—2.1 仿真结果—设定时间(1)

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image043.jpg

图6-3—2.2 仿真结果—设定时间(2)

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg

图6-3-2.3 仿真结果—设定时间(3)

3.闹钟设定

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image047.jpg

图6-3-3.1 仿真结果—闹钟设定(1)

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image049.jpg

图6-3-3.2 仿真结果—闹钟设定(2)


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image051.jpg

图6-3-3.3 仿真结果—闹钟设定(3)


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image053.jpg

图6-3-3.4 仿真结果—闹钟设定(4)


file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image055.jpg

图6-3-3.5 仿真结果—闹钟设定(5)
































结束语


经过将近几周的毕业设计,终于完成了我的数字时钟设计,从开始接到任务书到论文题目到设定方案的确定,再到今天完成论文文章,每走一步对于我来说都是新的尝试和新的挑战。这也是我在大学期间独立完成的一个大项目。在这段时间里,我查阅了许许多多的相关资料和书籍。从中我学到很多相关知识,每学到一个我都进行实践调试。让自己能深刻理解每一个关键点,从而为自己的设计完成垫下扎实的基础。通过这些资料让自己头脑逐渐清晰,使自己的设计逐步完善起来,每一次改进都使我收益颇丰。

虽然我的设计不是很成熟,还有很多不足的地方,但是我付出了自己的劳动,这是我引以自豪的地方,我相信只有经历过的人才会明白其中的酸甜苦辣。

这次设计经历让我终生收益,也为我自己增强了自信。没有学习就不可能有研究的能力,对自己的研究就不会有所突破,那也就不叫设计,希望这次经历让我以后的学习提供更多帮助。




参考文献


[1] 李朝青. 单片机原理及接口技术(简明修订版). 杭州; 北京航空航天大学出版社,1998

[2] 李广弟. 单片机基础[M]. 北京; 北京航空航天大学出版社,1994

[3] 阎石. 数字电子技术基础(第三版).北京; 高等教育出版社,1989

[4] 廖常初. 现场总线概述[J]. 电工技术,1999.

[5] 高卫东,辛友顺,韩彦征. 51单片机原理与实践[M]. 北京; 北京航空航天大学出版社,2008



























致 谢


非常感谢XXX老师、郑誉煌老师在我大学的最后学习阶段——毕业设计阶 段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,她 们给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,她们放弃了自己 的休息时间,她们的这种无私奉献的敬业精神令人钦佩,在此我向她们表示我诚 挚的谢意。 同时, 感谢所有任课老师和所有同学在这四年来给自己的指导和帮助, 是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他 们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有 的老师培养出越来越多的优秀人才,桃李满天下!
























附录1 元器件清单


    
物质名称
    
  
规格型号
  
  
  
数量(单位)
  

    
芯片
    
  
AT89C51
  
  
  
1
  

    
芯片
    
  
DS1302
  
  
  
1
  

    
液晶显示
    
  
LCD12864
  
  
  
1
  

    
        电解电容
    
  
22μF
  
  
  
2
  

    
瓷片电容
    
  
30pF
  
  
  
2
  

    
按键
    
  
常开
  
  
  
9
  

    
芯片
    
  
74LS21
  
  
  
1
  

    
排阻
    
  
470Ω9位)
  
  
  
1
  

    
电阻
    
  
8.2k
  
  
  
10
  

    
电阻
    
  
270
  
  
  
1
  

    
晶振
    
  
12MHz
  
  
  
1
  

    
滑阻
    
  
1K
  
  
  
1
  

    
蜂鸣器
    
  
Sounder
  
  
  
1
  

















附录2 核心代码

;**********************

DS1302读取时间

;**********************                        


GET1302:

MOV     R0,#SECOND     

MOV     R1,#81H        ;DS1302中读时间的首地址

MOV     R7,#7

GETLOOP:

CLR     T_RST

nop

CLR     T_CLK

nop

SETB    T_RST

nop

LCALL   INPUTBYTE       ;写命令字

LCALL   OUTPUTBYTE      ;读时间

MOV     @R0,A           ;将从DS1302中读取的时间从内存中保存

INC     R0             ;修改地址指针

INC     R1

INC     R1

SETB    T_CLK

nop

CLR     T_RST

nop

DJNZ    R7,GETLOOP

RET

;-------------------------------------------------------

;DS1302写一个字节

--------------------------------------------


NPUTBYTE:

        MOV    R4,#8

INPUTLOOP:

        

        MOV    A,B

        RRC    A

        MOV    B,A

        MOV    T_IO,C

        SETB    T_CLK

        NOP

        ;NOP

        ;NOP

        CLR    T_CLK

        DJNZ   R4,INPUTLOOP

        RET

;-------------------------------------------------------

;DS1302读一个字节

--------------------------------------------

OUTPUTBYTE:

        clr    a

        clr    c

        MOV    R4,#8

OUTPUTLOOP:

        

        NOP

        ;NOP

        MOV    C,T_IO

        RRC    A

        SETB   T_CLK

        NOP

        ;NOP

        ;NOP

        CLR    T_CLK

DJNZ   R4,OUTPUTLOOP

        RET


数字时钟基于AT89C51和DS1302_LED—12864.pdf

1.09 MB, 下载次数: 46, 下载积分: 黑币 -5

回复

使用道具 举报

ID:242298 发表于 2018-8-2 23:34 | 显示全部楼层
好东西,收下了。。。。。
回复

使用道具 举报

ID:320832 发表于 2018-9-13 16:21 | 显示全部楼层
不知道出了什么问题,打不开
回复

使用道具 举报

ID:420497 发表于 2018-11-15 20:12 | 显示全部楼层
谢谢了!
回复

使用道具 举报

ID:432768 发表于 2019-1-26 16:46 | 显示全部楼层
好东西,下来学习,多谢
回复

使用道具 举报

ID:482700 发表于 2019-3-25 13:50 | 显示全部楼层
楼主,有程序吗,想请教一下,而且我的LCD12864没有字库
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表