1、目录摘要21 引言32 设计方案与要求32.1 功能要求32。2 系统基本方案选择和论证32。2。1单片机芯片的选择和论证32.2。2显示模块的选择和论证42。2.3时钟芯片的选择和论证42.3 电路设计最终方案决定42.4 各硬件基本原理及介绍42。4.1AT89C51单片机原理及介绍42。4.2LED数码管显示原理及介绍52。4.3DS1302原理及介绍。.53 硬件设计部分63。1 电路设计框图63.2 系统硬件概述63。3 主要单元电路的设计63。3.1单片机主控制模块的设计63。3。2时钟电路DS1302的设计。73。3。3显示模块的设计93.3。4锁存器模块的设计.。104 软件设
2、计部分104.1 软件设计概述104。2 Keil C51和Proteus介绍114。2.1Keil C51的介绍.114。2。2Proteus的介绍。114。3 整体设计115 结束语14基于DS1302与数码管设计的电子表摘要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子产品等,这些都离不开单片机.单片机是将CPU、RAM、 ROM、定时器、计数器和多种接口于一体的微控制器.它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上
3、,而51系列单片机是各单片机中最为典型和最有代表性的一种。本文通过对一个基于DS1302与数码管的电子表的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、实时钟电路DS1302、显示电路组成,能实现时钟显示的功能,能进行时、分、秒的显示.关键词:单片机;DS1302;数码管;电子表第3页(共15页)1 引言随着微电子技术的高速发展,随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机
4、开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而电子表作为电子类小设计,是单片机实验中一个很常用的题目。因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力更加强了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。电子表已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的万年历逐渐受到人们的欢迎。采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特可靠。在软件设计过程中,应对硬
5、件部分有相关的了解,这样有助于对设计更深刻的了解,有助于软件设计.2 设计方案与要求2.1 功能要求本电子表的功能:能动态显示小时、分钟、秒2.2 系统基本方案选择和论证2.2.1 单片机芯片的选择和论证方案一:采用AT89S52芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用AT89C51,片内ROM全都采用Flash ROM
6、;能以3V的超底压工作;同时也与MCS51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89S52的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏.结论:采用AT89C51作为主控制系统。2.2.2 显示模块的选择和论证方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形。但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.方案二:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,
7、占用的单片机口线少。结论:采用LED数码管作为显示。2.2.3 时钟芯片的选择和论证方案一:直接采用单片机定时计数器提供脉冲信号,使用程序实现年、月、日、时、分、秒计数.采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、月、年进行计数,而且精度高。结论:采用DS1302作为时钟芯片。2.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用AT89C51作为主控制系统、 DS1302提供时钟、LED数码管动态扫描作为显示。2.4 各硬件基本原理及介绍2.4.1
8、AT89C51单片机原理及介绍单片机是一种集成电路芯片,是采用超大规模集成电路技术把CPU、随机存储器RAM、ROM、多种I/O接口和中断系统、定时器/计数器、A/D转换器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入.AT89C51引脚如图所示2.4.2 LED数码管显示原理及介绍LED显示是绝大多数单片机应用系统必备的部件之一,发光二极管组成的LED显示是单片机应用产品中
9、最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器.1位显示器由8个发光二极管组成,其中7个发光二极管ag控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗。引脚如图所示2.4.3 DS1302原理及介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗的电子表芯片,附加31字节静态RAM,采用SPI三线接口与CPU一进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。电子表可提供秒、分
10、、时,一个月小与31天时可以自动调整,且具有闰年补偿功能.工作电压宽达2。5V5。5V。采用双电源供电(主电源和备用电源)。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。引脚如图所示3 硬件设计部分主控制器AT89C513.1 电路设计框图显示电路LED数码管时钟电路DS13023.2 系统硬件概述本设计是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作。时钟电路由DS1302提供,采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。具有使用
11、寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本电路采用DS1302单字节传送方式实现与主控机之间数据的传送。显示部分由LED数码管动态扫描来显示.3.3 主要单元电路的设计3.3.1 单片机主控制模块的设计单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端为输入端 ,XTAL2接外部晶振和微调电容的另一端为输出端。第9引脚为复位输入端,接上电容,电阻及开关后构成复位电路。主控制系统1内部结构按功能分为8部分:CUP,程序存储器,数据存储器,时钟电路,串行口,并行I/O口,中断系统,定时/计数器.2。引脚定义及功能Vcc:接+5V 电源Vs
12、s:接地XTAL1和XTAL2:时钟引脚,外接晶体引线端。RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。I/O口引脚:P0.0P0.7:P0口8位双向I/O口;P1。0P1.7:P1口8位准双向I/O口;P2。0P2。7:P2口8位准双向I/O口;P3.0P3.7:P3口8位准双向I/O口。3.3.2 时钟电路DS1302的设计1. 引脚功能及结构 DS1302 的电路图如下,其中Vcc1 为后备电源,VCC2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由Vcc1 或Vcc2 两者中的较大者供电。X1 和X2 是振荡源,外接32。768kHz 晶振
13、。RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送.RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。只有在SCLK 为低电平时,才能将RST 置为高电平.I/O 为串行数据输入输出端(双向), SCLK 始终是输入端。DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚。DS1302电路图2.读写时序说明DS 1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据.DS1302的控制字如图:DS1302在每次进
14、行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1,最后才给予SCLK脉冲。 控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6:如果为0则表示存取时钟数据,为1表示存取RAM数据 位5至位1(A4A0):指示操作单元的地址位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作“CH是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作.控制字节总是从
15、最低位开始输入/输出的,在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS 1302数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位.数据读写时序如图:3.3.3 显示模块的设计LED数码管(LED Segment Displays)是由8个发光二极管构成。按照一定的图形及排列封转在一起的显示器件。其中7个LED构成7笔字形,1个LED构成小数点(固有时成为八段数码管)LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法,共阴极就是7段的显示字码共用一个电源的负极,是高电平点亮,
16、共阳极就是7段的显示字码共用一个电源的正极,是低电平点亮.只要控制其中各段LED的亮灭即可显示相应的数字、字母或符号。数码管驱动可分为静态和动态两种。静态驱动也称直流驱动,静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多.动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共端为位选端,位选端由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但由于位选端不同所以我们只要将需要显示的数码管的位选端打开,该位就显示出字形,没有打开的数码
17、管就不会亮。通过轮流控制各个LED数码管位选端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,人看到的是一组稳定的显示信息,不会有闪烁感,动态显示能够节省大量的I/O口,而且功耗更低.共阳极LED数码管的内部结构原理图 共阴极LED数码管的内部结构原理图3.3.4 锁存器模块的设计74HC573 是一种CMOS 器件,器件的输入是和标准 CMOS 输出兼容的,加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端LE为高时,这些器件的锁存对于数据是透明的。当锁存
18、使能变低时,符合建立时间和保持时间的数据会被锁存。4 软件设计部分4.1 软件设计概述单片机作为嵌入式系统的核心器件,其应用系统设计包括硬件电路设计和软件电路设计两个方面,学习和应用过程中必须软硬结合。单片机系统调试通常分为软件调试、硬件调试和整体调试三个部分。单片机自身不具备开发功能,必须借助于开发工具。目前,国内外推出了许多基于个人计算机的单片机软或硬开发平台。硬件开发平台方面诸如开发板、实验箱、仿真器、编程器、示波器等,但因其价格不低,开发过程繁琐。因此在软件支持的前提下,应用最普遍的是软件仿真开发平台。单片机应用系统软件仿真开发平台有两个常用的工具软件: Keil和Proteus主要用
19、于单片机源程序的编辑、编译、链接以及调试。4.2 Keil C51和Proteus介绍4.2.1 Keil C51的介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编辑器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起.4.2.2 Proteus的介绍Proteus是英国Labcenter公司开发的电路分析与实物仿真软件,可以仿真、分析各种模拟器件和集成电路,该软件的特点是:现了
20、单片机仿真和电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能,有各种虚拟仪器,如示波器、信号发生器等,提供软件调试功能.在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态。4.3 整体设计整体实现过程:由串行的时钟芯片DS1302将时钟信号送给单片机,单片机处理后输出。而74HC573将串行信号变成并行信号,每个74HC573对应LED八段码,二个74HC573对应二组LED数码管.单片机P0。7-P0.0和P2.7P2。0分别连接两个数码管组和74HC573锁存
21、器驱动数码管被点亮.其整个过程如下图:主要程序如下:include ”reg52。h”include 8LED.h”#include ”DS1302.hinclude TIMER。h#include ”DISPLAY.hinclude KEY。h”#include EX_INT.hstatic void SystemClockDeal(void);void main()TimerInit();EX_INT_Init();/DS1302_Initime(16,12,19,1,12,12,12);/年月日周时分秒SetPara。Ensure=false;SetPara。SetFlag=false;
22、while(1)SystemClockDeal(); / 系统进程节拍调度static void SystemClockDeal(void)switch(SystemClockStaus)case WAIT: break;case GET_TIME: if(SetPara.SetFlag=false)DS1302_ReadTime();TimeToDisbuf();/ 把时间按次序存到显示缓冲区LED8_Code_Match(DisText);/ 把需要显示的数组转换成数码管码表if(SetPara.Ensure=true)SetPara。Ensure=false;SetPara。SetFla
23、g=false;DS1302_Initime(16,12,19,1,SetPara.Hour,SetPara.Minute,0); /年月日周时分秒/ 此处不加break,因为当在GET_TIME状态下,也满足LED_SCAN状态。case LED_SCAN:LED8_Display();/ 数码管动态扫描SystemClockStaus=WAIT;break;default: break; 5 结束语2016年12月我开始了我的课程设计工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个设计过程难以用语言来表达。历经了一个月的奋战,紧张而又充实的毕业设计终
24、于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用Proteus设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;我从资料的收集中,掌握了很多单片机及其接口应用的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子
25、里,我仍然要不断地充实自己,争取在所学领域有所作为.毕业论文的写作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益.参 考 文 献1王静霞.单片机应用技术,电子工业出版社, 2009。2张毅刚,彭喜元,姜守达,乔立言.新编MCS51单片机应用设计哈尔滨工业大学出版社,20083马忠梅.单片机的C语言应用设计 北京航空航天大学出版社 20084张道德.单片机接口技术,中国水利水电出版社 20075石生。电路基本分析,高等教育出版社20086谭浩强。C语言程序设计(第2版),清华大学出版社.7刘国巍,周晓萍,周莉数字电子技术基础,国防科技大学出版社20098刘守义,单片机应用技术(第2版)西安电子科技大学出版社,20079先锋工作室单片机程序设计实例北京:清华大学出版社,200310李群芳,单片机微型计算机与接口技术(第2版)北京:电子工业出版第9页(共15页)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100