freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89c51單片機(jī)的萬(wàn)年歷的設(shè)計(jì)-資料下載頁(yè)

2025-11-27 02:30本頁(yè)面

【導(dǎo)讀】電子萬(wàn)年歷中實(shí)現(xiàn)公歷農(nóng)歷互換的1種實(shí)用算法。換的每1年的4個(gè)字節(jié)的數(shù)據(jù)有機(jī)存放在1起形成1個(gè)基本數(shù)據(jù)表。表,得到轉(zhuǎn)換需要的數(shù)據(jù)信息,根據(jù)轉(zhuǎn)換要求和本算法提供的互換算法,這種互換算法的優(yōu)點(diǎn)是存儲(chǔ)的數(shù)據(jù)量少,計(jì)。算簡(jiǎn)便,實(shí)用性強(qiáng)。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有。閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長(zhǎng),誤差小。

  

【正文】 le_addr)==0) temp1=29。 //小月 29 天 else temp1=30。 //大小 30 天 // 從數(shù)據(jù)表中取該年的閏月月份 ,如為 0 則該年無(wú)閏月 temp2=year_code[table_addr]/16。 28 while(temp4=temp1) { temp4=temp1。 month_p++。 if(month==temp2) { flag_y=~flag_y。 if(flag_y==0)month++。 } else month++。 if(GetMoonDay(month_p,table_addr)==0) temp1=29。 else temp1=30。 } day=temp4+1。 } // 公歷日在春節(jié)前使用下面代碼進(jìn)行運(yùn)算 readdata[1]=readdata[1] | x。 x=2。 result=readdata[1]。 while(result/10) { displaybuf[x]=result%10。 result=result/10。 x++。 } displaybuf[x]=result。 if(sflag==1)else { temp3=temp4。 if (yearL==0) { yearL=1001。 yearH=19。 } else yearL。 table_addr=3。 month=12。 temp2=year_code[table_addr]/16。 29 if (temp2==0) month_p=12。 else month_p=13。 flag_y=0。 if(GetMoonDay(month_p,table_addr)==0) temp1=29。 else temp1=30。 while(temp3temp1) { temp3=temp1。 month_p。 if(flag_y==0) month。 if(month==temp2) flag_y=~flag_y。 if(GetMoonDay(month_p,table_addr)==0) temp1=29。 else temp1=30。 } day=temp1temp3+1。 } *p++=yearH。 *p++=yearL。 *p++=month。 *p=day。 return(1)。 } void GetSkyEarth(unsigned int year,unsigned char *p) { unsigned char x。 if(year=1984) { year=year1984。 x=year%60。 } else { year=1984year。 x=60year%60。 } 30 *p=x。 } //顯示農(nóng)歷 void lcd_dispnl(SYSTEMTIME *Time) { unsigned char NLyear[4]。 unsigned char SEyear。 GetChinaCalendar(TimeYearH*100+TimeYear,TimeMonth,TimeDay,NLyear)。 GetSkyEarth(NLyear[0]*100+NLyear[1],amp。SEyear)。 lcd_hzdian_wr(0,0,sky[SEyear%10])。 // 甲 lcd_hzdian_wr(0,1,earth[SEyear%12])。 // 子 lcd_hzdian_wr(0,2,logo[0])。 // 年 if(NLyear[2]==1) lcd_hzdian_wr(0,3,logo[19])。 // 正 else lcd_hzdian_wr(0,3,logo[NLyear[2]+4])。 lcd_hzdian_wr(0,4,logo[1])。 //月 if(NLyear[3]10) lcd_hzdian_wr(0,5,logo[14])。 //十 else if((NLyear[3]10)amp。amp。(NLyear[3]20)) lcd_hzdian_wr(0,5,logo[18])。 //廿 else if(NLyear[3]20) lcd_hzdian_wr(0,5,logo[7])。 //三 else lcd_hzdian_wr(0,5,logo[17])。 //初 lcd_hzdian_wr(0,6,logo[(NLyear[3]1)%10+5])。 } //顯示生肖 /*void lcd_dispLunar(SYSTEMTIME *Time) { unsigend char temp。 temp = 。 temp = temp%12。 switch(temp) { 31 case 0: lcd_hzdian_wr(3,0,Lunar[0])。 //龍 break。 case 1: lcd_hzdian_wr(3,0,Lunar[1])。 //蛇 break。 case 2: lcd_hzdian_wr(3,0,Lunar[2])。 //馬 break。 case 3: lcd_hzdian_wr(3,0,Lunar[3])。 //羊 break。 case 4: lcd_hzdian_wr(3,0,Lunar[4])。 //猴 break。 case 5: lcd_hzdian_wr(3,0,Lunar[5])。 //雞 break。 case 6: lcd_hzdian_wr(3,0,Lunar[6])。 //狗 break。 case 7: lcd_hzdian_wr(3,0,Lunar[7])。 //豬 break。 case 8: lcd_hzdian_wr(3,0,Lunar[8])。 //鼠 break。 case 9: lcd_hzdian_wr(3,0,Lunar[9])。 //牛 break。 case 10: lcd_hzdian_wr(3,0,Lunar[10])。 //虎 break。 case 11: lcd_hzdian_wr(3,0,Lunar[11])。 //兔 break。 } }*/ void INIT_Clock(void) //初始化 { lcd_init()。 Initial_DS1302()。 Init_DS18B20()。 InitTimer0()。 lcd_clr()。 } SYSTEMTIME CurrentTime。 main() { 32 INIT_Clock()。 while(1) { if(Lcd_t 10) { //從 DS1302 中得到時(shí) 間 if(key_operate == 0)DS1302_GetTime(amp。CurrentTime)。 else DS1302_SetTime(amp。CurrentTime)。 //寫(xiě)時(shí)間 例如: 121212 lcd_disptime(amp。CurrentTime)。 //寫(xiě)公歷日期 例如: 090101 lcd_dispdate(amp。CurrentTime)。 //寫(xiě)農(nóng)歷日期 例如:甲子年正月初一 lcd_dispnl(amp。CurrentTime)。 //顯示溫度 lcd_dispwendu()。 Lcd_t = 0。 } //* case 3://日 if(++30) =1。 break。 case 4://月 if(++12) =1。 break。 case 5://年 if(++99) =0。 break。 case 6://年(高位) 33 if(++99) =0。 break。 default: break。 } } else if(!KEY3) { key_operate=0。 counter=0。 } } else { if(timer++1000)//長(zhǎng)期不按鍵,自動(dòng)回到走鐘狀態(tài) { timer=0。 key_operate=0。 counter=0。 } } if((KEY0)amp。(KEY1)amp。(KEY2)amp。(KEY3)) key_flag = 0。 EA = 1。 } RET DELAY1S ENDP SGBAOJING PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX CALL DELAY60S MOV AL,00000000B MOV DX,P8254_CTR MOV AL,97H 。 OUT DX,AL MOV DX,P82542 MOV AL,60 OUT,DX,AL 。 JNZ DELAY2 34 DEC DX JNZ DELAY1 MOV AL,00000000B MOV DX,P82542 OUT DX,AL POP DX POP CX POP BX POP AX PROC DELAY60S FAR MOV DX,60 DELAY1: MOV BL,100 DELAY2: MOV CX,2801 WAIT1: LOOP WAIT1 DEC BL DELAY60S ENDP SGBAOJING ENDP CODE ENDS END START
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1