(完整版)大學生畢業(yè)論文(單片機實驗).doc_第1頁
(完整版)大學生畢業(yè)論文(單片機實驗).doc_第2頁
(完整版)大學生畢業(yè)論文(單片機實驗).doc_第3頁
(完整版)大學生畢業(yè)論文(單片機實驗).doc_第4頁
(完整版)大學生畢業(yè)論文(單片機實驗).doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機教學實驗箱的開發(fā)與研究應用物理0802牛麗婷指導老師王學摘要:在本文中,這個仿真實驗箱的設計是為了方便8051單片機的學習,LED燈的仿真示例是AT89C51 的一個很基礎的應用,大家通過這個實驗可以了解Keil Vision編程軟件和Proteus 7 Professional仿真軟件的使用。這里包含了流水燈,用指撥開關設置音調,音樂播放,秒表和LCD漢子顯示以及點陣的滾動顯示,電子密碼鎖等很多有趣的實驗,可以增添初學者對單片機的興趣。關鍵詞:單片機,仿真,AT89C51,實驗箱Abstract: In this paper, functional based simulatordes

2、igned to facilitate the study of the 8051microcontroller, The simulation example of LED lamp is a basing application about AT89C51.everyoneprogrammingsoftware and Proteus 7 Professional simulation software. Thisincludes water lights,the switch setting tone, music player, a stopwatch and LCDChinesech

3、aracters display and dot matrix rolling display, electronic password lock and many otherinteresting experiments, can be added to the interest of microcontroller beginners.Keywords: Microprocessor, Simulation, AT89C51, Experimental box前言AT89C51是一種帶4K 字節(jié)FLASH存儲器的低電壓、高性能CMOS 8位微處理器,有乘(MUL)、除(DIV)、減( SU

4、BB)、比較(PUSH)、16 位數(shù)據(jù)指針、布爾代數(shù)運算等指令,以及串行通信能力和5 個中斷源,內有128 個RAM單元及4K 的ROM、16 位定時計數(shù)器、4 個 8 位并行輸入口 5 。匯編語言(AssemblyLanguage)是面向機器的程序設計語言. 是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言,比機器語言易于讀寫、調試和修改11 。仿真實驗箱包括流水燈、音樂播放、秒表、LCD 顯示、 LED 滾動顯示、電子密碼鎖等應用。1 實例介紹1.1流水燈1.1.1 LED燈的仿真示例實驗要求能對Keil軟件和 Proteus 軟件有初步的認識和了解,學會使用

5、 Keil軟件進行簡單的程序編寫和調試、鏈接,學會使用Proteus 軟件進行簡單的實驗仿真。單片機仿真實驗箱要用到 Keil 軟件和 Proteus 軟件。下面介紹仿真實驗的基本步驟 11 。圖 1 啟動 Keil Vision 后的界面( 1)建立源文件和工程打開 Keil 軟件,出現(xiàn)如圖 1 所示的界面。 單擊 File New,開啟一個新的源程序編輯窗口,將下面的源程序輸入其中。CLR P1.0HERE: SJMP HEREEND輸入完畢后, 單擊 File Save,給該文件取名保存。一般匯編程序以 “ .asm ”或“ .A51 ”為擴展名,如圖2 所示。圖 2 源程序的保存在項目

6、開發(fā)中,除源程序外,還需要選擇 CPU,確定編譯匯編、鏈接的參數(shù),制定調試的方法等。 為管理和使用方便, Keil 使用工程將所需設置的參數(shù)和文件都加在一個工程中,只對工程進行編譯和鏈接等操作。建立工程的步驟如下:單擊 Project NewProject ,出現(xiàn)創(chuàng)建新工程的對話框,如圖 3 所示。要求起一個工程名并保存,一般應把工程和源文件保存在同一個文件夾中。進入下一步,選擇目標 CPU,如圖 4 所示,這里選擇 Atmel 公司的 89C51 為例,單擊“確定”按鈕可返回主界面。圖 3 新工程的建立工程建好后,會出現(xiàn)如圖5 所示的對話框,詢問是否要將80C51 的標準啟動代碼源程序復制到

7、工程所在文件夾,并將這一源程序文件加入到工程中。使用C語言編程且要修改啟動代碼時應選“是”,使用匯編語言則應選擇“否”。(2)將源程序加入到工程中單擊工程工作空間Target1 下方的 Source Group1 ,使其反白顯示,然后單擊鼠標右鍵,在出現(xiàn)的快捷菜單中選擇Add Files to Group Source Group1 ,出現(xiàn)如圖6 所示的對話窗口。Keil默認加入C 源文件, 因此要加入?yún)R編語言源文件,需單擊“文件類型” 下拉列表右側的下三角按鈕,選“ AsmSource file ( *.s* ;*.src;*.a*)”項,才能將文件夾下的*.asm文件顯示出來。將這個文件加

8、入到工程中。如果不再需要其他文件,單擊Close按鈕關閉這個對話框。圖 4 為工程選擇目標CPU圖 5 詢問是否需要將8051 的標準啟動代碼源程序復制到工程所在文件夾圖 6 加入文件對話框關閉對話框后回到主界面,剛加入的文件名出現(xiàn)在工程管理器的 Source Group 1 下一級。工程建好后,還要對工程做出進一步的設置,以滿足每個工程個性化的要求。 如圖 7,單擊 Output 標簽進入輸出設置選項卡, 一般設置都取默認值。如圖 8,要選中 Greate HEX file 。設置完畢后單擊“確定”返回主界面,工程文件建立、設置完畢。圖 7 存儲器使用等狀況的設置圖 8 對輸出進行控制設置好

9、工程后,即可進行編譯、鏈接。編譯過程中的信息將出現(xiàn)在輸出窗口的Build頁。如果源程序中有語法錯誤,則會出現(xiàn)錯誤報告。源程序每修改一次都要再次編譯,最終得到如圖9 所示圖9編譯、鏈接后得到正確的結果的結果,提示生成了HEX 格式的文件,在此過程中還會生成一些其他文件用于Keil的仿真與調試。單擊桌面“開始所有程序Proteus7 Professional”打開 Proteus 軟件。如圖10 所示,單擊左側的器件選擇按鈕,將出現(xiàn)如圖11 所示的 Pick Device對話框,其中左側的Category列表框中為器件的分類。圖10單擊器件選擇按鈕單擊其中的Microprocess ICs,可在S

10、ub-category列表框中找到8051Family,單擊后,在中間的列表框中就出現(xiàn)了所有可用的8051系列CPU,找到AT89C51 芯片,單擊該芯片名,在對話框的右側分別顯示該元件的電路原理圖和封裝圖。選中芯片后單擊“OK”按鈕,或雙擊AT89C51,回到主界面,可以看到列表框中多出了AT89C51芯片,用同樣的方法選中RESPACK-8和 LED-BIBY。在 DEVICES列表中單擊元件名,然后將鼠標移動到繪圖區(qū),鼠標形狀變?yōu)楣P狀,在任意位置單擊鼠標,則該元件出現(xiàn)在這一位置,并且自動命名。AT89C51元件被自動命名為U1。LED-BIBY 即 LED燈被命名為D1。單擊元件,使其加

11、亮顯示,然后單擊鼠標右鍵,可以變換元件的位置,使其合理放置。圖 11 選擇所需要的器件單擊左側工具欄中的第八個按鈕,切換到TERMINALS(終端模式),如圖12所示。單擊 POWER即可既可增加一個電源端, 雙擊該電源端, 即出現(xiàn) Edit Terminal Label 對話框。 單擊 String 后的下拉箭頭, 選中其中的 VCC項即可。 在繪圖區(qū)加入電源,用線連接好。圖 12 終端模式單擊 U1 以選中 AT89C51芯片,再次單擊該芯片,或者雙擊U1 即出現(xiàn)如圖13所示的 Edit Component對話框。圖 13 編輯元件對話框這個對話框中需要設置Program File,即選擇

12、該芯片的運行程序。單擊Program File后面的類似文件夾形狀的按鈕,找到先前生成的led 燈 .hex 文件,選好后,還可以設置Clock Frequency,其默認值為12MHz,可設成自己需要的頻率,選好程序文件后,單擊程序窗口左下角的“運行”按鈕,即可看見LED燈被點亮,如圖14 所示。圖 14 程序運行結果1.1.2 流水燈流水燈是一個大家常見的小玩具,在這個實驗中將八個燈圍成圓形,當燈以不同的方式點亮時,可以變出各種花樣,通過這個實驗可以了解單片機內部的結構及 IO 口的作用。流水燈的流程圖如圖15 所示。圖 15 流水燈的流程圖按照上文步驟操作后,運行可以看到燈按不同的方式點

13、亮,效果如圖16 所示。圖 16 流水燈運行的效果圖1.2 音樂播放1.2.1 用指撥開關設置音調隨著社會的發(fā)展,音樂逐漸成了我們生活中很重要的一部分,電子琴是現(xiàn)代電子科技與音樂結合的產(chǎn)物,這里用AT89C51 單片機為核心控制元件,在主控模塊上設有7 個按鍵和揚聲器,用來設置音調,介紹了電子琴的基本原理。音名與頻率的關系11 如表 1 所示。表 1 音名與頻率的關系音名C4D4E4F4G4A4B4頻率 Hz262294330349392440494實驗所用的系統(tǒng)晶振為12MHz,由產(chǎn)生方波的定時時間與延時常數(shù)的對應關系,得音名與設置的R7的值 11如表 2 所示。其中指撥開關接在P2 口,揚

14、聲器接 P1.0 引腳。用指撥開關設置音調的流程圖如圖17 所示表 2音名與設置的 R7 的值音名設置C4D4E4F4G4A4B4時間 s3817340130302865255122732024常數(shù)次954850757716637568506R7 值188170151143127113101圖17用指撥開關設置音調的流程圖按照上文步驟操作運行后,用鼠標單擊指撥開關,將各位分別至于置,可以聽到揚聲器的聲音發(fā)生了變化。運行時示波器顯示的方波會隨著音調發(fā)生變化。ON 的位圖 18 用指撥開關設置音調的仿真電路1.2.2簡單音樂盒設計一個特殊的“音樂播放器” ,核心器件用 AT89C51 單片機,利用

15、定時器產(chǎn)生 “ Do”、“ Re”、“ Me”等音階在內的各種頻率聲音。將各個音階連接在一起,便可組成一支曲子或是演奏一段旋律。這里以音樂“千年緣”作為示例。簡單音樂盒的流程圖如圖 19 所示。圖 19 簡單音樂盒的流程圖本例的控制信號為 P3.5 引腳,電路如圖 20 所示。按照上文所示步驟操作,運行后可以實現(xiàn)音樂播放。圖 20 播放音樂“千年緣”的仿真電路圖1.3 點陣滾動顯示LED點陣顯示器,以發(fā)光二極管為像素,16× 16的點陣共有256 個發(fā)光二極管,顯然單片機沒有這么多端口,如果我們采用鎖存器來擴展端口,按8 位的鎖存器來計算, 16×16 的點陣需要 2568

16、=32 個鎖存器。 因此在實際應用中的顯示屏幾乎都不采用這種設計,而采用另一種稱為動態(tài)掃描的顯示方法,即逐行輪流點亮。 16× 16 LED 點陣其實就是4 塊 8× 8 點陣 LED級聯(lián)而成的,圖21 為 8× 8 點陣 LED外觀及引腳圖, 其等效電路如圖 22 所示, 只要其對應的 X、Y 軸順向偏壓,即可使 LED發(fā)亮。若想使左上角 LED點亮,則令 Y0=1,X0=0。應用時限流電阻可放在 X 軸或 Y 軸。而 16× 16 就是在 8× 8 原理的基礎上將四塊8× 8 級聯(lián)而成。以 16× 16 點陣為例,把所有

17、同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽極連在一起(共陰的接法) ,先送出對應第 1 列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃亮一定的時間,然后熄滅;再送出第2 列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時間,然后熄滅;,. 第 16 列之后,又重新燃亮第 1 列,反復輪回。當輪回的速度足夠快(每秒24 次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。圖 21 8 × 8 點陣 LED外觀及引腳圖圖 22 8 × 8 點陣 LED等效電路LED點陣顯示模塊進行的方法有兩種:(1 )水平方向掃描:用一個P 口輸出列碼決定哪一列能亮,用另一個

18、P 口輸出行碼,決定該列上哪個LED 亮。能亮的列從左到右掃描完16 列即顯示出一幀完整的圖像。圖 23“北”字的顯示點陣(2)豎直方向掃描:用一個P 口輸出決定哪一行能亮,另一個P 口輸出列碼決定該行上哪些LED 燈亮。能亮的行從上向下掃描完16 行即顯示一幀完整的圖像。漢字的顯示一般采用圖形的方式,事先提取要顯示的漢字的點陣碼(一般用字模提取軟件) ,每個漢字分左右兩半,各占16B,左邊為1、3、 5 ,右邊為2、4、6,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一個字節(jié),光標位置加換行按列對齊, 送第三個字節(jié) , 直到 32B 顯

19、示完就可以字。 32 個字節(jié)為“北”的顯示點陣如圖 23 所示。1,送第二個字節(jié),LCD上得到一個完整漢圖 24 主程序流程圖這里要求設計一個16×16 點陣 LED 漢字顯示屏,顯示屏各點亮度均勻、充足,顯示的文字應穩(wěn)定、清晰無串擾。主程序流程圖如圖24 所示。圖25點陣滾動顯示效果圖按照上文操作,運行后會看見文字“歡迎乘坐邯鄲市13 路公共汽車,現(xiàn)在開往河北工程大學,請坐穩(wěn)扶好,注意安全。”的滾動顯示。效果如圖25 所示。1.4 LCD漢字顯示在日常生活中, 液晶顯示模塊已作為很多電子產(chǎn)品的通用器件,如在計算器、萬用表等很多家用電子產(chǎn)品中都可以看到,這里以漢字顯示為例介紹LCD液

20、晶顯示的基本原理。液晶顯示漢字原理見1.4 。AMPIRE128 × 64 管腳共 18 個。CS1 為左半屏片選端, CS2 為右半屏片選端;VCC接電源,GND接地,連接滑動變阻器的控制端,RS為數(shù)據(jù)指令選擇信號端, H時輸入數(shù)據(jù),L 時輸入指令,RW讀寫選擇信號端,H 時為讀選擇信號,L 時為寫選擇信號,E 為LCD使能端,DB0 DB7為數(shù)據(jù)傳輸端口。RST為復位端。Vout和V0類似,都是液晶顯示驅動電壓端。其引腳圖如圖26 所示。主程序流程圖如圖27 所示圖 26 AMPIRE128× 64 的引腳圖圖 27 LCD 漢字顯示主程序流程圖按照上文操作后運行可以看見LCD顯示屏上依次出現(xiàn)“謝謝老師”四個字。仿真效果如圖28 所示。圖 28 LCD 漢字顯示效果圖1.5 演示實驗1. 秒表本實驗用單片機和數(shù)碼管組成數(shù)字電子秒表。電路主要有控制器AT89C51,計時與顯示電路和回零、啟動和停表電路等。秒表的流程圖如圖29 所示。按上文所示步驟操作,運行后可以實現(xiàn)時時間的調整、暫停和復位等操作。仿真效果如圖30 所示。圖 29 秒表的流程圖圖 30 秒表的仿真效果2. 萬年歷現(xiàn)在所使用的萬年歷,記錄一定時間范圍內的具體陽歷或陰歷的日期的年歷,方便有需要的人查詢使用, 實驗電路主要有主控制器單片機、顯示電路、溫度檢測電路和鬧鐘設置電

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論