目錄
一、構建單片機最小系統版和實驗環境熟悉
1.1實驗要求
1.2實驗過程
1,21.單片機最小系統實驗
1.22編譯環境的熟悉
二、跑馬燈實驗及74LS138譯碼
2.1.實驗要求
2.2.實驗過程
2.21單片機直接實現跑馬燈
2.22通過74LS138譯碼器實現跑馬燈
三、8255A控制交通燈實驗
3.1實驗要求
3.2實驗過程
四、8253方波實驗
4.1實驗要求
4.2實驗過程
五、繼電器控制實驗
5.1實驗要求
單片機設計總結:
附錄:
摘要: 單片機應用技術為一門理論與實踐相結合的課,本課安排的實驗旨在培養學生軟硬件開發能力,用編程語言及硬件設備實現串、并行通訊、計數/定時、A/D、D/A等硬件接口的功能,進一步加深對常用硬件芯片的了解和應用,以及學習用單片機解決實際問題。實驗要求學生利用編程語言及硬件設備實現單片機的方案設計、程序編寫、硬件連接、調試,從中體會具體硬件接口的應用技巧,進一步理解硬件接口芯片,逐步掌握單片機系統的開發和應用方法。
使用Protues能使我們在沒有用實物連接的情況下允許學生在Windows操作系統下編寫、編譯、連接、錯誤定位、調試、觀察、修改系統。通過本實驗的學習,學生可以熟悉各種類型的接口芯片,匯編語言程序的編寫、調試,充分鍛煉動手及編程能力。 關鍵詞:編程語言 硬件芯片 單片機系統 接口芯片
一、構建單片機最小系統版和實驗環境熟悉
1.1實驗要求一、預習要求 1.構建單片機最小系統,熟悉51單片機的結構及編程方法 2.按照程序流程圖編寫出程序 二、實驗目的 1.熟悉星單片機最小系統的組成和工作原理,熟悉Keil C51集成環境軟件的使用方法。 2.熟悉MCS51匯編指令,能自己編寫簡單的程序,控制硬件。 三、實驗內容 單片機最小系統實驗: 1、熟悉單片機最小系統的組成和工作原理,熟悉Keil C51集成環境軟件的安裝和使用方法。 2、作出單片機最小系統的組成原理圖,分析其各構成單元的工作原理。 存儲單元數據傳輸實驗: 1、熟悉MCS51匯編指令。 2、進行存儲單元數據傳輸實驗,編寫程序。 3、運行程序,驗證譯碼的正確性。 1.2實驗過程
1,21.單片機最小系統實驗1.單片機最小系統板的組成 時鐘電路復位電路,電源電路,這幾個部分構成,復位電路是用來使電路的運行狀態歸零,電源電路是用來提供+5v的電源電壓,對單片機進行供電(由于器材等原因本次設計我們用的是開發板供電)。下面的單片機最小系統板,我們晶振選擇的是12MHz的,其他的各種元器件來構成單片機的最小系統板。 2、使用Protues繪制單片機最小系統原理圖 3、單片機最小系統的工作原理 (1)51單片機最小系統復位電路的極性電容C3的大小直接影響單片機的復位時間,一般采用10-30uF,51單片機最小系統容值越大需要的復位時間越短。 (2)51單片機最小系統晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,51單片機最小系統晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。 (3)51單片機最小系統起振電容C2、C3一般采用15-33pF,并且電容離晶振越近越好,晶振離單片機越近越好。 (4)P0口為開漏輸出,作為輸出口時需加上拉電阻,阻值一般為10k。 A、設置為定時器模式時,加1計數器是對內部機器周期計數(1個機器周期等于12個振蕩周期,即計數頻率為晶振頻率的1/12)。計數值N乘以機器周期Tcy就是定時時間t。 B、設置為計數器模式時,外部事件計數脈沖由T0或T1引腳輸入到計數器。在每個機器周期的S5P2期間采樣T0、T1引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數器加1,更新的計數值在下一個機器周期的S3P1期間裝入計數器。由于檢測一個從1到0的下降沿需要2個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為12MHz時,最高計數頻率不超過1/2MHz,即計數脈沖的周期要大于2 ms。 1.22編譯環境的熟悉實驗中我們使用keil 4環境編譯程序。其窗口界面如下: 思考題 1、在單片機最小系統的構建中,應注意哪些因素。 答:(1)51單片機現在多用AT89S51,不用晶振,晶體加兩個電容就可以了。 (2)復位電路中的電容是慮波穩定作用,并聯在一個電阻上,一端接地,一端通過開關接高電位就可以了。 (3)晶振:一般選用 12MHz ,因為可以準確地得到 9600 波特率和 19200 波特率。 實驗總結 單片機最小系統的構建,讓我對單片機的知識有了更深的了解。單片機最小系統的焊接,也鍛煉了我的自己動手的能力。在焊接的過程中由于粗心,出了不少的錯誤,最后還是在同學的幫助下順利完成了。
二、跑馬燈實驗及74LS138譯碼 2.1.實驗要求一、預習要求 1.熟悉51單片機的結構及編程方法 2.按照程序流程圖編寫出程序 二、實驗目的 1.熟悉集成環境軟件或熟悉Keil C51集成環境軟件的使用方法。 2.熟悉MCS51匯編指令,能自己編寫簡單的程序,控制硬件。 三、實驗內容 (一)跑馬燈實驗: 1、熟悉集成環境軟件或熟悉Keil C51集成環境軟件的安裝和使用方法。 2、照接線圖編寫程序:使用P1口控制G6區的8個指示燈,循環點亮,瞬間只有一個燈亮。 3、觀察實驗結果,驗證程序是否正確。 (二)74LS138譯碼器實驗: 1、設計74LS138接口電路,編寫程序:使用單片機的P1.0、P1.1、P1.2控制74HC138的數據輸入端,通過譯碼產生8選1個選通信號,輪流點亮8個LED指示燈。 2、運行程序,驗證譯碼的正確性。 2.2.實驗過程
2.21單片機直接實現跑馬燈
跑馬燈原理圖 
仿真圖 1、跑馬燈對應程序的流程圖
2.22通過74LS138譯碼器實現跑馬燈1、74LS138譯碼器工作原理 (1)、74LS138譯碼器工作原理 
74LS138原理圖 從原理圖可看出,74138有三個輸入端:A0、A1、A2和八個輸出端Q0~Q7。當輸入端A0、A1、A2的編碼為000時,譯碼器輸出為Q0=0,而Q1~Q7=1。即Q0對應于A0、A1、A2為000狀態,低電平有效。A0、A1、A2的另外7種組合見后面的真值表。 圖中S1、S2、S3為使能控制端,起到控制譯碼器是否能進行譯碼的作用。只有S1為高電平,S2、S3均為低電平時,才能進行譯碼,否則不論輸入輸入為何值,每個輸出端均為1。 (2)、74LS138譯碼器真值表 
2、通過74LS138跑馬燈仿真圖 
3.對應程序流程圖
思考題 1、在單片機系統中,74LS138通常用來產生片選信號,應如何處理? 答:取三根底地址線,接到74LS138譯碼器的輸入端,譯碼產生,8個使能控制信號。 實驗心得 第一個實驗單片機直接控制跑馬燈,比較容易實現,只需要從單片機的p1.0到p1.7接到跑馬燈上,利用這些接口控制。138控制流水燈的實驗有些麻煩,實驗過程中也出現了不少的問題,但到最后都解決了。這次的實驗讓我對138的功能有了更深的了解與熟悉。 三、8255A控制交通燈實驗
3.1實驗要求一、預習要求 1.熟悉51單片機的結構及編程方法 2.按照要求畫出流程圖及程序 二、實驗目的 1、了解8255芯片的工作原理,熟悉其初始化編程方法以及輸入、輸出程序設計技巧。學會使用8255并行接口芯片實現各種控制功能,如本實驗(控制交通燈)等。 2、熟悉8255內部結構和與單片機的接口邏輯,熟悉8255芯片的3種工作方式以及控制字格式。 3、嘗試自行編寫程序,填寫實驗報告。 三、實驗內容 1、設計8255接口電路,編寫程序:使用8255的PA0..2、PA5..7控制LED指示燈,實現交通燈功能。 2、連接線路驗證8255的功能,熟悉它的使用方法。 3.2實驗過程1、8255引腳圖 
2、8255工作原理 
8255共有三種工作方式: (1)工作方式0:這是 8255A 中各端口的基本輸入/輸出方式。它只完成簡單的并行輸入/輸出操作,CPU 可從指定端口輸入信息,也可向指定端口輸出信息,如果三個端口均處于工作方式0,則可由工作方式控制字定義16種工作方式的組合。 (2)工作方式1:被稱作選通輸入/輸出方式。在這種工作方式下,數據輸入/輸出操作要在選通信號控制下完成。 (3)工作方式2:被稱作帶選通的雙向傳送方式。8255A中只允許端口A 處于工作方式2,可用來在兩臺處理機之間實現雙向并行通信。其有關的控制信號由端口 C 提供,并可向 CPU發出中斷請求信號。 3、主程序流程圖
4、8255A交通燈仿真圖
思考題 1.如何對8255的PC口進行位操作? 8255控制字D7=1時,D6~D0為口模式控制,D7=0時控制字為PC口的位操作模式,如控制字=00H,PC0復位;控制字=01H,PC0置位;控制字=0EH,PC7復位;控制字=0FH,PC7置位;其中D6~D4沒定義,D3~D1從000B~111B分別指定PC0~PC7腳,D0位為相應的電平高低,0為低電平,1為高電平。 實驗總結 所有的實驗中最難得還是這個家同等的實驗。在做交通燈的實驗時我們遇到了很大的問題,不管我們怎么連線就是不能點亮燈或者點亮了等也不能實現要求,就是燈一直亮而不閃。即使使用萬用表也很難找到問題的所在,最后還是通過退隊之間的討論以及在別的同學的幫助下。 四、8253方波實驗4.1實驗要求一、預習要求 1.熟悉51單片機的結構及編程方法 2.按照要求畫出流程圖及程序 二、實驗目的 了解8253的內部結構、工作原理;了解8253與單片機的接口邏輯;熟悉8253的控制寄存器和初始化編程方法,熟悉8253的6種工作模式。 三、實驗內容 1、設計接口電路,編寫程序:使用8253的計數器0和計數器1實現對輸入時鐘頻率的兩級分頻,得到一個周期為1秒的方波,用此方波控制蜂鳴器,發出報警信號,也可以將輸入腳接到邏輯筆上來檢驗程序是否正確。 2、連接線路,驗證8253的功能,熟悉它的使用方法。 4.2實驗過程1、8253引腳圖
2、8253工作原理 8253中各通道可有6種可供選擇的工作方式, 以完成定時、計數或脈沖發生器等多種功能。8253工作方式如下: (1)工作方式0:稱為計數結束中斷方式,當任一通道被定義為工作方式0時, OUTi輸出為低電平;若門控信號GATE為高電平,當CPU利用輸出指令向該通道寫入計數值WR#有效時,OUTi仍保持低電平,然后計數器開始減“1”計數, 直到計數值為“0”,此刻OUTi將輸出由低電平向高電平跳變,可用它向CPU發出中斷請求,OUTi端輸出的高電平一直維持到下次再寫入計數值為止。 (2)工作方式1:稱作可編程單脈沖發生器,進入這種工作方式, CPU裝入計數值n后OUTi輸出高電平, 不管此時的GATE輸入是高電平還是低電平, 都不開始減“1”計數,必須等到GATE由低電平向高電平跳變形成一個上升沿后,計數過程才會開始。 (3)工作方式2:稱作速率波發生器,進入這種工作方式, OUTi輸出高電平,裝入計數值n后如果GATE為高電平,則立即開始計數,OUTi保持為高電平不變; 待計數值減到“1”和“0”之間, OUTi將輸出寬度為一個CLKi周期的負脈沖,計數值為“0”時,自動重新裝入計數初值n,實現循環計數。 (4)工作方式3:稱作方波發生器,任一通道工作在方式3, 只在計數值n為偶數,則可輸出重復周期為n、占空比為1:1的方波。進入工作方式3,OUTi輸出低電平, 裝入計數值后,OUTi立即跳變為高電平。 (5)工作方式4:稱作軟件觸發方式,進入工作方式4,OUTi輸出高電平。裝入計數值n后, 如果GATE為高電平,則立即開始減“1”計數,直到計數值減到“0”為止,OUTi輸出寬度為一個CLKi周期的負脈沖。 (6)工作方式5:稱為硬件觸發方式,進入工作方式5, OUTi輸出高電平, 硬件觸發信號由GATE端引入。開始時GATE應輸入為0, 裝入計數初值n后,減“1”計數并不工作,一定要等到硬件觸發信號由GATE端引入一個正階躍信號,減“1”計數才會開始,待計數值計到“0”, OUTi將輸出負脈沖,其寬度固定為一個CLKi周期,表示定時時間到或計數次數到。 (7)工作方式6:⑴直接讀計數器:輸出鎖存器在非鎖存狀態會跟隨計數器計數的變化而變化,直接讀計數器是從鎖存器得到計數器的當前值。⑵先鎖存再讀取:①通過方式選擇控制字對指定通道(SC1、SC0)的計數值鎖入鎖存器(RL1RL0=00), 鎖存器一旦鎖存了當前計數值,就不再隨計數器變化直到被讀取。②讀計數器通道(有鎖存器)。 3、主程序流程圖 4、中斷程序流程圖 5、8253方波仿真圖 思考題 1、8253還有其它五種工作方式,其它工作模式下,硬件如何設計?程序如何編寫? 答:(1)計數初值何時起作用:計數初值寫入計數初值寄存器(CR)后,要經過一個CLK輸入后,計數執行部件(CE)才開始計數。 (2)門控信號的影響:門控信號是計數允許信號。高電平允許,即GATE=1,允許對CLK計數。上升沿允許這種情況需使用計數器內部的一個邊沿觸發器。只要當初邊沿觸發器置1后,計數器才對CLK計數。GATE上升沿使邊沿觸發器置1,GATE下降沿使邊沿觸發器自動清0.模式0,2,3,4,高電平允許,模式1、5,上升沿允許。 (3)OUT信號的狀態:寫入控制字后,OUT的狀態。計數過程中,OUT的狀態。計數終了,OUT的狀態。 (4)技術操作是否可以重復,或稱計數初值是否可以自動裝入:a.不可重復b自動重復c條件重復。 (5)計數器的工作模式:計數器在CLK的下降沿使計數值減1,計數值減至0時,“計數到”。寫入初值0時,代表最大初值65536。模式0:計數結束產生中斷。模式1:可重復觸發的單穩態觸發器。模式2:分頻器模式。3:方波發生器模式4:軟件觸發的選通信號發生器。模式5:硬件觸發的選通信號發生器。 實驗總結 在該實驗中我們要注意對8253的使用,掌握8253的使用方法,明白其工作原理,了解8253芯片的各個引腳。在編寫程序時,要注意8253的初始化,注意不要把初始化部分寫到循環程序中去了,否則就會在上電后一直對8253進行初始化操作,不能實現功能。還有在編寫延遲程序時要留夠延遲時間,否則也會不能正確實現功能。 五、繼電器控制實驗5.1實驗要求一、預習要求 1.了解繼電器/光偶器件的原理及應用 2.認真預習本節實驗內容,嘗試自行編寫程序。 二、實驗目的 1、掌握使用繼電器控制外設的基本方法和編程。 2、掌握光耦的工作原理,熟悉它的使用方法。 三、實驗內容 1、預備知識 自動化控制設備中,存在一個電子與電氣電路的互連問題,一方面,電子電路要控制電氣電路的執行元件,如:電動機、電磁鐵、電燈等;一方面又要為電子電路提供良好的電隔離,以保護電子電路和人身安全,減少干擾源。繼電器就起這個橋梁作用。 2、實驗過程:設計接口電路,通過繼電器控制直流電機轉動、停止。 四、實驗原理 參考電路原理圖如下: (繼電器控制原理圖) 
五、實驗設備 實驗室電腦,集成軟件及STAR ES598實驗儀 六、實驗注意事項 1.注意在集成環境下程序調試的方法 2.注意保護實驗箱 七、實驗步驟 繼電器控制 1、設計接口電路,分析工作原理。 
2、編寫并運行程序,利用撥動開關控制直流電機轉動、停止。 思考題 1.列寫出所編程序及流程圖并做出注釋 CLR P2.7 ;使譯碼器無效 JIDIAN_1: SETB P2.6 CJNE R4,#05H,JIDIAN_2 ;按鍵按下后立即跳出 JB P3.1,JIDIAN_1 ;JB位條件轉移 MM: CLR P2.6 JNB P3.1,MM JB P3.1, JIDIAN_1 JIDIAN_2: RET END 實驗總結 第五次試驗我只做了繼電器的實驗,主要通過繼電器來控制電機。由于器材的限制沒有電機,我用一個發光二極管來代替。當開關合上導通時,二極管發光,開關斷開時二極管熄滅,這樣能模擬電動機的工作狀態。實驗焊接時需要非常小心,因為繼電器的引腳有6個,不是都需要焊接,有幾個引腳的功能是一樣的,剛還是由于沒有注意到這點,實驗做不出來,后來在別人的指導下,找出錯誤,完成本次試驗。
單片機設計總結:經過單片機的五次實驗讓我們受益匪淺.此次實驗是通過團隊合作進行軟件與硬件的設計相結合。這次試驗即考察了我們的焊接水平與編程能力,又考察了我們的團隊合作,對于我們電子自動化的學生而言焊接是不成問題,也很順利;可到了編程就出現了很大的問題。本來還以為實驗會很簡單,但等到實際操作起來才知道它的復雜性,首先我們不知道怎么去理解實驗題目,怎樣更好的設計程序而達到實驗的要求。其次,隊員的每個人的想法都不同,導致實驗并沒有想象中的那么順利。最終我們通過討論明確了分工以及向別的小組同學咨詢,解決了這些問題。單片機技術已經很早結束了,所以后期很多專業知識已經不是很記得.不過經過我們一步步的努力,最終花費的時間與精力終于沒有白費,效果漸漸地出現了,終于一步步地完成了本次設計實驗。 總而言之,片機設計對于我們有很大的幫助,我們從中受益匪淺。最后我們要感謝儲忠老師的辛勤教導,還有老師對我們的試驗安排,讓我們有足夠的時間可以做好實驗。
實物圖: 
總的仿真電路圖:

完整的Word格式文檔51黑下載地址:
鄒世陽的單片機課程設計.doc
(1.69 MB, 下載次數: 21)
2019-4-14 21:15 上傳
點擊文件名下載附件
|