基于51单片机温湿度检测与数字时钟的设计与制作_第1页
基于51单片机温湿度检测与数字时钟的设计与制作_第2页
基于51单片机温湿度检测与数字时钟的设计与制作_第3页
基于51单片机温湿度检测与数字时钟的设计与制作_第4页
基于51单片机温湿度检测与数字时钟的设计与制作_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1产品功能分析.........................................................................................................1

2产品硬件设计.........................................................................................................1

2.1单片机的选择..............................................................................................1

2.2传感器的选择..............................................................................................2

2.3系统框图设计..............................................................................................2

3产品硬件设计.........................................................................................................3

3.1STC89C52RC单片机核心电路设计.............................................................3

3.2按键电路设计..............................................................................................4

3.3LCD1602液晶显示模块电路.......................................................................5

4产品软件设计.........................................................................................................6

4.1主程序流程图..............................................................................................6

4.2LCD1602液晶显示程序设计......................................................................7

4.3传感器模块程序设计.................................................................................8

4.4产品程序清单.............................................................................................9

5产品使用说明.......................................................................................................10

5.1产品装配图................................................................................................10

5.2产品调试....................................................................................................11

5.3产品使用说明............................................................................................12

6产品设计技术标准...............................................................................................13

附录1元器件清单...................................................................................................14

附录2电路原理图...................................................................................................15

附录3PCB设计图....................................................................................................16

附录4产品实物图...................................................................................................17

附录5主程序代码...................................................................................................18

参考资料.....................................................................................................................33

湖南商务职业技术学院毕业设计

基于51单片机温湿度检测与数字时钟的设计与制作

1产品功能分析

(1)掌握51单片机的集成开发环境,并且利用C语言编程来进行编写程

序文件。通过温湿度传感器DHT11采集温度与湿度,即时传输给单片机处理。

(2)通过LCD1602液晶第一行显示屏显示温度,第二行显示湿度。

(3)阈值可以通过按键进行设置安全阈值。

(4)若是超过安全阈值,蜂鸣器鸣叫报警。

(5)通过时钟芯片液晶第一行显示屏显示时间和星期,第二行显示日期。

2产品硬件设计

电路总体上分为显示模块、中央处理器、温湿度采集、报警模块四部分部

分。以STC89C52单片机最小系统作为核心控制电路,控制DHT11传感器采集的

温湿度的转换,控制1602液晶屏的显示,以及蜂鸣器的报警。具体显示内容及

方式由软件来完成。采集温湿度方面由DHT11传感器来完成,它是一个数字温

湿度传感器、内置模数转换,可以直接与单片机相连接。而1602液晶屏是插针

式,也可以直接与单片机相连接。因此不需要手动焊接等复杂的过程。具体步

骤是:按照原理图将传感器、1602液晶显示屏分别接入单片机。通过DHT11传

感器采集当前的温湿度值、再经单片机,将处理后的数据传送到液晶屏上显示

出来,并且接入蜂鸣器,设置温度的上下限值,从而实现越限报警。

2.1单片机的选择

STC89C51系列单片机的指令系统和AT89C51系列的完全兼容,但实际操作

起来却存在很多问题:

(1)AT89C51不带ISP下载,要用下载器才可以运行,STC89C52可以使用

USB转串口下载,下载软件可以到STC厂家网上下载。

(2)STC单片机执行指令的速度很快,大约是AT的三至三十倍,虽然执行

速度加快,但这样的话,在AT上可以正常运行的程序在STC上不一定可以运行,

最典型的例子就是那些对时序有严格要求的模块,用STC时注意得加长延时,

大约是AT的十至三十倍。

1

湖南商务职业技术学院毕业设计

(3)STC单片机对工作环境的要求相对较低,电压低于5伏时仍然正常工

作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT就无法正常工作

了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接检查

最小系统,看单片机的供电是否正常。

由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单

片机的各部分资源和作为学生能够获得的资源,经过对比此次设计要求,我选

择用STC系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起

来比较方便,故STC为更合理的选择。

2.2传感器的选择

选用DHT11作为设计的温湿度检测模块。DHT11是一款集成型的数字温湿度

一体传感器。它应用专用的数字模块采集技术和温湿度传感技术,可以确保产

品具有极高的可靠性以及卓越的长期稳定性。传感器包括一个电阻式感湿元件

和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品

质卓越、超快响应、抗干扰能力强、性价比极高的优点。测量范围是

20%~90%RH,0℃~50℃。测温精度为-\+2℃,测湿精度为-\+5%RH。完全符合本

次毕业设计的要求。

经上述分析,此方案简便易行、可靠稳定,具有超高的性价比。

2.3系统框图设计

本产品系统框图设计如图2-1所示:

图2-1系统框图

2

湖南商务职业技术学院毕业设计

3产品硬件设计

由STC89C52RC单片机组成的此系统,温湿度传感器,LCD1602液晶显示器,

蜂鸣器模块,按键模块,时钟模块,以及电源组成。

通过数字温湿度传感器DHT11采集温湿度数据,即时传输给单片机;单片

机将收到的信号进行分析和处理,将采集到时温湿度实时数据送给1602液晶显

示屏;通过1602LCD液晶屏完成温湿度的数据显示;给定温度湿度上下限数值,

设置不同的温湿度,接入蜂鸣器,实现越限报警。

电路板上有五个按键,一个是电源的开关按键,一个是复位按键,其余三

个是设置键,设置+、设置-、设置跳转,设置+、设置-、只能在设置模式中操

作。

3.1STC89C52RC单片机核心电路设计

STC89C52RC是一种低功耗、高性能CMOS8位微控制器,具有8K在系统

可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程

Flash,使得STC89C52RC为众多嵌入式控制应用系统提供更加灵活、有效的解

决方案。

具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定

时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一

个6向量2级中断结构,全双工串行口。

STC89C52RC单片机原理图(a)如图3-1所示:

3

湖南商务职业技术学院毕业设计

图3-1STC89C52RC单片机原理图(a)

STC89C52RC单片机实物图如图3-2所示

图3-2STC89C52RC单片机实物图(b)

3.2按键电路设计

有一种电子开关—按键,仅需要按下按键就可以实现开关接通,松开按键

就可以断开连接,清楚按键内部的金属弹片,受力后弹动触发来实现接通、断

开功能。在这个设计中,按键是一个系统输入,是实现人机交互的枢纽,要实

现对系统进行输入,按键单片机控制引脚默认为高电平,按键按下,单片机对

应引脚成为低电平。按键电路原理图如图3-3所示。

4

湖南商务职业技术学院毕业设计

图3-3按键电路原理图

3.3LCD1602液晶显示模块电路

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。(16

列2行)。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很

多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中

都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面

中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管

和LED数码管比较常用,软硬件都比较简单。

在单片机系统中应用晶液显示器作为输出器件有以下几个优点:

由于液晶显示器的每一个点在收到信号后就一直保持色彩和亮度,恒定发

光,而不像阴极射线管显示器(CRT)那样需要不断刷新亮点。因此,液晶显示

器的画质更高且不会闪烁。

液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加

方便。

液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在

重量上比显示面积相同的传统显示器要轻得多。

相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而

耗电量比其它显示器要少得多。

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,

目前常用16*1,16*2,20*2和40*2行等的模块。

LCD1602管脚功能如表3-1所示。

液晶显示器电路原理图如图3-4所示。

5

湖南商务职业技术学院毕业设计

表3-1LCD1602管脚功能表

引脚符号功能描述

1VSS接地

2VDD接电源

3V0对比度调整端

4RS寄存器选择

5R/W读写信号线

6E使能端

7-14D0-D78位双向数据线

15B背光源正极

16B背光源负极

图3-4液晶显示器电路原理图

4产品软件设计

本产品采用了C语言,KELL编程环境,使用的是简单的模块化设计,需要

先使用流程图建立程序框架,划分整个设计的各个模块,然后逐个模块实现其

功能,最终把各个子模块合理的连接起来,从而构成总的程序。

4.1主程序流程图

主程序首先要对整个系统进行初始化,然后将采集到的温湿度指令传给系

统的主程序流程图,主程序流程图如图4-1所示。

6

湖南商务职业技术学院毕业设计

图4-1主程序流程图

4.2LCD1602液晶显示程序设计

液晶显示模块是一个慢显示器件,要先确认模块的忙标志再执行每条指令,

如果忙标志为低电平,表示不忙,则此指令失效,要显示字符时要先输入显示

字符地址,告诉模块在哪里现实了字符。1602液晶显示模块可与STC89C52直

接接口,软件流程图如图4-2所示。

7

湖南商务职业技术学院毕业设计

图4-2LCD流程图

4.3传感器模块程序设计

随着科技的不断发展使用温湿度模块DH11数字温湿传感器加湿器温湿度

传感器制成的,汽车、空调、除湿器、烘干机等种类繁多的电器都已进入人们

的日常生活,这些电器设备大部分都离不开对温度、湿度等环境因素的要求。

因此,温度、湿度传感器用途越来越广泛。新一代的数字传感器不再需要外置

的AD转换模块,并具有标准接口,使用方便,得到了越来越多的应用。DHT11

作为一种新型的单总线温湿度数字传感器,具有更多的优点,它使系统设计更

加简单,控制方便,易于实现。1单总线通信简介目前常用的微机与外设之间

进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线

以同步串行两线方式进行通信(1条时钟线,1条数据线),SPI总线则以同步串行

三线方式进行通信(1条时钟线,1条数据输入线,1条数据输出线),而SCI总线

是以异步方式进行通信的(1条数据输入线,1条数据输出线)。这些总线至少需

要两条或两条以上的信号线。

DHT11传感器模块的软件流程图如图4-3所示。

8

湖南商务职业技术学院毕业设计

图4-3DHT11流程图

4.4产品程序清单

在整个LCD显示系统工作中,当LCD1602进行初始化之后,系统进行延

时,再者芯片收到温湿度传感器传达的数据后,由芯片进行处理分析,再把数

据传输进LCD1602显示屏中。程序清单如图4-4所示。

9

湖南商务职业技术学院毕业设计

图4-4程序清单

5产品使用说明

5.1产品装配图

产品由LCD1602液晶显示模块、DHT11温湿度传感器模块、报警模块、时

钟模块、电源和按键模块组成。

装配图如图5-1所示:

10

湖南商务职业技术学院毕业设计

图5-1装配图

5.2产品调试

对计算机的程序编写完成后,就需要通过软件对编写的程序进行测试及编

译,若是不能通过编译,则需要再进行修改。

检查单片机所有的器件都手工焊接到了万能板上,对每一个焊点都进行仔

细地检查,确保没有虚焊、漏焊以及是否有毛刺的现象。

使用万用表进行测试,检查各焊接点连接状况是否合格,各电源线与地线是否

有短路。

对产品进行上电检查,将编写好的程序烧录到单片机中。

程序编译、烧录成功界面如图5-2,5-3所示:

11

湖南商务职业技术学院毕业设计

图5-2程序编译图

图5-3程序烧录图

5.3产品使用说明

(1)接上电源上电,再按下开关,温湿度传感器自动采集温度与湿度。

(2)通过LCD1602液晶第一行显示屏显示温度,第二行显示湿度。

(3)若温度或湿度超出阈值范围,蜂鸣器开始报警,LED灯闪烁。

(4)切换界面后液晶第一行显示屏显示时间和星期,第二行显示日期。

(5)温度与湿度的阈值范围以及时间的调整都可以通过万能板上的按键完

成。

12

湖南商务职业技术学院毕业设计

6产品设计技术标准

[1]J-STD-001E电气与电子组件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E电子组件的可接受性要求

[3]IPC-7711/21电子组件和电路板的返工&返修

[4]GB/T11457-2006信息技术软件工程术语;

[5]GB/T8566-2007信息技术软件生存周期过程标准;

[6]GB/T8567-2006计算机软件文档编制规范。

13

湖南商务职业技术学院毕业设计

附录1元器件清单

14

湖南商务职业技术学院毕业设计

附录2电路原理图

15

湖南商务职业技术学院毕业设计

附录3PCB设计图

16

湖南商务职业技术学院毕业设计

附录4产品实物图

17

湖南商务职业技术学院毕业设计

附录5主程序代码

//基于51单片机温湿度检测与数字时钟的设计与实现

//20移动互联应用技术1班罗旭

#include<reg52.h>//调用单片机头文件

#defineucharunsignedchar//无符号字符型宏定义变量范围0~255

#defineuintunsignedint//无符号整型宏定义变量范围0~65535

#include"ds1302.h"

sbitbeep=P1^6;//蜂鸣器IO口定义

intflag_300ms;//300毫秒的变量

ucharkey_can;//按键值的变量

sbitwh_led=P2^2;//温度上限报警指示灯IO口定义

sbitwl_led=P2^3;//温度下限报警指示灯IO口定义

sbitsh_led=P2^1;//湿度上限报警指示灯IO口定义

sbitsl_led=P2^0;//湿度下限报警指示灯IO口定义

ucharflag_en=1;//手动取消报警的变量

ucharmenu_1;//设置不同报警参数的变量

uchart_high=35,t_low=10;//温度上下限报警值

uchars_high=80,s_low=10;//湿度上下限报警值

bitflag_moshi;

/***************************************************************

*名称:delay_1ms()

*功能:延时1ms函数

*输入:q

*输出:无

****************************************************************/

voiddelay_1ms(uintq)

{

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

}

18

湖南商务职业技术学院毕业设计

sbitdht11=P1^7;//温湿度传感器IO口定义

uchartable_dht11[5]={0};//温湿度值放到这个数组里面

sbitrs=P1^0;//寄存器选择信号H:数据寄存器L:指令寄存器

sbitrw=P1^1;//寄存器选择信号H:数据寄存器L:指令寄存器

sbite=P1^2;//片选信号下降沿触发

/********************************************************************

*名称:delay_uint()

*功能:小延时。

*输入:无

*输出:无

***********************************************************************/

voiddelay_uint(uintq)

{

while(q--);

}

/********************************************************************

*名称:write_com(ucharcom)

*功能:1602指令函数

*输入:输入的指令值

*输出:无

***********************************************************************/

voidwrite_com(ucharcom)

{

rs=0;//写指令

rw=0;//对1602写操作

P0=com;//P0口对1602写指令

delay_uint(25);

e=1;//e=1使能信号

delay_uint(100);//延时一下等1602完成操作

e=0;

}

/********************************************************************

*名称:write_data(uchardat)

*功能:1602写数据函数

*输入:需要写入1602的数据

*输出:无

***********************************************************************/

voidwrite_data(uchardat)

{

19

湖南商务职业技术学院毕业设计

rs=1;//写数据

rw=0;//对1602写操作

P0=dat;//P0口对1602写数据

delay_uint(25);

e=1;//e=1使能信号

delay_uint(100);//延时一下等1602完成操作

e=0;

}

/***********************lcd1602上显示特定的字符****0XDF度

********************/

voidwrite_zifu(ucharhang,ucharadd,uchardate)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

write_data(date);//写数据

}

/***********************lcd1602上显示1位十进制数************************/

voidwrite_lcd1(ucharhang,ucharadd,uchardate)

{

if(hang==1)

write_com(0x80+add);//1602写第一行的地址

else

write_com(0x80+0x40+add);//1602写第二行的地址

write_data(0x30+date%10);

}

/***********************lcd1602上显示两位十进制数************************/

voidwrite_lcd2(ucharhang,ucharadd,uintdate)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

write_data(0x30+date/10%10);//显示十位数

write_data(0x30+date%10);//显示个位数

}

/***********************lcd1602上显示两位16进制数************************/

20

湖南商务职业技术学院毕业设计

voidwrite_lcd2_ds1302(ucharhang,ucharadd,uchardate)

{

if(hang==1)

write_com(0x80+add);//1602写第一行的地址

else

write_com(0x80+0x40+add);//1602写第二行的地址

write_data(0x30+date/16);//显示十位数

write_data(0x30+date%16);//显示个位数

}

/***********************lcd1602上显示这字符函数************************/

voidwrite_string(ucharhang,ucharadd,uchar*p)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

while(1)

{

if(*p=='\0')break;//\0字符串的结尾标志break结束while循环结

束写字符

write_data(*p);//写数据

p++;//指针地址加1

}

}

/*****************控制光标函数********************/

voidwrite_guanbiao(ucharhang,ucharadd,uchardate)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

if(date==1)

write_com(0x0f);//显示光标并且闪烁

else

write_com(0x0c);//关闭光标

}

/***********************lcd1602初始化设置************************/

voidinit_1602()//lcd1602初始化

{

write_com(0x38);//显示模式设置:16×2显示,5×7点阵,8位数据接口不检

21

湖南商务职业技术学院毕业设计

测忙信号

write_com(0x0c);//开显示不显示光标

write_com(0x06);//当写一个字符是,地址指针加1

write_string(1,0,"Wd:00H00L00");//初始化1602显示

write_string(2,0,"Sd:00%H00%L00%");//初始化1602显示

write_zifu(1,5,0xdf);//显示温度单位度

write_zifu(1,10,0xdf);//显示温度单位度

write_zifu(1,15,0xdf);//显示温度单位度

write_lcd2(1,3,table_dht11[2]);//显示温度

write_lcd2(2,3,table_dht11[0]);//显示湿度

write_lcd2(1,8,t_high);//显示温度上限

write_lcd2(2,8,s_high);//显示湿度上限

write_lcd2(1,13,t_low);//显示温度下限

write_lcd2(2,13,s_low);//显示湿度下限

}

/********************独立按键程序*****************/

voidkey()//独立按键程序

{

ucharkey_new;//key_new这个变量的功能是做按键松手检测的

key_can=0;//按键值还原成0

if((P3&0xf0)!=0xf0)//按键按下11110000

{

delay_1ms(1);//按键延时消抖动

if(((P3&0xf0)!=0xf0)&&(key_new==1))

{//确认是按键按下11110000

key_new=0;//key_new=0说明按键已按下

switch(P3&0xf0)

{

case0xd0:key_can=3;break;//得到按键值11010000

case0xb0:key_can=2;break;//得到按键值10110000

case0x70:key_can=1;break;//得到按键值01110000

}

}

}

else

key_new=1;//key_new=1说明按键已经松开了

}

/****************按键设置函数***************/

voidkey_with()

22

湖南商务职业技术学院毕业设计

{

if(menu_1==0)

{

if(key_can==3)

{

flag_moshi=~flag_moshi;

if(flag_moshi==0)//显示温湿度

{

init_1602();//lcd1602初始化

}else

{

write_string(1,0,"::");//显示时间

write_string(2,0,"20--");

}

}

}

if(key_can==1)//设置键

{

menu_1++;

if(menu_1>10)

{

menu_1=0;//menu_1=0退出设置了,在正常显示界面下

init_1602();//lcd1602初始化显示

}

if(menu_1==5)//设置时间

{

write_string(1,0,"::W:");

write_string(2,0,"20--");

}

}

if(menu_1==1)//设置温度上限报警值

{

if(key_can==2)//加键

{

t_high++;//设置温度上限报警值加1

if(t_high>99)

t_high=99;

}

if(key_can==3)//减键

{

t_high--;//设置温度上限报警值减1

if(t_high<=t_low)

t_high=t_low+1;//限制温度上限不能低于温度下限

23

湖南商务职业技术学院毕业设计

}

write_lcd2(1,8,t_high);//显示上限报警值

write_com(0x80+8);//将光标移动到第1行第8位

write_com(0x0f);//显示光标并且闪烁

}

if(menu_1==2)//设置温度下限报警值

{

if(key_can==2)//加键

{

t_low++;//设置温度下限报警值加1

if(t_low>=t_high)

t_low=t_high-1;//限制温度下限不能高于温度上限

}

if(key_can==3)//减键

{

t_low--;//设置温度下限报警值减1

if(t_low<=1)

t_low=1;

}

write_lcd2(1,13,t_low);//显示温度下限报警值

write_com(0x80+13);//将光标移动到第1行第13位

write_com(0x0f);//显示光标并且闪烁

}

if(menu_1==3)//设置湿度上限报警值

{

if(key_can==2)//加键

{

s_high++;//设置湿度上限报警值加1

if(s_high>99)

s_high=99;

}

if(key_can==3)//减键

{

s_high--;//设置湿度上限报警值减1

if(s_high<=s_low)

s_high=s_low+1;//限制湿度上限不能低于湿度下限

}

write_lcd2(2,8,s_high);//显示湿度上限报警值

write_com(0x80+0x40+8);//将光标移动到第2行第8位

write_com(0x0f);//显示光标并且闪烁

}

if(menu_1==4)//设置湿度下限报警值

{

24

湖南商务职业技术学院毕业设计

if(key_can==2)//加键

{

s_low++;//设置湿度下限报警值加1

if(s_low>=s_high)

s_low=s_high-1;//限制湿度下限不能高于湿度上限

}

if(key_can==3)//减键

{

s_low--;//设置湿度下限报警值减1

if(s_low<=1)

s_low=1;

}

write_lcd2(2,13,s_low);//显示湿度下限报警值

write_com(0x80+0x40+13);//将光标移动到第2行第13位

write_com(0x0f);//显示光标并且闪烁

}

if(menu_1==5)//设置时

{

if(key_can==2)//加键

{

shi+=0x01;//设置时钟加1

if((shi&0x0f)>=0x0a)

shi=(shi&0xf0)+0x10;

if(shi>=0x24)

shi=0;

}

if(key_can==3)//减键

{

if(shi==0x00)

shi=0x24;

if((shi&0x0f)==0x00)

shi=(shi|0x0a)-0x10;

shi--;//设置时钟减1

}

}

if(menu_1==6)//设置分

{

if(key_can==2)//加键

{

fen+=0x01;//设置分钟加1

if((fen&0x0f)>=0x0a)

fen=(fen&0xf0)+0x10;

if(fen>=0x60)

25

湖南商务职业技术学院毕业设计

fen=0;

}

if(key_can==3)//减键

{

if(fen==0x00)

fen=0x5a;

if((fen&0x0f)==0x00)

fen=(fen|0x0a)-0x10;

fen--;//设置分钟减1

}

}

if(menu_1==7)//设置秒

{

if(key_can==2)//加键

{

miao+=0x01;//设置秒钟加1

if((miao&0x0f)>=0x0a)

miao=(miao&0xf0)+0x10;

if(miao>=0x60)

miao=0;

}

if(key_can==3)//减键

{

if(miao==0x00)

miao=0x5a;

if((miao&0x0f)==0x00)

miao=(miao|0x0a)-0x10;

miao--;//设置秒减1

}

}

if(menu_1==8)//设置星期

{

if(key_can==2)//加键

{

week+=0x01;//设置星期加1

if((week&0x0f)>=0x0a)

week=(week&0xf0)+0x10;

if(week>=0x08)

week=1;

}

if(key_can==3)//减键

{

if(week==0x01)

26

湖南商务职业技术学院毕业设计

week=0x08;

if((week&0x0f)==0x00)

week=(week|0x0a)-0x10;

week--;//设置星期减1

}

}

if(menu_1==9)//设置年

{

if(key_can==2)//加键

{

nian+=0x01;//设置年加1

if((nian&0x0f)>=0x0a)

nian=(nian&0xf0)+0x10;

if(nian>=0x9a)

nian=1;

}

if(key_can==3)//减键

{

if(nian==0x01)

nian=0x9a;

if((nian&0x0f)==0x00)

nian=(nian|0x0a)-0x10;

nian--;//设置年减1

}

}

if(menu_1==10)//设置月

{

if(key_can==2)//加键

{

yue+=0x01;//设置月加1

if((yue&0x0f)>=0x0a)

yue=(yue&0xf0)+0x10;

if(yue>=0x13)

yue=1;

}

if(key_can==3)//减键

{

if(yue==0x01)

yue=0x13;

if((yue&0x0f)==0x00)

yue=(yue|0x0a)-0x10;

yue--;//设置月减1

}

27

湖南商务职业技术学院毕业设计

}

if(menu_1==11)//设置日

{

if(key_can==2)//加键

{

ri+=0x01;//设置日加1

if((ri&0x0f)>=0x0a)

ri=(ri&0xf0)+0x10;

if(ri>=0x32)

ri=0;

}

if(key_can==3)//减键

{

if(ri==0x01)

ri=0x32;

if((ri&0x0f)==0x00)

ri=(ri|0x0a)-0x10;

ri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论