#include <reg52.h>
#include <LCD1602.h> //LCD1602头文件
#include <ds1302.h> //时钟芯片头文件
#include <tem.h> //温度18b20头文件
#define u8 unsigned char //重定义
#define u16 unsigned int
sbit KEY1=P3^0; //定义界面功能按键、确定键
sbit add=P3^1; //定义加按键
sbit sub=P3^2; //定义减按键
sbit KEY4=P3^3; //定义改变功能键、返回键
sbit beep=P1^5; //蜂鸣器输出口
int con=0,mon=0;
bit bcon=0;
bit cool,teel;
bit nao=0,wen=0;
u16 win0,win1;
u16 hin=0;
char t[][16]={"H50 L20 17/10/25", //显示日期 放在随机存储器中
"21.3C 12:00:00 6"}; //显示时间、周 放在程序存储器
char c1[]="Clock 07:00:00 "; //显示闹钟时间
char code c2[]=" Good Everyday "; // Good Everyday
char code c3[]=" Open OR Close "; // Open OR Close 开启还是关闭
char code M1[][16]={"> Time <","> Clock <",
"> Tem_Aralm <"}; // 时间调整,闹钟,温度上下限
char K1[16]=" ";
//u8 code kai[]={" LYC The Most Beautiful Time To Meet The Most Beautiful You Do Not Cherish HJY "};
u8 code kai[]={" 123456789ABCDEFGHIJKLMNOPQISDUVWXYZ "};
//*********延时函数***********//
void delay(u16 i)
{
while(i--);
}
//*********开机画面*********//
void open()
{
int i=0,j;
while(kai[ i]!='\0')
i++;
i--;
for(i;i!=0;i--)
{
K1[0]=kai[ i];
LCD1602_WRITERCOM(0x80);
for(j=0;j<16;j++)
{
LCD1602_WRITERDAT(K1[j]);
}
LCD1602_WRITERCOM(0xC0);
for(j=0;j<16;j++)
{
LCD1602_WRITERDAT(K1[j]);
}
for(j=14;j>=0;j--)
{
K1[j+1]=K1[j];
}
delay(15000);
}
}
红色部分FOR循环的为什么能让LCD移屏, 一直想不明白,请哪位大侠帮帮忙????
|