




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、文華學(xué)院單片機原理及應(yīng)用課程設(shè)計報告姓名:學(xué)號:學(xué)部(系):專業(yè)年級:指導(dǎo)老師:2016年 12月 5日一標題 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.學(xué)會簡易鍵盤的使用。2、明確要完成的任務(wù)a.利用按鍵構(gòu)成鍵盤實現(xiàn)秒表的啟動、停止與復(fù)位,b.利用LED數(shù)碼管顯示時間。c.進行簡單的串行通
2、信。3、用單片機實現(xiàn)任務(wù)a.如何運用單片機實現(xiàn)計時;b.如何顯示時間;c.如何利用按鍵實施對秒表的控制。d.定時器T0或Tl的定時時間作為時鐘計時的基準e.啟動與停止定時器工作實現(xiàn)計時。f.先用兩個數(shù)碼管動態(tài)顯示時間,時間范圍為0-60sg.用三個獨立式按鍵實現(xiàn)秒表的啟動、停止和復(fù)位功能。h.A機發(fā)送,B機接收三、設(shè)計思路1、硬件設(shè)計思路a采用P0 口輸出并聯(lián)控制兩個數(shù)碼管的8個段選控制端b.用P2.R P2.1分別控制兩個LED數(shù)碼管的位選控制端c.動態(tài)顯示電路接法,LED采用共陽極數(shù)碼d.三個按鍵采用獨立式鍵盤接法,e.兩個按鍵連接到外部中斷INT0、INT1的輸人引腳P3.2和P3.3f
3、.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.其中主程序除完成初始化外,主要由動態(tài)顯示程序構(gòu)成h秒計時程序由定時器0中斷服務(wù)子程序構(gòu)成i.鍵盤掃描程序也由各中斷服務(wù)子程序來實現(xiàn)四、工作
4、原理1、計時表原理圖89C51VccXTAL1XTAL2INT0INT1T1RESETP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5TXD RXDVssMAX232T1 INR1 INR1 OUT T1 OUTS1:復(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和T
5、1的外部脈沖輸入引腳P3.5。 設(shè)置外部中斷為下降沿觸發(fā),當按鍵未被按下時,其相應(yīng)的引腳為高電平,而當 按鍵被按下后,變?yōu)榈碗娖?,因此有下降沿,產(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個段選控制端,而 用P
6、2.0、P2.1分別控制兩個LED數(shù)碼管的位選控制端,這是動態(tài)顯示的電路接 法,LED采用共陽極接法,0-9的共陽極數(shù)碼管編碼如下所示:共陽極數(shù)碼管編碼0xc00xf90xa40xb00x99012340x920x820xf80x800x9056789五、硬件設(shè)計10KS2710K 10K fflP1.0P0.0P1.1P0.1S4P1.2P1.3P1.4P1.5P0.2P0.3P0.4P0.5GNDS3P1.6P1.7INT1INT0T0AT89C51P0.6P0.7P2.0P2.1P2.2le&ndpa二bdpdpco mgdp comgdp coma bcdefa口 f-ic !
7、dpa,工dpgdp comgdp coma-bic . dgdp comrlbr-L30p f I30早HH-122uHz1314151617+ 5-T7-f-T j 19J J,靛廣-JkGNDT1P2.3EA/VPXTAL1XTAL2RESETRDWRGNDVCCP2.4P2.5P2.6P2.7RXDTXDALEPSEN40 y三8/1i175-<i一3231302928272625242322NPNNPN+5NPNNPNNPN1K1K1K1K1K510>10510510GNDGNDGNDGNDGND1KMAX232圖2電路布線圖(protel)圖3 PCB圖元器件清單元件名
8、稱參數(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電解電容1040.1uF直插式611電阻1k Q612電阻10k Q413電阻510 Q614直流電源GM-0501005V/1A115電源插頭DC座(中號)與直流電源的插 口直徑相同116串
9、口接口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單元中的數(shù)據(jù)決定。動態(tài)顯 示每位的持續(xù)時間為lms ,采用軟件延時。2. 1 秒鐘的定時采用定時器T0的方式1來實現(xiàn)。3. T0每50ms中斷一次,每中斷一次計數(shù)
10、單元 R0內(nèi)容減1 ;若計滿20次, 秒計數(shù)單元R4內(nèi)容加1。4. R4單元中的數(shù)據(jù)采用壓縮BCD碼按十進制計數(shù),將該單元中的數(shù)據(jù)拆成個 位和十位兩個十進制數(shù)據(jù)后分別送至顯示緩沖區(qū)的3OH、31H單元。主程序流程圖:1.顯示程序開始定時器T0初始化2.查詢程序開始也保護現(xiàn)場秒單設(shè)定時器初值個位、十位送相應(yīng)緩沖區(qū)3.按鍵子程序開始<1S2啟動計時是按鍵判斷1JS3S41n“y暫停計時清零計時yj顯示子程檢測按鍵按七、調(diào)試(遇到的問題和解決方法)1、輸人源程序。2、先調(diào)試主程序,實現(xiàn)基本的顯示功能。3、當無鍵按下時,將一直顯示初值“ 00”。4、再調(diào)試查詢服務(wù)程序。5、當按鍵S2按下時,程序
11、將會跳轉(zhuǎn)到啟動子程序,啟動定時器開始計時。7、當按鍵S3按下時,程序?qū)D(zhuǎn)到停止子程序,定時器停止計時,秒表顯示內(nèi)容保持不變;當按鍵S3在次按下時定時器開始計時。8、當按鍵S4按下時,程序?qū)D(zhuǎn)到清零停止子程序,停止定時器工作,秒表 顯示清零。9、最后將各模塊聯(lián)調(diào)實現(xiàn)全部功能。遇到的問題和解決方法這次課設(shè)我用的是匯編對我來說是一個新的挑戰(zhàn), 在程序設(shè)計過程中也遇到 了很大的困難,開始對編程軟件不熟悉,就連很小的問題也調(diào)試了很久,后來慢 慢的解決了這些問題自己也學(xué)到了許多東西。1 .在調(diào)試時,遇到的最大的問題就是在使用開關(guān)查詢的時候, 對開關(guān)進行只 按不松也會計時,停止和清零也是這樣。后來加
12、了一個按下開關(guān)時不計數(shù), 彈起 來的程序,也就是等待。2 .在開始做的時候自己沒把原理圖看清楚,還是采用以前共陰極的方式來做 結(jié)果數(shù)碼管不亮。后來問同學(xué)知道這是共陽極的位選要給1、段選給0就可以亮了。3 .設(shè)置的暫停鍵只能暫停,不能恢復(fù),只能重新按啟動鍵才能開始計數(shù)。開 始就把問題鎖定在暫停程序那里,我發(fā)現(xiàn)我最開始編寫的是按下暫停,則CLRTRQ 關(guān)閉了啟動,后來我改成了 CPL TR0將TR0取反這樣再按下去就可以恢復(fù)。4 .按鍵沒有消抖在后來調(diào)試中通過老師講的必須消除抖動的不良后果,所以我加了一個延時10ms的子程序,從而消除抖動的影響。八、改進意見主要是暫停按鍵按下暫停在按一下啟動是有時
13、候有點不靈敏,我想主要的 原因可能是在按鍵掃描時但我們再次按下時 CPU沒有及時反應(yīng)過來花費時間在 掃描按鍵上去了,我后來通過自己去查資料去學(xué)習(xí)問題的所在。 我用的是查詢方 式做的后來自己看書把中斷方式也寫了通過改進把程序在完善,通過自己的學(xué)習(xí)編寫程序多加一些功能。九、收獲及體會通過這次的設(shè)計使我認識到我對單片機方面的知識知道的太少了,對于書 本上的很多知識還不能靈活運用,有很多我們需要掌握的知識在等著我去學(xué)習(xí), 我會在以后的學(xué)習(xí)生活中彌補我所缺少的知識。 在做本次課程設(shè)計的過程中,為 了讓自己的設(shè)計更加完善,查閱這方面的設(shè)計資料是十分必要的, 同時也是必不 可少的。其次,在這次課程設(shè)計中,我
14、們運用到了以前所學(xué)的專業(yè)課知識,這是 我做這次課程設(shè)計的又一收獲是要做好一個課程設(shè)計,就必須做到:在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源; 要有一個清晰的思路和一個完整的的軟件流程圖; 在設(shè)計程序時,不能妄想一次 就將整個程序設(shè)計好,反復(fù)修改、不斷改進是程序設(shè)計的必經(jīng)之路; 要養(yǎng)成注釋 程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能, 而應(yīng)該讓人一看就能明 白你的思路,這樣也為資料的保存和交流提供了方便; 在設(shè)計課程過程中遇到問 題是很正常德,但我們應(yīng)該將每次遇到的問題記錄下來, 并分析清楚,以免下次 再碰到同樣的問題的課程設(shè)計結(jié)束了, 但是從中學(xué)到
15、的知識會讓我受益終身。 發(fā) 現(xiàn)、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學(xué)習(xí)、工作 和生活中。設(shè)計過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這 是第一次做,難免會遇到各種各樣的問題。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之 處,對以前所學(xué)過的知識理解得不夠深刻, 掌握得不夠牢固。我們通過查閱大量 有關(guān)資料,若遇到實在搞不明白的問題就會及時請教同學(xué), 使自己學(xué)到了不少知 識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存 在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不 到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣
16、, 我想自己適應(yīng)于以后的競爭。十、源程序(含注釋)簡易時鐘(時分秒)ORG 0000HAJMP MAINORG 0030HMAIN:MOV TMOD,#01HMOV DPTR,#TABLEMOV R1, #59MOV R2, #59MOV R3, #23LP1: MOV R0, #20LP2: MOV TH0, #3CHMOV TL0, #0B0H;LP3:LCALL DISPJNB P3.2, K1JNB P3.3, K2JNB P3.5, K3JNB TF0, LP3這將對我以后的學(xué)習(xí)產(chǎn)生積極的影響。通過這次設(shè)計,我懂得了學(xué)習(xí)的重要性,了解到理論知識與實踐相結(jié)合的 重要意義,學(xué)會了堅持、耐
17、心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好 的榜樣。我覺得作為一名自動化專業(yè)的學(xué)生,單片機的課程設(shè)計是很有意義的。 更重要的是如何把自己平時所學(xué)的東西應(yīng)用到實際中。我認為這個收獲應(yīng)該說是相當大的。本次的設(shè)計使我從中學(xué)到了一些很重要的東西, 那就是如何從理論到 實踐的轉(zhuǎn)化,怎樣將我所學(xué)到的知識運用到我以后的工作中去。 在大學(xué)的課堂的 學(xué)習(xí)只是在給我們灌輸專業(yè)知識,而我們應(yīng)把所學(xué)的用到我們現(xiàn)實的生活中去,此次的設(shè)計給我奠定了一個實踐基礎(chǔ), 我會在以后的學(xué)習(xí)、生活中磨練自己,使;初始化程序入口地址; 主程序;程序入口地址定時器T0工作于方式1;DPTR指向TABLED首地址;秒表時間置初值;分鐘
18、時間置初值;小時時間置初值;軟件計數(shù)器置初值;置50ms定時初值高位置50ms定時初值低位;調(diào)用顯示程序;判斷啟動鍵是否按下;判斷停止鍵是否按下;判斷清零鍵是否按下;判斷中斷標志位是否溢出第11頁CLR TF0DJNZ R0, LP2MOV R0,#20INC R1CJNE R1,#60,LP1MOV R1, #0INC R2MOV A,R2CJNE A,#60,MOV R2, #0INC R3MOV A,R3CJNE A,#24,MOV R3, #0K1: LCALL DELAYLCALL DISPJB P3.2, LP3SETB TR0LJMP LP3K2: LCALL DELAYLCAL
19、L DISPJB P3.3, LP3CPL TR0LJMP LP3K3: LCALL DELAYLCALL DISPJB P3.5, LP3CLR TR0MOV R1, #0;定時50到ms,則中斷標志位清零;中斷二十次;重新裝軟件計數(shù)器初值;1 秒時間到,秒表數(shù)加一; 與60比較,小于60就跳轉(zhuǎn);若秒表數(shù)加到60秒,則清零;60秒時間到,分鐘數(shù)加一;R2 地址里面的數(shù)賦給ALP1;與60比較,小于60就跳轉(zhuǎn);若秒表數(shù)加到60分鐘,則清零;60 分鐘時間到,小時數(shù)加一;R3地址里面的數(shù)賦給 ALP1;與24比較,小于24就跳轉(zhuǎn);若秒表數(shù)加到24小時,則清零;按下,調(diào)用顯示子程序;消除抖動;判斷
20、啟動鍵是否釋放;啟動T0;跳轉(zhuǎn)到啟動鍵是否按下的指令段,不斷判斷;按下,調(diào)用顯示子程序; 消除抖動;判斷暫停鍵是否釋放; 取反TR0;跳轉(zhuǎn)到暫停鍵是否按下的指令段,不斷判斷;按下,調(diào)用顯示子程序;消除抖動;判斷清零鍵是否釋放;關(guān)閉T0;秒表時間清零MOV R2, #0;分鐘時間清零MOV R4, #0;小時時間清零LJMP LP3;跳轉(zhuǎn)到清零鍵是否按下的指令段,不斷判斷DISP:MOV A,R1 ;顯示程序,先將秒表計時值給累加器作為被除數(shù)MOV B,#10DIV AB;MOV 20H,A;MOV 21H,B;MOV A,20H;MOVC A,A+DPTRMOV P0,ASETB P2.4LCALL DELAYCLR P2.4MOV A,21H;MOVC A,A+DPTRMOV P0,ASETB P2.5
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)務(wù)提成協(xié)議合同范本
- 2024年北京通州區(qū)婦幼保健院招聘筆試真題
- 加盟店裝修合同范本
- 化工合同范例6
- 農(nóng)田便宜出租合同范本
- 兄妹買賣土地合同范本
- 出租玻璃展柜合同范本
- 勞務(wù)合同范本300例
- 凍品鳳爪購銷合同范本
- 滬教版高中信息技術(shù)必修 第三章第2節(jié) 2.2信息作品的制作 教學(xué)設(shè)計
- GB∕T 8163-2018 輸送流體用無縫鋼管
- Windows Azure云平臺基本操作手冊
- 短視頻:策劃制作與運營課件
- T∕ASC 17-2021 電動汽車充換電設(shè)施系統(tǒng)設(shè)計標準
- 水閘設(shè)計步驟計算書(多表)
- PowerPoint使用技巧培訓(xùn)課件(共35張)
- SMA瀝青路面的設(shè)計與施工
- 腎內(nèi)科相關(guān)基礎(chǔ)知識學(xué)習(xí)教案
- (完整版)Frenchay構(gòu)音障礙評定
- 單兵戰(zhàn)斗動作教案
- 河北公務(wù)員四級聯(lián)考歷年真題
評論
0/150
提交評論