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

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(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
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
黄a大片av永久免费| 筱惠欲乱美女全文免费全文| 国产人妖在线视频| 蜜桃一区二区三区| 国产凌凌漆国语| 美女张开腿让男人桶的视频| 四虎永久在线精品视频免费观看| 精品人妻无码专区中文字幕 | 日本三级香港三级国产三级| 久久婷婷人人澡人人喊人人爽| 日本三级韩国三级三级a级按摩| 久久久亚洲精品无码| 成人人观看的免费毛片 | 精品无码久久久久久久久| 午夜时刻免费实验区观看| 猫扑两性色午夜视频免费| 亚洲视频欧洲视频| 欧美午夜一区二区福利视频| 亚洲人成电影网站| 日本理论片理论免费| 久久久久久曰本av免费免费| 小蝌蚪视频在线免费观看| jizzjizz之xxxx18| 国产精品爽爽V在线观看无码| 1313mm禁片视频| 国产凌凌漆国语| 精品久久久久久久无码| 偷自拍亚洲视频在线观看99| 欧美性猛交xxx猛交| 亚洲一级高清在线中文字幕| 日本大胆欧美人术艺术| 久久99国产精一区二区三区| 天天插在线视频| 99re热视频这里只精品| 国产成人高清视频| 老司机亚洲精品影视www| 制服丝袜一区在线| 欧美日本高清在线不卡区| 亚洲sss综合天堂久久久| 无码喷水一区二区浪潮AV| 一级毛片试看60分钟免费播放|