77范文网 - 专业文章范例文档资料分享平台

基于STC89C52单片机的多功能电子万年历(5)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

指令码

0

0

1

1

1

0

0

0

功能

设置16*2显示,5*7点阵,8位数据接口

2)显示开/关及光标设置如表6:

表6 显示开/关及光标设置

指令码 0

0

0

0

1

D

C

功能

B =1开显示;D=0关显示

C=1显示光标;C=0不显示光标 B=1光标闪烁;B=0光标不显示

0

0

0

0

0

1

N

S

N=1当读或写一个字符后地址指针加一,且光标加一

N=0当读或写一个字符后地址指针减一,且光标减一

S=1当写一个字符,整屏显示左移(N=1)

3.4.2LCM1602与MCU的接口电路

LCD的D0~D7分别接单片机的的P2口,作为数据线,因为P0口内部没有上拉电阻,所以外部另外加上10K的上拉电阻;P1.0—P1.2分别接LCD的RS、RW、E三个控制管脚;RV1用来调节LCD的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。

3.5按键模块设计

本系统用到了5个按键,其中一个用作系统手动复位,另外4个采用独立按键,该种接法查询简单,程序处理简单,可节省CPU资源,按键电路如图15所示,4个独立按键分别与STC89C52的P3.4、P3.5、P3.6、P3.7接口相连。

17

图15 按键电路

对以上4个按键作简要说明:S4——SET 键,S3——UP键,S2——DOWN键,S5——OUT/STOP键。

SET 键:按下SET键进入时间校准状态,按一下进入秒调整,两下分调整,依此类推可进行各年月日,时分秒以及星期的校准;

UP键:当SET键按下时,UP进行SET选定项(如:小时)的加操作; DOWN键:当SET键按下时,DOWN进行SET选定项(如:小时)的减操作;

OUT键:当OUT键按下时,此键功能为退出校准功能,进入下一模式,显示温度值和上下限的温度值。

3.6复位电路的设计

当STC89C52单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。而本系统选用的是12MHz的晶振,因此一个机器周期为1μs,那么复位脉冲宽度最小应为2μs。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。 上电复位要求接通电源后,自动实现复位操作。STC89C52单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。在单片机每次初始加电时,首先投入工作的

18

功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时。

本设计采用上电且开关复位电路,如图16所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=10~30μF,本设计采用的电容值为10μF的电容和电阻为4.7K的电阻。

图16 复位电路 19

4 系统的软件设计

电子万年历的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。

本系统的软件部分主要要进行公历计算程序设计,温度测量程序设计,按键的扫描输入等。程序开始运行后首先要进行初始化,把单片机的各引脚的状态按程序里面的初始化命令进行初始化,初始化完成后运行温度测量程序,读取出温度传感器测量出来的温度,然后运行公历计算程序,得到公历的时间、日期信息,再运行按键扫描程序,检测有无按键按下,如果没有按键按下则直接调用节日计算程序,根据得到的公历日期信息计算出节日,如果有按键按下则更新按键修改后的变量后送给节日计算程序,由节日计算程序根据修改后的变量计算出对应的节假日,计算完成后运行显示程序,显示程序将得到的温度数据、公历信息、节假日信息送给对应的数码管让其显示。

4.1主程序流程图的设计

主程序流程图如图17:

20

开始 DS1302初始化 设置DS1302 读年月日星期时分秒 将读取的数据处理后送液晶屏显示 返回

图17 主程序流程图

4.2 程序设计

4.2.1 DS1302读写程序设计

本系统的时间读取主要来源于单片机对DS1302的操作,在硬件上时钟芯片DS1302与单片机的连接需要三条线,即SCLK(7)、I/O(6)、RST(5),具体连接图见系统硬件设计原理图。读取写程序设计如下:

sbit clk = P1^3; //ds1302时钟线定义 sbit io = P1^4; //数据线 sbit rst = P1^5; //复位线

//秒 分 时 日 月 年 星期

uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a}; //写地址

uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b}; //读地址

uchar code init_ds[] ={0x58,0x00,0x00,0x01,0x01,0x13,0x1}; uchar miao,fen,shi,ri,yue,week,nian;

21

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于STC89C52单片机的多功能电子万年历(5)在线全文阅读。

基于STC89C52单片机的多功能电子万年历(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622273.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: