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

正文內(nèi)容

基于單片機(jī)的智能型家居窗簾控制電路的設(shè)計(jì)-資料下載頁(yè)

2025-06-19 12:53本頁(yè)面
  

【正文】 ite_1302(0x8e,0x00)。 //允許寫,禁止寫保護(hù) write_1302(0x80,0x00)。 //向DS1302內(nèi)寫秒寄存器80H寫入初始秒數(shù)據(jù)00//write_1302(0x82,0x00)。//向DS1302內(nèi)寫分寄存器82H寫入初始分?jǐn)?shù)據(jù)00//write_1302(0x84,0x12)。//向DS1302內(nèi)寫小時(shí)寄存器84H寫入初始小時(shí)數(shù)據(jù)12//write_1302(0x8a,0x06)。//向DS1302內(nèi)寫周寄存器8aH寫入初始周數(shù)據(jù)6//write_1302(0x86,0x18)。//向DS1302內(nèi)寫日期寄存器86H寫入初始日期數(shù)據(jù)07//write_1302(0x88,0x05)。//向DS1302內(nèi)寫月份寄存器88H寫入初始月份數(shù)據(jù)01//write_1302(0x8c,0x13)。//向DS1302內(nèi)寫年份寄存器8cH寫入初始年份數(shù)據(jù)10write_1302(0x8e,0x80)。 //打開(kāi)寫保護(hù)}//時(shí)分秒顯示子函數(shù)void write_sfm(uchar add,uchar dat)//向LCD寫時(shí)分秒,有顯示位置加、現(xiàn)示數(shù)據(jù),兩個(gè)參數(shù){ uchar gw,sw。 gw=dat%10。//取得個(gè)位數(shù)字 sw=dat/10。//取得十位數(shù)字 write_1602(er+add)。//er是頭文件規(guī)定的值0x80+0x40 write_1602dat(0x30+sw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0x30+gw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 delay(20)。 }//年月日顯示子函數(shù)void write_nyr(uchar add,uchar dat)//向LCD寫年月日,有顯示位置加數(shù)、顯示數(shù)據(jù),兩個(gè)參數(shù){ uchar gw,sw。 gw=dat%10。//取得個(gè)位數(shù)字 sw=dat/10。//取得十位數(shù)字 write_1602(yh+add)。//設(shè)定顯示位置為第一個(gè)位置+add write_1602dat(0x30+sw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0x30+gw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 delay(50)。 }//寫星期子函數(shù)void write_week(uchar week){ write_1602(yh+0x0c)。//星期字符的顯示位置 switch(week) { case 1:write_1602dat(39。M39。)。//星期數(shù)為1時(shí),顯示 write_1602dat(39。O39。)。 write_1602dat(39。N39。)。 break。 case 2:write_1602dat(39。T39。)。//星期數(shù)據(jù)為2時(shí)顯示 write_1602dat(39。U39。)。 write_1602dat(39。E39。)。 break。 case 3:write_1602dat(39。W39。)。//星期數(shù)據(jù)為3時(shí)顯示 write_1602dat(39。E39。)。 write_1602dat(39。D39。)。 break。 case 4:write_1602dat(39。T39。)。//星期數(shù)據(jù)為4是顯示 write_1602dat(39。H39。)。 write_1602dat(39。U39。)。 break。 case 5:write_1602dat(39。F39。)。//星期數(shù)據(jù)為5時(shí)顯示 write_1602dat(39。R39。)。 write_1602dat(39。I39。)。 break。 case 6:write_1602dat(39。S39。)。//星期數(shù)據(jù)為6時(shí)顯示 write_1602dat(39。T39。)。 write_1602dat(39。A39。)。 break。 case 7:write_1602dat(39。S39。)。//星期數(shù)據(jù)為7時(shí)顯示 write_1602dat(39。U39。)。 write_1602dat(39。N39。)。 break。}}/******************************************************4 讀DS1302時(shí)間顯示于LCD1602函數(shù)*****************************************************/void timegetdisp() //取得并顯示日歷和時(shí)間{ //讀取秒時(shí)分周日月年七個(gè)數(shù)據(jù)(DS1302的讀寄存器與寫寄存器不一樣): miao = BCD_Decimal(read_1302(0x81))。 write_sfm(0x08,miao)。//秒,從第二行第8個(gè)字后開(kāi)始顯示(調(diào)用時(shí)分秒顯示子函數(shù)) fen = BCD_Decimal(read_1302(0x83))。 write_sfm(0x05,fen)。//分,從第二行第5個(gè)字符后開(kāi)始顯示 shi = BCD_Decimal(read_1302(0x85))。 write_sfm(0x02,shi)。//小時(shí),從第二行第2個(gè)字符后開(kāi)始顯示 ri = BCD_Decimal(read_1302(0x87))。 write_nyr(0x09,ri)。//日期,從第一行第9個(gè)字符后開(kāi)始顯示 yue = BCD_Decimal(read_1302(0x89))。 write_nyr(0x06,yue)。//月份,從第一行第6個(gè)字符后開(kāi)始顯示 nian=BCD_Decimal(read_1302(0x8d))。 write_nyr(0x03,nian)。//年,從第一行第3個(gè)字符后開(kāi)始顯示 week=BCD_Decimal(read_1302(0x8b))。 write_week(week)。}/******************************************************5 按鍵調(diào)整時(shí)間函數(shù)*****************************************************/void keyscan() //按鍵調(diào)整時(shí)間函數(shù){ if(key1==0)//key1為功能鍵(設(shè)置鍵) { delay(9)。//延時(shí),用于消抖動(dòng) if(key1==0)//延時(shí)后再次確認(rèn)按鍵按下 { while(!key1)。 key1n++。 if(key1n==9) key1n=1。//設(shè)置按鍵共有秒、分、時(shí)、星期、日、月、年、 返回,8個(gè)功能循環(huán) switch(key1n) { case 1: write_1602(er+0x09)。//設(shè)置按鍵按動(dòng)一次,秒位置顯示光標(biāo) write_1602(0x0f)。//設(shè)置光標(biāo)為閃爍 temp=(miao)/10*16+(miao)%10。//秒數(shù)據(jù)寫入DS1302 write_1302(0x8e,0x00)。 write_1302(0x80,0x80|temp)。//miao write_1302(0x8e,0x80)。 break。 case 2: write_1602(er+6)。//按2次fen位置顯示光標(biāo) //write_1602(0x0f)。 break。 case 3: write_1602(er+3)。//按動(dòng)3次,shi //write_1602(0x0f)。 break。 case 4: write_1602(yh+0x0e)。//按動(dòng)4次,week //write_1602(0x0f)。 break。 case 5: write_1602(yh+0x0a)。//按動(dòng)5次,ri //write_1602(0x0f)。 break。 case 6: write_1602(yh+0x07)。//按動(dòng)6次,yue //write_1602(0x0f)。 break。 case 7: write_1602(yh+0x04)。//按動(dòng)7次,nian //write_1602(0x0f)。 break。 case 8: write_1602(0x0c)。//按動(dòng)到第9次,設(shè)置光標(biāo)不閃爍 TR0=1。//打開(kāi)定時(shí)器 temp=(miao)/10*16+(miao)%10。 write_1302(0x8e,0x00)。 write_1302(0x80,0x00|temp)。//miao數(shù)據(jù)寫入DS1302 write_1302(0x8e,0x80)。 flag=0。 break。 } } }//加鍵key2 if(key1n!=0)//當(dāng)key1按下以后,再按以下鍵才有效(按鍵次數(shù)不等于零) { if(key2==0) //上調(diào)鍵 { delay(10)。 if(key2==0) { while(!key2)。 switch(key1n) { case 1:miao++。//設(shè)置鍵按動(dòng)1次,調(diào)秒 if(miao59) miao=0。//秒超過(guò)59,再加1,就歸零 write_sfm(0x08,miao)。//令LCD在正確位置顯示加設(shè)定好的秒數(shù) temp=(miao)/10*16+(miao)%10。//十進(jìn)制轉(zhuǎn)換成DS1302要求的BCD碼 write_1302(0x8e,0x00)。 //允許寫,禁止寫保護(hù) write_1302(0x80,temp)。 //向DS1302內(nèi)寫秒寄存器80H寫入調(diào)整后的秒數(shù)據(jù)BCD碼 write_1302(0x8e,0x80)。 //打開(kāi)寫保護(hù) write_1602(er+0x09)。//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,光標(biāo)自動(dòng)右移,所以要指定返回 //write_1602(0x0b)。 break。 case 2:fen++。 if(fen59) fen=0。 write_sfm(0x05,fen)。//令LCD在正確位置顯示加設(shè)定好的分?jǐn)?shù)據(jù) temp=(fen)/10*16+(fen)%10。//十進(jìn)制轉(zhuǎn)換成DS1302要求的BCD碼 write_1302(0x8e,0x00)。//允許寫,禁止寫保護(hù) write_1302(0x82,temp)。//向DS1302內(nèi)寫分寄存器82H寫入調(diào)整后的分?jǐn)?shù)據(jù)BCD碼 write_1302(0x8e,0x80)。//打開(kāi)寫保護(hù) write_1602(er+6)。//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動(dòng)加一,在這里是寫回原來(lái)的位置 break。 case 3:shi++。 if(shi23) shi=0。 write_sfm(2,shi)。//令LCD在正確的位置顯示加設(shè)定好的小時(shí)數(shù)據(jù) temp=(shi)/10*16+(shi)%10。//十進(jìn)制轉(zhuǎn)換成DS1302要求的BCD碼 write_1302(0x8e,0x00)。//允許寫,禁止寫保護(hù) write_1302(0x84,temp)。//向DS1302內(nèi)寫小時(shí)寄存器84H寫入調(diào)整后的小時(shí)數(shù)據(jù)BCD碼 write_1302(0x8e,0x80)。//打開(kāi)寫保護(hù) write_1602(er+3)。//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動(dòng)加一,所以需要光標(biāo)回位 break。 case 4:week++。 if(week7) week=1。 write_1602(yh+0x0C)。//指定39。加39。后的周數(shù)據(jù)顯示位置 write_week(week)。//指定周數(shù)據(jù)顯示內(nèi)容 temp=(week)/10*16+(week)%10。//十進(jìn)制轉(zhuǎn)換成DS1302要求的BCD碼 write_1302(0x8e,0x00)。//允許寫,禁止寫保護(hù) write_1302(0x8a,temp)。//向DS1302內(nèi)寫周寄存器8aH寫入調(diào)整后的周數(shù)據(jù)BCD碼 write_1302(0x8e,0x80)。//打開(kāi)寫保護(hù) write_1602(yh+0x0e)。//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動(dòng)加一,所以需要光標(biāo)回位 break。 case 5:ri++。 if(ri31) ri=1。 write_nyr(9,ri)。//令LCD在正確的位置顯示加設(shè)定好的日期數(shù)據(jù) temp=(ri)/10*16+(ri)%10。//十進(jìn)制轉(zhuǎn)換成DS1302要求的BCD碼 write_1302(0x8e,0x00)。//允許寫,禁止寫保護(hù) write_1302(0x86,temp)。//向DS1302內(nèi)寫日期寄存器86H寫入調(diào)整后的日
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1