单片机LCD1602显示年月日时钟带星期和闹钟_第1页
单片机LCD1602显示年月日时钟带星期和闹钟_第2页
单片机LCD1602显示年月日时钟带星期和闹钟_第3页
单片机LCD1602显示年月日时钟带星期和闹钟_第4页
单片机LCD1602显示年月日时钟带星期和闹钟_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、下载可编辑长春工业大学测控技术与仪器专业单片机 LCD1602显示年月日时钟带星期和闹钟,可识别闰年下载文档即可完全复制#include #define uchar unsigned char#define uint unsigned int.专业 .整理 .下载可编辑sbit lcdrs = P07;sbit led_cs = P06;sbit lcden = P05;sbit boom = P36;/ 液晶引脚定义sbit key1 = P35;sbit key2 = P34;sbit key3 = P33;sbit keyE = P32;ucharnum,key1num,key2num,

2、count,hour,min,sec,day,mon,year,shi,fe n,miao,week;char ye1,ye2;ucharcg_1602= 0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,0x0f,0x09,0x09,0x0f,0x09,0x09,0x0f,0x00,0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,;/ 年月日 /* 延时函数 */void delay(uint xms)uint i,j;code.专业 .整理 .下载可

3、编辑写命令写数据for(i=xms;i0;i-)for(j=114;j0;j-);/*1602 液晶 */void write_com(uchar com)/lcdrs=0;lcden=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/lcdrs=1;lcden=0;P2=date;delay(5);lcden=1;delay(5);.专业 .整理 .下载可编辑lcden=0;void write_by_xy(uchar x,uchar y)/ 坐标定位 uchar address;if(y=0)add

4、ress=0x80+x;/y=0, 写第一行elseaddress=0xc0+x;/y=1, 写第二行 write_com(address);坐标定位显示写字符串/*void write_char(uchar x,uchar y,uchar date)/write_by_xy(x,y);/ 先定位 write_data(date);/ 后写数*/void write_string(uchar x,uchar y,uchar *s)/ write_by_xy(x,y);/ 设定显示位置 while(*s)/write characterP2=*s;.专业 .整理 .下载可编辑write_data

5、(*s);s+;void write_sfm(uchar add,uchar date)/ 写时分秒函数uchar hour,ge;hour=date/10;/ 分解一个 2 位数的十位和个位ge=date%10;write_com(0x80+add);/ 设置显示位置write_data(0x30+hour);/ 送去液晶显示十位write_data(0x30+ge); / 送去液晶显示个位void write_cg()/ 写入固定汉字和符号write_com(0x40); / 设定 CGRAM地址for(num=0;num31)/ 若大于 31 后将置一 day=1;write_sfm(0

6、x48,day);/ 每调节一次送液晶显示一 下write_com(0x80+0x48);/ 显示位置重新回到调节处if(key1num=5)/ 若功能键第五次按下mon+;/ 则调整月加 1 if(mon12)/ 若大于 12 后将置一 mon=1;write_sfm(0x45,mon);/ 每调节一次送液晶显示一下write_com(0x80+0x45);/ 显示位置重新回到调节处.专业 .整理 .下载可编辑if(key1num=6)/ 若功能键第六次按下ye2+;/ 则调整年加 1 if(ye2=0x0a)/ 若满 99 后将清零 ye2=0;year=ye1*100+ye2;write

7、_sfm(0x42,ye2);/ 每调节一次送液晶显示一下write_com(0x80+0x42);/ 显示位置重新回到调节处if(key1num=7)/ 若功能键第七次按下ye1+;/ 则调整年加 100 if(ye1=0x0a)/ 若满 99 后将清零 ye1=0;year=ye1*100+ye2;write_sfm(0x40,ye1);/ 每调节一次送液晶显示一下write_com(0x80+0x40);/ 显示位置重新回到调节处.专业 .整理 .下载可编辑if(key1num=8)/ 若功能键第八次按下week+;/ 则调整周加一 if(week7)/ 若大于 7 后置一 week=1

8、;write_sfm(0x4f,week);/ 每调节一次送液晶显示 一下write_com(0x80+0x4f);/ 显示位置重新回到调节 处if(key3=0)delay(5);if(key3=0)/ 确认减小键被按下while(!key3);/ 按键释放 if(key1num=1)/ 若功能键第一次按下 sec-;/ 则调整秒减 1.专业 .整理 .下载可编辑if(sec=-1)/ 若减到负数则将其重新设置为 59 sec=59;write_sfm(6,sec);/ 每调节一次送液晶显示一下write_com(0x80+7);/ 显示位置重新回到调节处if(key1num=2)/ 若功能

9、键第二次按下min-;/ 则调整分钟减 1if(min=-1)/ 若减到负数则将其重新设置为 59 min=59;write_sfm(3,min);/ 每调节一次送液晶显示一下 write_com(0x80+4);/ 显示位置重新回到调节处 if(key1num=3)/ 若功能键第三次按下hour-;/ 则调整小时减 1if(hour=-1)/ 若减到负数则将其重新设置为 23hour=23;write_sfm(0,hour);/ 每调节一次送液晶显示一下write_com(0x80+1);/ 显示位置重新回到调节处if(key1num=4)/ 若功能键第四次按下.专业 .整理 .下载可编辑d

10、ay-;/ 则调整日减 1 if(day=0)/ 若日为零时将置一 day=31;write_sfm(0x48,day);/ 每调节一次送液晶显示一 下write_com(0x80+0x49);/ 显示位置重新回到调节处if(key1num=5)/ 若功能键第五次按下mon-;/ 则调整月减 1if(mon=0)/ 若月为零将置一mon=12;write_sfm(0x45,mon);/ 每调节一次送液晶显示一 下write_com(0x80+0x45);/ 显示位置重新回到调节处if(key1num=6)/ 若功能键第六次按下ye2-;/ 则调整年减 1.专业 .整理 .下载可编辑if(ye2

11、0)/ 若小于零后将设置为 99 ye2=99;year=ye1*100+ye2;write_sfm(0x42,ye2);/ 每调节一次送液晶显示一下write_com(0x80+0x42);/ 显示位置重新回到调节处if(key1num=7)/ 若功能键第七次按下ye1-;/ 则调整年减 100if(ye17)week=1;.专业 .整理 .下载可编辑if(mon=1)if(day31)day=1;mon+;if(mon=2)if(year%4=0 & year%100!=0)|year%4=0) if(day29)day=1;mon+;else if(day28) day=1;.专业 .整

12、理 .下载可编辑mon+; if(mon=3) if(day31) day=1; mon+; if(mon=4) if(day30) day=1; mon+; if(mon=5) if(day31).专业 .整理 .下载可编辑 day=1; mon+; if(mon=6) if(day30) day=1; mon+; if(mon=7) if(day31) day=1; mon+; if(mon=8).专业 .整理 .下载可编辑if(day31)day=1; mon+;if(mon=9)if(day30)day=1; mon+; if(mon=10) if(day31)day=1; mon+;.专业 .整理 .下载可编辑if(mon=11)if(day30)day=1;mon+;if(mon=12)if(day31)day=1;mon=1;ye2+;write_sfm(0x4e,week); write_sfm(0x48,day); write_sfm(0x45,mon);write_sfm(0x4

温馨提示

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

评论

0/150

提交评论