電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

c51單片機萬年歷的c程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2012/5/12

求一個單片機可以顯示陽歷的年、月、日、星期、小時.分.秒。陰歷也能顯示,標明是否為閏年。  用LCD液晶顯示,可以調整時間。。。。。

這有個數碼管顯示的程序
以前做的,。。
你可以在我這個程序上修改修改
包括鍵盤掃描,還有動態顯示

【。。。】
#include <REG51.H>
//常量參數
#define TMODW 0x01;
#define SCONW 0x00;
#define xplay 0x04;//顯示分頻系數
//顯示位選
unsigned char data stb;
//鍵值緩存,0xFF無鍵命令
unsigned char data keynum;
//顯示字型變量
unsigned char data play[8];
//工作參數
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分頻計數
unsigned char data cttime;
//時鐘參數
unsigned char data hr,min,sec,sec100;
//調整時鐘參數(時鐘“走”)
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;
}
}
}
}
//時鐘參數→LED 顯示緩存7段參數轉換函數;
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-低電平準備發脈沖前沿
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();
//定時器0中斷處理程序
void ct0(void) interrupt 1 using 1
{cthl0();
cttime--;
if (cttime==0)
{cttime=xplay;
ct1();//調用時鐘“走”函數
xcplay();//調用時鐘參數→Led顯示緩存轉換函數
};
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:單片機,萬年歷,程序  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
日韩精品一区二区三区中文3d| avtt天堂在线| 美国一级毛片在线观看| 日韩欧美在线播放| 国产无套粉嫩白浆在线| 亚洲另类图片另类电影| 91精品国产网曝事件门| 欧美性活一级视频| 国内精品久久久久久久影视麻豆| 亚洲自偷自偷在线制服| 6580岁老太婆| 波多野结衣痴女系列88| 天天天天夜夜夜夜爱爱爱爱| 亚洲综合视频在线观看| 97色偷偷色噜噜狠狠爱网站97| 粉嫩小仙女脱内衣喷水自慰| 扁豆传媒网站免费进入| 可以直接看的毛片| 一区二区三区国产最好的精华液| 热99精品在线| 国产精品久免费的黄网站| 亚洲av无码一区二区三区天堂古代| 能在线观看的一区二区三区| 成人免费黄网站| 什么网站可以看毛片| 67194线路1(点击进入)手机版| 最近中文字幕完整在线电影| 国产av永久精品无码| 99久久免费精品国产72精品九九| 日韩伦人妻无码| 免费a级毛片在线播放| 黄网页在线观看| 最近中文字幕免费mv在线视频| 国产免费AV片无码永久免费| 中日韩精品视频在线观看| 男人的j进女人视频| 在线视频国产网址你懂的在线视频 | 看一级特黄a大一片| 天堂а√中文最新版地址| 亚洲日本va午夜中文字幕一区| 91香蕉视频污|