基于单片机的电子万历设计.doc
《基于单片机的电子万历设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子万历设计.doc(48页珍藏版)》请在三一办公上搜索。
1、xxxxxx学院单片机课程设计报告题目:基于单片机的万年历设计 学生姓名学 号专 业电子信息专业班 级2009级1班指导教师学 部计算机科学与电气工程课程设计时间2012年6月19日基于单片机的电子万年历设计摘 要随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。DS12887 是美国达拉斯半导体公司(Dallas) 最新推出的串行接口实时钟芯片,采用CMOS 技术制成,具有内部晶振 和时钟芯片备份锂电池,同时它与目前IBM AT 计算机常用的时钟芯片MC146818B 和DS1287 管脚兼容,可直接替换。它所提供的世纪字节在位置32h ,世纪寄存器3
2、2h 到2000 年1 月1 日从19 增到20 。采用DS12887 芯片设计的时钟电路不需任何外围电路和器件,并具有良好的微机接口。DS12887芯片具有微功耗, 外围接口简单,精度高,工作稳定可靠等优点, 可广泛用于各种需要较高精度的实时时钟系统。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。关键词:160
3、2液晶,STC89C52 单片机,DS12887时钟 词条用小四号宋体字,词条间用分号(;)隔开,3-5个关键词小提示:当需要从网站或者文档复制到本文档时,先将文字复制到文本文档,然后再从文本文档复制到本文档的相应位置,这样就能够保证格式是正确的!此行不会被打印千万不要删除行尾的分节符,此行不会被打印。(在word菜单-工具-选项-视图标签中,格式标记部分请全部打对号,这样就可以看到隐藏的分节符和空格等信息了)目录摘要I第1章 绪 论11.1 本设计的意义11.1.1 设计发展与应用11.2 本设计的功能11.3 本设计的要求2第2章 主要系统结构描述32.1 系统结构框图及工作流程介绍32.
4、1.1 STC89C52模块介绍32.2 液晶显示模块作用介绍52.2.1 1602字符型LCD简介62.3 时钟模块作用介绍102.3.1 DS12887的介绍102.4 本章小结13第3章 系统硬件电路设计与实现143.1单片机最小系统设计143.1.1单片机介绍143.1.2单片机时钟电路介绍153.1.3单片机复位电路介绍163.1.4单片机按键电路介绍163.2程序下载介绍163.2.1 主要芯片引脚功能介绍163.3本章小结17第4章 系统软件调试环境介绍184.1 KEIL51软件简介184.1.1 软件功能184.1.2 软件应用流程194.2 程序下载软件介绍214.2.1
5、软件功能214.2.2 软件应用流程214.3 本章小结24第5章 系统程序设计255.1 系统程序设计流程图255.2 时钟程序模块详细流程图265.2.1 程序流程图对应程序代码265.3 液晶程序模块详细流程图285.3.1 程序流程图对应程序代码295.4 按键控制程序模块详细流程图315.4.1 程序流程图对应程序代码315.5 本章小结33结论34参考文献35附录36千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”基于单片机的电子万年历设计第1章 绪 论1.1 本设计的意义 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分
6、秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。所以意在培养同学的创新精神与实践能力。1.1.1 设计发展与应用时间在我们的生活中有着不可取代的作用,它可以为我们清晰地记录下制作从开始到结束所需要的时间。时间对人们来说总是宝贵的,工作的忙碌性和繁杂性容易使人忘记当前时间,忘记了要做的事情。当事情不重要的时候,这种遗忘无伤大雅,但是,一旦事情重要,一时的耽误可能酿成大祸。例如,许多火灾都
7、是由于人们遗忘而发生的,而时间的重要性在医院、冶金、化工、食品、机械、石油等工业中,更是举足重轻,而现在钟表的数字化给人们的生活带来了极大地方便。成为人们必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2 本设计的功能本电路是由STC89C52单片机为控制核心,具有在线编程功能,低功耗,能在
8、3V超低压工作;时钟电路由DS12887提供,它可以对年、月、日、周日、时、分、秒进行计时。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1287内部有一个用于临时性存放数据的RAM寄存器。可产生年、月、日、时、分、秒,具有使用寿命长,精度高和低功耗等特点。1.3 本设计的要求随着电子技术的高速发展,对电子方面人才的要求越来越高,不仅要求其具备相关的专业理论知识,还要求其具有较强的设计、制作等实践动手能力,学校此次举行的电子设计无疑是对从事电子相关专业的人的一次很好的锻炼和考验,是培养信息人才的一次良好的机会,为其提供了一个理论知识与实践相结合的
9、平台。 本次设计可分为两部分:硬件部分、软件部分。硬件部分包括:AT89S52单片机、DS12C887时钟芯片、1602LCD液晶显示器。主要由AT89S52单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路组成等几大部分组成。具体说来,系统智能控制部分由单片机及其相关的外围电路组成,外围电路包括复位电路、晶振电路、键盘设计、电源电路。利用单片机将复位电路、动态显示电路、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。软件部分包括了主程序模块,DS12C887模块,LCD1602模块,键盘控制模块本设计的基本要求是:具有年、月、日、星期、时、分、秒等功能,同时具
10、备年、月、日、星期、时、分、秒校准功能。具体的用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89S52为核心元件,结合DS12C887时钟芯片,采用1602液晶显示屏作为动态显示年、月、日、星期、时、分、秒等的现代计时。第2章 主要系统结构描述 2.1 系统结构框图及工作流程介绍本次设计的题目是基于DS12C887的高精度时钟的设计,可以正常的显示年、月、日、时、分、秒。本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89S52为核心元件,同时采用1602液晶显示屏动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。另外
11、具有校时功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。显示电路复位电路STC89C52时钟电路按键电路 图2-12.1.1 STC89C52模块介绍STC89C52是美国 ATMEL公司生产的低电压、高性能的 CMOS 8位单片机,片内含 4k bytes的可反复擦写的只读程序存储器(PEROM)和 128 bytes的随机存取数据存储器(RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容MCS-51指令系统,片内置通用 8位中央处理器(CPU)和 Flash存储单元,功能强大 2.1.1.1 STC89C52 的结构 引脚功能: VCC:电源电压 GN
12、D:接地 P0口:P0口是一组 8位漏极开路型双向 I0口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8个 TTL逻辑门电路,对端口写“1”可作为高阻抗转入端用。 Pl口:P1是个内部带上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电萌。 P2口:P2是一个带有内部上拉电阻的 8位双向 IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个 TTL逻辑门电路。对端口写 “1”,通过内部的上拉电
13、阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P3口:可以作为输入/输出口,外接输入/输出设备。作为第二功能使 P3 口的第二功能 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8位字节。即使不访问外部存储器,ALE仍以时钟振器频率的 16输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89C51
14、由外部程序存储器取指令(或数据)时每个机器周期两次 PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN信号不出现。 EAVPP:EA0,单片机只访问外部程序存储器。 EA1,单片机访问内部程序存储器。XTALI:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。 T89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。2.1.1.2 STC89C52 的特点与 MCS-51产品指令系统完全兼容 4k
15、字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 128*8字节内部RAM 32个可编程IO口线 2个16位定时计数器 6个中断源 可编程串行 UART通道 低功耗空闲和掉电模式 2.2 液晶显示模块作用介绍1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。显示电路采用LCD1602液晶显示,如图(10)所示,图中只画出了其相应的接口,3脚用于调节LCD1602的背光,4、5、6为LCD1602的控制口,用于控制其写入
16、或是读出指令,7至14脚为LCD1602的数据口,将数传送到LCD1602中。 图22 LCD1602显示电路2.2.1 1602字符型LCD简介本设计采用1602字符型LCD,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。这种1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。1602字符型LCD的主要技术参数为:(1)显示容量:162个字符;(2)芯片工作电压:4.55.5
17、V;(3)工作电流2mA(5.0V)不包括背光电流;(4)模块最佳工作电压:5V;(5)字符尺寸:2.954.35(WH)mm;(6)带有英文和日文字库,使用方便;1602字符型LCD的基本操作时序: 读状态 输入:RS=L,R/W=H,E=H 输出:D0D7=状态字 读数据 输入:RS=H,R/W=H,E=H 输出:无写指令 输入:RS=L,R/W=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据写指令 输入:RS=H,R/W=L,D0D7=数据,E=高脉冲 输出:无1602字符型LCD 的RAM地址映射图:液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低
18、电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。控制器内部带有80B的RAM缓冲区,对应关系如图所示。 LCD 16字2行00 0102030405060708090A0B0C0D0E0F27404142434445464748494A4B4C4D4E4F67图2-1 1602内部RAM地址映射图当向图中的000F、404F地址中任一处写入显示数据时,液晶都可立即显示出来,当写入到1027或5067地址处时,必须通过移屏指令将它们移入可显示区域方可显示正常。1602字符型LCD的状态字说明如表3.4所示。表2-2 状态字说明STA7 D7STA6
19、 D6STA5 D5STA4 D4STA3 D3STA2 D2STA1 D1STA0 D0STA0STA6当前地址指针的数值STA7读/写操作使能1禁止;1允许原则上没次对控制器进行读/写操作之前,都必须进行读/写检测,确保STA7为0。实际上由于单片机的操作速度慢于液晶控制器的反应速度,因此可以不进行读/写检测,或只进行简短延时即可。1602字符型LCD的数据指针设置:控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80B的RAM。数据指针设置如表3.5所示。表2-3 数据指针设置指令码功能80H+地址码(0H27H,40H67H)设置数据地址指针1602字符型LCD的其他设置
20、如表3.6所示。表2-4 其他设置指令码功能01H显示清屏:1.数据指针清0 2.所有显示清002H显示回车: 数据指针清01602字符型LCD的初始化设置:(1)显示模式设置显示模式设置如表3.7所示。表2-5 初始化设置的显示模式设置指令码功能00111000设置162显示,57点阵,8位数据接口(2)显示开/关以及光标设置显示开/关以及光标设置如表3.8所示。表2-6 初始化设置的显示开/关以及光标设置指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不显示0000001NSN=1当读或写一个字符后地址指针加1,且光标加1N=0
21、当读或写一个字符后地址指针减1,且光标减1S=1当写一个字符时,整屏显示右移N=1或左移N=0,已得到光标不移动而屏幕移动的效果S=0当写一个字符时,整屏显示不移动00010000光标左移00010100光标右移00011000整屏左移,同时光标跟随移动00011100整屏右移,同时光标跟随移动1602字符型LCD的写操作时序:(1)通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移屏、在液晶的什么位置显示等等。写数据时指要显示什么内容。(2)读/写控制端设置为写模式,即低电平。(3)将数据或命令送达数据线上。(4)给E一个高脉冲将数据送入液晶控
22、制器,完成写操作。读操作时序、写操作时序分别如图所示。图2-3 读操作时序 图2-4 写操作时序2.3 时钟模块作用介绍2.3.1 DS12887的介绍DS12887是美国达接斯半导体公司(Dallas)最新推出的串行接口实时时钟芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与目前IBM AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。它所提供的世纪字节在位置32h,世纪寄存器32h到2000年1月1日将从19递增到20。采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并具有良好的微机接口。DS12887芯片具有微功耗,外围接口简
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 万历 设计
链接地址:https://www.31ppt.com/p-4148694.html