老式电子万年历液晶显示变暗如何处理
答案:2 悬赏:40 手机版
解决时间 2021-02-06 19:01
- 提问者网友:欲劫无渡
- 2021-02-06 12:48
老式电子万年历液晶显示变暗如何处理
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-02-06 12:53
老式电子万年历液晶显示变暗,建议换个新电池,会有改善。
全部回答
- 1楼网友:舍身薄凉客
- 2021-02-06 13:25
其实这个已经是一个完成的产品了。我免费给你写点吧,说实话 这个程序有点大,逻辑程序很简单,就是12864这个液晶的字库等 比较麻烦
晶振按12m处理
void ledinit()
{
//液晶初始化子程序 自己写吧
}
void cpuinit()
{
//单片机初始化
tmod=0x01; //t0方式1
ie=0x82;
tr0=1;
}
void t0_int() interrupt 1 //中断子程序 主要程序
{
time++;
wdelay++;
tl0=50000/256;
th0=50000%256;//50ms一次中断
if (time%20==0) //1秒时间到
{
s++;
time=0;
}
if(s==60;)
{
s=0;
m++;
}
if(m==60)
{
m=0;
h++;
}
if(h==24)
{
h=0;
day++;
}
if(month==4||month==6||month==9;month==11)
{
if(day==30)
{
month++;
}
}
if (month==2)
{
if (year%400==0)
{
if (day==29)
{
day=0;
month++;
}
}
else if(year%100!=0&&year%4==0)
{
if (day==29)
{
day=0;
month++;
}
}
}
if(month==1||month==3||month==5;month==7||month==8||month==10||month==12)
{
if (day==31)
{
day=0;
month++;
}
}
if (month==13)
{
month=0;
year++;
}
}
void getkey()//键扫描子程序,用于获得键值
{
bank1 static unsigned char nsetp=0;
bank1 static unsigned char nbufferedkey;
switch(nsetp)
{
case 0://去抖动
if (wdelay>1)//50ms延时 自己改吧要改这个要改定时器
nsetp=1;
break;
case 1:
if ((ra5==0)&&(nbufferedkey==1)) //存键值
nsetp=3;
else if ((ra4==0)&&(nbufferedkey==2))
nsetp=3;
else if ((ra2==0)&&(nbufferedkey==3))
nsetp=3;
else nsetp=2;
break;
case 2:
if (ra5==0)//判断是否按键按下,并记录第一次按键情况 ra5功能键
{
nbufferedkey=1;
wdelay=0;
nsetp=0;
}
else if (ra4==0) //+/-键 6
{
nbufferedkey=2;
wdelay=0;
nsetp=0;
}
else if (ra3==0)// 移位键
{
nbufferedkey =3;
wdelay=0;
nsetp =0;
}
else
nbufferedkey=0;
break;
case 3:
if (ra5==1 && ra4==1 && ra3==1)//等待键释放
{nkey=nbufferedkey;
nsetp=0;}
default:
break;
}
}
void key1()
{
//功能键自己写吧 按下后可以修改时钟 出现闪烁什么的都自己加
}
void key2()
{
//+-键 年月日 时间 加1操作
}
void key3()
{
//确定键 保存修改的值退出修改模式 进入时间模式
}
void display()
{
//液晶显示子程序
}
//主程序
main()
{
ledinit();
cpuinit();
while(1)
{
getkey();
if (nkey==1)
{
key1();
nkey=0;
}
if (nkey==2)
{
key2();
nkey=0;
}
if (nkey==3)
{
key3();
nkey=0;
}
}
}
这个程序 你刚上手不是一会就能搞好的,子程序 我懒的写了 就这么写写浪费了我20来分钟了 其他的我有空在帮你写 你先自己找参考书把会写的都填上去 框架我都帮你搭好了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯