895191553基于单片机的电子万年历毕业设计论文_第1页
895191553基于单片机的电子万年历毕业设计论文_第2页
895191553基于单片机的电子万年历毕业设计论文_第3页
895191553基于单片机的电子万年历毕业设计论文_第4页
895191553基于单片机的电子万年历毕业设计论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计论文论文题目:电子万年历目 录 摘要 .3绪论 .5第1章 设计要求与方案论证.71.1 引言.71.2 功能要求.71.3方案论证.7第2章 系统硬件电路设计 .112.1 电路设计.112.2 系统硬件概述.152.3主要单元电路的设计.15第3章 系统的软件设计.223.1程序设计.223.2程序设计流程图.22第4章 结束语.24参考文献.26附录一(电路原理图) . 附录二(程序清单).27摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时

2、间、日期、星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。该电子万年历主要采用at89c51单片机作为主控核心,由ds1302时钟芯片提供时钟、led动态扫描显示屏显示。at89c51单片机是由atmel公司推出的,功耗小,电压可选用46v电压供电;ds1302时钟芯片是美国dallas公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且ds1302的使用寿命长,误差小;数字显示是采用的led液晶显示屏来显示,可以同时显示年、月、日、星期、时、

3、分、秒和温度等信息。此外,该电子万年历还具有时间校准等功能。关键词:时钟电路; 时钟芯片ds1302;led动态扫描; 单片机at89c51;max7219;abstractwith the society, science and technology, mankind learned that time, from the view of the sun, to the present electronic clock pendulum clock, continuous research and innovation. observation time in the same time,

4、 be able to understand other human beings is closely related to information, such as temperature, week, date and so on, the birth of the electronic calendar, and it set the time, date, week and temperature-in-one, with easy to read, intuitive display functional diversity, and many other advantages o

5、f simple circuit with the electronic instrumentation of the development trend of the. market prospects are broad the main use of the electronic calendar at89c51 single-chip microcomputer as the main core, provided by the ds1302 clock chip clock, ds18b20 the temperature chip acquisition transition te

6、mperature, led display shows the dynamic scan. at89c51 single-chip microcomputer is introduced by atmel corporation, a small power consumption, voltage can be selected 4 6v power supply voltage; ds1302 clock chip is introduced dallas fine with trickle charge function of current low-power real-time c

7、lock chip, which can of the year, month, day, week, hour, minute, second for time, also has multiple functions, such as a leap year compensation, and long life of the ds1302, a small error; ds18b20 temperature chip is a digital temperature sensor with a measurement accuracy high, a simple circuit to

8、 connect the characteristics of such sensors only need a data cable for data transmission; digital led display is used to display lcd screen, can display year, month, day, week, hour, minute, second and temperature, etc. information. in addition, the electronic calendar is also a time-calibration fu

9、nctions. keywords: clock circuit; clock chip ds1302; led dynamic scanning; single-chipat89c51;max7219绪论 随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的

10、走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。本设计为软件,硬件相结

11、合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用mcu的方案,利用at89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制led数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。at89c51是由atmel公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用flash存贮器技术,降低了制造成本,其软件、硬件与mcs-51完全兼容,可以很快被中国广大用户接受。 本文介绍了基于at

12、89c51单片机设计的电子万年历。首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优势以及课题的开发意义;接着介绍了at89c51单片机的硬件结构和本毕业设计所要外扩的led显示及其驱动方法,并在此基础上实现了万年历基本电路的设计;然后使用单片机汇编语言进行万年历程序的设计,程序采用模块化结构,使得逻辑关系简单明了,维护方便。 第1章 设计要求与方案论证1.1 引言随着电子技术的发展,人类不断研究,不断创新纪录。万年历目前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为

13、时间显示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。 本文提出了一种基于at89c51单片机的万年历设计方案,本方案以at89c51单片机作为主控核心,与时钟芯片ds1302、按键、led显示等模块组成硬件系统。在硬件系统中设有独立按键和led显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2功能要求本电子万年历能动态显示年、月、日、星期、小时、分钟、秒1.3方案论

14、证1.3.1 技术可行性 随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将cpu和外围芯片,如程序存储器、数据存储器、并行i/o口、串行i/o口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(single-chip microcomputer)。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如a/d、d/a转换器、调制解调器、通信控制器、锁相环、dma、浮点运算单元、pwm控制输出单元、pwm输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统

15、、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关: 1、单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。 3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。4、有优异的性能、价

16、格比。1.3.2 单片机的选择方案一:采用传统的at89c51作为电机的控制核心。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。方案二:采用ftc10f04单片机,还带有非易失性flash程序存储器。它是一种高性能、低功耗的8位cmos微处理芯片,市场应用最多。其主要特点如下:8kb flash rom,可以擦除1000次以上,数据保存10年。由于本系统对cpu运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,适合做设计,方案二运算速度高,性能好,所以两种方案都有可取之处。选用

17、方案一作为主方案,方案二作为备用方案。1.3.3 显示模块的选择 方案一:使用液晶显示屏显示时间数字。 液晶显示屏(lcd)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用传统的led数码管显示。 数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重

18、轻,精确可靠,操作简单。数码管采用bcd编码显示数字,程序编译容易,资源占用较少。 根据以上的论述,采用方案二。在本系统中,我们采用了八段四位一体数码管串口的动态显示,由于显示位数较多,故应使用显示驱动,在本设计中采用max7219显示驱动芯片。1.3.4 键盘模块的选择在对日期和时间进行切换,对日期和时间进行调节校准过程中,系统需要产生激励电流,因此需要用按键。 方案一:使用独立式键盘。独立式键盘是指直接用i/o口线构成的单个按键电路。独立式按键电路配置灵活,软件结构简单。 方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其

19、特点是简单且不增加成本,这种键盘适合按键数量较多的场合。 根据以上的论述,因本系统需要的按键不多,星期加1键,日期加1键,月数加1键,年数加1键,秒数加1键,分数加1键,时数加1键,时间/日期切换键,要求简单。所以采用方案一独立式键盘。1.3.5总体方案论证与选择按照系统设计功能的要求,初步确定系统由主控模块、时控模块、显示驱动及显示模块和键盘接口模块共4个模块组成,电路系统构成框图如图所示。 主控芯片使用51系列at89c51单片机,时钟芯片使用美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟ds1302。采用ds1302作为计时芯片,可以做到计时准确。更重要的是,ds130

20、2可以在很小电流的后备电源(2.55.5v电源,再2.5v时耗电小于300na),而且ds1302可以编程选择多种充电电流来队后备电源进图图1.1电子万年历电路系统构成框图行慢速充电,可以保证后备电源基本不耗电。显示驱动采用max7219,max7219 是微处理器和共阴极八段八位led 数码管显示、图条/柱图显示或64 点阵显示接口的小型串行输入/输出芯片。片内包括bcd 译码器、多路扫描控制器、字和位驱动器和8×8 静态ram。外部只需要一个电阻设置所有led 显示器字段电流。max7219 和微处理器只需三根导线连接,每位显示数字有一个地址由微处理器写入。允许使用者选择每位是b

21、cd 译码或不译码。使用者还可选择停机模式、数字亮度控制、从18 选择扫描位数和对所有led 显示器的测试模式。显示模块采用普通的共阴极四位一体八段led数码管。第2章 系统硬件电路的设计2.1电路设计图示为电子万年历电路设计原理图,系统由主控制器at89c51、时钟电路ds1302、显示驱动max7219电路,显示电路及键扫描电路组成。图2.1 电子万年历电路原理图2.2系统硬件概述2.2.1 主控制器at89c51atmel公司生产的at89c51单片机采用高性能的静态80c51设计,并采用先进工艺制造,还带有非易失性flash程序存储器。它是一种高性能、低功耗的8位cmos微处理芯片,市

22、场应用最多。其主要特点如下:8kb flash rom,可以擦除1000次以上,数据保存10年。 256字节内部ram; 电源控制模式; 时钟可停止和恢复; 空闲模式; 掉电模式; 6个中断源; 4个中断优先级; 4个8位i/o口; 全双工增强型tuar; 3个16位定时/计数器:t0、t1(标准80c51)和增加的t2(捕获和比较) 全静态工作方式:024mhz2.2.2时钟电路ds1302 ds1302的性能特性: 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较; 用于高速数据暂存的31*8位ram; 最少引脚的串行i/o; 2.55.5v电压工作范围; 2.5v时耗小于3

23、00na; 用于时钟或ram数据读/写的单字节或多字节(脉冲方式)数据传送方式; 简单的三线接口; 可选的慢速充电(至vcc1)的能力。ds1302在任何数据传送时必须先初始化,把rst脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在sclk的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传送过程中置rst脚为低电平,则会终止本次数据传送,并且i/o引脚变为高阻态。上电运行时,在vcc2.5v之前,rst脚必须保持低电平

24、。只有在sclk为低电平时,才能将rst置为高电平。ds1302的控制字如表所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到ds1302中。位6如果为0,则表示存取日历时钟数据;为1则表示存取ram数据。位51(a4a0)指示操作单元的地址。最低有效位(位0)如果为0,则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址寻址能力(地址/命令位15=逻辑1),可以把时钟/日历或ram寄存器规定为多字节(burst)方式。位6规定时钟或ram,而位0规定读或写。在时钟/日历寄存器中的地址931或ram寄存器中的地址31不能存

25、储数据。在多字节方式下,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写ram时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至ram。表2.1 ds1302控制字 ds1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为bcd码形式。其日历、时间寄存器及其控制字如上表所示,其中奇数为读操作,偶数为写操作。时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,ds1302停止振荡,进入低功耗的备份方式,通常在对ds1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。

26、 am-pm/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个10小时位(2023h)。 ds1302的晶振选用32768hz,电容推荐值为6pf。因为振荡频率较低,也可以不接电容,对计时精度影响不大。2.2.3 显示驱动max7219 max7219 和单片计算机连接有三条引线(din、clk、load),采用16 位数据串行移位接收方式 八位led 显示、图条/柱图显示或64 点阵显示 包括bcd 译码器、多路扫描控制器、字和位驱动器和8×8 静态ram 可选择停机模式、数字亮度控制、从18 选择扫描位数

27、和对所有led 显示器的测试模式 最多能驱动8 位led 显示器 内部ram 地址0108h 分别对应于dig0dig7。 扫描界限寄存器(地址0bh):该寄存器中d0d3 位数据设定值为07h,设定值表示显示器动态扫描个数位18。 停机寄存器(地址0ch):当d0=0 时,max721 处于停机状态;当d0=1 时,处于正常工作状态。 显示测试寄存器(地址0fh):当d0=0时,max7219 按设定模式正常工作;当d0=1 时,处于测试状态。在该状态下,不管max7219 处于什么模式,全部led 将按最大亮度显示。 亮度寄存器(地址0ah):亮度可以用硬件和软件两种方法调节亮度寄存器中的

28、d0d3位可以控制led 显示器的亮度。max7219 通过d11d84 位地址位译码,可寻址14 个内部寄存器,分别是8 个led 显示位寄存器,5 个控制寄存器和1 个空操作寄存器。led 显示寄存器由内部8 × 8 静态ram 构成,操作者可直接对位寄存器进行个别寻址, 以刷新和保持数据, 只要v 超过2 v(一般为 5v)。 控制寄存器包括: 译码模式, 显示亮度调节, 扫描限制(选择扫描位数),关断和显示测试寄存器。max7219 的驱动程序首先必须对5 个控制寄存器初始设置即初始化, 各控制寄存器设置含义如下:译码模式选择寄存器(地址 f9h);max7219 有两种译码

29、方式:b 译码方式和不译码方式。当选择不译码时, 8 个数据为分别一一对应7 个段和小数点位;b 译码方式是bcd 译码,直接送数据就可以显示。实际应用中可以按位设置选择b 译码或是不译码方式。扫描限制寄存器: 地址 fbh;用于设置显示的led 个数( 1 8 ) , 比如当设置为0xx4 时,led 05 显示。亮度调节寄存器: 地址 fah;共有16 级选择,用于led 显示亮度的强弱设置。关断模式寄存器:地址 fch;有两种模式选择:一种是关断状态模式(d0 0);一种是正常操作状态(d0 1),通常选择正常操作状态。显示测试寄存器:地址 ffh;有两种选择用于设置led 是测试状态还

30、是正常操作状态:当在测试状态时(d0 1)各位全应亮,一般选择正常操作状态(d0 0)。2.3主要单元电路的设计2.3.1显示电路显示部分采用普通的共阴数码管显示,采用动态扫描,以减少硬件电 表2.2 max7219引脚功能路。年月日时分秒星期共需要17位数码显示,考虑到一次扫描17位数码管显示时会出现闪烁情况,故采用动态扫描,可将数码管数量减少至9位,也就是两个四位一体八段led显示数码管和一个一位led数码管设计时数码管同时扫描,显示时采用串行口输出段码,用max7219驱动数码管。 图2.2 max7219主要引脚2.3.2键盘接口键盘在单片机系统中是一个很重要的部件。为了输入数据、查询

31、和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,pc机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与mcs51型单片机的接口。2.3.2.1按键开关去抖动问题按键开关在电路中的连接如图所示。按键未按下时,a点电位为高电平5v;按键按下时,a点电位为低电平。a点电位就用于向cpu传递按键

32、的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起a点电平不稳定,如图2-11b所示,键盘的抖动时间一般为510ms,抖动现象会引起cpu对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。图2.3 键操作和键抖动消除抖动的不良后果的方法有硬、软件两种。为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时510ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给510

33、ms的延时,待后延抖动消失后才转入该键处理程序。2.3.2.2查询式按键及其接口按照键盘与cpu的连接方式可以分为查询按键和矩阵式键盘。查询式按键是各按键相互独立,每个按键占用一根i/o口线,每根i/o口线上的按键工作状态不会影响其他i/o口线上按键的工作状态。查询式按键电路配置灵活,软件结构简单,但每个按键必须占用一根i/o口线,在按键数量较多时,i/o口线浪费较大,且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。2.3.2.3矩阵式键盘及其接口矩阵式键盘又称行列式键盘,有n个行线和m个列线,经限流电阻接+5v电源上,按键跨接在行线和列线上,n×m行列结构可构成mn个按键,

34、组成一个键盘。与独立式按键相比,mn个按键只占用m+n根i/o口线,因此适用于按键较多的场合。当无键闭合时,相应的i/o之间开路。当有键闭合时,与闭合键相连接的两条i/o口线之间短路。判断有无键按下的方法是:第一步,置列线相关i/o口为输入态,从行线相对应的i/o口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关i/o口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。2.3.2.

35、4键盘扫描控制方式在单片机应用系统中,对键盘的处理工作仅是cpu工作内容的一部分,cpu还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用cpu太多时间,又需要cpu对键盘操作及时作出响应。cpu对键盘处理控制的工作方式有以下几种:1. 程序控制扫描方式程序控制扫描方式是在cpu工作空余,调用键盘扫描子程序,响应键输入信号要求。2. 定时控制扫描方式定时控制扫描方式是利用定时/计数器每隔一段时间和生定时中断,cpu响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。3. 中断控制扫描方式中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,cpu执行正常工

36、作程序。当有按键按下时,cpu立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高cpu运行效率,但要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时p1.4p1.7置输出0,p1.0p1.3置为输入态,p1.0p1.3分别接至与门各输入端。当有键闭合时=0,cpu中断后,在中断服务子程序中,再完成键识别和键功能处理。本设计提供了解2个按钮的小键盘,向p1口输出低电平,如果有键盘断按下什么键。在有键按下后,有一定的延时,防止键盘

37、抖动。 图2.4 工作于中断方式的矩阵式键盘接口电路2.3.3时钟电路2.3.3.1 ds1302工作方式简介及数据操作原理ds1302可以对年、月、日、星期、时、分、秒进行计时, 且具有闰年补偿功能, 工作电压宽达2.55.5v。采用三线接口与cpu进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个33x8的用于临时性存放数据的ram寄存器。ds1302是的ds1202升级产品, 与ds1202兼容, 但增加了主电源/后背电源双电源引脚, 同时提供了对后背电源进行涓细电流充电的能力。ds1302时钟芯片包括实时时钟/日历和31字节的静态ram。它经

38、过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24<小>时或带am/pm的12小时格式。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多字节的时钟信号或ram数据。ds1302有主电源/后备电源双电源引脚:vcc1在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份;vcc1在双电池系统中提供主电源。在这种运行方式中,vcc1里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。ds1302由vcc1或vcc2中较打大者供电。

39、当vcc2(vcc1+0.2v)时,vcc2给ds1302供电;当vcc2vcc1时,ds1302由vcc1供电。 图2.5 ds1302ds1302在任何数据传送时必须先初始化,把rst脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在sclk的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传送过程中置rst脚为低电平,则会终止本次数据传送,并且i/o引脚变为高阻态。上电运行时,在vcc2.5v之前,rst脚必须保持低电

40、平。只有在sclk为低电平时,才能将rst置为高电平。ds1302的控制字如图所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到ds1302中。位6如果为0,则表示存取日历时钟数据;为1则表示存取ram数据。位51(a4a0)指示操作单元的地址。最低有效位(位0)如果为0,则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址寻址能力(地址/命令位15=逻辑1),可以把时钟/日历或ram寄存器规定为多字节(burst)方式。位6规定时钟或ram,而位0规定读或写。在时钟/日历寄存器中的地址931或ram寄存器中的地址31不能

41、存储数据。在多字节方式下,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写ram时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至ram。ds1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为bcd码形式。其日历、时间寄存器及其控制字如下表所示,其中奇数为读操作,偶数为写操作。表2.3 ds1302控制字 时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,ds1302停止振荡,进入低功耗的备份方式,通常在对ds1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动

42、。 am-pm/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个10小时位(2023h)。 ds1302的晶振选用32768hz,电容推荐值为6pf。因为振荡频率较低,也可以不接电容,对计时精度影响不大。第3章 系统的软件设计3.1 程序设计电子万年历的程序主要包括3个方面的内容:一是ds1302从单片机中读取数据进行计数,二是利用按键进行时间的调整,三是max7219从单片机中读取数据驱动led数码管显示时间。at89c51单片机主要i/o口的分配,p2.0-p2.2分别接max7219的din,load,clk三个

43、功能端,p3接查询式按键,p1.0-p1.2分别接ds1302的clk,io,rst端。3.2 程序流程图3.2.1 显示驱动程序流程图 图3. 1 max7219显示驱动程序流程图3.2.2 时间控制流程图 图3.2 ds1302时控流程图第4章 结束语2010年3月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了一个多月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。3月初,在与毕业设计指导老师徐老师的交流讨

44、论中我的题目定了下来,是:电子万年历的设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导师细心的指导下,终于使我对自己的工作方向和方法有了掌握。在搜集资料的过程中,我认真准备了一个笔记本。我在学校图书馆,电子阅览室搜集资料,将这些宝贵的资料全部记在笔记本上,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。然后我将收集到的资料仔细整理分类,及时拿给导师进行沟通。4月初,资料已经查找完毕了,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉

45、,论文也慢慢成型。4月底,论文的文字叙述已经完成。5月开始进行相关图形的绘制工作和电路的设计工作。为了画出自己满意的电路图,流程图等。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过导师的指导,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案。方案中led显示屏驱动电路的设计是个比较头疼的问题,在反复推敲,对比的过程中,最终定下了驱动电路采用max7219驱动芯片。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。

46、在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用protel 99设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。我从资料的收集中,掌握了很多单片机及其接口应用的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,

47、我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成毕业论文。在此我要向徐老师师致以最衷心的感谢和深深的敬意。参考文献1 王新颖 单片机原理及应用.北京大学出版社20082 陈

48、忠平 单片机基础与最小系统实践.北京航空航天大学出版社3 窦振中 单片机外围器件实用手册存储器分册.北京航空航天大学出版社4 沈庆阳,郭庭吉 8051单片机实践与应用.清华大学出版社5 侯玉宝,李成群 基于proteus的51系列单片机设计与仿真 电子工业出版社6陈明荧 8051单片机课程设计实训教程m北京:清华大学出版社7郁慧娣微机系统及其接口技术m南京:东南大学出版社,1999年8何立民单片机高级教程m北京:北京航空航天大学出版社,2003年9王毓银数字电路逻辑设计m北京:高等教育出版社11李广弟. 单片机原理及应用m 北京航空航天大学出版社,2004年. 12 谢嘉奎电子线路m.高等教育

49、出版社,1999年.附录1(电路原理图)附图 电子万年历原理图 附录2(电子万年历程序)#include <reg5.h>#include "intrins.h"#define uint unsigned char#define uint unsigned intuchar xingqi,nian,yue,ri,xiaoshi,fen,miao;uchar nianh,nianl,yueh,yuel,rih,ril,xiaoshih,xiaoshil,fenh,fenl,miaoh,miaol;uchar dd=2;sbit clk=p10;sbit dat=p

50、11;sbit rst=p12;sbita0=acc0;sbita1=acc1;sbita2=acc2;sbita3=acc3; sbita4=acc4;sbita5=acc5; sbita6=acc6;sbita7=acc7;sbit p30=p30; sbit p31=p31; sbit p32=p32;sbit p33=p33; sbit p34=p34; sbit p35=p35; sbit p36=p36; sbit p37=p37;sbit date=p20;sbit load=p21;sbit clkk=p22;uchar bdata bitmsb;sbit m7=bitmsb7;uchar x,y,c;bit flag=0;bit flagh=1;uchar code tab=0xff, /任意数 0x06,/*1*/ /共阴数码管 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6

温馨提示

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

评论

0/150

提交评论