當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]//程序功能:日歷,時(shí)鐘,溫度顯示(測(cè)溫代碼暫沒加上,加上后程序?qū)⒊^4k,注意芯片型號(hào)選用),溫度傳感器采用18B20// 日歷與時(shí)鐘,溫度分時(shí)切換顯示,采用8位共陽數(shù)碼管// 數(shù)據(jù)輸出P1, 位碼驅(qū)動(dòng)P2// 也可以采用12864LCD顯示

//程序功能:日歷,時(shí)鐘,溫度顯示(測(cè)溫代碼暫沒加上,加上后程序?qū)⒊^4k,注意芯片型號(hào)選用),溫度傳感器采用18B20
// 日歷與時(shí)鐘,溫度分時(shí)切換顯示,采用8位共陽數(shù)碼管
// 數(shù)據(jù)輸出P1, 位碼驅(qū)動(dòng)P2
// 也可以采用12864LCD顯示,該程序暫時(shí)沒寫.
#include
#include
#define unchar unsigned char
#define unint unsigned int
unchar code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0Xbf,0x9c,0xc6,0x7f,0xff}; //數(shù)碼管字形表,0-9,-,o,C,.,滅
unchar code rili1997code[]={0x2,0x5,0x5,0x1,0x3,0x6,0x1,0x4,0x0,0x2,0X5,0x0}; //1996年12個(gè)月的月份星期校正碼
unchar timecnt=19; //定時(shí)中斷計(jì)數(shù)器
unchar timeadd1=0; //時(shí)間加1判斷
unchar newday=0; //日期加1判斷
unchar week;//星期
unchar data date[]={9,12,9};
unchar data time[]={11,59,55};
unchar data wendu[]={14,19,116}; //wendu[0]=10為負(fù),顯示-;wendu[0] =14為正,符號(hào)位不顯示, 原理參考數(shù)碼管字形表
//wendu[1]是整數(shù)溫度值,wendu[2]/10是"°"顯示,wendu[2]/10+1顯示C,wendu[2]%110是小數(shù)點(diǎn)后的溫度值
unchar t=150; //延時(shí)常數(shù)
unchar cnt=0; //顯示控制計(jì)數(shù)器
//#define SSL 0x7f //秒低位段碼地址
//#define SSH 0XBF //秒高位段碼地址
//#define _L 0XDF //8位數(shù)碼管顯示,分鐘與秒之間的-分隔符
//#define MML 0XEF //以下同
//#define MMH 0XF7
//#define _H 0XFB //8位數(shù)碼管顯示,小時(shí)與分鐘之間的-分隔符
//#define HHL 0XFD
//#define HHH 0XFE
sbit timeset=P3^2; //時(shí)間調(diào)整鍵
sbit dateset=P3^3; //日歷調(diào)整鍵
sbit add=P3^4; //加調(diào)整
sbit dec=P3^5; //減調(diào)整


//日期加1函數(shù)
//當(dāng)日期有進(jìn)位時(shí)調(diào)用,判斷年,月,日的最大值
void dateadd1(unchar i)
{
{ unchar j=0;
switch(i)
{ case 0:if(date[0]==99) //年采用低2位表示
date[0]=0;
else
date[0]++;break;
case 1:if(date[1]==12)
date[1]=1;
else
date[1]++;break;
case 2:
switch(date[1])
{case 4: //4,6,9,11月的最大天數(shù)是30
case 6:
case 9:
case 11:if(date[2]==30)
{date[2]=1;
j++; //j++表示月份加1,以下同
}
else
{date[2]++; }
break;
case 1: //1,3,5,7,8,10,12月的最大天數(shù)是31
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: if(date[2]==31)
{date[2]=1; j++; }
else
date[2]++; break;

case 2:if(date[0]%400==0) //2月份需要判斷是否是閏年
{if(date[2]==29) //能被400整除的世紀(jì)年是閏年
{date[2]=1;j++; } //閏年2月29天,月份加1
else
date[2]++;break;
}
else
{if(date[0]%4==0) //非世紀(jì)年,能被4整除是閏年
{if(date[2]==29)
{date[2]=1;j++; }
else
date[2]++; break;
}
else
{if(date[2]==28) //非閏年2月28天
{date[2]=1;j++;}
else
date[2]++; break;
}
}
default:break;

}
if(j)
{ if(date[1]==12) //如果進(jìn)位的月份是12月,置月份date[1]為1
date[1]=1;
else
date[1]++;

}
} }

}

void datedec1(unchar i)
{ unchar j=0;
switch(i)
{ case 0: if(date[0]==0)
date[0]=99;
else
date[0]--;break;
case 1:if(date[1]==0)
date[1]=12;
else
date[1]--;break;
case 2:
switch(date[1])
{ case 4: //4,6,9,11月的最大天數(shù)是30
case 6:
case 9:
case 11:if(date[2]==0)
date[2]=30;
else
date[2]--;
break;
case 1: //1,3,5,7,8,10,12月的最大天數(shù)是31
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: if(date[2]==0)
date[2]=31;
else
date[2]--; break;

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉