單片機培訓講義97683課件_第1頁
單片機培訓講義97683課件_第2頁
單片機培訓講義97683課件_第3頁
單片機培訓講義97683課件_第4頁
單片機培訓講義97683課件_第5頁
已閱讀5頁,還剩81頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

單片機培訓一、學好單片機的必要性1、從就業角度目前各電子公司都離不開單片機設計者,需求較大,就業率高。2、從學習知識本身單片機是專業課里的基礎課,是培養軟硬件設計基礎最合適的一門技術。學好單片機有利于以后較復雜課程的學習,比如,嵌入式系統、dsp、fpga等課程。二、學好單片機的基礎條件1、興趣第一,具備學習電子技術的興趣是學好單片機的最重要的條件,基礎差可以從頭開始一點點彌補,腦子笨可以靠勤奮彌補,沒有錢買學習工具可以從嘴里省,但沒有興趣只能勸你換個方向了,畢竟你已過了培養興趣的時期了。2、堅持,學習中不可避免的要碰到困難,有的同學學好了,他可以享受其中的快樂;有的同學沒學好,他在懷疑自己的智商,世上無笨人,一句話“缺乏堅持”。本次培訓推薦的參考教材《單片機原理及應用技術》主編萬隆等 清華大學出版社圖1-1MCUBUS開發板外形圖工業自動化:數據采集、測控技術。智能儀器儀表:數字示波器、數字信號源、數字萬用表、感應電流表等。消費類電子產品:洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。通訊方面:調制解調器、程控交換技術、手機、小靈通等。武器裝備:飛機、軍艦、坦克、導彈、航天飛機、魚雷制導、智能武器等。單片機能做什么?萬年歷旋轉時鐘電動機帶動焊有一排LED的電路板旋轉,單片機通過紅外二級管測得電路板轉一圈的時間,然后將時間分割,在每個分割點讓不同的發光二極管顯示,利用人眼視覺暫留,看上去就像一個時鐘。魅族M8手機魅族M8采用了三星Arm10S3C6410的處理器,并預裝WindowsCE6.0操作系統,配備3.3英寸、VGA(640*480)分辨率的液晶屏。圖1-251單片機引腳分布圖1.電源及時鐘引腳VCC(40腳):主電源正端,接+5V。VSS(20腳):主電源負端,接地。XTAL1(19腳):片內高增益反響放大器的輸入端。接外部石英晶體和電容的一端。若使用外部輸入時鐘,該引腳必須接地。XTAL2(18腳):片內高增益反向放大器的輸出端。接外部石英晶體和電容的另一端,若使用外部輸入時鐘,該引腳作為外部輸入時鐘的輸入端。3.輸入輸出引腳PO口、P1口、P2口、P3口P3口線第二功能P3.0RXD(串行接收)P3.1TXD(串行發送)P3.2INT0(外部中斷0輸入,低電平或下降沿有效)P3.3INT1(外部中斷1輸入,低電平或下降沿有效)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數據RAM寫使能信號,低電平有效)P3.7RD(外部數據RAM讀使能信號,低電平有效)任務一點亮一個LED燈任務二流水燈實驗原理圖參考開發板說明書練習:P0口做通用I/O輸出口,控制8只發光二極管從左到右依次點亮,再依次熄滅。2數碼管顯示LED顯示器是單片機應用系統中常用的輸出器件。它是由若干個發光二極管組成的,當發光二極管導通時,相應的一個點或一個筆畫發亮。

2.顯示原理以共陰極為例:LED數碼管的a~g七個發光二極管。共陰極LED顯示器的發光二極管的陰極連在一起,通常此公共陰極接地。當某個發光二極管的陽極為高電平時,發光二極管點亮,相應的段被顯示。數碼管字型碼顯示字符共陽極字碼共陰極字碼顯示字符共陽極字碼共陰極字碼0FCHB3EH160HC9CH2DAHD7AH3F2HE9EH466HF8EH5B6HPCEH6BEHU7DH7E0HL1CH8FEHH76H9E6H“滅”00HAEEH數碼管的顯示方法可以分為兩種,即靜態顯示和動態顯示。1)LED靜態顯示靜態顯示就是當要顯示某個數字時,可以通過給LED的數據引腳設置相應的高低電平即可實現顯示相應數據。2)LED動態顯示所謂動態顯示就是將要顯示的數按顯示數的順序在各個數碼管上一位一位的顯示,它利用人眼的駐留效應使人感覺不到是一位一位顯示的,而是一起顯示的。任務三在開發板上顯示12345678練習二實現從1to99計數,利用兩位數碼管.3定時器/計數器

51系列單片機內部有兩個16位可編程定時器/計數器,即定時器T0和定時器T1。微處理器(CPU)TH1 TL1TH0TL0TCONTMOD圖6-17定時/計數器T0、T1的結構框圖P3.5(T1)P3.4(T0)定時/計數器的控制與實現1.工作方式寄存器TMOD(89H)用于設置定時/計數器的工作方式,低4位用于T0,高4位用于T1。其格式如下:(1)GATE:門控位。GATE=0時,當軟件使TCON中的TR0或TR1設置為“1”,則啟動定時/計數器工作;GATA=1時,軟件使TR0或TR1設置為“1”,同時外部中斷引腳或也為高電平時,才能啟動定時/計數器工作。(2)C/T:定時/計數模式選擇位。C/T=0為定時模式;C/T=1為計數模式。(3)M1M0:工作方式設置位。定時/計數器有4種工作方式,由M1M0進行設置,如表所示。

M1M0工作方式功能說明00方式013位定時/計數器01方式116位定時/計數器10方式28位自動重裝初值定時/計數器11方式3T0分成兩個獨立的8位定時/計數器;T1此方式停止計數2.控制寄存器TCON(88H)TCON的低4位用于控制外部中斷,TCON的高4位用于控制定時/計數器的啟動和中斷申請。其格式如下:(1)TF1:定時/計數器T1溢出中斷請求標志位。T1計數溢出時由硬件自動置TF1為“1”。在進入中斷服務程序后TF1由硬件自動清“0”;若用于查詢方式,此位可作為狀態位供查詢,但應注意查詢后由軟件清“0”。(2)TF0:定時/計數器T0溢出中斷請求標志位,其功能與TF1類同。(3)TR1:定時/計數器T1運行控制位。TR1置“1”時,定時/計數器T1開始工作;TR1置“0”時,定時/計數器T1停止工作。TR1由軟件置“1”或清“0”。(4)TR0:定時/計數器T0運行控制位,其功能與TR1類同。定時/計數器的工作方式51單片機定時/計數器T0有4種工作方式(方式0、1、2、3);T1有3種工作方式(方式0、1、2);方式1當M1M0為01時,定時/計數器工作于方式1,如圖。方式1的計數位數是16位,由TL0作為低8位、TH0

作為高8位,組成了16位加“1”計數器。計數個數M與計數初值N的關系為M=216-N。用于定時功能時,定時時間t的計算公式為:

t=M×機器周期=(216-N)×機器周期若晶振頻率為12MHz,機器周期=1,初值N=0~

65535范圍時,則可定時范圍為1~65.536ms。用于計數功能時,初值N=0~65535范圍時,計數范圍為1~65536。任務3-1利用定時器方式1,小燈以1s閃亮,亮時,蜂鳴器以20hz的頻率鳴叫;練習3-1利用定時器實現1s定時,控制led小燈1S循環.4中斷系統中斷是計算機中是很重要的一個概念,中斷系統是計算機的重要組成部分。中斷源 51單片機共有5個中斷源:外部中斷0、外部中斷1、定時/計數器中斷0、定時/計數器中斷1、串行口中斷。每個中斷源對應一個固定的中斷入口地址。當某中斷源的中斷請求被CPU響應之后,CPU從中斷入口處獲取中斷服務程序的入口地址,進入相應的中斷服務程序。各中斷源入口地址及優先級如表6-2所示,圖6-12為51中斷系統結構示意圖。最低級中斷源請求標志入口地址優先級外部中斷0IE00003H最高級定時器中斷0TF0000BH外部中斷1IE10013H定時器中斷0TF1001BH串行口發送/接受中斷TI/RI002BH一、中斷請求標志1、TCON的中斷標志IT0(TCON.0),外部中斷0觸發方式控制位。當IT0=0時,為電平觸發方式。當IT0=1時,為邊沿觸發方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請求標志位。中斷控制IT1(TCON.2),外部中斷1觸發方式控制位。IE1(TCON.3),外部中斷1中斷請求標志位。TF0(TCON.5),定時/計數器T0溢出中斷請求標志位。TF1(TCON.7),定時/計數器T1溢出中斷請求標志位。2、SCON的中斷標志RI(SCON.0),串行口接收中斷標志位。當允許串行口接收數據時,每接收完一個串行幀,由硬件置位RI。同樣,RI必須由軟件清除。TI(SCON.1),串行口發送中斷標志位。當CPU將一個發送數據寫入串行口發送緩沖器時,就啟動了發送過程。每發送完一個串行幀,由硬件置位TI。CPU響應中斷時,不能自動清除TI,TI必須由軟件清除。1、中斷允許控制CPU對中斷系統所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。二、中斷的控制

EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數器T0中斷允許位;EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。2、中斷優先級控制80C51單片機有兩個中斷優先級,即可實現二級中斷服務嵌套。每個中斷源的中斷優先級都是由中斷優先級寄存器IP中的相應位的狀態來規定的。PX0(IP.0),外部中斷0優先級設定位;PT0(IP.1),定時/計數器T0優先級設定位;PX1(IP.2),外部中斷0優先級設定位;PT1(IP.3),定時/計數器T1優先級設定位;PS(IP.4),串行口優先級設定位;PT2

(IP.5),定時/計數器T2優先級設定位。單片機的中斷優先級有3條原則:CPU同時接受到幾個中斷時,首先響應優先級別最高的中斷請求;正在進行的中斷過程不能被新的同級或低優先級的中斷請求所中斷;正在進行的低優先級中斷服務,能被高優先級中斷請求所中斷。中斷響應的條件 CPU中斷響應的條件是:中斷源有中斷請求此中斷的中斷允許位為1CPU開總中斷同時滿足這3個條件時,CPU才有可能響應中斷。任務4-1利用定時器中斷方式,來實現任務3-1的功能.練習4-1利用定時器中斷方式,來實現練習3-1的功能.練習4-2同時用兩個定時器控制蜂鳴器發聲,定時器0控制頻率,定時器1控制同個頻率持續的時間,間隔2s依次輸出1,10,50,100,200,400,800,1k(hz)的方波?設晶振頻率為12MHz。練習4-3中斷的嵌套,開機1S后,蜂鳴器響,然后按外部中斷按鍵,使蜂鳴器停止響一段時間后再響.串行通信51系列單片機的串行口占用P3.0和P3.1兩個引腳,是一個全雙工的異步串行通信接口,可以同時發送和接受數據。P3.0是串行數據接收端RXD,P3.1是串行數據發送端TXD。51單片機串行接口的內部結構如圖6-30所示。圖6-30串行口結構示意圖1)串行接口控制寄存器SCON(98H)用于控制串行接口的工作狀態,其格式如下:位D7D6D5D4D3D2D1D0字節地址SCONSM0SM1SM2RENTB8RB8TIRI98H位地址9FH9EH9DH9CH9BH9AH99H98H串行口相關寄存器電源控制寄存器PCON(97H)其中只有1位SMOD與串行接口工作有關,格式如下:SMOD:波特率系數控制位。在串行接口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,波特率加倍,否則不加倍。復位時,SMOD=0。PCON的地址為97H,不能位尋址,需要字節傳送。位D7D6D5D4D3D2D1D0字節地址PCONSMOD97H表常用波特率、晶振頻率與定時器(T1)的參數關系串行口工作方式及波特率(bit/s)fosc/MHzSMOD定時器(T1)C/T(——)方式初始值方式0最大:1M12××××方式2最大:375K121×××方式1、3:62.5K12102FFH19.2K11.0592102FDH960012102F9H480012102F3H240012002F3H120012102F6H960011.0592002FDH480011.0592002FAH240011.0592002F4H120011.0592002E8H任務5-1單片機在按鍵的控制下發送一組數據,PC機接收,利用串行口調試助手查看結果任務5-2PC機發送,單片機接收數據,將數據通過數碼管顯示.按鍵接口原理及應用列線通過電阻接正電源,并將行線所接的單片機I/O端口作為輸出端,而列線所接的I/O端口則作為輸入端.當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下.行線輸出是低電平,一旦有健按下時,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態就可得知是否有健按下了.常用的鍵識別方式有:行掃描法,線翻轉法、中斷法。行掃描法將全部行線置低電平,然后檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。判斷閉合鍵所在的位置。方法:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測個列線的電平狀態。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。這里咱們采用翻轉法。任務6-1利用數碼管顯示鍵值IIC總線IIC總線是PHILIPS公司推出的串行總線,它是一種簡單、雙向二線制同步串行總線,它只需要兩根線即可在連接于總線上的器件之間傳送信息。IIC總線數據的通信協議

1.IIC接口IIC總線的串行數據線SDA和串行時鐘線SCL必須經過上拉電阻Rp接到正電源上。當總線空閑時,SDA和SCL必須保持高電平。2.起始和終止信號對IIC器件的操作總是從一個規定的"啟動(Start)"時序開始,即SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據;信息傳輸完成后總是以一個規定的"停止(Stop)"時序結束,即SCL為高電平時,SDA由低電平向高電平跳變,結束傳送數據。時序圖如圖8-11。起始信號和終止信號都是由主機發出的,在起始信號產生后,總線就處于被占用的狀態;在終止信號產生一段時間后,總線就處于空閑狀態。圖8-11起始/停止時序 在進行數據傳輸時,SDA線上的數據必須在時鐘的高電平周期保持穩定,數據線的高或低電平狀態只有在SCL線的時鐘信號是低電平時才能改變,如圖8-12所示。圖8-12數據傳輸時序3.字節數據傳送及應答信號IIC總線傳送的每個字節均為8位,每次傳輸可以發送的字節數量不受限制,每個字節后必須跟一個應答信號。首先傳輸的是數據的最高位,如圖8-13所示

圖8-13數據傳送格式主控器件發送時鐘脈沖信號,并在時鐘信號的高電平期間保持數據線(SDA)的穩定。由最高位開始一位一位的發送完一個字節后,在第9個時鐘高脈沖時,從機輸出低電平作為應答信號,表示對接收數據的認可,應答信號用ACK表示。4.完整的數據傳送IIC數據的傳輸遵循圖8-13所示的格式。先由主控器發送一個啟動信號(S),隨后發送一個帶讀/寫(R/W)標記的從地址字節(SLAVEADDRESS),從機地址只有7位長,第8位是“讀/寫(R/W),用來確定數據傳送的方向。1)寫格式。IIC總線數據的寫格式,如圖8-14。 圖8-14讀數據格式對于寫格式,從機地址中第八位R/W應為0,表示主機控制器將發送數據給從機,從機發送應答信號(A)表示接收到地址和讀寫信息,接著主機發送若干個字節,每個字節后從機發送一個應答位(A)。注意根據具體的芯片功能,傳送的數據格式也有所不同。主機發送完數據后,最后發送一個停止信號(P),表示本次傳送結束。2)讀格式IIC總線數據的讀格式,如圖8-15圖8-15寫數據格式主機發送從機地址(SLAVEADDRESS)時將R/W設位1,則表示主機將讀取數據,從機接收到這個信號后,將數據傳送到數據線上(SDA),主機每接收到一個字節數據后,發送一個應答信號(A)。當主機接收完數據后,發送一個非應答信號(/A),通知從機表示接收完成,然后再發送一個停止信號。任務8-1:24c02向AT24C02中寫入一個

溫馨提示

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

評論

0/150

提交評論