11年單片機原理用應用實驗講義_第1頁
11年單片機原理用應用實驗講義_第2頁
11年單片機原理用應用實驗講義_第3頁
11年單片機原理用應用實驗講義_第4頁
11年單片機原理用應用實驗講義_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一部分:89C51單片機實驗系統(tǒng)介紹一、系統(tǒng)概述本系統(tǒng)采用STC89C52單片機作為核心處理模塊,屬于51兼容機,除了具備51單片機的系列特點之外,還具有在線編程的能力,可選擇使用串口方式或者ISP下載線的方式完成目標程序的下載。本系統(tǒng)的I/O全部對用戶開放,而且具有豐富的系統(tǒng)資源。系統(tǒng)的標準配置包含:1. STC89C52學習板一塊2. USB線一條3. 串口線一條4. 1602LCD模塊一個5. 光盤一張 二、系統(tǒng)資源系統(tǒng)具有如下豐富資源:1. 8個發(fā)光二極管2. 4位LED數碼管3. 蜂鳴器4. 繼電器與輸出端子5. 外部中斷按鍵(中斷實驗)6. 4*4矩陣鍵盤7. PS/2電腦鍵盤接

2、口8. LCD1602接口9. LCD12864接口10. ADC模數轉換(TLC0831芯片)11. DAC數模轉換(DAC0832芯片)12. EEPROM實驗(AT24C02)13. 實時時鐘實驗(DS1302)14. 串口實驗15. 溫度傳感器(DS18B20)16. 紅外遙控接收頭(HS0038B)17. I2C總線接口18. 步進電機接口19. USB直接供電,也可有5V穩(wěn)壓電源直接供電20. 所有I/O口外擴第二部分 基本實驗實驗一 實驗環(huán)境一、實驗目的:1. 熟悉單片機實驗使用的編譯軟件Keil uVision2,并掌握使用其進行程序編寫的流程。2. 掌握實驗板所用的程序下載軟

3、件使用方法。二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理系統(tǒng)編程軟件本系統(tǒng)采用可采用Keil uVision2作為程序編輯和調試軟件。使用Keil軟件進行單片機程序的步驟如下:1. 首先安裝Keil 軟件,然后雙擊,打開keil軟件 2. 點擊菜單第4項Project,建立一個工程文件,按確定以后,進入芯片型號選擇,這里有國外各廠家的產品及其對應型號,選擇正確的型號,并按確定。這里沒有STC的單片機,可以選擇Atmel公司的AT89S52,之后按確定。會出現如下的提示:表示是否將初始化代碼加到工程項目里,如果你使用的是C51編程,那么應該按是,如果是匯

4、編語言則按否。 3. 此時,一個工程文件就建立了,但是這個工程里面不包含任何文件。可以打開菜單的第一項Filenew,建立一個新的文本文件,將這個文件保存在項目文件相同的目錄,根據使用匯編語言或者C語言編寫后綴選擇.asm或者.c.4. 此后,在工程窗口中找到source group 1,點擊右鍵,選擇add files to group “source group 1” 把上面的.asm或者.c文件添加到工程項目里。之后,就可以在source group 1下看到剛才添加的文件了。 5. 接下來雙擊添加的.asm或者.c 文件,然后在右邊的程序編輯區(qū)進行程序的編寫。6. 編輯完成后,就可以進

5、行調試了,點擊編譯進行調試,直到沒有錯誤。7. 右鍵點擊TARGET 1,選擇options for target target 1,點擊選項卡的第三項“OUTPUT” ,在create executable 中選中create HEX File后,點擊確定,之后再編譯,就可以生成產生燒寫文件,也就是例子中的ts.hex文件。8. 使用程序下載軟件將上述文件ts.hex文件寫入單片機(見程序下載軟件)。程序下載軟件本系統(tǒng)使用的STC89C52單片機支持串口燒寫程序,首先在光盤:STC89C52/軟件程序下載軟件STC串口下載軟件中找到 ,將其復制到硬盤上,然后雙擊打開,再雙擊,就打開了串口下載

6、軟件,下載時的具體步驟如下:1. 由Keil uvision2編譯軟件編譯產生 .hex 文件(見Keil軟件介紹)。2. 連接好開發(fā)板的電源線(可USB供電,也可5V電源供電)和串口線,先保持斷電狀態(tài)。3. 雙擊打開程序下載軟件,選擇單片機型號為STC89C52RC(根據系統(tǒng)板上的單片機型號) 4. 選擇文件,點擊OpenFile/打開文件,打開目標.Hex文件 5. 然后點擊下載按鈕 6. 等提示打開電源時,給系統(tǒng)上電 7. 出現如下畫面,下載完成 四、實驗步驟:1. 學會使用程序編譯軟件和下載軟件。2. 編寫程序實現LED1到LED8全部點亮。3延時0.2秒;4. LED1到LED7全亮

7、;5. 延時0.2秒,跳轉到第2步開始執(zhí)行。6. 按照實驗流程的要求編寫程序,并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗二 跑馬燈實驗一、實驗目的:1. 使用P1口作為輸出控制led燈實現跑馬燈實驗。2. 學習數據輸出程序的設計方法。3. 學習延時程序的編寫方法,并會計算延時時間。二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理 1.電路原理 實驗的電路原理圖如圖2-1所示,發(fā)光二極管采用共陽極

8、接法,陽極接上拉排阻(470歐)到VCC,并通過開關J-LED控制VCC的通斷來控制發(fā)光二極管,陰極接單片機P1口,要使這里的發(fā)光二極管發(fā)光,P1口就要輸出低電平。(注:J-LED是控制發(fā)光二極管的開關),考慮人眼的視覺暫留(0.1S),要實現燈光閃爍必須調整發(fā)光二極管亮滅的時間。實驗板電路的原理圖如圖2-1所示。電路板實物圖上LED管的圖如圖2-2所示。 圖2-1 發(fā)光二極管電路原理圖圖2-2 發(fā)光二極管2. 延時程序 普通延時程序的一般寫法: MOV R2,#100 D1:DJNZ R2, D1 RET 延時次數= 1+100*2+2=203MC 若晶振頻率f=12MHz, 則機器周期=1

9、us因此延時時間T=203*1=203us ,此時改變R2的值,最大可實現的延時時間=(1+255*2+2)*1=513us0.5ms。若需要較大的延時時間,則需要多重循環(huán)。例如: MOV R3,#200D2: MOV R2,#250D1: DJNZ R2, D1; DJNZ R3,D2; RET若機器周期仍為1us,則延時時間 T= 1+200(1+250*2)+200*2+2=us0.1s四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽。2. 編寫程序實現LED1到LED8逐個點亮(延時時間均為0.2秒);3LED1到LED7全亮,延時0.2秒;4. LED7到LED1逐

10、個滅,延時0.2秒;5. 跳轉到第2步開始執(zhí)行。6. 按照實驗流程的要求編寫程序,并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗三 數碼管顯示實驗-靜態(tài)顯示一、實驗目的:1 學習數碼管的靜態(tài)顯示原理2 學習數碼管靜態(tài)顯示的編程方法3 學習實際數碼管的引腳測量方法二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理圖1.數碼管顯示原理常用的是七段式和八段式LED數碼管,八段比七段多了一個小數點,其他的基本

11、相同。八段就是指數碼管里有八個小LED發(fā)光二極管,通過控制不同的LED的亮滅顯示出不同的字形。數碼管又分為共陰極和共陽極兩種類型,共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,它便能點亮。而共陽極就是將八個LED的陽極連在一起。其原理圖如下。 圖2-3 數碼管原理圖 其中引腳圖的兩個COM端連在一起,是公共端,共陰數碼管要將其接地,共陽數碼管將其接正5伏電源,a,b,c,d,e,f,g,dp稱為段選線。顯示時,都從段選線送入字符編碼,而選中哪個位選線,那個數碼管便會被點亮。數碼管的8段,對應一個字節(jié)的8位,a對應最低位,dp對應最高位。所以如果想讓數碼管顯

12、示數字0,那么共陰數碼管的字符編碼為,即3FH;共陽數碼管的字符編碼為,即0C0H。可以看出兩個編碼的各位正好相反。如下圖。圖2-4 數碼管顯示示意圖共陽極的數碼管0F的段編碼是:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH; 共陰極的數碼管0F的段編碼是:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H2. 實驗板原理圖 一個八段數碼管稱為一位,多個數碼管并列在一起可構成多位數碼管,它們的段選線(即a,b,c,d,e,f

13、,g,dp)連在一起,而各自的公共端稱為位選線。實驗的電路原理圖如圖2-5所示:圖2-5 LED數碼管電路原理圖板上的LED數碼管采用共陽型數碼管,即每一位數碼管都有一個公共的陽極。P2.0-P2.3分別為四位數碼管的位選信號(低電平有效),P0口是數碼管的段信號。LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數碼管的段選必須接一個8位數據線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。選中第一位LED數碼管(P2.0置低),同時給P0口送不

14、同的段碼字,數碼管就會出現不同的數字。(見教材241頁)四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽。2.選擇4位數碼管中的1位,循環(huán)顯示0-F,每位之間間隔為0.2S編程并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗四 數碼管顯示實驗-動態(tài)顯示一、實驗目的:1 學習數碼管的動態(tài)顯示原理2 學習數碼管動態(tài)顯示的編程方法二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理圖1. 動態(tài)

15、顯示原理在實際的單片機系統(tǒng)中,往往需要多位數碼管顯示。由于每個數碼管至少需要8 個I/O 口,如果需要多個數碼管,則需要太多I/O 口,而單片機的I/O 口是有限的。在實際應用中,一般采用動態(tài)顯示的方式解決此問題。動態(tài)顯示時所有數碼管的段選全部連接在一起,多個數碼管交替顯示,利用人的視覺暫留作用使人看到多個數碼管同時顯示。在編程時,需要輸出段選和位選信號,位選信號選中其中一個數碼管,然后輸出段碼,使該數碼管顯示所需要的內容,延時一段時間后,再選中另一個數碼管,再輸出對應的段碼,高速交替。例如需要顯示數字“12”時,先輸出位選信號,選中第一個數碼管,輸出1 的段碼,延時一段時間后選中第二個數碼管

16、,輸出2 的段碼。把上面的流程以一定的速度循環(huán)執(zhí)行就可以顯示出“12”,由于交替的速度非???,人眼看到的就是連續(xù)的“12”。在動態(tài)顯示程序中,各個位的延時時間長短是非常重要的,如果延時時間長,則會出現閃爍現象;如果延時時間太短,則會出現顯示暗且有重影。實際顯示時每位顯示的延時時間1ms。2. 電路原理圖實驗的電路原理圖如圖2-5所示。實驗板上的LED數碼管采用共陽型數碼管,即每一位數碼管都有一個公共的陽極。P2.0-P2.3分別為四位數碼管的位選信號(低電平有效),P0口是數碼管的段信號。四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽。2. 4位數碼管循環(huán)顯示 012345

17、6789ABCDEF,每組時間間隔位3秒,編寫程序并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗五 矩陣鍵盤實驗一、實驗目的:1 學習非編碼鍵盤的工作原理和鍵盤的掃描方式。2 學習鍵盤的去抖方法和鍵盤應用程序的設計。二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理圖鍵盤是單片機應用系統(tǒng)接受用戶命令的重要方式。單片機應用系統(tǒng)一般采用非編碼鍵盤,需要由軟件根據鍵掃描得到的信息產生鍵值編碼,以識別不同的鍵

18、。按照鍵盤的連接方式,鍵盤還可分為獨立鍵盤和矩陣式鍵盤兩種。本板采用4*4矩陣鍵盤,行信號分別為P1.0-P1.3,列信號分別為P1.4-P1.7。具體電路連接見圖2-6.圖2-6 矩陣鍵盤電路原理圖對于鍵的識別一般采用逐行(列)掃描查詢法,判斷鍵盤有無鍵按下,由單片機I/O口向鍵盤送全掃描字,然后讀入列線狀態(tài)來判斷。詳細內容見教材233頁。四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽(由于P1.3和P1.4管腳和實時時鐘芯片DS1302復用,所有在做矩陣鍵盤實驗的時候務必拔去板上的DS1302芯片,以免產生干擾)。2按不同的鍵(0-F),使用數碼管的靜態(tài)顯示(選4位中1

19、位)顯示按鍵的鍵值。3. 根據題目要求,編寫實驗程序,并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗六 帶應急的交通燈控制實驗一、實驗目的:1. 使用P1口做為輸出實現交通燈控制實驗。2. 學習外部中斷技術的基本使用方法和中斷處理程序的編程方法。二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理本實驗電路部分如圖2-1和2-2所示,使用發(fā)光二極管模擬交通燈,LED1到LED3作為東西路口的紅、黃、綠燈

20、,LED5到LED7作為南北路口的紅、黃、綠燈。燈的亮滅規(guī)則按流程圖要求。由原理圖可分析出,當端口為低電平時,發(fā)光二極管亮,高電平時,發(fā)光二極管滅,考慮人眼的視覺暫留(0.1S),調整發(fā)光二極管亮滅的延時時間。在上述要求的基礎上增加允許急救車優(yōu)先通過的要求。當有急救車到達時,兩個方向上的紅燈亮,以便讓急救車通過,假定急救車通過路口的時間為5秒,急救車通過后,交通燈恢復中斷前的狀態(tài)。本實驗以單脈沖為中斷申請,表示有急救車通過。中斷0的電路原理圖如下圖所示: 圖2-7 外部中斷電路原理圖四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽。2. 根據實驗要求設LED1到LED3作為東

21、西路口的紅、黃、綠燈,LED5到LED7作為南北路口的紅、黃、綠燈。3. 主程序首先按照圖2-8的流程來執(zhí)行程序,當有急救車通過時,按下中斷按鍵,進入中斷子程序,亮滅規(guī)則如圖2-9所示:開始兩個紅燈亮延時3秒東西路口綠燈亮,南北路口紅燈亮延時5秒東西路口綠燈滅東西路口黃燈閃爍5次兩紅燈亮延時0.2秒南北路口綠燈亮,東西路口紅燈亮延時5秒南北路口綠燈滅南北路口黃燈閃爍5次兩紅燈亮延時0.2秒中斷入口有關寄存器入棧操作端口使紅燈全亮,黃、綠燈全滅延時5秒取中斷前所保存的數據輸出,恢復原始狀態(tài)有關寄存器出棧外部中斷允許標志置位中斷返回 圖2-9 中斷程序流程圖圖2-8 主程序交通燈亮滅規(guī)則 4. 根

22、據流程圖,編寫實驗程序,并完成調試。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。實驗七 定時器控制循環(huán)彩燈一、實驗目的:1 學習89C51內部定時器的使用和編程方法。2 進一步掌握中斷處理程序的編寫方法。二、實驗設備:STC89C52單片機實驗板、串口下載線、USB連接線、電腦三、實驗原理1 定時常數的確定定時器/計數器的輸入脈沖周期與機器周期一樣, 為振蕩頻率的1/12。本實驗中時鐘頻率為12.0 MHZ,現要采用中斷方法來實現0.5秒延時,要在定

23、時器1中設置一個時間常數,使其每隔0.05秒產生一次中斷,CPU響應中斷后將R0中計數值減一,令R0=0AH,即可實現0.5秒延時。時間常數可按下述方法確定:機器周期=12晶振頻率=12/(12106)=1us設計數初值為X,則(216-X)110-6=0.05,可求得X=15535化為十六進制則X=3CAFH,故初始值為TH1=3CH,TL1=AFH2 初始化程序包括定時器初始化和中斷系統(tǒng)初始化,主要是對IP、IE、TCON、TMOD的相應位進行正確的設置,并將時間常數送入定時器中。由于只有定時器中斷,IP便不必設置。3 設計中斷服務程序和主程序中斷服務程序除了要完成計數減一工作外,還要將時

24、間常數重新送入定時器中,為下一次中斷做準備。四、實驗步驟:1. 分析實驗所用到的電路原理圖,根據需要連接跳線帽。2. 89C51內部定時器1按方式1工作,即作為16位定時器使用,每0.05秒鐘T1溢出中斷一次。P1口的P1.0P1.7分別接發(fā)光二極管的LED1LED8。要求編寫程序模擬一循環(huán)彩燈。彩燈變化花樣為:LED1、LED2、LED8依次點亮;LED1、LED2、LED8依次熄滅;LED1、LED2、LED8全亮、全滅。各時序間隔為0.2秒。讓發(fā)光二極管按以上規(guī)律循環(huán)顯示下去。3. 根據流程圖,編寫實驗程序,并完成調試。有興趣的同學可以在此基礎上,使用定時器控制蜂鳴器發(fā)出一段音樂。五、實驗要求: 1. 預習,書寫實驗報告(包括實驗目的,原理、步驟、流程圖、實驗程序)。 2. 上機調試程序,直到完成所要求的功能并在實驗報告后面書寫程序調試時所遇到的問題和最終解決的辦法。 實驗八 單片機到PC機數據傳送實驗 一、實驗目的:1 掌握89

溫馨提示

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

評論

0/150

提交評論