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

正文內(nèi)容

基于mcs51單片機的多功能秒表設計微機原理與應用課程設計報告(編輯修改稿)

2025-08-15 15:11 本頁面
 

【文章內(nèi)容簡介】 //測試行 GPIO_KEY=0XF0。 switch(GPIO_KEY) { case(0X70): KeyValue=KeyValue。break。 case(0Xb0): KeyValue=KeyValue+4。break。 case(0Xd0): KeyValue=KeyValue+8。break。 case(0Xe0): KeyValue=KeyValue+12。break。 } while((a50)amp。amp。(GPIO_KEY!=0xf0)) //檢測按鍵松手檢測 { Delay10ms(1)。 a++。 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 } a=0。 } } } ( 3) 顯示子程序 這里采用動態(tài)顯示,方便調(diào)用,源程序如下: void DigDisplay(void) //顯示子程序 { unsigned char i。 unsigned int j。 for(i=0。i8。i++) { switch(i) //位選,選擇點亮的數(shù)碼管, { case(0): LSA=0。LSB=0。LSC=0。 break。//顯示第 0 位 case(1): LSA=1。LSB=0。LSC=0。 break。//顯示第 1 位 case(2): LSA=0。LSB=1。LSC=0。 break。//顯示第 2 位 case(3): LSA=1。LSB=1。LSC=0。 break。//顯示第 3 位 case(4): LSA=0。LSB=0。LSC=1。 break。//顯示第 4 位 case(5): LSA=1。LSB=0。LSC=1。 break。//顯示第 5 位 case(6): LSA=0。LSB=1。LSC=1。 break。//顯示第 6 位 case(7): LSA=1。LSB=1。LSC=1。 break。//顯示第 7 位 } GPIO_DIG=DisplayData[i]。//發(fā)送段碼 j=50。 //掃描間隔時間設定 while(j)。 GPIO_DIG=0x00。//消隱 } } ( 4) 存儲子程序 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 當存儲 /回放鍵按下,即 keyvalue=13,且定時器 0為啟動狀態(tài)時,對當前時間進行存儲,設置 t1為計時次數(shù)。源程序如下: void cuncu() //存儲程序 { t1++。 //t1 為計時次數(shù) a=3*(t11)。 // 修改 1 :原來存儲指針計算錯誤,添加 a=3*(t11)指針計算 if(t1=20) { aa[a]=min。delay(20)。 a++。aa[a]=sec。 delay(20)。 a++。aa[a]=ms_10。delay(20)。 t11=t1。} } ( 5) 回放子程序 當存儲 /回放鍵按下,即 keyvalue=13,且定時器 0 為關閉狀態(tài)時,對當前存儲時間進行回放,從最后一次會放至第一次,然后再循環(huán)回放,源程序如下: void huifang()//回放子程序 { if(t1==0)t1=t11。 if(t10){b=3*(t11)。 DisplayData[7]=zxma[t1/10]。//數(shù)碼管 6顯示次數(shù) DisplayData[6]=zxma[t1%10]+128。 DisplayData[5]=zxma[aa[b]/10]。 DisplayData[4]=zxma[aa[b]%10]+128。 //數(shù)碼管 4顯示分鐘 b++。 DisplayData[3]=zxma[aa[b]/10]。 //數(shù)碼管 2顯示秒 DisplayData[2]=zxma[aa[b]%10]+128。 b++。 DisplayData[1]=zxma[aa[b]/10]。 //數(shù)碼管 0顯示 10ms DisplayData[0]=zxma[aa[b]%10]。 t1。 } DigDisplay()。 } ( 6) 倒計時子程序 倒計時程序是軟件設計的一大難點,也是我新拓展的功能,首先要解決如何用按鍵賦倒計時初值的問題,其次再實現(xiàn)倒計時也比計時麻煩一些。我編寫的程序相對比較繁瑣,也許有待進一步精簡完善。設置 xian()子程序方便調(diào)用,源程序如下: void daojis() { ms_10=0,sec=0,min=0,m1=0,m0=0,s1=0,s0=0。 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 while(1){ KeyDown()。 if(KeyValue6){m1=KeyValue。KeyValue=11。 //第一次按鍵為秒的低位 while(1){KeyDown()。 if(KeyValue10){m0=KeyValue。KeyValue=11。 while(1){KeyDown()。 if(KeyValue6){s1=KeyValue。KeyValue=11。 while(1){KeyDown()。 if(KeyValue10){s0=KeyValue。 while(1) { KeyDown()。xian()。 if(KeyValue==15){ms_10=1。F2=1。TR1=1。KeyValue=0。if(F2==1)break。} // ms_10=1。 } } if(F2==1)break。 xian()。} xian()。} if(F2==1)break。 xian()。} xian()。 } if(F2==1)break。 xian()。 } xian()。} if(F2==1)break。 xian()。} } void xian() { min=m1*10+m0。sec=s1*10+s0。 DisplayData[7]=zxma[min/10%10]。//分 DisplayData[6]=zxma[min%10]。//分 DisplayData[5]=0x40。 DisplayData[4]=zxma[sec/10%10]。 //秒 DisplayData[3]=zxma[sec%10]。 //秒 DisplayData[2]=0x40。 DisplayData[1]=zxma[ms_10/10%10]。 // 秒 DisplayData[0]=zxma[ms_10%10]。 // 秒 DigDisplay()。 } ( 7)其他 還有一些比較簡單的程序,如延時子程序,蜂鳴器發(fā)聲子程序等,詳見附錄三。 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 硬件調(diào)試 通電調(diào)試,檢查開發(fā)板是否正常,矩陣鍵盤按鍵,各個數(shù)碼管是否正常工作。 軟件調(diào)試 軟件調(diào)試 其實是穿插在軟件設計的整個過程當中的,也是課程設計中最難同時也最重要的一步。由于是第一次做課程設計,當然軟件調(diào)試中遇到了各種各樣的問題: ( 1) 編寫好程序后,發(fā)現(xiàn)定時器不工作,然后查找原因,發(fā)現(xiàn)是定時器初始化有問題,因為一開始我是分別對兩個定時器初始化,這樣在對第二個定時器初始化時就影響到了定時器 1。 ( 2) 對存儲的時間進行回放時,發(fā)現(xiàn)回放顯示的時間與預期的不一致,與同學討論之后沒能解決,最后聯(lián)系老師問題才得以解決,原來是存儲程序中存儲指針計算錯誤,即 修改 1 : 原來存儲指針計算錯誤,添加 a=3*(t11)指針計算 。 ( 3) 秒表倒計時程序編寫經(jīng)過多次調(diào)試才得以成功,還有矩陣按鍵輸入初值時,剛開始沒有考慮對鍵值進行約束和清零,消除對后面讀取鍵值的影響。 ( 4) 用 proteus 仿真得到的部分回放結果如圖 12 所示: 當前回放至第八次計時,時間為 1:02:21。 圖 12 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 再按一次回放鍵結果如 圖 13所示 : 顯示第七次計時 ,時間為 1:01:01 圖 13 再按一次回放鍵結果如圖 14所示 : 顯示第六次計時,時間為 00:44:47 中國礦業(yè)大學信息與 電氣工程學院《微機原理與應用》課程設計 圖 14 通過本次課程設計,我深刻地認識到自己有很多不足之處,比如在自主學習能力方面的不足,實際動手操作能力的不足等。 這次的 微機原理 課程設計是理論與實踐相結合的范例。該設計從頭到尾都要 自己參與進來,熟悉了整個設計流程才能更快地設計出方案并完成設計,但是 本次課程設計 我還是也投入了大量的時間。微機原理 課程早已結束,相關的知識 有些 已經(jīng)很模糊,導致我在設計硬件電路中遇到了不少麻煩。 首先由于是第一次接觸課程設計,很多地方都 不知從何入手。 但是通過分析秒表的多種功能,我試著把每個部分模塊化,把任務分解化, 如晶體振蕩電路,復位電路,按鍵電路,顯示電路。完成設計后需要運用 PROTEUS軟件進行設計仿真,由于這是第一次接觸這個軟件,還不知怎樣運用它,查閱該軟件的相關資料及看過網(wǎng)上的視頻后便開始著手畫圖,接觸后覺得還是挺簡單的。 從搜索資料到硬件、軟件的調(diào)試,每一步、每一個細節(jié)都經(jīng)過自己的思考, 經(jīng)過 各方案的比較選擇、硬件、軟件的設計和調(diào)試,最終 完成了多功能秒表 。在做的過程中不但加深了我們對單片機理論知識的認識和理解還認識到了這門學科在應用方面的廣闊前景。實踐是最有高度也是最能體現(xiàn)整體水平的整個設計過程中,設計出了很 多不一樣的硬件電路圖,寫過了很多不一樣的程序,正如設計中如何能使硬件電路圖簡單明了,程序簡單而準確,如何能準確的運行,都是通過與同學老師的交流,慢慢摸索出來的。以上的不斷探索, 讓我 進一步熟悉和掌握單片機內(nèi)部結構和工作原理,了解單片機應用系統(tǒng)設計的基本步驟和方法。通過利用 AT89C51 單片機,理解單片機在自動化儀表中的作用以及掌握單片機的編程方法。通過設計一個簡單的實際應用輸入及顯示模擬系統(tǒng),掌握單片機仿真軟件 PROTEUS 的使用方法。 此次設計不足之處: ( 1)此次設計由于主要集中在秒表功能的拓展,對秒表供電這一部分沒有過多的討論,還有 待補充; ( 2)我所能想到的秒表應該實現(xiàn)的功能已基本實現(xiàn),其他功能還可以拓展。 ( 3)該秒表在啟動倒計時后,無法立即清零,只有在輸入初值,啟動倒計時后才可以對其清 零,當然,這不影響秒表的使用。 此次 設計的這種具有 存儲 記錄, 手動設置初值倒計時 功能的秒表在現(xiàn)實生活中應用廣泛 ,如體育項目,因此本次課程設計具有現(xiàn)實意義,我很開心能將知識運用到實踐中并在自主學習中收獲到那么多。 最后,我要感謝宗偉林老師給與我的支持與幫助,里面幾個問題都是 請教老師才得以解決,而且老師給我提供了一些建議,讓我在自己的設計上加以改進,例如將啟動停止鍵,存儲回放鍵合二為一,這些改進讓多功能秒表更加實用完美。 中國礦業(yè)大學信息
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1