ImageVerifierCode 换一换
格式:DOC , 页数:32 ,大小:1.38MB ,
资源ID:567946      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-567946.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子万年历课程设计报告..doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

电子万年历课程设计报告..doc

1、赣南师院物理与电子信息学院课程设计报告书姓名: 张华宾 班级: 13电气工程及其自动化 学号: 130806058 时间: 2015.10.30 目录1设计任务和要求22方案论证22.1 方案比较22.1.1 方案一22.1.2 方案二32.2 方案选择33系统硬件设计33.1 主控电路的设计33.1.1 关于AT89C51单片机33.1.2 振荡器电路的设计63.1.3 复位电路的设计73.2 DS1302时钟电路93.3 LCD1602液晶显示的设计114 软件设计124.1 主控程序的设计124.2 DS1302时钟电路流程设计134.3 LCD显示电路和按键流程设计145 系统测试结果

2、及分析155.1测试方法155.2 测试结果及分析156 结束语与心得体会15参考文献16附录116附录230设计题目电子万年历的设计设计要求 基本要求:(1)具有显示年、月、日、星期、时、分、秒等功能;(2)万年历具有闰月识别显示功能;(3)具备年、月、日、星期、时、分、秒校准功能;设计过程 摘要: 本次课程设计以实现电子万年历,即在利用LCD电路进行显示年、月、日、星期、时、分、秒等功能。本设计要求利用AT89C51作为主控芯片完成主控电路的设计,辅助电路要求包括显示电路、时钟电路、按键电路等。本系统使用了专门的时钟芯片DS1302,读出其时间在LCD1602上显示,并能通过按键对其进行调

3、时和校准。关键字:AT89C51单片机、DS1302,LCD1602,电子万年历1.设计任务和要求(1) 应用AT89S52单片机设计单片机实现对DS1302的控制(2) . 选用LCD1602显示,实时显示年、月、日、星期、时、分、秒,采用按键式实现时钟对表和快慢调整;(3) 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;(4) 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;(5) 原理图设计部分,根据所确定的设计电路,利用Protel99se和Protue

4、s工具软件绘制电路原理图。2.方案论证2.1 方案比较2.1.1 方案一电子万年历的设计,硬件控制电路主要用了AT89C51芯片处理器、数码管显示器。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序等组成。原理框图如图2.1所示。 AT89C51单片机最小系统模块 按键模块数码管显示模块图2.1 方案1原理框图(1)控制按键:用于手动控制、手动调整、预置值的输入等(2)输出显示:数码管显示。2.1.2 方案二硬件控制电路主要用了AT89C51芯片处理器、LCD1602显示器、DS1302实时时钟。根据各自芯片的功能互相连接成电子万年历的控制

5、电路。软件控制程序主要有主控程序、电子万年历的时间控制程序等组成。原理图框图如图2.2所示。 AT89C51单片机最小系统模块 按键模块1602液晶显示模块DS1302模块 图2.2方案二原理框图本系统使用8052作为CPU,由CPU来控制时钟芯片DS1302,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V5.5V范围内。液晶显示方式显示功能强,效果直观。2.2 方案选择将方案一与方案二进行比较:LED数码管动态扫描。相对于液晶显示比较经济实惠,但液晶显示比数码管显示美观,LED数码管在操作上比较繁琐。液晶显示方

6、式显示功能强,效果直观。方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V5.5V范围内。综上所述,在价格、功能、操作的难易程度方面选择方案二。3.系统硬件设计公交车报站系统主要由四个部分组成,即主控电路、时钟电路、LCD液晶显示电路。各部分电路的设计在本章中做了详细的说明。3.1 主控电路的设计3.1

7、.1 关于AT89C51单片机AT89C51单片机的结构框图如图3.1所示。它主要由下面几个部分组成:1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口、2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。在AT89C单片机结构中,最显著的特点是内部含有Flash存储器,而在其他方面的结构,则和Inter公司的8051的结构没有太大的区别。CPU中断控制振荡器片内Flash存储器总线控制片内RAM4I/O端口ETC定时器1定时器0串行端口外部中断P0 P2 P1 P3

8、地址/数据TXD RXD计数器输入图3.1 AT89C51单片机的结构框图(1)主要性能与MCS-51 兼容;4K字节可编程闪烁存储器; 1000次写/擦循环;数据保留时间10年;全静态工作:0Hz-24Hz;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器; 6个中断源;可编程串行通道;片内振荡器和时钟电路另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统

9、都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一个硬件复位为止。(2)引脚功能说明AT89C51引脚图如图3.2所示。图3.2 AT89C51引脚图VCC:供电电压。VSS:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,

10、P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH

11、编程和校验时接收高八位地址信号和控制信号。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(外部数

12、据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微

13、处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.2 振荡器电路的设计89

14、系列单片机的内部振荡器电路如图3.3所示,由一个单级反相器组成。XTAL1为反相器的输入,XTAL2为反相器的输出。可以利用它内部的振荡器产生时钟,只要在XTAL1和XTAL2引脚上外接一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,如图3.5示,此方法称为内部方式。XTAL2XTAL1内部定时/PD400D1D2Q1RfQ2VCCQ3Q4图3.3 AT89C51单片机内部振荡器电路另一种使用方法如图3.4示,由外部时钟源提供一个时钟信号到XTAL1端输入,而XTAL2端浮空。在组成一个单片机应用系统时,多数采用图3.5所示的方法,这种方式的结构紧凑,成本低廉,可靠性高。振荡

15、器的等效电路如图3.5上部所示。在图中给出了外接元件,即外接晶体及电容C1,C2,并组成并联谐振电路。在电路中,对电容C1和C2的值要求不是很严格,如果用高质的晶振,则不管频率为多少,C1,C2通常都选择30pF。有时,在某些应用场合,为了降低成本,晶体振荡器可用陶瓷振荡器代替。如果使用陶瓷振荡器,则电容C1,C2的值取47pF。XTAL2XTAL1GNDNCCMOS门外部振荡信号图3.4 外部时钟接法 XTAL1XTAL289系列单片机GND内部定时VCC/PDRf石英晶体或陶瓷振荡器C1C2图3.5 片内振荡器等效电路通常,在单片机中对所使用的振荡晶体的参数要求:ESR(等效串联电阻):根

16、据所需频率按图366选取。C0(并联电容):最大7.0pF。CL(负载电容):30pF+3pF。其误差及温度变化的范围要按系统的要求来确定。6005004003002001000 4 8 12 16图3-6 ESR与频率的关系曲线在本设计中,采用的是内部方式,即如图3.5所示,在XTAL1和XTAL2引脚上外接一个12MHZ的晶振及两个30pF的电容组成。3.1.3 复位电路的设计89系列单片机与其他微处理器一样,在启动的时候都需要复位,使CPU及系统各部件处于确定的初始状态,并从初始状态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,

17、且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并将系统复位。复位时序如图3.7所示,因外部的复位信号是与内部时钟异步的,所以在每个机器周期的S5P2都对RST引脚上的状态采样。当在RST端采样到“1”信号且该信号维持19个振荡周期以后,将ALE和/PSEN接成高电平 ,使器件复位。在RST端电压变低后,经过1-2个机器周期后退出复位状态,重新启动时钟,并恢复ALE和/PSEN的状态。如果在系统复位期间将ALE和/PSEN引脚拉成低电平,则会引起芯片进入不定状态。| S5 | S6 | S1 | S2 | S3 | S4 | S5 | S6 |

18、 S1 | S2 | S3 | S4 | S5 | S6 | S1 | S2 | S3 |RST:INST ADDR INST ADDR INST ADDR INST ADDR INST ADDR INSTALE:/PSEN:P0:11振荡周期19振荡周期图3.7 内部复位定时时序(1) 手动复位手动复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直接加到RST端。由于人的动作很快也会使按钮保持接通达数十毫秒,所以,保证能满足复位的时间要求。手动复位的电路如图3.8所示。Vcc AT89C51RST

19、GND8.2k10uF+Vcc图3.8 手动复位电路(2) 上电复位AT89C51的上电复位电路如图3.9所示,只要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10

20、ms。在图3.8的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“1”态。如果系统在上电时得不到有效的复位,则在程序计数器PC中将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。VccAT89C51RST8.2k10uF+VccGND 图3.9 上电复位电路3.2 DS1302时钟电路DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并

21、可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行小电流充电的能力。DS1302的外部引脚分配如图3.3所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图3.10DS1302的外部引脚分配各引脚的功能为: Vcc1:主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供

22、电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; :输入信号,在读、写数据期间,必须为高。该引脚有两个功能:一、开始控制字访问移位寄存器的控制逻辑;二、提供结束单字节或多字节数据传输的方法。 (1)DS1302的工作原理 DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下

23、为8+8(8位地址+8位数据),在多字节方式下最多可达248的数据。 (2)DS1302的寄存器和控制命令 DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式,如表3.3所示。 表3.3 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81h80hCH10秒秒00-5983h82h10秒分00-5985h84h12/24010时时1-12/0-23AM/PM87h86h0010日日1-3189h88h00010月月1-128Bh8Ah00000周

24、日1-78Dh8Ch10年年00-998Fh8EhWP0000000DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 (3)与单片机接口电路原理图 电路原理图如图3.4所示,DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。图3.11 DS1302与单片机的连接电路原理

25、图3.3 LCD1602液晶显示的设计1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。管脚功能:第1脚:GND为电源地;第2脚:VCC接5V电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可

26、以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。特性3.3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器DDRAM内建有192个5X7点阵的字型的字符发生器CGROM8个可由用户自

27、定义的5X7的字符发生器CGRAM特征应用微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。电路原理图如图3.5所示,图3.12LCD1602与单片机的连接电路原理图4 软件设计4.1 主控程序的设计系统总体流程图如图4.1所示,系统流程图设计分析如下:首先,设备上电以后,程序开始运行。进入主函数后,开始对系统的一些初始化。当有设置键按下时进入时间修改模式,无按键按下时读取时间等数据送入显示器显示。在时间修改模式下设置时间完成后再将时间送入时钟芯片之后再送如显示器显示。图4.1 整体流程图4.2DS1302时钟电路流程设计 时钟流程图如图4.2所示,流程图分析:DS1

28、302开始计时时,首先进行初始化,当有中断信号时,读取时钟芯片的时间数据送入液晶显示。这时若有设置键按下,进行时间修改,完成后将时间数据送入1302芯片,若没有按键按下,直接送入EPROM中,送入液晶显示。 4.2 DS1302时钟电路程序流程图 图4.3 LCD显示程序流程图4.3LCD显示电路和按键流程设计显示流程图如图4.3,4.4所示,流程图分析如下:首先对1602显示屏进行初始化(初始化大约持续10ms),然后检查忙信号,若BF=0,则获得显示RAM地址,写入相应的数据显示。若BF=1,则代表模块正在进行内部操作,不接受任何外部指令和数据,直到BF=0为止。 从图4.4可知,调整年月

29、日星期的流程,主要是要注意年月日星期的范围大小。如果我们按下了调整键,当我们按下时间加一键时,相应的位置上时间将会加一,同样的当我们按下减一键时,相应位置上的时间也会减一。比如我们时间调整正好在星期的位置上,当我们按下S1键时,我们可以看到星期加一,当我们按下S2键的时候,我们可以看到星期减一。同样的,对于年月日也是同样的调整,当我们按下复位键时,所以的时间将复位。 整个系统的主要程序的流程如上述程序流程图所示,而程序的清单见附录1。 图4.4 时间调整流程二 5 系统测试结果及分析5.1测试方法 首先准备好一个5v的直流电源,为本系统加上电源。一上电,可以看到LCD1602液晶上会显示年,月,日,星期,时,分,秒。同时也可以看到时钟在走。这个时候我们按下时钟调整键,进行时钟的调整。5.2 测试结果及分析系统加上电源,我们可以看到了LCD602液晶上会显示年,月,日,星期,时,分,秒以。同时也可以看到时钟在走。这个时候我们按下时钟调整键,进行时钟的调整。测试后可以正确的调整时钟。6 结束语与心得体会本次设计中在最初的设计中,对于51 单片机进行了充分的了解。程序编写中,由于思路不清晰,开始时遇到了很多的问题,通过和老师及同学的讨论,以及对大量书籍资料和论坛中成功的品进行借鉴,明白了编程中的的主要算法和实现,从而解决问题。对于液晶屏幕,开始并不是

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2