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

正文內(nèi)容

單片機電子萬年歷設(shè)計(編輯修改稿)

2025-07-26 21:51 本頁面
 

【文章內(nèi)容簡介】 e(w0){w=w+7。} =w%7。 if(==0) =7。}/***************初始化程序******************/void sys(void){ TMOD=0x22。 // TMOD=0000 0010B,使定時器T0的模式2 EA=1。 //開總中斷 ET0=1。 //允許定時器T0的中斷 ET1=1。 TR0=1。 //啟動T0 TH0=TL0=6。 //計數(shù)器T0高8位賦初值6 TH1=TL1=255。}/***************刷新數(shù)碼管一次***************/void display( uchar a[8]){ uchar t。 for(t=0。t8。t++) { P0=DIS_SEG7[a[t]]。 P2=DIS_BIT[t]。 delay(2)。 P2=0xff。 P0=0xff。 } }/***************數(shù)組賦值********/void update(uchar b[8],uchar i,uchar j,uchar m,uchar n){b[0]=i/10。b[1]=i%10。b[2]=j/10。b[3]=j%10。b[4]=m/10。b[5]=m%10。b[6]=n/10。b[7]=n%10。}/************鍵盤掃描程序********************/uchar key(void){ uchar number=0。 uchar tem。 tem=P1。 if(tem!=0xff) { delay(5)。 //延時去抖動 if(tem!=0xff) { switch(tem) { case 0xfe:goneng++。if(goneng==5)goneng=0。break。 case 0xfd:number=1。break。 case 0xfb:number=2。break。 case 0xf7:number=3。break。 case 0xef:number=4。break。 default: number=5。break。 } while(P1!=0xff)。//等待按鍵釋放 } } return number。}uchar get_moon_day(uchar month_p,uint code_addr)/*讀取數(shù)據(jù)表中農(nóng)歷月的大月或小月,如果該月大返回1,小返回0*/{uchar temp,temp5。temp=0x80((month_p+3)%8)。temp5=(month_p+3)/8。temp=year_code[code_addr+temp5]amp。temp。if(temp==0){return(29)。}else{return(30)。}}void zhuanhuan(uint a,char b,uchar c)/*==轉(zhuǎn)換當(dāng)前農(nóng)歷信息====================================*/{uchar temp1,temp2,temp3,month_p,d,t,year,month,day。uint temp4,code_addr。bit flag_y。if(a=2000)d=0。else d=0x80。t=(a%100)|(damp。0x80)。year=tamp。0x7f。 //加載年月日數(shù)據(jù),如為BCD則需轉(zhuǎn)為十進(jìn)制 month=b。day =c。code_addr=year1。 //定位數(shù)據(jù)表地址if(t7==0)code_addr+=0x64。 code_addr*=3。temp1=(year_code[code_addr+2]amp。0x60)5。 //取當(dāng)年春節(jié)所在的公歷月份 temp2=year_code[code_addr+2]amp。0x1f。 //取當(dāng)年春節(jié)所在的公歷日 temp3=temp21。 //計算當(dāng)年春節(jié)離當(dāng)年元旦的天數(shù),春節(jié)只會在公歷1月或2月if(temp1!=1)temp3+=31。 //如果不在1月則天數(shù)加上31天(1月)if(month10){temp4=day_code1[month1]+day。}else{temp4=day_code2[month10]+day。}if((month=2)||(year%0x04!=0))temp4=1。 //如果公歷月小于等于2月或者該年的2月非閏月,天數(shù)減1 temp2=(year_code[code_addr]amp。0xf0)4。 //從數(shù)據(jù)表中取該年的閏月月份,如為0則該年無閏月if (temp4=temp3) //判斷公歷日在春節(jié)前還是春節(jié)后{//公歷日在春節(jié)后或就是春節(jié)當(dāng)日使用下面代碼進(jìn)行運算temp4 =temp3。month = 1。 flag_y = 0。month_p= 1。 //month_p為月份指向,公歷日在春節(jié)前或就是春節(jié)當(dāng)日month_p指向首月temp1=get_moon_day(month_p,code_addr)。 //檢查該農(nóng)歷月為大小還是小月,大月返回1,小月返回0 while(temp4=temp1){ temp4=temp1。 month_p+=1。 if(month==temp2) { flag_y=~flag_y。 if(flag_y==0)month+=1。 }else{month+=1。} temp1=get_moon_day(month_p,code_addr)。}day=temp4+1。}else{ //公歷日在春節(jié)前使用下面代碼進(jìn)行運算temp3=temp4。if(year==0){year=0xe3。}else{year=1。}code_addr=3。month = 12。flag_y = 0。if(temp2==0){month_p=12。}else{month_p=13。} //如果當(dāng)年有閏月,一年有十三個月,月指向13,無閏月指向12 temp1=get_moon_day(month_p,code_addr)。while(temp3temp1){ temp3=temp1。 month_p=1。 if(flag_y==0)month=1。 if(month==temp2)flag_y=~flag_y。 temp1=get_moon_day(month_p,code_addr)。}day=temp1temp3+1。}=year%100。=month。=day。}/***************測溫函數(shù)******************//*****************************************************函數(shù)功能:將DS18B20傳感器初始化,讀取應(yīng)答信號出口參數(shù):flag ***************************************************/bit Init_DS18B20(void) { bit flag。 //儲存DS18B20是否存在的標(biāo)志,flag=0,表示存在;flag=1,表示不存在 DQ = 1。 //先將數(shù)據(jù)線拉高 for(time=0。time2。time++) //略微延時約6微秒 。 DQ = 0。 //再將數(shù)據(jù)線從高拉低,要求保持480~960us for(time=0。time200。time++) //略微延時約600微秒 。 //以向DS18B20發(fā)出一持續(xù)480~960us的低電平復(fù)位脈沖 DQ = 1。 //釋放數(shù)據(jù)線(將數(shù)據(jù)線拉高) for(time=0。time10。time++) 。 //延時約30us(釋放總線后需等待15~60us讓DS18B20輸出存在脈沖) flag=DQ。 //讓單片機檢測是否輸出了存在脈沖(DQ=0表示存在) for(time=0。time80。time++) //延時足夠長時間,等待存在脈沖輸出完畢 。 return (flag)。 //返回檢測成功標(biāo)志}/*****************************************************函數(shù)功能:從DS18B20讀取一個字節(jié)數(shù)據(jù)出口參數(shù):dat***************************************************/ unsigned char ReadOneChar(void) { unsigned char i=0。 unsigned char dat。 //儲存讀出的一個字節(jié)數(shù)據(jù) for (i=0。i8。i++) { DQ =1。 // 先將數(shù)據(jù)線拉高 _nop_()。 //等待一個機器周期 DQ = 0。 //單片機從DS18B20讀書據(jù)時,將數(shù)據(jù)線從高拉低即啟動讀時序 _nop_()。 //等待一個機器周期 DQ = 1。 //將數(shù)據(jù)線人為拉高,為單片機檢測DS18B20的輸出電平作準(zhǔn)備 for(time=0。time2。time++) 。 //延時約6us,使主機在15us內(nèi)采樣 dat=1。 if(DQ==1) dat|=0x80。 //如果讀到的數(shù)據(jù)是1,則將1存入dat else dat|=0x00
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1