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

正文內(nèi)容

基于單片機的電子萬年歷設(shè)計_畢業(yè)設(shè)計-資料下載頁

2025-08-16 14:29本頁面

【導(dǎo)讀】利用單片機定時器及計數(shù)器產(chǎn)生定時效果通過編。同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同。第十一周至第十二周撰寫畢業(yè)論文,準(zhǔn)備答辯。除每周定時具體指導(dǎo)外,學(xué)生有問題也可隨時聯(lián)系指導(dǎo)。如有特殊原因可適當(dāng)調(diào)整,否則按計劃執(zhí)行。人類不斷研究,不斷創(chuàng)新紀(jì)錄。發(fā)展到現(xiàn)在人們廣泛使用的電子萬年歷。因此,研究電子萬年歷及擴大其應(yīng)用,有著非?,F(xiàn)實的。它可以對年、月、日、時、分、秒進(jìn)行計時,對于電子萬年歷采用直觀的數(shù)字。顯示,可以同時顯示年、月、日、時、分、秒等信息,還具有時間校準(zhǔn)等功能。的第1周周五之前獨立撰寫完成,并交指導(dǎo)教師審閱。

  

【正文】 0ms,當(dāng)判斷的按鍵按下后,先執(zhí)行一段大于 10ms 的延時程序后再去判斷按下的是哪一個,從而消除前沿抖動的影響。對于后沿抖動,只需在接收一個鍵位后,經(jīng)過一定時間再去檢測有無按鍵,這樣就自然跳過后沿抖 動時間而消除后沿抖動了。 開始 檢查按鍵有閉合嗎? 延時消顫 再判按鍵有閉合嗎? 延時消顫 閉合鍵已釋放了嗎? 返回 延時 消顫 N N NA Y YU Y 基于單片機的電子萬年歷設(shè)計 19 時間調(diào)整流程圖 基于單片機的電子萬年歷設(shè)計 20 致謝 本論文是在導(dǎo)師 劉老師 的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在 劉老 師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向 劉老 師表示崇高的敬意和衷心的感謝! 本論文的順利完成,離不 開各位老師、同學(xué)和朋友的關(guān)心和幫助。在此感謝 各位實驗室老師 的指導(dǎo)和幫助; 感謝 各位室友及同學(xué)的幫助 ;感謝 XXX 院母校 的關(guān)心、支持和幫助; 在 四 年的學(xué)習(xí)期間,沒有 你 們的幫助和支持是沒有辦法完成我的學(xué)位論文的, 愿師生之誼長存,同窗之間的友誼長存。 基于單片機的電子萬年歷設(shè)計 21 參考文獻(xiàn) 肖洪兵 . 跟我學(xué)用單片機 . 北京:北京航空航天大學(xué)出版社 , 何立民 . 單片機高級教程. 第 1 版.北京:北京航空航天大學(xué)出版社, 2020 趙曉安 . MCS51 單片機原理及應(yīng)用 . 天津:天津大學(xué)出版社, 李廣第. 單片機基礎(chǔ). 第 1 版.北京:北京航空航天大學(xué)出版社, 1999 徐惠民、安德寧. 單片微型計算機原理接口與應(yīng)用. 第 1 版. 北京郵電大學(xué)出版社, 1996 何立民.從 Cygnal 80C51F 看 8 位單片機發(fā)展之路. 單片機與嵌入式系統(tǒng)應(yīng)用, 2020年,第 5 期: P5~8 夏繼強 . 單片機實驗與實踐教程 . 北京:北京航空航天大學(xué)出版社 , 2020 陳志強 胡輝 . 單片機應(yīng)用系統(tǒng)設(shè)計實踐指南 . 自編教材 肖洪兵 . 單片機應(yīng)用技術(shù) . 自編教材 附錄 基于單片機的電子萬年歷設(shè)計 22 /***************************萬年歷 ***************************/ /**功能: 1:年月日上次的事實、是分秒顯示轉(zhuǎn)換 *****/ /******: 2:調(diào)表(閃爍,右移,確定,取消) *********************/ //**操作: 1:正數(shù)第 4 行依次為切換,固定 /取消,右移,上翻 /**********:正數(shù)第 3 行為保存 ************************/ include define uint unsigned int define uchar unsigned char sbit wela=P2^7。/*位鎖 */ sbit dula=P2^6。/*段鎖 */ uchar code NumShow[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}。//數(shù)碼管顯示數(shù)組 uchar Runtime=0,temp=0,change=0,spark=0,move=0,add=0,sure=0,clock=0。 uchar uYear=8,uMonth=11,uDay=28,uHour=11,uMinute=50,uSecond=50。 uchar Num1=0,Num2=0,Num3=0,Num4=0,Num5=0,Num6=0。 uchar dHour=0,dMinute=0,dSecond=0。 void keyscan()。//矩陣按鍵的掃描檢測函數(shù) void num_sure()。//送入數(shù)據(jù)函數(shù) void init()。//初始化函數(shù) void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff)。//數(shù)碼管顯示函數(shù) void Delay(uint z)。//延時函數(shù) 基于單片機的電子萬年歷設(shè)計 23 void showchange()。 /*************主函數(shù) *******************/ void main() { P0=0。 init()。 while(1) { keyscan()。//開始矩陣按鍵檢測 if(spark==0)//未進(jìn)入閃爍模式 { showchange()。//此時為正常走時模式,數(shù)據(jù)按秒變化 } else //此時為設(shè)定移位調(diào)表模式 { if(sure==1)//要求將設(shè)定的時間存入表中 { num_sure()。//確定調(diào)好的數(shù)據(jù)保存,送入顯示 } } } } /******************數(shù)碼管顯示函數(shù) ********************************/ void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff) { 基于單片機的電子萬年歷設(shè)計 24 static uint SparkTime=0。 if(SparkTime=300) SparkTime=0。//閃爍即計時變量 switch(++SparkTime%6)//多位數(shù)碼管靜態(tài)顯示時間 { case 0: { P0=NumShow[aa]。//顯示數(shù)字 dula=1。 dula=0。 P0=0Xfe。//顯示的數(shù)碼管 wela=1。 wela=0。 if(move==1)//進(jìn)入調(diào)表移位模式,下面相同 { if(SparkTime=0amp。amp。SparkTime150)//閃爍中的熄滅 { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300)//閃爍中的顯示 { P0=NumShow[aa]。 dula=1。 基于單片機的電子萬年歷設(shè)計 25 dula=0。 } } break。 } case 1: { P0=NumShow[bb]。 dula=1。 dula=0。 P0=0Xfd。 wela=1。 wela=0。 if(move==2) { if(SparkTime=0amp。amp。SparkTime150) { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300) { P0=NumShow[bb]。 基于單片機的電子萬年歷設(shè)計 26 dula=1。 dula=0。 } } break。 } case 2: { P0=NumShow[cc]。 dula=1。 dula=0。 P0=0Xfb。 wela=1。 wela=0。 if(move==3) { if(SparkTime=0amp。amp。SparkTime150) { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300) { P0=NumShow[cc]。 基于單片機的電子萬年歷設(shè)計 27 dula=1。 dula=0。 } } break。 } case 3: { P0=NumShow[dd]。 dula=1。 dula=0。 P0=0Xf7。 wela=1。 wela=0。 if(move==4) { if(SparkTime=0amp。amp。SparkTime150) { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300) { P0=NumShow[dd]。 基于單片機的電子萬年歷設(shè)計 28 dula=1。 dula=0。 } } break。 } case 4: { P0=NumShow[ee]。 dula=1。 dula=0。 P0=0Xef。 wela=1。 wela=0。 if(move==5) { if(SparkTime=0amp。amp。SparkTime150) { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300) { P0=NumShow[ee]。 基于單片機的電子萬年歷設(shè)計 29 dula=1。 dula=0。 } } break。 } case 5: { P0=NumShow[ff]。 dula=1。 dula=0。 P0=0Xdf。 wela=1。 wela=0。 if(move==6) { if(SparkTime=0amp。amp。SparkTime150) { P0=0。 dula=1。 dula=0。 } else if(SparkTime=150amp。amp。SparkTime300) { P0=NumShow[ff]。 基于單片機的電子萬年歷設(shè)計 30 dula=1。 dula=0。 } } break。 } } } /************延時函數(shù) ***************/ void Delay(uint z) { uint i=0,j=0。 for(i=z。i0。i) for(j=110。j0。j)。 } /*************按鍵掃描函數(shù) *********************/ void keyscan() { P3=0xf7。 temp=P3。 temp=tempamp。0xf0。 if(temp!=0xf0)//第一行掃描 { Delay(5)。 基于單片機的電子萬年歷設(shè)計 31 temp=P3。 temp=tempamp。0xf0。 while(temp!=0xf0)//讀取按鍵信息 { temp=P3。 switch(temp) { case 0xe7:{ //日期和時鐘切換按鍵按下 change++。 if(change1) { change=0。 } break。 } case 0xd7:{ //進(jìn)入設(shè)定模式 spark++。 move=1。 if(spark1) //如果已進(jìn)入設(shè)定模式,再按此鍵
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1