單片機1參考模板_第1頁
單片機1參考模板_第2頁
單片機1參考模板_第3頁
單片機1參考模板_第4頁
單片機1參考模板_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、n 1.1單片機基本概念(1) CPU-單片機中央處理器(Central Processing Unit)的縮寫,即CPU,CPU是電腦中的核心配件,其功能主要是解釋計算機指令以及處理計算機軟件中的數據 (2)SCM,MCU,ECU (3)單片機與通用微機主要區別(cpu、存儲器、I/O)微處理器(CPU)的區別:通用微機的CPU主要面向數據處理,其發展主要圍繞數據處理功能、計算速度和精度的進一步提高。單片機主要面向控制,控制中的數據類型及數據處理相對簡單,所以單片機的數據處理功能比通用微機相對要弱一些,計算速度和精度也相對要低一些。 存儲器區別:通用微機中存儲器組織結構主要針對增大存儲容量和

2、CPU對數據的存取速度。單片機中存儲器的組織結構比較簡單,存儲器芯片直接掛接在單片機的總線上,CPU對存儲器的讀寫按直接物理地址來尋址存儲器單元,存儲器的尋址空間一般都為64 KBI/O接口:通用微機中I/O接口主要考慮標準外設,用戶通過標準總線連接外設,能達到即插即用。單片機應用系統的外設都是非標準的,且千差萬別,種類很多。 (4)單片機與嵌入式系統嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控

3、制、監視或管理等功能。 (5)單片機系統單板機:將微處理器(CPU)、存儲器、I/O接口電路以及簡單的輸入/輸出設備組裝在一塊印刷電路板上,稱其為單板微型計算機,簡稱單板機。單片機:將微處理器(CPU)、存儲器、I/O接口電路和相應實時控制器件集成在一塊芯片上,稱其為單片微型計算機,簡稱單片機。 微型計算機:微處理器(CPU)、存儲器、I/O接口電路由總線有機地連接在一起的整體,稱為微型計算機。微型計算機系統:微型計算機與外圍設備、電源、系統軟件一起構成的系統,稱為微型計算機系統。n 1.2 單片機的發展 (1)數據位發展 4位-8位-16位-32位 (2)單片機技術的發展 體系結構(SCU-

4、MCU-SOC) 速度 低功耗2 / 21 OTP-MTPn 1.3 單片機的特點及應用 特點:存儲器、指令系統和位處理、I/O、外部擴展 優點:體積小、面向控制、抗干擾、分布式n 1.4 單片機類型 MCS-51產品分類:基本型、增強型、低功耗型n 2.2 內部結構及引腳 ALE 、PSEN、RST、EA、WR、RDn 2.3 微處理器 CPU分為運算部件和控制部件 (1)運算部件 功能:邏輯運算、算術運算、位操作、數據傳輸 組成:ALU、A、B、暫存器等 PSW:C、AC、RS1、RS0、OV OV:有符號數和無符號數布爾機: 1位累加器:借用進位標制位CY。即作為數據源之一又是運算結果的

5、存放處,位數據傳送的中心。2 位尋址的RAM:內部RAM位尋址區0127位(20H2FH)3 位尋址寄存器:SFR中可位尋址的位。4 位尋址的I/O口:并行I/O口中可以位尋址的位(如P1.0)5 位操作指令系統:置位、清零、取反、位狀態判跳、位邏輯運算、位輸入/輸出等。 (2)控制器 定時控制功能:片內時鐘和定時電路 片內時鐘:內部時鐘和外部時鐘 (3)時序 時序定義 節拍、狀態周期、機器周期、指令周期 51單片機分 單周期指令、雙周期指令、四周期指令n 2.4 存儲器2.4.1 程序存儲器 2.4.2 數據存儲器 2 片內RAM 結構 三個區塊:工作寄存器區(001FH) RS1和RS0

6、位尋址區(20H2FH) 數據緩沖區(30HFFH) 堆棧 SP: 07H開始-30H 過程:入棧 先SP+1,再入棧 出棧 先出棧,再SP-1 SFR:(80HFFH)功能 專用寄存器n 2.5 并行I/O口 P0、P2分別地址低8位和高8位 P3多功能口、P1用戶口 (1)P0 通用I/O和地址/數據復用 當作通用I/O口使用時 輸出“1”需要接上拉電阻 輸入“1”需要先輸出“1” “準雙向口” 讀端口操作 “讀-修改-寫” (2)P1 無需上拉電阻n 2.9 復位 (1)復位狀態 改變:SFR,PC (P0P3口-FFH,SP=07H) 不改變:片內RAM (2)復位電路:上電復位、按鈕

7、復位n 2.10 51低功耗 HMOS,CMOS,CHMOS CHMOS提供兩種節電工作方式 空閑和掉電n 3.1 概述 指令:能完成特定功能的命令。指令描述的兩種基本形式:機器語言和匯編語言 指令系統:計算機能夠執行的全部操作所對應的指令集合。編寫程序實際上是從指令系統中挑選一個指令子集的過程指令的屬性指令一般有功能、時間和空間三種屬性。功能屬性是指每條指令都對應一個特定的操作功能;時間屬性是指一條指令執行所用的時間,一般用機器周期來表示;空間屬性是指一條指令在程序存儲器中存儲所占用的字節數。n 3.2 尋址方式尋址方式定義CPU尋找操作數或操作數地址的方法。尋址方式越多,計算機指令功能越強

8、,靈活性越大 七種尋址方式 n 3.3 數據傳送指令 1、片內數據存儲器 mov 目的操作數 源操作數 Rn 立即尋址 Ri Rn direct Ri A direct A2 片外RAM MOVX A,DPTR MOVX A,Ri MOVX DPTR ,A MOVX Ri ,A3 片外ROM MOVC A,A+DPTR MOVC A,A+PCn 3.4 算術運算指令 ADD、ADDC、SUBB、INC、DEC PSW: OV、C、AC、P MUL和DIVn 3.5 邏輯運算及移位指令 ANL、ORL、XRL RR、RL、RLCn 3.6控制轉移指令 AJMP,SJMP 例:判斷AJMP目標的合

9、法性 0000H AJMP 0111H 07FEH AJMP 0C10H 0100H AJMP 0B11H JZ、CJNE(條件判斷) DJNZ(循環)n 3.7 子程序調用和返回 LCALL、ACALL 入棧 RET、RETI出棧n 3.8 位操作指令 P95 3-19n 中斷的定義所謂中斷是指CPU對系統中或系統外發生的某個事件的一種響應過程,即CPU暫時停止現行程序的執行,而自動轉去執行預先安排好的處理該事件的服務子程序。當處理結束后,再返回到被暫停程序的斷點處,繼續執行原來的程序。實現這種中斷功能的硬件系統和軟件系統統稱為中斷系統。 中斷要解決的三個基本問題 51中斷系統 2、5、4n

10、 中斷源 可硬件撤銷中斷:外部中斷、T0、T1 軟件撤銷中斷:串行口n 中斷控制 n 中斷優先級外部中斷0 定時器/計數器0中斷 外部中斷1 定時器/計數器1中斷 串行口中斷 定時器/計數器2中斷 (1) 三原則正在進行的中斷過程不能被新的同級或低優先級的中斷請求所中斷,一直到該中斷服務程序結束,返回了主程序且執行了主程序中的一條指令后,CPU才響應新的中斷請求。正在進行的低優先級中斷服務程序能被高優先級中斷請求所中斷,實現兩級中斷嵌套。CPU同時接收到幾個中斷請求時,首先響應優先級最高的中斷請求。 (2)中斷的自然序 EX0、ET0、EX1、ET1、ESn 中斷響應條件和響應過程n 響應時間

11、最長8T,最短3Tn 5.1 概述 定時的方法:硬件、軟件、可編程 定時與計數的關系:T=N*Tcy 初值:N=2n-xn 5.2結構 16位T0、T1;加計數器n 5.3 工作方式n 5.4 定時計數器程序設計 設計定時器/計數器應用程序三步驟: (1) 根據定時或計數要求確定適當的定時/計數方式、計算初值,設定特殊功能寄存器TMOD、THx、TLx。 (2) 根據對定時器/計數器的要求設置中斷系統,即設置中斷允許控制寄存器IE和中斷優先級控制寄存器IP (3) 啟動定時器/計數器,即置位TCON中的TRx位。 P85 例33n 6.1基本概念 計算機通信、并行通信、串行通信 異步傳輸方式:

12、異步的含義、字符格式、波特率 同步傳輸方式 全雙工、單工、半雙工、UART n 6.2 工作方式MOV SBUF,A MOV A, SBUFn 6.3 波特率的計算n 6.4 多機通信 P87 例35n 7.1 概述 最小系統,系統擴展的內容和基本方法n 7.2 存儲器的擴展 譯碼方式:全譯碼和部分譯碼 程序存儲器:1)確定地址范圍2)計算擴展片數3)確定譯碼方式4)地址線、數據線、控制線(PSEN、EA) 數據存儲器:1)確定地址范圍2)計算擴展片數3)確定譯碼方式4)地址線、數據線、控制線(WR、RD) n 8.1 概述 鍵輸入流程 鍵盤接口和輸入要解決的幾個問題 1)消除鍵抖動 (硬件、

13、軟件) 2)鍵盤碼識別 3)鍵盤監測(中斷、查詢)n 行列鍵盤 流程圖n 8.2 顯示及顯示器接口 常用顯示器包括:LED、LCD、CRT 七段LED分共陰極和共陽極 顯示方式:靜態顯示和動態顯示 動態顯示原理及程序設計n 8.3 A/D轉換器 1、概述 量化間隔、量化誤差 常用的轉換逐次逼近和雙重積分 2、ADC0809 結構:8路模擬開關、地址鎖存器、8位轉換器、三態緩沖器 時序: 與51連接 程序設計n 8.4 D/A轉換器 1、概述 分辨率、建立時間 2、DAC0832 結構:雙緩沖 工作方式:直通、單緩沖、雙緩沖 時序 程序設計: 例1 設內部RAM(30H)=40H,(40H)=1

14、0H,(10H)=00H(P1)=CAH,分析以下程序執行后各單元及寄存器、P2口的內容。MOV R0,#30H;(R0)30HMOV A,R0;(A)(R0)MOV R1,A;(R1)(A)MOV B,R1;(B)(R1)MOV R1,P1;(R1)(P1)MOV P2,P1;(P2)(P1)MOV 10H,#20H;(10H)20H 執行上述指令后的結果為:(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=CAH,(10H)=20H例2 若在外部程序存儲器中2000H單元開始依次存放09的平方值,數據指針(DPTR)=3A00H,用查表指令取得20

15、03H單元的數據后,要求保持DPTR中的內容不變。完成上述功能的程序如下:MOV A,#03H;(A)03HPUSH DPH;保護DPTR高8位入棧PUSH DPL;保護DPTR低8位入棧MOV DPTR,#2000H;(DPTR)2000HMOVC A,A+DPTR;(A)(2000H+03H)POP DPL ;彈出DPTR低位POP DPH ;彈出DPTR高位執行結果:(A)09H,(DPTR)=3A00H例3 設(R0) = 30H,30H = 4AH,(A) = 28H,則執行XCH A, R0后,結果為(A) = 4AH,(30H) = 28H。執行XCHD A,R0后,結果為(A)

16、 = 2AH,(30H) = 48H。執行SWAP A后,結果為(A) = 82H。例4 設外部RAM(0203H)= FFH,分析以下指令執行后的結果。MOV DPTR,#0203H ;(DPTR)0203HMOVX A,DPTR ;(A)(DPTR)MOV 30H,A ;(30H)(A)MOV A,#0FH ;(A)0FHMOVX DPTR,A ;(DPTR)(A)執行結果為:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH例5 從片外程序存儲器2000H單元開始存放09的平方值,以PC作為基址寄存器進行查表得9的平方值。 設MOVC指令所在地址(PC)=1FF

17、0H,則偏移量=2000H-(1FF0H+1)=0FH。 相應的程序如下:MOV A,#09H ;(A)09HADD A,#0FH ;用加法指令進行地址調整MOVC A,A+PC ;(A)(A)+(PC)+1)執行結果為:(PC)=1FF1H,(A)=51H。 試分析以下程序的執行結果。(A)=_,(B)=_。 MOV SP,#3AHMOV A,#20HMOV B,#30HPUSH APUSH BPOP APOP B 例6 設(A) = 49H,(R0)=6BH,分析執行指令ADD A,R0后的結果。 結果為:(A)=B4H,OV=1,CY=0,AC=1,P=0。 例7 設(A)=C3H,數據

18、指針低位(DPL)=ABH,CY=1,分析執行指令ADDC A,DPL后的結果。 結果為:(A)=6FH,CY=1,AC=0,P=0。 例8 設 (A) = 52H,(R0)=B4H,分析執行如下指令后的結果 CLR C ;是位操作指令,是進位位清零 SUBB A,R0 結果為:(A)=9EH,CY=1,AC=1,OV=1,P=1例9 設 (R0) = 7EH,(7EH)=FFH,(7FH)=38H,(DPTR)=10FEH,分析逐條執行下列指令后各單元的內容。INC R0 ;使7EH單元內容由FFH變為00HINC R0 ;使R0的內容由7EH變為7FHINC R0 ;使7FH單元內容由38

19、H變為39HINC DPTR ;使DPL為FFH,DPH不變INC DPTR ;使DPL為00H,DPH為11HINC DPTR ;使DPL為01H,DPH不變例10 對BCD碼加法65 + 58DBH,進行十進制調整。 參考程序如下:MOV A,#65H ;(A)65ADD A,#58H ;(A)(A)+58DA A ;十進制調整例11 設片內RAM 30H,31H單元中分別存放著兩位BCD碼表示的被減數和減數,兩數相減的差仍以BCD碼的形式存放在32H單元中。可用下面的程序實現:CLR CMOV A,#9AHSUBB A,31H ;求減數的十進制補碼ADD A,30H ;作十進制補碼加法D

20、A A ;進行BCD調整MOV 32H,A ;將BCD碼的差送存32H單元例12 (P1)=C5H=11000101B,屏蔽P1口高4位而保留低4位。 執行指令:ANL P1,#0FH 結果為:(P1)=05H=00000101B。 邏輯“或”指令常用來使字節中某些位置“1”,其它位保持不變。則欲置位的位用1與該位相或,保留不變的位用0 與該位相或。例13 若(A)=C0H,(R0)=3FH,(3FH)=0FH, 執行指令:ORL A,R0 結果為:(A)=CFH=11001111B。 邏輯異或指令常用來使字節中某些位進行取反操作,其它位保持不變。欲某位取反該位與1相異或;欲某位保留則該位與0

21、 相異或。還可利用異或指令對某單元自身異或,以實現清零操作。例14 若(A)=B5H=10110101B,執行下列操作: XRL A,#0F0H ; A的高4位取反,低4位保留, (A)=01000101B=45H MOV 30H,A ;(30H)=45H XRL A,30H ;自身異或使A清零 用移位指令還可以實現算術運算,左移一位相當于原內容乘以2,右移一位相當于原內容除以2,但這種運算關系只對某些數成立(請讀者自行思考)。例15 設(A)=5AH=90,且CY=0,則執行指令RL A后,(A)=B4H=90。執行指令 RR A后,(A)=2DH=45。執行指令 RLC A后,(A)=B4

22、H=90。執行指令 RRC A后,(A)=2DH=45。 數據拆分與拼裝 要求:從(30H)=x7x6x5x4x3x2x1x0中取出高5位,從(31H)=y7y6y5y4y3y2y1y0中取出低3位,拼裝后存入40H中,(40H)=y2y1y0x7x6x5x4x3。編寫程序實現。 ORG 0000H MOV A,30H SWAP A ;(X3X2X1X0 X7X6X5X4) RL A ;X2X1X0X7X6X5X4X3 MOV 40H,AANL 40H,#00011111B MOV A,31H MOV B,#20H MUL A,B ANL A,11100000B ORL 40H,A例16 根據累

溫馨提示

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

評論

0/150

提交評論