![單片機課程設(shè)計報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd1.gif)
![單片機課程設(shè)計報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd2.gif)
![單片機課程設(shè)計報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd3.gif)
![單片機課程設(shè)計報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd4.gif)
![單片機課程設(shè)計報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd/9eb4acc2-9f8e-4a20-a3e2-7a65b2bcacdd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上文華學院單片機原理及應(yīng)用課 程 設(shè) 計 報 告 姓 名: 學 號: 學 部 (系): 專 業(yè) 年 級: 指 導(dǎo) 老 師: 2016年 12月 5日專心-專注-專業(yè)目 錄一 標題1二 設(shè)計內(nèi)容,設(shè)計要求1三 設(shè)計思路1四 工作原理2五 硬件設(shè)計3六 軟件設(shè)計(含流程圖)5七 調(diào)試9八 改進意見10九 收獲及體會10十 源程序(含注釋) 11一、標題簡易計時器LED 數(shù)碼管顯示接口技術(shù)應(yīng)用二、設(shè)計內(nèi)容,設(shè)計要求1、目的a.通過簡易計時器的制作,熟悉LED 數(shù)碼管與單片機的接口方式;b.定時計數(shù)器、中斷技術(shù)的綜合應(yīng)用;c.學會簡易鍵盤的使用。2、 明確要完成的任務(wù)a.利用按
2、鍵構(gòu)成鍵盤實現(xiàn)秒表的啟動、停止與復(fù)位,b.利用LED 數(shù)碼管顯示時間。c.進行簡單的串行通信。3、用單片機實現(xiàn)任務(wù)a.如何運用單片機實現(xiàn)計時;b.如何顯示時間;c.如何利用按鍵實施對秒表的控制。d.定時器T0 或Tl 的定時時間作為時鐘計時的基準e.啟動與停止定時器工作實現(xiàn)計時。f.先用兩個數(shù)碼管動態(tài)顯示時間,時間范圍為0-60s g.用三個獨立式按鍵實現(xiàn)秒表的啟動、停止和復(fù)位功能。h.A機發(fā)送,B機接收3、 設(shè)計思路1、硬件設(shè)計思路a.采用P0 口輸出并聯(lián)控制兩個數(shù)碼管的8 個段選控制端b.用P2.0、P2.1分別控制兩個LED 數(shù)碼管的位選控制端c.動態(tài)顯示電路接法,LED 采用共陽極數(shù)碼
3、d.三個按鍵采用獨立式鍵盤接法,e.兩個按鍵連接到外部中斷INT0 、INT1 的輸人引腳P3.2和P3.3f.S4按鍵接到T1的外部脈沖輸入引腳P3.5,以中斷方式實現(xiàn)鍵盤輸入狀態(tài)的掃描g.其中S2為啟動按鈕,S3為停止按鈕,S4 清零按鈕。h.K1為復(fù)位鍵2、 程序設(shè)計思路a.根據(jù)設(shè)計的總體要求劃分出各功能程序模塊,分別確定主程序、子程序及中斷服務(wù)程序結(jié)構(gòu)b.對各程序模塊占用的單片機資源進行統(tǒng)一調(diào)配c.對各模塊間的邏輯關(guān)系進行細化,優(yōu)化程序結(jié)構(gòu)d.設(shè)計出各模塊程序結(jié)構(gòu)流程圖e.最后依據(jù)流程圖編制具體程序f.將整個程序劃分為主程序、鍵盤掃描程序、秒計時程序三大模塊g.其中主程序除完成初始化外
4、,主要由動態(tài)顯示程序構(gòu)成h.秒計時程序由定時器0中斷服務(wù)子程序構(gòu)成i.鍵盤掃描程序也由各中斷服務(wù)子程序來實現(xiàn)四、工作原理1、計時表原理圖S1:復(fù)位按鍵 S2:啟動按鍵 S3:暫停按鍵 S4:清零按鍵 T1(P3.5) INT1(P3.3) INT0(P3.2) 工作原理圖如上圖所示,單片機所需的晶振頻率由振蕩電路提供,復(fù)位由復(fù)位電路實現(xiàn)。其中S2為啟動按鈕,S3為停止按鈕,S4為清零按鈕,三個按鈕分別連接到外部中斷INT0 、INT1 的輸人引腳P3.2、P3.3和T1的外部脈沖輸入引腳P3.5。 設(shè)置外部中斷為下降沿觸發(fā),當按鍵未被按下時,其相應(yīng)的引腳為高電平,而當按鍵被按下后,變?yōu)榈碗娖剑?/p>
5、因此有下降沿,產(chǎn)生中斷,從而執(zhí)行相應(yīng)的外部中斷服務(wù)程序,實現(xiàn)啟動和停止的功能。同理,只要設(shè)置T1為計數(shù)器,因為計數(shù)器是對外脈沖的下降沿計數(shù),當按鍵按下時,產(chǎn)生下降沿,計數(shù)值加1,這樣,只要選擇合適的計數(shù)初值,使其只要加1后產(chǎn)生溢出,也會執(zhí)行T1的中斷服務(wù)程序,實現(xiàn)清零的功能。而對1S時間的準確控制可以由定時器T0來控制,這樣,就實現(xiàn)了T0、T1、INT0、INT1等4個中斷源的運用。 對于數(shù)碼管,采用P0 口輸出并聯(lián)控制兩個數(shù)碼管的8 個段選控制端,而用P2.0、P2.1分別控制兩個LED 數(shù)碼管的位選控制端,這是動態(tài)顯示的電路接法,LED采用共陽極接法,0-9的共陽極數(shù)碼管編碼如下所示:共陽
6、極數(shù)碼管編碼0xc00xf90xa40xb00x99012340x920x820xf80x800x9056789 五、硬件設(shè)計圖2 電路布線圖(protel)圖3 PCB圖 元器件清單元件名稱參數(shù)/型號說明封裝數(shù)量1單片機89C51廠家:ATMELDIP-4012IC插座DIP40雙列直插式/40個引腳孔13晶體振蕩器12MHZ石英晶體振蕩器(非溫度補償式)直插式14數(shù)碼管HS-5101BS265IC插座單排針插座/16個引腳孔,間距2.54mm說明:串口下載RS23216RS232通訊MAX232DIP17普通按鍵DTS65K38復(fù)位按鍵6*6*4.319瓷片電容30pF直插式210電解電容
7、1040.1uF直插式611電阻1k612電阻10k413電阻510614直流電源GM-5V/1A115電源插頭DC座(中號)與直流電源的插口直徑相同116串口接口9針117USB轉(zhuǎn)串口線9針118三極管9014619電源撥動開關(guān)單排120制PCB板1六、軟件設(shè)計(含流程圖)K3(S4):001BH 方式2計數(shù),中斷 , 計數(shù)初值:256-1=255,秒計數(shù)清0K1(S2):0013H 下降沿中斷,啟動T0、T1K2(S3):0003H 下降沿中斷, 關(guān)斷T0,暫停計時T0:000BH 方式1,50ms定時中斷, 中斷20次為1S。1. 兩個LED 顯示的時間由顯示緩沖區(qū)31H 、30H 單元
8、中的數(shù)據(jù)決定。動態(tài)顯示每位的持續(xù)時間為lms ,采用軟件延時。2. 1 秒鐘的定時采用定時器T0 的方式1 來實現(xiàn)。3. T0每50ms中斷一次,每中斷一次計數(shù)單元R0 內(nèi)容減1 ;若計滿20 次,秒計數(shù)單元R4 內(nèi)容加1。4. R4 單元中的數(shù)據(jù)采用壓縮BCD 碼按十進制計數(shù),將該單元中的數(shù)據(jù)拆成個位和十位兩個十進制數(shù)據(jù)后分別送至顯示緩沖區(qū)的3OH 、31H 單元。主程序流程圖:1.顯示程序開始 KAISHIKAISHI 定時器 T0初始化 秒表初始化 顯示初始化 延時 是否顯示完? 段碼送P0口 位碼送P2口· 查表顯示初始化Y N查詢是否溢出 開始 保護現(xiàn)場 清除溢出標志位,重
9、置計數(shù)初值 秒值除以10 個位、十位送相應(yīng)緩沖區(qū) 秒表加一 N 設(shè)定時器初值 是否60s ? 秒值清0 返回Y2.查詢程序YN 開始3.按鍵子程序否檢測按鍵按下是按鍵判斷S4S3S2清零計時暫停計時啟動計時顯示子程序7、 調(diào)試(遇到的問題和解決方法)1、輸人源程序。2、先調(diào)試主程序,實現(xiàn)基本的顯示功能。3、當無鍵按下時,將一直顯示初值“00”。4、再調(diào)試查詢服務(wù)程序。5、當按鍵S2按下時,程序?qū)D(zhuǎn)到啟動子程序,啟動定時器開始計時。7、當按鍵S3按下時,程序?qū)D(zhuǎn)到停止子程序,定時器停止計時,秒表顯示內(nèi)容保持不變;當按鍵S3在次按下時定時器開始計時。8、當按鍵S4按下時,程序?qū)D(zhuǎn)到清零
10、停止子程序,停止定時器工作,秒表顯示清零。9、最后將各模塊聯(lián)調(diào)實現(xiàn)全部功能。遇到的問題和解決方法這次課設(shè)我用的是匯編對我來說是一個新的挑戰(zhàn),在程序設(shè)計過程中也遇到了很大的困難,開始對編程軟件不熟悉,就連很小的問題也調(diào)試了很久,后來慢慢的解決了這些問題自己也學到了許多東西。1. 在調(diào)試時,遇到的最大的問題就是在使用開關(guān)查詢的時候,對開關(guān)進行只按不松也會計時,停止和清零也是這樣。后來加了一個按下開關(guān)時不計數(shù),彈起來的程序,也就是等待。2.在開始做的時候自己沒把原理圖看清楚,還是采用以前共陰極的方式來做結(jié)果數(shù)碼管不亮。后來問同學知道這是共陽極的位選要給1、段選給0就可以亮了。 3.設(shè)置的暫停鍵只能暫
11、停,不能恢復(fù),只能重新按啟動鍵才能開始計數(shù)。開始就把問題鎖定在暫停程序那里,我發(fā)現(xiàn)我最開始編寫的是按下暫停,則CLR TR0,關(guān)閉了啟動,后來我改成了CPL TR0,將TR0取反這樣再按下去就可以恢復(fù)。 4.按鍵沒有消抖在后來調(diào)試中通過老師講的必須消除抖動的不良后果,所以我加了一個延時10ms的子程序,從而消除抖動的影響。8、 改進意見 主要是暫停按鍵按下暫停在按一下啟動是有時候有點不靈敏,我想主要的原因可能是在按鍵掃描時但我們再次按下時CPU沒有及時反應(yīng)過來花費時間在掃描按鍵上去了,我后來通過自己去查資料去學習問題的所在。我用的是查詢方式做的后來自己看書把中斷方式也寫了通過改進把程序在完善,
12、通過自己的學習編寫程序多加一些功能。九、收獲及體會通過這次的設(shè)計使我認識到我對單片機方面的知識知道的太少了,對于書本上的很多知識還不能靈活運用,有很多我們需要掌握的知識在等著我去學習,我會在以后的學習生活中彌補我所缺少的知識。在做本次課程設(shè)計的過程中,為了讓自己的設(shè)計更加完善,查閱這方面的設(shè)計資料是十分必要的,同時也是必不可少的。其次,在這次課程設(shè)計中,我們運用到了以前所學的專業(yè)課知識,這是我做這次課程設(shè)計的又一收獲是要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計程序時,不能妄
13、想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常德,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計結(jié)束了,但是從中學到的知識會讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學習、工作和生活中。設(shè)計過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深
14、刻,掌握得不夠牢固。我們通過查閱大量有關(guān)資料,若遇到實在搞不明白的問題就會及時請教同學,使自己學到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學習的興趣,我想這將對我以后的學習產(chǎn)生積極的影響。 通過這次設(shè)計,我懂得了學習的重要性,了解到理論知識與實踐相結(jié)合的重要意義,學會了堅持、耐心和努力,這將為自己今后的學習和工作做出了最好的榜樣。我覺得作為一名自動化專業(yè)的學生,單片機的課程設(shè)計是很有意義的。 更重要的是如何把自己平時所學的東西應(yīng)用到實
15、際中。我認為這個收獲應(yīng)該說是相當大的。本次的設(shè)計使我從中學到了一些很重要的東西,那就是如何從理論到實踐的轉(zhuǎn)化,怎樣將我所學到的知識運用到我以后的工作中去。在大學的課堂的學習只是在給我們灌輸專業(yè)知識,而我們應(yīng)把所學的用到我們現(xiàn)實的生活中去,此次的設(shè)計給我奠定了一個實踐基礎(chǔ),我會在以后的學習、生活中磨練自己,使自己適應(yīng)于以后的競爭。10、 源程序(含注釋) 簡易時鐘(時分秒) ORG 0000H ;初始化程序入口地址 AJMP MAIN ;主程序 ORG 0030H ;程序入口地址MAIN: MOV TMOD,#01H ;定時器T0工作于方式1 MOV DPTR,#TABLE ;DPTR指向TAB
16、LE表首地址 MOV R1, #59 ;秒表時間置初值 MOV R2, #59 ;分鐘時間置初值 MOV R3, #23 ;小時時間置初值LP1: MOV R0, #20 ;軟件計數(shù)器置初值LP2: MOV TH0, #3CH ;置50ms定時初值高位 MOV TL0, #0B0H ;置50ms定時初值低位LP3:LCALL DISP ;調(diào)用顯示程序 JNB P3.2, K1 ;判斷啟動鍵是否按下 JNB P3.3, K2 ;判斷停止鍵是否按下 JNB P3.5, K3 ;判斷清零鍵是否按下 JNB TF0, LP3 ;判斷中斷標志位是否溢出 CLR TF0 ;定時50到ms,則中斷標志位清零
17、 DJNZ R0, LP2 ;中斷二十次 MOV R0,#20 ;重新裝軟件計數(shù)器初值 INC R1 ;1秒時間到,秒表數(shù)加一 CJNE R1,#60,LP1 ;與60比較,小于60就跳轉(zhuǎn) MOV R1, #0 ;若秒表數(shù)加到60秒,則清零 INC R2 ;60秒時間到,分鐘數(shù)加一 MOV A,R2 ;R2地址里面的數(shù)賦給A CJNE A,#60,LP1 ;與60比較,小于60就跳轉(zhuǎn) MOV R2, #0 ;若秒表數(shù)加到60分鐘,則清零 INC R3 ;60分鐘時間到,小時數(shù)加一 MOV A,R3 ;R3地址里面的數(shù)賦給ACJNE A,#24,LP1 ;與24比較,小于24就跳轉(zhuǎn)MOV R3,
18、 #0 ;若秒表數(shù)加到24小時,則清零K1:LCALL DELAY ;按下,調(diào)用顯示子程序 LCALL DISP ;消除抖動 JB P3.2, LP3 ;判斷啟動鍵是否釋放 SETB TR0 ;啟動T0 LJMP LP3 ;跳轉(zhuǎn)到啟動鍵是否按下的指令段,不斷判斷K2: LCALL DELAY ;按下,調(diào)用顯示子程序 LCALL DISP ;消除抖動 JB P3.3, LP3 ;判斷暫停鍵是否釋放 CPL TR0 ;取反TR0 LJMP LP3 ;跳轉(zhuǎn)到暫停鍵是否按下的指令段,不斷判斷K3: LCALL DELAY;按下,調(diào)用顯示子程序 LCALL DISP;消除抖動 JB P3.5, LP3;
19、判斷清零鍵是否釋放 CLR TR0 ;關(guān)閉T0 MOV R1, #0 ;秒表時間清零 MOV R2, #0 ;分鐘時間清零 MOV R4, #0 ;小時時間清零LJMP LP3 ;跳轉(zhuǎn)到清零鍵是否按下的指令段,不斷判斷 DISP: MOV A,R1 ;顯示程序,先將秒表計時值給累加器作為被除數(shù) MOV B,#10 ;除數(shù)為10,存放在B累加器 DIV AB ;當前值除以10 MOV 20H,A ;得出的商送給十位 MOV 21H,B ;得出的余數(shù)送給個位 MOV A,20H ;十位顯示 MOVC A,A+DPTR ;查表找個位數(shù)段碼 MOV P0,A ;將個位段碼送給P0口 SETB P2.4 ;用第一個數(shù)碼管顯示十位數(shù) LCALL DELAY ;延時 CLR P2.4 ;清零 MOV A,21H ;個位顯示 MOVC A,A+DPTR ;查表找個位數(shù)段
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45154-2024老齡化社會年齡包容性勞動力通用要求與指南
- GB/T 18487.5-2024電動汽車傳導(dǎo)充電系統(tǒng)第5部分:用于GB/T 20234.3的直流充電系統(tǒng)
- racemic-9-Nor-9β-hydroxy-Hexahydrocannabinol-生命科學試劑-MCE-7978
- Glyceryl-dilaurate-生命科學試劑-MCE-3370
- 二零二五年度美發(fā)店租賃合同包含美發(fā)店品牌形象維護條款
- 2025年度智能化舞臺搭建安全責任及技術(shù)服務(wù)合同
- 2025年度銀行貸款反擔保合同違約責任合同
- 2025年度父母出資購房子女房產(chǎn)增值收益分配協(xié)議書
- 施工日志填寫樣本屋面防水工程
- 職場技能提升與自主創(chuàng)業(yè)的實踐案例分析
- 人工智能在商場應(yīng)用
- (完整word版)大格子作文紙模板(帶字數(shù)統(tǒng)計)
- 高考語文復(fù)習:小說閱讀主觀題題型探究-解讀《理水》
- 物流營銷(第四版) 課件 第一章 物流營銷概述
- 血液灌流流程及注意事項詳細圖解
- 5A+Chapter+2+Turning+over+a+new+leaf 英語精講課件
- 相交線教學課件
- 貝克曼梁測定路基路面回彈彎沉
- 機電安裝施工質(zhì)量標準化實施圖冊
- ge680ct用戶學習aw4.6軟件手冊autobone xpress指南中文
- 2023年高一年級必修二語文背誦篇目
評論
0/150
提交評論