|
一個(gè)基于51單片機(jī),DS1302,LCD1602的萬(wàn)年歷程序。
設(shè)置日期的時(shí)候,程序基于蔡勒(Zeller)公式會(huì)自動(dòng)計(jì)算星期,包含了BCD碼的處理轉(zhuǎn)換。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
TIM截圖20190518160844.png (48.97 KB, 下載次數(shù): 116)
下載附件
2019-5-18 16:10 上傳
單片機(jī)源程序如下:
- uchar calc_week(uchar y,uchar m,uchar d)
- {
- uint temp = 0,m_tmp=0;
- uchar week_temp;
- y = bcd_to_dec(y);
- m = bcd_to_dec(m);
- d = bcd_to_dec(d);
-
- if(m > 2)
- {
- m_tmp = m+1;
- temp = 26*m_tmp;
- temp /= 10;
- week_temp = (y+(y/4)+(temp&0xff)+d-36)%7;
- }
- else
- {
- m_tmp = m+13;
- temp = 26*m_tmp;
- temp /= 10;
- week_temp = (y - 1+((y - 1)/4)+(temp&0xff)+d-36)%7;
- }
- return week_temp;
- }
復(fù)制代碼 全部資料51hei下載地址:
Calendar.zip
(125.7 KB, 下載次數(shù): 673)
2019-5-18 16:11 上傳
點(diǎn)擊文件名下載附件
源碼和仿真 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|