华侨大学单片机课设实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验报告
题目基于单片机的简单万年历
学院信息科学与工程学院
专业通信工程
班级10级A班
姓名
学号
2012 年12 月18 日
一.实验目的
本作品使用STC89C52单片机作为控制核心,在学习板的基础上自行拓展了DS1302时钟芯片以及LCD1602,蜂鸣器等器件,设计了一款具有多个功能的万年历。
二.可实现的功能
该作品基于STC89C52单片机并利用液晶LCD1602显示以及DS1302时钟芯片,通过程序控制实现了以下功能:
1.液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。
2.具有闹铃设定及到时报警功能。
3. 能够使用板上的按键随时调节各个参数,4个有效键,分别为功能选择键、数值增大键、数值减小键和闹钟查看键。
三. 工作原理
本系统的工作原理是:单片机通过对DS1302时钟芯片内的时间信息进行采集,并将其显示于液晶上实现基本时间显示功能;单片机根据用户按键输入的信号通过程序控制实现时间更新功能及闹钟、报警功能。
四.硬件部分
此系统所包括的模块如图所示:
液晶显示按键输入
单
片
机
主
控
闹铃输出
系统硬件设计
1、LCD显示模块设计
液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。目前液晶显示模块已经是单片机应用设计中最常用的信息显示器件。其中LCD1602液晶显示模块是常用的选择,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。考虑到本系统设计中友好的人机界面,相对采用多个LED作为显示模块,LCD1602更合适。
1.1 引脚描述
1602采用标准的16脚接口,如下图所示,其中:
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调
整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读
忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:LEDA为背光接5V正电源。
第16脚:LEDK为背光地电源。
1.2 LCDI602控制指令
如表1所示,LCD1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。·指令 1:清显示。指令码01H,光标复位到地址00H位置。
·指令 2:光标复位。光标返回到地址00H。
·指令 3:光标和显示模式设置,I/D:光标移动方向,高电平右移,低电平左移;S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
·指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光
标是否闪烁,高电平闪烁,低电平不闪烁
·指令5:光标或显示移位。S/C:高电平时移动显示的文字,低电平时移动光标。
·指令 6:功能设置命令。DL:高电平时为4位总线,低电平时为8位总线; N:低电平时为单行显示,高电平时双行显示;F:低电平时显示5x7的点阵字符,高电平
时显示5x10的点阵字符。
·指令 7:字符发生器RAM地址设置。
·指令 8:DDRAM地址设置。
·指令9:读忙信号和光标地址。BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
·指令10:写数据。
·指令11:读数据。
指令RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1清显示
2光标返回
3置输入模式
4显示开/关控制
5光标或字符移位
6置功能
7置字符发生存储器地址8置数据存储器地址
9读忙标志或地址
10写数CGRAM或DDRAM 11从CGRAM或DDRAM读数0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 * 0 0 0 0 0 0 0 1 I/D S 0 0 0 0 0 0 1 D C B 0 0 0 0 0 1 S/C R/L * * 0 0 0 0 1 DL N F * * 0 0 0 1 字符发生存储器地址
0 0 1 显示数据存储器地址
0 1 BF 计数器地址
1 0 要写的数
1 1 读出的数据
表1 LCD1602的控制指令表
1.3 LCDI602读写控制时序
LCD1602的读写控制时序如表2所示,使用LCD1602显示时要严格按照时序要求,否则LCD1602显示会出现问题。
表2 LCD1602的读写控制时序表
RS R/W E 功能
0 0 下降沿写指令代码
0 1 高电平读忙标志和AC码
1 0 下降沿写数据
1 1 高电平读数据
1.4 LCDI602与单片机接口电路
2、DS1302模块设计
DS1302通过三根口线实现与单片机的通信,因DS1302功耗很小,即使电源掉电后通过3V的纽扣电池仍能维持DS1302精确走时。
(1)D S1302特性介绍
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
(2)D S1302引脚介绍