欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
51單片機(jī)lcd1602d電子時(shí)鐘設(shè)計(jì)
[打印本頁(yè)]
作者:
13538677177
時(shí)間:
2017-7-8 21:51
標(biāo)題:
51單片機(jī)lcd1602d電子時(shí)鐘設(shè)計(jì)
由于課程設(shè)計(jì)需要,本人做了一個(gè)基于51單片機(jī)控制的lcd1602d顯示的電子時(shí)鐘電子設(shè)計(jì)產(chǎn)品。可以顯示萬(wàn)年歷,星期。
本來(lái)還想加上溫濕度的檢測(cè),發(fā)現(xiàn)屏幕空間不夠用了。。有需要可以再另外共享那個(gè)設(shè)計(jì)。第一次
0.png
(520.7 KB, 下載次數(shù): 120)
下載附件
2017-7-9 04:59 上傳
0.png
(49.36 KB, 下載次數(shù): 114)
下載附件
2017-7-9 04:59 上傳
單片機(jī)源程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;
sbit key_set=P3^4;
sbit key_up=P3^5;
sbit key_down=P3^6;
uchar code table1[]="2017/04/18 Aiice:";
uchar code table2[]="00:00:00 ";
uchar num,aa,sec,min,hou,week,day,mon,year,key_num;
void write_week(uchar week);
void delay(uint z)
{
uint x,y;
for (x=z;x>0;x--)
{
for(y=250;y>0;y--);
}
}
void write_dat(uchar); //
void write_com(uchar); //
void init();
void display_1(uchar add,uchar acc);
void display_2(uchar add,uchar acc); //
void write_week(uchar week)
{
write_com(0x80+0x40+12);
switch(week)
{
case 1: write_dat('M');delay(5); write_dat('O');delay(5);write_dat('N');break;
case 2: write_dat('T');delay(5);write_dat('U');delay(5);write_dat('E');break;
case 3: write_dat('W');delay(5);write_dat('E');delay(5);write_dat('D');break;
case 4: write_dat('T');delay(5);write_dat('H');delay(5);write_dat('U');break;
case 5: write_dat('F');delay(5);write_dat('R');delay(5);write_dat('I');break;
case 6: write_dat('S');delay(5);write_dat('A');delay(5);write_dat('T');break;
case 7: write_dat('S');delay(5);write_dat('U');delay(5);write_dat('N');break;
}
}
void keyscan() //
{
if(key_set==0)
{
delay(5);
if(key_set==0)
{
while(!key_set);
key_num++;
if(key_num==1) //定位到秒
{
TR0=0;
write_com(0x80+0x40+7);
write_com(0x0f);
if(key_up==0)
{
delay(5);
if(key_up==0)
{
while(!key_up);
//up_num++;
sec++;
if(sec==60)
{ sec=0;min=min+1;}
display_2(7,sec);
write_com(0x80+0x40+7);
}
}
}
//////////////////////////////////////
if(key_num==2) //定位到分
{
TR0=0;
write_com(0x80+0x40+4);
}
if(key_num==3) //定位到時(shí)
{
TR0=0;
write_com(0x80+0x40+1);
}
if(key_num==4) //定位到日
{
TR0=0;
write_com(0x80+9);
}
if(key_num==5) //定位到月
{
TR0=0;
write_com(0x80+6);
}
if(key_num==6) //定位到年
{
TR0=0;
write_com(0x80+3);
}
if(key_num==7) //保存設(shè)置
{
//TR0=0;
key_num=0;
write_com(0x0c);//取消閃爍
TR0=1;
}
}
}
if(key_num!=0)
{
if(key_up==0)
{
delay(5);
if(key_up==0)
{
while(!key_up);
if(key_num==1)
{
sec++;
if(sec==60)
{ sec=0;min=min+1;
display_2(3,min);
write_com(0x80+0x40+4);
}
display_2(6,sec); //6表示十位數(shù)字的位置,則各位數(shù)字在7.(大發(fā)現(xiàn)!!!)
write_com(0x80+0x40+7);//光標(biāo)閃爍的位置(在個(gè)位)
}
if(key_num==2)
{
min++;
if(min==60)
{
min=0;hou=hou+1;
display_2(0,hou);
write_com(0x80+0x40+1);
}
display_2(3,min);
write_com(0x80+0x40+4);
}
if(key_num==3)
{
hou++;
if(hou==24)
{
hou=0;day=day+1;week++;
display_1(8,day);
write_com(0x80+9);
}
display_2(0,hou); //時(shí)針的十位數(shù)字在屏幕的左邊第一個(gè)位置
write_com(0x80+0x40+1);
}
if(key_num==4)
{
day++;
//week++;
if(day==30)
{
day=0;mon=mon+1;
display_2(5,mon);
write_com(0x80+6);
}
display_1(8,day);
write_com(0x80+9);
}
}
}
if(key_down==0)
{
delay(5);
if(key_down==0)
{
while(!key_down);
if(key_num==1)
{
sec--;
if(sec==-1)
{ sec=59;min=min-1;
display_2(3,min);
write_com(0x80+0x40+4);
}
display_2(6,sec);
write_com(0x80+0x40+7);
}
if(key_num==2)
{
min--;
if(min==-1)
{
min=59;hou=hou-1;
display_2(0,hou);
write_com(0x80+0x40+1);
}
display_2(3,min);
write_com(0x80+0x40+4);
}
if(key_num==3)
{
hou--;
if(hou==-1)
{hou=23;week--;}//星期還沒(méi)加入
display_2(0,hou);
write_com(0x80+0x40+1);
}
}
}
}
}
void main()
{
init();
write_week(week); //送到液晶屏顯示
while(1)
{
keyscan();
if(aa==20)
{
aa=0;
sec++;
if(sec==60)
{
sec=0;
min++;
if(min==60)
{
min=0;
hou++;
if(hou==24)
{
hou=0;
}
display_2(1,hou);
}
display_2(3,min);
}
display_2(6,sec);//在秒鐘那個(gè)位置開(kāi)始加一
}
}
}
void write_com(uchar com)
{
rs=0;
en=1;
P0=com;
delay(5);
en=1;
delay(5);
en=0;
}
void write_dat(uchar dat)
{
rs=1;
en=1;
P0=dat;
delay(5);
en=1;
delay(5);
en=0;
}
void init()
{
key_set=key_up=key_down=1;
week=3;
rw=0;
en=0;
delay(50);
write_com(0x38); //
delay(1);
write_com(0x0c); // s
delay(1);
write_com(0x06); //
delay(1);
write_com(0x80); //
delay(1);
write_com(0x01); //
delay(1);
for(num=0;num<16;num++)
{
write_dat(table1[num]);
delay(1);
}
write_com(0x80+0x40); //左邊第二行第一個(gè)位置開(kāi)始寫,往右(16個(gè)數(shù)據(jù))
for(num=0;num<14;num++)
{
write_dat(table2[num]);
delay(1);
}
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
1602test03.7z
(436.38 KB, 下載次數(shù): 225)
2017-7-8 21:51 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
無(wú)心梧桐
時(shí)間:
2018-1-10 18:25
你好,另外一個(gè)溫度的可以分享嗎
作者:
ALPHATTT
時(shí)間:
2018-3-7 19:24
棒棒噠
作者:
gty
時(shí)間:
2018-4-19 11:00
樓主 溫濕度可以共享嗎
作者:
Oerror
時(shí)間:
2018-5-29 17:32
為什么運(yùn)行出來(lái) 顯示W(wǎng)ed 不能改哇
作者:
SHLMango
時(shí)間:
2019-3-14 19:40
厲害,厲害
作者:
liujielei1998
時(shí)間:
2019-4-17 22:58
這個(gè)設(shè)計(jì)太好了
作者:
屠魔幻影
時(shí)間:
2019-6-6 00:51
能不能發(fā)個(gè)電路原理圖
作者:
Elliott
時(shí)間:
2019-6-21 09:20
很好的帖子,謝謝樓主,但是能不能發(fā)一下原理圖呢
作者:
寂滅無(wú)為
時(shí)間:
2019-6-26 15:44
感謝樓主
作者:
hao18
時(shí)間:
2020-9-14 09:01
謝謝樓主的分享。下載來(lái)學(xué)習(xí)一下
作者:
ZZJ87
時(shí)間:
2020-9-15 14:44
圖紙真多,時(shí)鐘專家!
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1