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

正文內(nèi)容

其它考試]基于stc89s52單片機(jī)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)(編輯修改稿)

2024-12-16 04:15 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 5,根據(jù) INTEL 總線讀時(shí)序時(shí)序圖讀數(shù)據(jù)程序: uchar read_12C887(uchar add)//在指定的地址讀出數(shù) 據(jù) { uchar read_data。 DS=1。 RW=1。 AS=1。 CS=0。 P0=add。 AS=0。 DS=0。 P0=0XFF。 read_data=P0。 DS=1。 AS=1。 CS=1。 return(read_data)。 } 19 時(shí)間調(diào)整,鬧鐘調(diào)整,年、月、日調(diào)整 切換 子程序設(shè)計(jì) 當(dāng)按下按鈕 SW1 時(shí) ,中間標(biāo)志位 i 會(huì)自動(dòng)進(jìn)行加操作。當(dāng) i 等于 1 時(shí),時(shí)間調(diào)整標(biāo)志位置 1,進(jìn)入時(shí)間調(diào)整狀態(tài)。當(dāng) i 等于 2 時(shí),鬧鐘調(diào)整標(biāo)志位置 1,進(jìn)入鬧鐘調(diào)整狀態(tài)。當(dāng) i等于 3 時(shí),年、月、日調(diào)整標(biāo)志位置 1,進(jìn)入年、月、日調(diào)整狀態(tài)。 1, 時(shí)間調(diào)整,鬧鐘調(diào)整,年、月、日調(diào)整卻換子程序 如下 : void gongneng_quehuan() //功能卻換子程序 { if(SW1==0) { delay(5)。 if(SW1==0) { while(SW1==0)。 display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 i++。 if(i==1) { flag_set_time=1。//將時(shí)間 調(diào)整 標(biāo)志位置 1 } else if(i==2) { flag_set_time=0。 flag_set_alarm=1。//將鬧鐘調(diào)整標(biāo)志位置 1 } else if(i==3) { i=0。 flag_set_century=1。 //將年、月、日調(diào)整標(biāo)志位置 1 } } } } 20 時(shí)間調(diào)整子程序設(shè) 計(jì) 由于本 人想向單片機(jī)更高層次編程,本 設(shè)計(jì)只用三個(gè)按鈕 根據(jù)不同的組合狀態(tài)進(jìn)行時(shí)間,鬧鐘,年,月,日的調(diào)整。所以程序相對(duì)來(lái)說(shuō)是比較復(fù)雜的。 具體時(shí)間調(diào)整過(guò)程是這樣的, 首先進(jìn)行小時(shí)調(diào)整 ,然后進(jìn)行分鐘調(diào)整,最后進(jìn)行秒鐘調(diào)整。在小時(shí)調(diào)整過(guò)程中,如果 SW2 按鈕每按下一次時(shí)將對(duì)小時(shí) 當(dāng)前值 加 1 次,當(dāng)加到 24 時(shí)小時(shí)清零;如果 SW3 按鈕每被按下一次時(shí)將對(duì)小時(shí)當(dāng)前值減 1 次,當(dāng)減到 0 后再按一次 SW3 時(shí) 小時(shí) 賦值到 23。小時(shí)調(diào)整完畢后 將所調(diào)整好的小時(shí)值寫入小時(shí)寄存器中 ,然后又將寫入 到 小時(shí)寄存器的數(shù)值從 DS12CR887 中讀取出來(lái) 并 在顯示屏上 顯示出來(lái) 。 在分鐘調(diào)整 過(guò)程中, 如果 SW2 按鈕每按下一次時(shí)將對(duì)分鐘當(dāng)前值加 1 次,當(dāng)加到 60 時(shí)分鐘清零,小時(shí)加 1;如果 SW3 按鈕每被按下一次時(shí)將對(duì)分鐘當(dāng)前值減 1 次,當(dāng)減到 0 后再按一次 SW3 時(shí)分鐘賦值到 59。分鐘調(diào)整完畢后將所調(diào)整好的分鐘值寫入分鐘寄存器中,然后又將寫入 到 分鐘寄存器的數(shù)值從 DS12CR887 中讀取出來(lái)并在顯示屏上顯示出來(lái)。在 秒 鐘調(diào)整過(guò)程中,如果 SW2 按鈕每按下一次時(shí)將對(duì) 秒 鐘當(dāng)前值加 1 次,當(dāng)加到 60 時(shí) 秒 鐘清零,分鐘 加 1;如果 SW3 按鈕每被按下一次時(shí)將對(duì) 秒 鐘當(dāng)前值減 1 次,當(dāng)減到 0 后再按一次 SW3 時(shí) 秒 鐘賦值到 59。 秒 鐘調(diào)整完畢后將所調(diào)整好的 秒 鐘值寫入 秒 鐘寄存器中,然后又將寫入 到秒 鐘寄存器的數(shù)值從 DS12CR887 中讀取出來(lái)并在顯示屏上顯示出來(lái)。 當(dāng)小時(shí)、分鐘、秒鐘都調(diào)整完畢后按下確認(rèn)鍵( SW1 和 SW2都被按下時(shí))時(shí)間調(diào)整完成,并將當(dāng)前所調(diào)整出來(lái)的 數(shù)值在顯示屏上面顯示出來(lái),進(jìn)入時(shí)間顯示狀態(tài)。 1, 時(shí)間調(diào)整子程序如下: void shijian_tiaozheng() { char hours_timeset,timeset=0。 if(flag_set_time==1) { write_12C887(REGISTER_B,0XA6)。 flag_set_time=0。 if(timeset==0) { hours_timeset=read_12C887(hours)。//讀取當(dāng)前小時(shí)的值 SW2=1。 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。//小時(shí)值加 1 21 if(hours_timeset=24) hours_timeset=0。 write_12C887(hours,hours_timeset)。//將調(diào)整后的小時(shí)的值寫入小時(shí)寄存器 // LED2=1。 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。//小時(shí)值減 1 if(hours_timeset0) hours_timeset=23。 write_12C887(hours,hours_timeset)。//將調(diào)整后的小時(shí)的值寫入小時(shí)寄存器 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=1。 } SW1=1。 SW2=1。 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 if(timeset==1) { hours_timeset=read_12C887(minutes)。 SW2=1。 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。 if(hours_timeset=60) hours_timeset=0。 write_12C887(minutes,hours_timeset)。 } } if(SW3==0) { delay(5)。 if(SW3==0) { 22 while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。 if(hours_timeset0) hours_timeset=59。 write_12C887(minutes,hours_timeset)。 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=2。 } SW1=1。 SW2=1。 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 if(timeset==2) { hours_timeset=read_12C887(seconds)。 SW2=1。 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset++。 if(hours_timeset=60) hours_timeset=0。 write_12C887(seconds,hours_timeset)。 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 hours_timeset。 if(hours_timeset0) hours_timeset=59。 write_12C887(seconds,hours_timeset)。 } } display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 } timeset=0。 23 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds),read_12C887(minutes),read_12C887(hours))。 write_12C887(REGISTER_B,0X26)。 } } } 24 鬧鐘定時(shí)調(diào)整子程序設(shè)計(jì) 在正常的走時(shí)狀態(tài)下,連續(xù)兩次按下 SW1 按鈕,將進(jìn)入鬧鐘調(diào)整狀態(tài)。 首先進(jìn)行小時(shí)調(diào)整,然后進(jìn)行分鐘調(diào)整,最后進(jìn)行秒鐘調(diào)整。在小時(shí)調(diào)整過(guò)程中,如果 SW2 按鈕每按下一次時(shí)將對(duì)小時(shí)當(dāng)前值加 1 次,當(dāng)加到 24 時(shí)小時(shí)清零;如果 SW3 按鈕每被按下一次時(shí)將對(duì)小時(shí)當(dāng)前值減 1 次,當(dāng)減到 0 后再按一次 SW3時(shí)小時(shí)賦值到 23。小時(shí)調(diào)整完畢后將所調(diào)整好的小時(shí)值寫入小時(shí)寄存器中,然后又將寫入到小時(shí)寄存器的數(shù)值從 DS12CR887 中讀取出來(lái)并在顯示屏上顯示出來(lái)。在分鐘調(diào)整過(guò)程中,如果 SW2 按鈕每按下一次時(shí)將對(duì)分鐘當(dāng)前值 加 1 次,當(dāng)加到 60 時(shí)分鐘清零,小時(shí)加 1;如果 SW3 按鈕每被按下一次時(shí)將對(duì)分鐘當(dāng)前值減 1 次,當(dāng)減到 0 后再按一次 SW3 時(shí)分鐘賦值到 59。分鐘調(diào)整完畢后將所調(diào)整好的分鐘值寫入分鐘寄存器中,然后又將寫入到分鐘寄存器的數(shù)值從DS12CR887 中讀取出來(lái)并在顯示屏上顯示出來(lái)。在秒鐘調(diào)整過(guò)程中,如果 SW2按鈕每按下一次時(shí)將對(duì)秒鐘當(dāng)前值加 1 次,當(dāng)加到 60 時(shí)秒鐘清零,分鐘加
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1