版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(論文)</b></p><p> 課程名稱:單片機原理及其接口技術(shù) </p><p> 題 目:外部脈沖試驗 </p><p><b> 摘 要</b></p><p> 單片機是單片微型計算機的簡稱,其特點為:它的處理器
2、、RAM、ROM和定時器/計數(shù)器和多種輸入/輸出接口都集中在一起超大規(guī)模集成芯片內(nèi),用于電路空間小、功耗低的場合。隨著其技術(shù)和體系結(jié)構(gòu)上控制功能的不斷擴展,目前,單片機在國外被稱為微控制器。</p><p> 本次試驗主要采用8051單片機為核心,其包含128 字節(jié)和256 字節(jié)RAM ,32 條I/O口線,3 個16 位定時/計數(shù)器,6 輸入4 優(yōu)先級嵌套中斷結(jié)構(gòu),1個串行I/O口可用于多機通信I/O 擴展或
3、全雙工UART,以及片內(nèi)振蕩器和時鐘電路。通過每一次外部中斷,外部中斷由脈沖觸發(fā)器來完成,把脈沖數(shù)記在一個單元中,并用2個數(shù)碼管顯示次數(shù)。此外由于器件采用了靜態(tài)設(shè)計可提供很寬的操作頻率范圍率可降至0,可實現(xiàn)兩個由軟件選擇的節(jié)電模式空閑模式和掉電模式空閑模式凍結(jié)CPU,但RAM定時器串口和中斷系統(tǒng)仍然工作掉電模式保存RAM的內(nèi)容,但是凍結(jié)振蕩器導(dǎo)致所有其它的片內(nèi)功能停止工作,由于設(shè)計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù),運行可從時鐘停止處
4、恢復(fù)。</p><p> 關(guān)鍵詞:走馬燈,外部中斷、C8051單片機,脈沖觸發(fā)器。</p><p><b> 目 錄</b></p><p> 1設(shè)計內(nèi)容及要求………………………………………… 第1 頁</p><p> 2系統(tǒng)設(shè)計原理及方案…………………………………… 第1 頁</p>
5、<p> 3系統(tǒng)軟件硬件設(shè)計……………………………………… 第2 頁</p><p> 4系統(tǒng)功能的實現(xiàn)………………………………………… 第8 頁</p><p> 5實驗總結(jié)與心得體會…………………………………… 第9 頁</p><p> 6參考文獻(xiàn)………………………………………………… 第10頁</p><p>&l
6、t;b> 外部脈沖試驗</b></p><p><b> 1設(shè)計內(nèi)容及要求</b></p><p><b> 1.1課題簡介</b></p><p> 本次課程設(shè)計題目是外部脈沖試驗,是以MCS-51系列單片機Intel8051為基礎(chǔ)充分利用8051芯片的I/O引腳來設(shè)計中斷,實現(xiàn)外部脈沖的過程。
7、外部中斷是由脈沖觸發(fā)器來完成,要求把脈沖數(shù)記在一個單元中,并用2個數(shù)碼管顯示計數(shù)。 利用手控單脈沖信號作為計數(shù)輸入脈沖,編寫控制程序。若按下計數(shù)健,則單片機控制兩位一體的數(shù)碼管顯示從 00 開始的數(shù)字,按下一次,則數(shù)字加 一,一次類推;若按下清零鍵,則程序返回程序開始處,并且在走馬燈上顯現(xiàn)出來。 </p><p><b> 1.2設(shè)計目的</b></p><
8、;p> 1.2.1 熟練運用匯編語言編程,并且掌握中斷技術(shù)。</p><p> 1.2.2 熟悉啟東硬件仿真系統(tǒng),熟練應(yīng)用該系統(tǒng)調(diào)試軟件。</p><p> 1.2.3 軟件上掌握串變并顯示法顯示BCD碼。</p><p> 1.3設(shè)計目標(biāo) 置計數(shù)器0為工作方式2,讓走馬燈全亮。</p><p> 2系統(tǒng)設(shè)計原理及方案&
9、lt;/p><p><b> 2.1系統(tǒng)分析</b></p><p> 2.1.1 初始化計數(shù)器,并采用累加器清0。 2.1.2 通過設(shè)置中斷,外部中斷0為脈沖觸發(fā)方式。 2.1.3 通過觀察走馬燈亮與滅的計數(shù),來達(dá)到試驗?zāi)康摹?lt;/p><p> 2.2 程序框圖及說明</p><p> 設(shè)置中斷來進(jìn)行計數(shù)而做成
10、的流水燈,匯編程序編寫完調(diào)試運行后,走馬燈開始全亮,走馬燈通過脈沖次數(shù)改變,使得中斷方式2下工作,通過脈沖信號進(jìn)行計數(shù)。以此不停循環(huán)。設(shè)置CLR A 累加器清0在中斷中用計數(shù)器進(jìn)行計數(shù)。在程序開始執(zhí)行前,中斷計數(shù)器初值為0。該設(shè)計的詳細(xì)流程如下圖1。</p><p><b> 圖1 程序框圖</b></p><p> 2.2.1基本原理 </p>&
11、lt;p> 外部中斷的初始化設(shè)置共有三項內(nèi)容:中斷總允許即EA=1,外部中斷允許即EXi=1(i=0或1),中斷方式設(shè)置。中斷方式設(shè)置一般有兩種方式:電平方式和脈沖方式,本實驗選用后者,其前一次為高電平后一次為低電平時為有效中斷請求。因此高電平狀態(tài)和低電平狀態(tài)至少維持一個周期。</p><p> 中斷控制原理:中斷控制是提供給用戶使用的中斷控制手段。實際上就是控制一些寄存器,51系列用于此目的的控制寄存
12、器有四個:TCON 、IE 、SCON 及IP。 </p><p> 中斷響應(yīng)的過程:首先中斷采樣然后中斷查詢最后中斷響應(yīng)。采樣是中斷處理的第一步,對于本實驗的脈沖方式的中斷請求,若在兩個相鄰周期采樣先高電平后低電平則中斷請求有效,IE0或IE1置“1”;否則繼續(xù)為“0”。所謂查詢就是由CPU測試TCON和SCON中各標(biāo)志位的狀態(tài)以確定有沒有中斷請求發(fā)生以及是那一個中斷請
13、求。中斷響應(yīng)就是對中斷請求的接受,是在中斷查詢之后進(jìn)行的,當(dāng)查詢到有效的中斷請求后就響應(yīng)一次中斷。 </p><p> INT0端接單次脈沖發(fā)生器。P1.0接LED燈,以查看信號反轉(zhuǎn)。</p><p><b> 系統(tǒng)軟硬件設(shè)計</b></p><p><b> 3.1 硬件設(shè)計</b></p>
14、<p> 3.1.1計數(shù)8051電路圖</p><p> 本次課程設(shè)計采用Protues7.5設(shè)計的電路圖如圖2所示。圖中單片機采用AT89C51,由圖可見,P0.1(對應(yīng)89C51的P0.1腳)腳置低電平燈亮,然后燈滅,1s延時過后燈再次變亮,如此反復(fù)循環(huán)。</p><p><b> 圖2 系統(tǒng)原理圖</b></p><p&g
15、t; 3.1.2 芯片的選擇</p><p> 硬件電路要實現(xiàn)對交流大電流電源的控制、定時時間的設(shè)定功能。若采用40腳的單片機有利于設(shè)計,但會增大電路板的體積。本設(shè)計采用ATMEL公司的AT89C2051單片機,芯片位20腳,體積小,工作電壓范圍寬(2.7V~6V)。性價比比較高。</p><p><b> 3.2硬件連線圖</b></p><
16、;p><b> 3.2.1預(yù)備知識</b></p><p><b> 引腳定義:</b></p><p> A0——Ai:地址輸入線。</p><p> D0——D7:并行總線8位地址。</p><p> CS:片選信號輸入線,低電平有效。</p><p>
17、 RXD/P3.0:UART串行輸入</p><p> P0~P0.7:并行輸入輸出P0口</p><p> WR:寫選通信號線,低電平有效。</p><p><b> 3.2.2實驗說明</b></p><p> 編寫簡單的匯編程序,對實驗板上提供的外部脈沖進(jìn)行讀寫操作,連續(xù)運行程序,觀察走馬燈的亮與滅來顯示計
18、數(shù)。</p><p><b> 3.2.3實驗連線</b></p><p> 外部脈沖---P3.0口</p><p> P0-P0.7:并行輸入輸出P0口</p><p> 數(shù)據(jù)線與仿真單片機的數(shù)據(jù)線相連,P0-P0.7口與單片機部分地址線相連</p><p><b> 3.
19、3 軟件設(shè)計</b></p><p> 3.3.1計數(shù)初值計算</p><p> 根據(jù)定時器/ 計數(shù)器0的工作方式2邏輯結(jié)構(gòu)圖可知,工作方式2的計數(shù)范圍是1~255。</p><p> 中斷功能,就能快速解決CPU與慢速外設(shè)之間的的矛盾,CPU在啟動外設(shè)工作后,開始執(zhí)行主程序,同時外設(shè)也開始工作。每當(dāng)外設(shè)需要,就能通過CPU發(fā)出申請,請求CPU中斷
20、正在執(zhí)行的主程序,去執(zhí)行中斷服務(wù)程序。</p><p> 實現(xiàn)實時處理,在實時控制中,現(xiàn)場的各個參數(shù).信息是隨時間和現(xiàn)場的情況的不斷的變化,有了中斷的功能,外設(shè)仍能繼續(xù)工作。這樣,CPU可以令多個外設(shè)同時工作,從而提高CPU的利用率。</p><p> 利用串行中斷源一個,發(fā)送或接收中斷請求TI或RI。當(dāng)串行口發(fā)送或接收一個幀數(shù)據(jù)時,內(nèi)部產(chǎn)生中斷請求。這一中斷在中斷矢量表中的00023
21、H。</p><p><b> 3.3.2流程圖</b></p><p><b> 圖3 流程圖</b></p><p><b> 3.3.3匯編程序</b></p><p><b> 軟件程序:</b></p><p>
22、 ORG 0000H </p><p> LJMP MAIN ;主程序</p><p> ORG 0003H ;中斷0的入口地址</p><p> LJMP LOOP ;跳轉(zhuǎn)到loop </p><p> ORG 0030H </p>&
23、lt;p><b> MAIN: </b></p><p> MOV 30H,#0</p><p> SETB EA ;開啟中斷</p><p> SETB PX0 ;設(shè)外部中斷0高優(yōu)先級</p><p> SETB EX0 ;允許外部中斷0中斷</p>
24、<p> SETB IT0 </p><p> SETB TR1 </p><p> MOV 30H,#0</p><p> MOVR2,#00H;十位</p><p> MOVR1,#00H;個位 </p><p><b> M
25、AIN4:</b></p><p><b> MOV A,30H</b></p><p> ANL A,#0FH</p><p><b> MOV R1,A</b></p><p><b> MOV A,30H</b></p><p>
26、; ANL A,#0F0H</p><p><b> SWAP A</b></p><p><b> MOV R2,A</b></p><p><b> MAIN1:</b></p><p> MOV A,R1</p><p> MO
27、VDPTR, #SGTB1</p><p> MOVCA,@A+DPTR ;取字符</p><p> MOVSBUF,A;發(fā)送字符</p><p> MOVA,SBUF</p><p> JNBTI,$ ;等待串口發(fā)送完</p><p><b&g
28、t; CLRTI</b></p><p> SETB IT0</p><p> SETB PX0</p><p> SETB EA</p><p> SETB EX0</p><p><b> MOVA,R2</b></p>&
29、lt;p> MOVCA,@A+DPTR</p><p> MOVSBUF,A</p><p><b> JNBTI,$</b></p><p><b> CLRTI</b></p><p> CALLDELAY</p><p> CALLD
30、ELAY</p><p> CALLDELAY</p><p> CJNER1,#0AH,MAIN4</p><p> MOV A,30H</p><p> ANL A,#0F0H</p><p> ADD A, #10H</p><p> MOV
31、 30H,A</p><p> CJNER2,#0AH,MAIN4</p><p> MOV A,30H</p><p> ANL A,#0FH</p><p> MOV 30H,A</p><p> AJMP MAIN4</p><p> DE
32、LAY:MOVR6,#250;延時</p><p> DELAY1:MOVR7,#250</p><p><b> DJNZR7,$</b></p><p> DJNZR6,DELAY1</p><p><b> RET</b></p><p&g
33、t;<b> LOOP:</b></p><p> INC 30H ;30自加1</p><p> MOV A,30H ;30H給A</p><p> MOV P0,A ;A給p0</p><p><b> RETI</b></
34、p><p> SGTB1:DB 03H ;0</p><p> DB 9FH ;1</p><p> DB 25H ;2</p><p> DB 0DH ;3</p><p> DB
35、 99H ;4</p><p> DB 49H ;5</p><p> DB 41H ;6</p><p> DB 1FH ;7</p><p> DB 01H ;8</p>
36、<p> DB 09H ;9 </p><p><b> END</b></p><p><b> 四、系統(tǒng)功能實現(xiàn)</b></p><p> 4.1 軟件功能調(diào)試</p><p> 軟件調(diào)試一般分為以下四個階段:</p>
37、<p><b> 編寫程序并查錯;</b></p><p> 在匯編語言的編譯系統(tǒng)中編譯源程序</p><p> 3、對程序進(jìn)行編譯連接,并及時發(fā)現(xiàn)程序中存在的錯誤;</p><p><b> 4、改正錯誤。</b></p><p> 在軟件調(diào)試過程中,最初程序編譯出錯,我經(jīng)
38、過認(rèn)真的分析,發(fā)現(xiàn)中斷服務(wù)子程序我又跳轉(zhuǎn)到子程序,編譯后又未得到正確周期指令數(shù)值。在一遍遍重新閱讀程序后方知未我將循環(huán)弄成了死循環(huán),將ajmp loop 刪掉后,經(jīng)改正終于調(diào)試成功,并很好的達(dá)到既定的設(shè)計效果。</p><p> 此系統(tǒng)還可改進(jìn)實現(xiàn)電子計數(shù)器、跑馬燈等功能,這是一個比較難的挑戰(zhàn)。</p><p><b> 4.2硬件功能測試</b></p&g
39、t;<p> 此次課程設(shè)計主要利用中斷方法,運用循環(huán)調(diào)用的方法,簡單的說是000000,通過改變脈沖的次數(shù)運用計數(shù)器,按一次改變?yōu)?00001。用為每一個燈的接口端不同,不同的BCD碼控制不同的燈,用燈的亮與滅來達(dá)到計數(shù)的效果。;第二層循環(huán)通過計數(shù)器T1計數(shù)實現(xiàn);通過給T1賦初值0FFH,當(dāng)它開始溢出時即達(dá)亮。計數(shù)器到則置P0.0為低電平,燈則亮,</p><p> 滅,在給脈沖后再置P0.0為
40、低電平,紅燈亮,如此循環(huán)。</p><p> 此次課程設(shè)計在實際操作過程中,由于按鍵及代碼執(zhí)行所需時間的影響,設(shè)計后的效果并不精準(zhǔn),還有改進(jìn)的空間。</p><p> 五、實驗總結(jié)與心得體會</p><p> 單片機原理及其接口技術(shù)是我們電子信息科學(xué)與技術(shù)的專業(yè)課,因為我們之前做過單片機原理實驗課也對MF2KP軟件有了一定的了解。</p><
41、;p> 經(jīng)過一學(xué)期老師的諄諄教導(dǎo)和自己的努力學(xué)習(xí),對單片機原理課程也有了更深入的認(rèn)識,通過這次的課程設(shè)計,我收獲了很多,對各個指令以及語句有了進(jìn)一步的了解,對各個語句的功能有了更深刻的認(rèn)識和體會,平時上課的理論知識只是停留在理論概念的層面,而通過了這次的課程設(shè)計才真正的體會到,也做到了理論概念和匯編實際的相結(jié)合,使理論知識真正運用到了實用中去,還能學(xué)到一些軟件的運用,結(jié)合一些其他課程,匯編語言程序軟件,通過互相結(jié)合,互相滲透,來
42、得到我所需的數(shù)據(jù)與結(jié)論。通過查閱了相關(guān)書籍才得知取時間的調(diào)用指令。也深刻理解了CPU暫?,F(xiàn)行程序的運行而轉(zhuǎn)為意外事件或特殊請求服務(wù)的過程這句中斷的概念。通過對程序不停地修改、測試,終于將程序調(diào)試成功,能夠滿足設(shè)計要求。</p><p> 我覺的通過這次課程設(shè)計,我學(xué)到了好多東西,不僅僅是書本上的知識,因為這次課程設(shè)計老師給我們分了幾個小組,每組有每組的問題,當(dāng)我們這組拿到題目時還不知道如何下手,通過組員的互相探
43、討,共同研究,最終設(shè)計好流程圖,得出結(jié)果,讓我懂得什么是團隊合作,以后我們不管干什么都要持之以恒,堅持不懈,困難并不可怕,可怕的是我們面對困難是的態(tài)度, 加油,我為自己代言!</p><p><b> 六、參考文獻(xiàn)</b></p><p> [1] 李建忠,單片機原理及應(yīng)用.西安電子科技大學(xué)出版社,2008年</p><p> [2]啟東
44、單片機仿真試驗系統(tǒng)使用說明書</p><p> [3]李珍,單片機原理與應(yīng)用技術(shù).清華大學(xué)出版社,2003年</p><p> [4]楊恢先,黃輝先著.單片機原理與應(yīng)用.人民郵電出版,2009.7</p><p> [5]朱定華,單片機原理與接口技術(shù).電子工業(yè)出版社,2001.4 </p><p> [6]王威,HCS12微控制器原理
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計外部脈沖計數(shù)器
- 單片機課程設(shè)計--脈沖寬度測量
- 單片機課程設(shè)計-單片機課程設(shè)計---電子時鐘
- 單片機課程設(shè)計之脈沖周期的測量
- 基于單片機的窄帶脈沖寬度檢測_單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計
- 單片機課程設(shè)計--單片機串行通訊
- 單片機秒表單片機課程設(shè)計
- 單片機課程設(shè)計
- 基于單片機課程設(shè)計---基于單片機的秒脈沖信號源的設(shè)計
- 單片機課程設(shè)計---單片機數(shù)字時鐘
- 單片機課程設(shè)計--對外部脈沖計數(shù)及出租車計費系統(tǒng)的設(shè)計
- 單片機課程設(shè)計---對外部脈沖計數(shù)及出租車計費系統(tǒng)的設(shè)計
- 單片機課程設(shè)計---對外部脈沖計數(shù)及出租車計費系統(tǒng)的設(shè)計
- 單片機課程設(shè)計--對外部脈沖計數(shù)及出租車計費系統(tǒng)的設(shè)計
- 基于單片機課程設(shè)計---基于單片機的秒脈沖信號源的設(shè)計
- 單片機課程設(shè)計--單片機控制步進(jìn)電機
評論
0/150
提交評論