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

正文內(nèi)容

其它考試]基于stc89s52單片機的實時時鐘設計(已改無錯字)

2022-12-23 04:15:18 本頁面
  

【正文】 1;如果 SW3按鈕每被按下一次時將對秒鐘當前值減 1次,當減到 0后再按一次 SW3時秒鐘賦值到 59。秒鐘調(diào)整完畢后將所調(diào)整好的秒鐘值寫入秒鐘寄存器中,然后又將 寫入到秒鐘寄存器的數(shù)值從 DS12CR887 中讀取出來并在顯示屏上顯示出來。當小時、分鐘、秒鐘都調(diào)整完畢后按下確認鍵( SW1 和 SW2 都被按下時)時間調(diào)整完成,并將當前所調(diào)整出來的數(shù)值 存入鬧鐘寄存器 C 中為以后的鬧鐘中斷程序服務 , 然后 進入時間顯示狀態(tài)。 1,時間調(diào)整子程序如下所示: void naozhong_tiaozheng() { char alarmset,alarmset_flag=0。 if(flag_set_alarm==1) { flag_set_alarm=0。 if(alarmset_flag==0) { alarmset=read_12C887(hours_alarm)。//讀取當前小時的值 SW2=1。 25 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1)//如果確認鍵未按下,一直處于小時調(diào)整狀態(tài) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset++。//小時值加 1 if(alarmset=24) alarmset=0。 write_12C887(hours_alarm,alarmset)。//將調(diào)整后的小時的值寫入小時寄存器 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset。//小時值減 1 26 if(alarmset0) alarmset=23。 write_12C887(hours_alarm,alarmset)。//將調(diào)整后的小時的值寫入小時寄存器 } } display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 } alarmset_flag=1。 } SW1=1。 SW2=1。 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 if(alarmset_flag==1) { alarmset=read_12C887(minutes_alarm)。 SW2=1。 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1) { if(SW2==0) { delay(5)。 if(SW2==0) { 27 while(SW2==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset++。 if(alarmset=60) alarmset=0。 write_12C887(minutes_alarm,alarmset)。 } } if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset。 if(alarmset0) alarmset=59。 write_12C887(minutes_alarm,alarmset)。 } } display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 } alarmset_flag=2。 28 } SW1=1。 SW2=1。 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 if(alarmset_flag==2) { alarmset=read_12C887(seconds_alarm)。 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_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset++。 if(alarmset=60) alarmset=0。 write_12C887(seconds_alarm,alarmset)。 } } 29 if(SW3==0) { delay(5)。 if(SW3==0) { while(SW3==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 alarmset。 if(alarmset0) alarmset=59。 write_12C887(seconds_alarm,alarmset)。 } } display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 } alarmset_flag=0。 SW1=1。 SW2=1。 while((SW2amp。amp。SW1)==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 } } } 30 年、月、日 顯示 子程序設計 在時間顯示的情況下,如過 SW2 與 SW3 按鈕都被按下時,則進入年、月、日顯示狀態(tài)。 在此狀態(tài)下如果按下 SW2 或 SW3 按鈕,則返回到時間顯示狀態(tài) 1, 年、月、日顯 示子程序如下: void disp_century() //年、月、日顯示子程序設計 { if(((SW2==0)amp。amp。(SW3==0))) { delay(5)。 if(((SW2==0)amp。amp。(SW3==0))) { while((SW2amp。amp。SW3)==0) display(read_12C887(seconds_alarm),read_12C887(minutes_alarm),read_12C887(hours_alarm))。 while(((SW2==0)amp。amp。(SW1==0))!=1) { display(read_12C887(day_of_month),read_12C887(month),read_12C887(year))。 } while((SW2amp。amp。SW1)==0) display(read_12C887(day_of_month),read_12C887(month),read_12C887(year))。 } } } 31 年、月、日調(diào)整子程序設計 在正常的走時狀態(tài)下,連續(xù) 三 次按下 SW1 按鈕, 將進入 年、月、日 調(diào)整狀態(tài)。首先進行 年份 調(diào)整,然后進行 月份 調(diào)整,最后進行 日期 調(diào)整。在 年的 調(diào)整過程中,如果 SW2按鈕每按下一次時將對 年份 當前值加 1 次,當加到 99 時 年份 清零;如果 SW3 按鈕每被按下一次時將對 年份 當前值減 1 次,當減到 0 后再按一次 SW3 時 年份 賦值到 99。 年份 調(diào)整完畢后將所調(diào)整好的 年份 值寫入 年份 寄存器中,然后又將寫入到 年份 寄存器的數(shù)值從DS12CR887 中讀取出來并在顯示屏上顯示出來。在 月 調(diào)整過程中,如果 SW2 按鈕每按下一次時將對 月份 當前值加 1 次,當加到 12 后月份置 1;如果 SW3 按鈕每被按下一次時將對 月份 當前值減 1 次,當減到 1 后再按一次 SW3 時 月份 賦值到 12。 月份 調(diào)整完畢后將所調(diào)整好的 月份 值寫入 月份 寄存器中,然后又將寫入到 月份 寄存器的數(shù)值從 DS12CR887 中讀取出來并在顯示屏上顯示出來。在 日期 調(diào)整過程中, 分為兩種情況。 1,潤年的日期調(diào)整; 2,平年的日期調(diào)整。在閏年的日期調(diào)整中 1 月、 3 月、 5 月、 7 月、 8 月、 10 月、 12 月按 31 天計算,如果 SW2 被按下時則當前月的日期加 1,當加到 31 后 日期置 1。 如果 SW3 按鈕每被按下一次時將對 日期 當前值減 1 次,當減到 1 后再按一次 SW3 時 日期 賦值到 31。 在閏年的日期調(diào)整中 4 月 、 6 月、 9月、 11 月按 30 天算, 2 月按 29 天算。如果 SW2 被按下時則當前月的日期加 1,當加到 30 后日期置 1,若是對 2 月份調(diào)整則加到 29 后置 1。 如果 SW3 按鈕每被按下一次時將對日期當前值減 1 次,當減到 1 后再按一次 SW3 時日期賦值到 30,若是對 2 月份調(diào)整則減到 1 后賦值到 29。 在平年日期 的 調(diào)整 方式與在閏年中日期的調(diào)整方式一樣 ,注意的是在對 2 月份日期進行調(diào)整時應按 28 天計算,在此不詳述。 當年份、月份、日期都調(diào)整完畢后按下確認鍵( SW1 和 SW2 都被按下時)年、月、日調(diào)整完成,并將當前所調(diào)整出來的數(shù)值在顯示屏上面顯示出 來,進入時間顯示狀態(tài)。 1,年、月、日調(diào)整子程序如下所示: void century_set() { char century_set,centuryset=0。 bit flag_runnian。 if(flag_set_century==1) { flag_set_century=0。 if(centuryset==0)//設置年 { 32 century_set=read_12C887(year)。//讀取上一次的年份 SW2=1。 SW1=1。 while(((SW2==0)amp。amp。(SW1==0))!=1)//如果確認鍵未按下一直處于設置年份的狀態(tài) { if(SW2==0) { delay(5)。 if(SW2==0) { while(SW2==0) display(read_12C887(day_of_month),read_12C887(month),read_12C887(year))。 century_set+
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1