電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

c51單片機(jī)萬年歷的c程序

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2012/5/12

求一個(gè)單片機(jī)可以顯示陽歷的年、月、日、星期、小時(shí).分.秒。陰歷也能顯示,標(biāo)明是否為閏年。  用LCD液晶顯示,可以調(diào)整時(shí)間。。。。。

這有個(gè)數(shù)碼管顯示的程序
以前做的,。。
你可以在我這個(gè)程序上修改修改
包括鍵盤掃描,還有動(dòng)態(tài)顯示
。

【。。!
#include <REG51.H>
//常量參數(shù)
#define TMODW 0x01;
#define SCONW 0x00;
#define xplay 0x04;//顯示分頻系數(shù)
//顯示位選
unsigned char data stb;
//鍵值緩存,0xFF無鍵命令
unsigned char data keynum;
//顯示字型變量
unsigned char data play[8];
//工作參數(shù)
unsigned char data l,m;
//字型碼
unsigned char code BCDPC[10]=
{0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};
//字位碼
unsigned char code STBCODE[8]=
{0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80 };
//400Hz xplay分頻計(jì)數(shù)
unsigned char data cttime;
//時(shí)鐘參數(shù)
unsigned char data hr,min,sec,sec100;
//調(diào)整時(shí)鐘參數(shù)(時(shí)鐘“走”)
void ct1()
{sec100++;
if (sec100==100)
{sec100=0;sec++;
if (sec==60)
{sec=0;min++;
if (min==60)
{min=0;hr++;
if (hr==24) hr=0;
}
}
}
}
//時(shí)鐘參數(shù)→LED 顯示緩存7段參數(shù)轉(zhuǎn)換函數(shù);
void xcplay()
{play[0]=BCDPC[hr/10];
play[1]=BCDPC[hr%10];
play[2]=BCDPC[min/10];
play[3]=BCDPC[min%10];
play[4]=BCDPC[sec/10];
play[5]=BCDPC[sec%10];
play[6]=BCDPC[sec100/10];
play[7]=BCDPC[sec100%10];
}
//顯示掃描
void cplay()
{T0=1;//T0-高電平消隱
T1=0;//T1-低電平準(zhǔn)備發(fā)脈沖前沿
TI=0;//?
P1=0;//?
SBUF=STBCODE[stb];
while (TI==0)
{
};
TI=0;
SBUF=play[stb];
while (TI==0)
{
};
T1=1;
T0=0;
stb=++stb&0x07;
}

extern void cthl0();
//定時(shí)器0中斷處理程序
void ct0(void) interrupt 1 using 1
{cthl0();
cttime--;
if (cttime==0)
{cttime=xplay;
ct1();//調(diào)用時(shí)鐘“走”函數(shù)
xcplay();//調(diào)用時(shí)鐘參數(shù)→Led顯示緩存轉(zhuǎn)換函數(shù)
};
cplay();
}
void w20ms()
{for (l=0;l<41;l++)
{for (m=0;m<81;m++)
{
}
}
}
void tkey()
{P1=0xF0;
keynum=0xFF;
if (P1!=0xF0)
{w20ms();
P1=0xF0;
if (P1!=0xF0)
{P1=0xFE;
switch (P1)
{case 0xEE:keynum=0;break;
case 0xDE:keynum=1;break;
case 0xBE:keynum=2;break;
case 0x7E:keynum=3;break;
}
P1=0xFD;
switch (P1)
{case 0xED:keynum=4;break;
case 0xDD:keynum=5;break;
case 0xBD:keynum=6;break;
case 0x7B:keynum=7;break;
}
P1=0xFB;
switch (P1)
{
case 0xEB:keynum=8;break;
}
};
};
P1=0x00;
}
void command()
{switch (keynum)
{
case 0:{hr=hr+1;
if (hr==24)
hr=0;
}
break;


case 1:{min=min+1;
if (min==60)
min=0;
}
break;


case 2:{sec=sec+1;
if (sec==60)
sec=0;
}
break;

case 3:{sec100=0;
}
break;


case 4:{
while(!(P1=0xED))
{
hr=0;
min=0;
sec=0;
}
}
break;

case 5:{hr=hr-1;
if (hr==00)
hr=24;
}
break;
case 6:{min=min-1;
if (min==00)
min=59;
}
break;

case 7:{sec=sec-1;
if (sec==00)
sec=0;
}
break;

case 0xFF:break;
}
keynum=0xFF;
}
main ()
{ hr=8;
min=5;
sec=8;
sec100=0;
TMOD=TMODW;
SCON=SCONW;
ET0=1;
TR0=1;
EA=1;
cttime=xplay;
while (1)
{w20ms();
tkey();
command();

};
}

Tags:單片機(jī),萬年歷,程序  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
女人18毛片a级毛片| 精品久久国产视频| 欧美一区二区福利视频| 在线观看人成视频免费| 国产真实乱xxxav| 亚洲精品乱码久久久久久蜜桃不卡 | 乱码卡一卡二卡新区在线| 98久久人妻无码精品系列蜜桃| 爽天天天天天天天| 婷婷激情五月网| 又大又粗好舒服好爽视频| 久久久久久久亚洲AV无码| 蜜桃成熟之蜜桃仙子| 日韩精品一区二区三区在线观看 | 鲁不死色原网站| 日韩福利片午夜在线观看| 国产熟睡乱子伦视频在线播放| 亚洲图片校园春色| 91成人免费在线视频| 欧美巨大黑人hd| 国产精品综合网| 亚洲欧美另类中文字幕 | 亚洲欧美日韩一级特黄在线| 99久久99久久免费精品小说| 欧美性生交xxxxx久久久| 国产精品福利一区二区久久| 亚洲欧美在线观看视频| 91香蕉短视频| 最近2019在线观看| 国产成人久久综合热| 久久精品夜夜夜夜夜久久| 萌白酱福利视频| 成都4片p高清视频| 和搜子居的日子2中文版| 一级成人黄色片| 欧美黑人巨大videos精品| 国产美女久久精品香蕉69| 亚洲国产成AV人天堂无码| 青青草原亚洲视频| 插插插综合视频| 免费无码va一区二区三区|