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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

用LCD显示实时日历时钟单片机课程设计报告.docx

1、用LCD显示实时日历时钟单片机课程设计报告(用LCD显示实时日历时钟的应用设计)课程设计说明书一、设计内容及要求利用DS1302实现年月日时分秒,并用LCD显示。(用proteus实现)二、设计原始资料单片机原理及应用教程 范立南 2006年 1月单片机原理及应用教程 刘瑞新 2003年07月三、设计完成后提交的文件和图表1计算说明书部分1)方案论证报告打印版或手写版2)程序流程图3)具体程序 2图纸部分:具体电路原理图打印版四、进程安排教学内容 学时 地点资料查阅与学习讨论 1天 单片机实验室分散设计 5天 单片机实验室编写报告 3天 单片机实验室成果验收 1天 单片机实验室 五、主要参考资

2、料电子设计自动化技术基础马建国、孟宪元编 清华大学出版 2004年4月 实用电子系统设计基础 姜威 2008年1月 单片机系统的PROTEUS设计与仿真 张靖武 2007年4月 指导老师成绩答辩小组成绩总成绩八设计体会与今后的改进意见.23参考文献.23 摘要 本次课程设计是使用专门的时钟芯片DS1302在LCD上显示的日历时钟, DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。程序运行时,必须先对LM044L进

3、行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。同时,进行循环赋值,使LCD动态显示当前的时间。关键字:MCS-51单片机、DS1302,LM044L显示器,动态显示 Abstract: This course is designed to use special clock chip DS1302 is displayed on LCD and the calendar, clock DS1302 is a kind of high performance, low power consumption, take the RAM chips, which can

4、real-time clock diffculties, points, seconds for accurate timing, it and single-chip microcomputer interface USES synchronous serial communication, with only three line and the connected, can come true - 51 SCC of the MCS reading operation, to read the time data sent to LCD display on. When the prog

5、ram is running, you must first for the initial set of LCD, then, by microcontroller from getting times in DS1302 through LCD display. Meanwhile, cyclicly assignment, make LCD dynamic display the current time 一设计任务和要求 1. 利用DS1302实现年月日时分秒,并用LCD显示。2. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器

6、件的作用,分析和计算过程;3. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;4.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。5计算说明书部分包括方案论证报告打印版或手写版,程序流程图具体程序等6. 图纸部分包括具体电路原理图打印版7. 设计要求还包括利用一天时间进行资料查阅与学习讨论,利用5天时间在实验室进行分散设计,最后三天编写报告。最后一天进行成果验收。 二核心芯片功能介绍1.AT89C51AT89S513美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K Bytes

7、ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元。单片机AT89S51强大的功能可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51芯片的引脚结构如图1所示: 1.1 功能特性概括: 图1 AT89C51引脚图 AT89S51提供以下标准功能:40个引脚、4K Bytes Flash片内程序存储器、128 Bytes的随机存取数据存储器(RAM)、32个外部双向输

8、入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。此外,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行通信口、外中断系统可继续工作。掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。2DS1302DS13021是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以

9、对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。时钟可工作在24小时格式或12小时(AM/PM)格式。 DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。2.1 DS1302引脚功能DS1302的引脚功能如表3所示,管脚图如图2所示引脚号引脚名称功能1VCC2主电源2、3

10、X1、X2振荡源,外接32768Hz晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行时钟输入端8VCC1后备电源表3 DS1302引脚功能表 图2 DS1302管脚图 寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器 80H81H00-59CH10SECSEC 82H83H00-59010MINMIN时寄存器84H85H01-12或00-2312/24010HRHR日寄存器86H87H01-28,29,30,310010DATEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存

11、器8CH8DH00-9910YEARYEAR 表5 DS1302的日历、时钟寄存器及其控制字三系统方案实现数字电子钟的设计有以下两种基本方案,现就两种基本方案的优劣进行具体论证,从而说明选择方案二的理由。方案一:直接用单片机的内部定时器来实现时间。该方案以MCS-51单片机为主控芯片,以MCS-51的内部定时器产生的1s中断作为时钟的驱动,然后再通LCD液晶显示器来组成数字钟电路。但是此方案最大的缺点在于单片机89C51产生的1s中断存在误差,如果工作时间长的话,数字时钟显示的时间将会出现严重的偏差,不够精确。方案二:使用串行接口时钟芯片DS1302设计时钟电路。该设计方案以MCS-51单片机

12、为主控芯片,以串行时钟芯片DS1302为核心计时芯片,然后再通过一个LCD液晶显示器组成数字时钟电路。更重要的是,DS1302时钟芯片的加入大大提高了数字钟时间的准确性,而且该电路在断电后不丢失时间和数据信息时也使得该方案的研究与提升更具有开发的意义。四理论分析与计算 本次设计的电路由主控部分(单片机MCS-51)、计时部分(实时时钟芯片DS1302)、显示部分(LM044L)3个部分组成。各部分之间相互协作,构成一个统一的有机整体,实现数字时钟的计时功能。现就各部分的硬件电路设计作出如下分析:1. 主控部分(单片机MCS-51)MCS-51单片机作为主控芯片,控制整个电路的运行。通过分析我们

13、发现要想显示时间,必须先把DS1302中的时间信息通过单片机获取,存放到40H到46H等RAM单元。并且是实时存放,刷新时间。 2. 计时部分(实时时钟芯片DS1302)时钟芯片DS1302能够准确的记录当前的时间,所以,通过单片机向其写入命令来获取相应的时间,而且一个命令字节控制读一个时间。 3. 显示部分 LM044L能够显示简单的汉字及数字,功能十分强大,而且属于动态显示,所以将单片机中存的时间信息传送到LM044L中。另外还需要循环赋值。五电路与程序设计 1.电路设计 1.1分电路图及原理说明本次设计的硬件电路由主控部分(单片机MCS-51)、计时部分(实时时钟芯片DS1302)、显示

14、部分(LM044L)3个部分组成。各部分之间相互协作,构成一个统一的有机整体,实现数字时钟的计时功能。现就各部分的硬件电路设计作出如下论述.1.2 主控部分(单片机MCS-51)MCS-51单片机作为主控芯片,控制整个电路的运行。其外围电路主要有两部分:复位电路和晶体振荡器。复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅

15、速放电,一定宽度的电源毛刺也可令系统可靠复位。晶体振荡电路:MCS-51单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用30pF10pF。电路图如下:图5主控部分电路图1.3 计时部分(实时时钟芯片DS1302)

16、时钟芯片DS1302与外围电路的连接:与MCS-51单片机的接口是由3条线来完成的,MCS-51单片机的P1.0与时钟芯片的数据传输端I/O相连,P1.1用来作为DS1302输入时钟SCLK控制端,P1.2控制DS1302的复位输入端RST。DS1302的X1和X2管脚外接标DS1302的复位引脚通过把输入驱动置高电平来启动所有的数据传送。 输入有两种功能:首先,接通控制逻辑,允许地址命令序列送入移位寄存器;其次,提供了终止单字节或多字节数据的传送手段。当为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。

17、上电运行时,在Vcc2.5V之前,必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。图6 计时部分电路图 2Protues仿真图 图7 protues仿真图3.程序设计流程图 图8 写DS1302流程图 图9 读DS1302流程图单片机AT89S51对时钟芯片DS1302的控制需要通过程序驱动来实现,程序主要完成两个方面的任务:利用单片机实现对DS1302寄存器的地址定义和控制字的写入,实现对DS1302的数据读取。初始化DS1302要求为低电平,SCLK为低电平。 被设置为高电平就启动了一个数据传送的过程。SCLK的16个方波完成一次数据传送,前8个方波用于输入命令字节,后8

18、个方波用于数据的输出(读DS1302)或数据的输入(写DS1302)。在SCLK的上升沿,I/O线上的数据被送入DS1302;在SCLK的下降沿,DS1302输出数据在I/O线上。写和读各需要一个程序,写DS1302程序流程图如图8所示,读DS1302程序流程图如图9所示。总程序的流程图如图10所示。 够无穷次吗 图10 总程序的流程图4.具体程序如下 IO EQU P1.0 SCLK EQU P1.1 RST EQU P1.2 RW BIT P1.6 RS BIT P1.7 E BIT P1.5 ORG 0000H JMP MAIN ORG 0030HMAIN: CALL INIT ;对LC

19、D进行初始化 MOV A,#83H ;DDRAM的地址进行设置,选择从哪里开始显示 CALL WRC MOV A,#54H ;T的ASCII码 CALL WRD MOV A,#49H ;I的ASCII码 CALL WRD MOV A,#4DH ;M的ASCII码 CALL WRD MOV A,#45H ;E的ASCII码 CALL WRD MOV A,#3AH ;:的ASCII码 CALL WRD MOV A,#097H ;DDRAM的地址进行设置,选择从哪里开始显示 CALL WRC MOV A,#30H CALL WRD MOV A,#38H CALL WRD MOV A,#32H CAL

20、L WRD MOV A,#3AH CALL WRD MOV A,#4CH ;L的ASCII码 CALL WRD MOV A,#49H ;I的ASCII码 CALL WRD MOV A,#55H ;U的ASCII码 CALL WRD MOV A,#10H ; 的ASCII码 CALL WRD MOV A,#53H ;S的ASCII码 CALL WRD MOV A,#48H ;H的ASCII码 CALL WRD MOV A,#55H ;U的ASCII码 CALL WRD MOV A,#10H ; 的ASCII码 CALL WRD MOV A,#54H ;T的ASCII码 CALL WRD MOV

21、A,#4FH ;O的ASCII码 CALL WRD MOV A,#4EH ;N的ASCII码 CALL WRD MOV A,#47H ;G的ASCII码 CALL WRD MOV A,#0DBH ;DDRAM的地址进行设置,选择从哪里开始显示 CALL WRC MOV A,#5AH ;Z的ASCII码 CALL WRD MOV A,#48H ;H的ASCII码 CALL WRD MOV A,#41H ;A的ASCII码 CALL WRD MOV A,#4EH ;N的ASCII码 CALL WRD MOV A,#47H ;G的ASCII码 CALL WRD MOV A,#10H ; 的ASCII

22、码 CALL WRD MOV A,#10H ; 的ASCII码 CALL WRD MOV A,#10H ; 的ASCII码 CALL WRD MOV A,#43H ;C的ASCII码 CALL WRD MOV A,#48H ;H的ASCII码 CALL WRD MOV A,#41H ;A的ASCII码 CALL WRD MOV A,#4FH ;O的ASCII码 CALL WRD LOP5: MOV 30H,#8 ;以下为将DS1302的数据存到单片机的40H到46H中 MOV R0,#40H MOV R7,#7 MOV R6,#81HLOP: CLR P1.2 CLR P1.1 SETB P1

23、.2 MOV B,R6 ACALL WRITE ACALL READ MOV R0,A INC R0 INC R6 INC R6 DJNZ R7,LOP ;读出DS1302中的数据存到单片机中 MOV A,#88H ;取出42H中的数据(小时)并显示 CALL WRC MOV A,42H ;显示小时 ANL A,#0F0H SWAP A ADD A,#30H ACALL WRD MOV A,42H ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#8AH ;对DDRAM地址进行设置 CALL WRC MOV A,#3AH ;:的ASCII码 CALL WRD MOV

24、 A,41H ;显示分钟 ANL A,#0F0H SWAP A ADD A,#30H ACALL WRD MOV A,41H ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#8DH ;对DDRAM地址进行设置 CALL WRC MOV A,#3AH ;:的ASCII码 CALL WRD MOV A,40H ;显示秒 ANL A,#0F0H SWAP A ADD A,#30H ACALL WRD MOV A,40H ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#0D4H ;对DDRAM地址进行设置 CALL WRC MOV A,#58

25、H ;X的ASCII码 CALL WRD MOV A,#51H ;Q的ASCII码 CALL WRD DEC 45H MOV A,45H ;显示星期 ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#0C3H CALL WRC MOV A,#44H ;D的ASCII码 CALL WRD MOV A,#41H ;A的ASCII码 CALL WRD MOV A,#54H ;T的ASCII码 CALL WRD MOV A,#45H ;A的ASCII码 CALL WRD MOV A,#3AH ;:的ASCII码 CALL WRD MOV A,46H ;显示年 ANL A,#

26、0F0H SWAP A ADD A,#30H ACALL WRD MOV A,46H ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#0CAH ;对DDRAM地址进行设置 CALL WRC MOV A,#2DH ;-的ASCII码 CALL WRD MOV A,44H ;显示月 ANL A,#0F0H SWAP A ADD A,#30H ACALL WRD MOV A,44H ANL A,#0FH ADD A,#30H ACALL WRD MOV A,#0CDH ;对DDRAM地址进行设置 CALL WRC MOV A,#2DH ;-的ASCII码 CALL WR

27、D MOV A,43H ;显示日 ANL A,#0F0H SWAP A ADD A,#30H ACALL WRD MOV A,43H ANL A,#0FH ADD A,#30H ACALL WRD AJMP LOP5 WRITE: ;以下全为子程序 MOV 30H,#8 LOP1: MOV A,B RRC A MOV B,A MOV P1.0,C SETB P1.1 CLR P1.1 DJNZ 30H,LOP1 RET ;写入命令子程序DS1302READ: MOV 30H,#8 LOP2: MOV C,P1.0 RRC A SETB P1.1 CLR P1.1 DJNZ 30H,LOP2 R

28、ET ;读出数据子程序DS1302INIT: MOV A,#01H CALL WRC MOV A,#38H CALL WRC MOV A,#0CH CALL WRC MOV A,#06H CALL WRC RET ;对液晶显示器初始功能设置WRC: CLR RS CLR RW SETB E MOV P2,A CLR E CALL DELAY RET ;写入LCD命令的程序WRD: SETB RS CLR RW SETB E MOV P2,A CLR E CALL DELAY RET ;写入LCD要显示的数据的DELAY: MOV R7,#035H LP1: MOV R6,#03FH DJNZ

29、R6,$ DJNZ R7,LP1 RET ;显示数据的延时 END六结果分析结果分析如图11所示 图11 实验结果图由图11可以看出LM044L可以正常显示时间,而且显示时间准确无误。七总结通过本次设计,使我们对单片机的了解有了更加深一步,我发现只有动手做才会孰能技巧,还有对材料的整理和理解。这次设计运用到的知识很多方面,尤其是单片机,像AT89C51,引脚多,硬件内部线路接通,所以用起来很方便,还有ds1302芯片与单片机之间的连接,以及如入使用ds1302芯片。当然也要对这些元器件作相应调查。主要就是电路原理图,还有对引脚的作用熟悉。对于软件方面则是灵活运用单片机有关的程序语言,还有很多扩展功能,由于知识匮乏,但是理论知识还是比较详细的。我们最大的成功之处是在这整个过程,动脑寻求解决一个一个问题的办法,对程序是不断思索,务必写出很简单的程序来,使得电子时钟能做成功!本设

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

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