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