單片機原理及應用舉例及拓展_第1頁
單片機原理及應用舉例及拓展_第2頁
單片機原理及應用舉例及拓展_第3頁
單片機原理及應用舉例及拓展_第4頁
單片機原理及應用舉例及拓展_第5頁
已閱讀5頁,還剩227頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1單片機原理與應用主講教師:江娟娟2課程簡介:“單片機原理及應用 是一門實踐性、應用性很強的技術根底課,通過本課程的學習,使學生較好地掌握MCS-51系列單片微型計算機的根本結構、工作原理、接口技術和應用等方面的知識。掌握單片機應用系統的設計和應用程序的設計方法,學習單片機應用于工業測控等方面的根本技術。并通過實踐環節的學習,學會單片機應用系統的設計和調試方法。為將來從事自動測控技術、智能電器、電子、檢測等工業領域相關工作,進行各種智能化電子產品的設計和研發等提供技術準備,奠定堅實的技術根底。 3?單片機原理與應用?第一章 單片機概述第二章 MCS-51單片機的硬件結構與工作第三章 MCS-5

2、1單片機的指令系統與程序設計第四章 MCS-51單片機的中斷系統第五章 MCS-51定時計數器及其應用第六章 串行接口第七章 MCS-51單片機的系統擴展第八章 單片機應用系統接口技術4第一章 單片機概述5第二章 MCS-51單片機的硬件結構與工作原理6第三章 MCS-51單片機的指令系統與程序設計7第四章 MCS-51單片機的中斷系統8第五章 MCS51定時計數器及其應用9第六章 串行接口10第七章 MCS-51單片機的系統擴展11第八章 單片機應用系統接口技術12?單片機原理與應用? 本門課程主要的教學內容:單片微型機的根本工作原理匯編語言程序設計方法單片微型計算機應用單片微型計算機應用系

3、統設計方法學習方法? 掌握單片機應用系統硬件原理的分析方法。 單片機與外部設備連接的原理是什么? 掌握軟件設計與調試的根本技能。13單片機學習郵箱: 密碼: auts_mcu_dsp單片機學習網站 單片機參考書籍: 李廣弟,?單片機根底?修訂本北京:北京航空航天大學出版社,2001 年 14第一章 單片機概述講授內容:1. 有關微型計算機、單片機的概念2. 單片機的一般結構及特點3. 單片機的開展過程4. 常用單片機系列簡介5. 單片機的應用領域6. 數制、碼制復習 本章重點: 1. 微處理器、微機和單片機的根本概念、單片機的結構特點 與應用。 2.數制、碼制15回 顧:有關微型計算機的根底知

4、識 第一節 微型計算機與單片機 常見微型計算機的外形一、微型計算機、微處理器和單片機的概念1、微型計算機的硬件結構16 微型計算機的硬件組成17 主板顯卡聲卡存儲器接口網卡輸入輸出接口內存條CPU微型計算機系統通常由多塊印刷電路板制成18 軟 件+ 系 統 微型計算機的硬件內部結構 微型計算機系統硬件系統:構成微型計算機的實體和裝置,如微處理器,存儲器,總線,I/O接口等;軟件系統:微型計算機系統所使用的各種程序的總稱,如系統軟件,應用軟件等。192、單片微型計算機 單片微型計算機的概念(P1.第一段) 單 硅 晶 片 CPU存儲器控制電路定時器時鐘電路I / O口簡單地說,單片微型計算機是指

5、集成在一個芯片上的微型計算機。20 微處理器Microprocessor微型計算機的控制和運算器局部; 微控制器Microcontroller Unit 為了強調單片機的控制特點, 將其稱為微控制器; 微型計算機Microcomputer有完整運算及控制功能的計算機, 包括微處理器、存儲器、輸入/輸出(I/O)接口電路以及輸入/輸出設備等; 單片機(single chip microcomputer)直譯為單片微型計算機,它將 CPU、RAM、ROM、定時器/計數器、輸入/輸出(I/O)接口電路、中斷、 串行通信接口等主要計算機部件集成在一塊大規模集成電路芯片上,具有一臺計算機的屬性,即組成單

6、片微型計算機,簡稱為單片機 。 單片機的形態只是一塊芯片,但是它已具有了微型計算機的組成結構和功能。由于單片機的結構特點,在實際應用中常常將它完全融入應用系統之中,故而也有將單片機稱為嵌入式微控制器(Embedded microcontroller)。 列舉幾個名稱(P1.第二段)21二、單片機的一般結構及特點 從體系結構來看,一般 單片機有2種根本結構形式: 一種是在通用微型計算機中廣泛采用的將程序存儲器和數據存儲器合用一個存儲空間的結構,稱為馮諾依曼結構; 另一種是將程序存儲器和數據存儲器截然分開,分別尋址的結構,稱為哈佛(Harvard)結構。目前的單片機以采用程序存儲器和數據存儲器截然

7、分開的結構較多。第二節 單片機的一般結構及特點 1、單片機的根本結構22一般根據控制應用需要,又可設計成通用型單片機、專用型單片機。(P1.第三段) 通用型單片機:是一種根本芯片,內部資源較豐富,性能全面且適應性強,能覆蓋多種應用需求。 專用型單片機:專門針對某個特定產品或控制應用而專門設計的,設計時考慮系統結構最簡化、軟硬件資源利用最優化、可靠性和本錢最正確化。2、單片機的內部結構23 單片機的中央處理器(CPU)和通用微處理器根本相同,只是增設了“面向控制的處理功能。例如:位處理、查表、多種跳轉、乘除法運算、狀態檢測、中斷處理功能等,增強了控制的實用性和靈活性。243、單片機的特點 體積小

8、,重量輕電源單一,功耗低 功能強,價格低 運行速度快,抗干擾能力強,可靠性高4、單片機的芯片封裝形式雙列直插式貼片式可以直接嵌入到電子產品中嵌入式應用系統255、單片機應用系統 掌握單片機應用系統硬件原理 的分析方法。單片機與外部設備連接的原理是什么? 掌握軟件設計與調試的根本技能。26三、單片機的歷史與開展第一階段:(1974-1976) 單片機初級階段,以仙童公司的F8為代表。第二階段:(1976-1978) 低性能單片機階段,以MCS-48系列單片機為代表。 第三階段:(1978-至今) 高性能單片機階段,以MCS-51系列單片機為代表。 第四階段:(1982-至今)在8位單片機根底上,

9、推出16位、32位單片機,是單片機向微控制器開展的階段。第三節 單片機的開展過程1、單片機的開展過程單片機的開展經歷了由1位到4位,4位到8位,再到16位/32位機的開展過程。8位指的是什么?單片機CPU內部總線的個數,即有多少條總線,這也就決定了單元的個數! 目前,8位機仍是單片機的主流機型,教學中選用MCS-51系列單片機,主要因為其通用性強,應用廣泛。27第四節 常用單片機系列 ATMEL單片機 ATMEL公司所生產的ATMEL89系列單片機簡稱89系列單片機,就是基于Intel公司的MCS-5l系列而研制的,該公司技術優勢在于Flash存儲器技術。 應用較多的有: AT89C51系列

10、STC89C51/52系列 SST89系列 AT-tiny、AT90/、ATmega等系列的AVR單片機 這些都是一種可下載的Flash單片機,它和IBM微機通信進行下載程序十分方便。1、常用單片機系列的簡介28 Philips單片機 Philips公司的的單片機都屬于MCS-51系列兼容的單片機。 Maxim-Dallas單片機 WinBond單片機 Motorola單片機其他公司的單片機 1NEC單片機; 2東芝單片機; 3Epson單片機; 提示:經常上網查詢,關注開展動態29第五節 單片機的應用領域 1、工業方面電梯、生產工具、生產設備、黑匣子安裝于飛機、輪船上,用于實時保存重要的數據

11、和參數2、民用方面數碼照相機、電視機、收音機、空調、洗衣機、電飯煲等。一般電腦電飯煲,內部只有一個單片機,這種控制系統是單核嵌入;對于分體式空調,室內機與室外機中分別有1個單片機,為雙核嵌入結構。303、電訊方面 、CALL機、 機、交換機4、汽車方面越高檔的汽車越能見到單片機的應用。315、數據處理方面打印機等6、智能儀表方面智能化儀表內部根本上都是用單片機進行信息控制與處理,擴展了單片機在智能儀器中的應用。321總線(BUS) 總線是連接CPU與各功能部件并進行信息傳遞的公共通道。總線通常分為三種,即數據總線(DB)地址總線(AB)和控制總線(CB)。 復習一 微型計算機的根本結構及工作原

12、理 1. 微型計算機的根本結構 微型計算機由微處理器CPU、存儲器、 輸入輸出接口I/O接口三局部組成,各局部用總線相連。33(2)輸入輸出(I/O)接口 由于I/O設備中類繁多,它們在速度、電平、功率、信息形式等很多方面有很大差異,不能直接與CPU連接,必須經過I/O接口電路解決它們之間的匹配問題。 (3) 存儲器 存儲器分類 存儲器存儲的信息 存儲器的讀寫操作過程 34(4)微處理器CPU 運算器 存放器陣列 控制器 內部總線 2. 復習根本概念與常用術語1位(Bit) 位是計算中構成信息的最小單位,表示二進制數中的某個數位“0或“1。Bit是Binarg Digit的縮寫。2字(Word

13、) 字是CPU與輸入/輸出設備和存儲器之間傳送數據的根本單位,由假設干位組成它與數據總線的寬度(根數)一致。3字節(Byte) 一字節為8位(bit)。354指令(Instruction): 指規定計算機完成某種操作的命令。目前計算機只能直接識別由二進制編碼的指令,即機器碼5指令系統(Instnction Set):指一臺計算機所能識別的全部指令的集合。 。 6程序(Progrom):為完成特定任務而設計的一組指令有序的集合。7地址(Address)地址指存貯單元的編號。8K和KB計算機的存儲器容量較大,K和KB常用作計算存儲器 容量的單位 1K=210=1024; KB=1024Byte。

14、9 關于時序的概念 所謂時序,就是計算機在工作過程中,CPU控制器所發出的一系列控制信號在時間上的相互關系。36復習內容 二 計算機系統中的數制、碼制復習1.數制及其互換 常用數制:十進制、二進制、十六進制和八進制十進制:符合人們的習慣。二進制:便于物理實現。十六進制:便于識別、書寫。二進制特點:以2為底基數,逢2進位;只有0、1兩個符號。B2=Bn-1*2n-1+Bn-2*2n-2+B0*20+B-1*2-1+.+B-m*2-m十六進制特點:以16為底基數,逢16進位。B16=Bn-1*16n-1+Bn-2*16n-2+B0*160+B-1*16-1+.+B-m*16-m37各進制數間的轉換

15、非十進制到十進制的轉換 方法:按相應進位計數制的權表達式展開待轉換的數按位展開,各位數乘以相應的權值,再進行相加運算。 10110010B=( ? )10 13FAH =( ? )10 二進制與十六進制的轉換方法:用4位二進制數表示1位十六進制數。例: 010110001001.1100 5 8 9 . C十六進制與二進制的轉換方法:8421碼382十進制到非十進制的轉換 十進制到二進制轉換: 整數局部:除2取余; 小數局部:乘2取整。 (12.125)10=( ? )2 十進制到十六進制轉換: 整數局部:除16取余; 小數局部:乘16取整。以小數點為起點,求得整數和小數的各個位。392.二進

16、制數的運算二進制數分為無符號二進制數和有符號二進制數。運算分為算術運算和邏輯運算。 有符號數的定義 計算機中有符號數的表示方法:將二進制數的最高位定義為符號位,符號位=0,是正數符號位=1,是負數 無符號數一個N位的無符號二進制數X的表示范圍為0,2n-1,若運算結果超出這個范圍,則產生溢出。判別方法:運算時,當最高位向更高位有進位(或借位)時,則產生溢出。例: 1 1 1 1 1 1 1 1 + 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 40邏輯運算 與,或,非,異或特點:按位運算,無進借位。 邏輯與邏輯“與”的特點:凡是與“0”相與的,都是0;與“1”相與的,原來

17、是什么還是什么機器數:連同符號位一起數值化了的數。真值:機器數所表示的真實的數值。 +52=+0110100=0011010041無符號數的算術運算 加法:1+1=0有進位減法:0-1=1有借位乘法:乘以2相當于左移一位除法:除以2相當于右移一位例: 00001011*0100=00101100B 00001011/0100=00000010B 邏輯非邏輯“非”的特點:0的非是1,1的非是0。 邏輯異或邏輯“異或”的特點:兩個狀態不相同,則取1;相同則取0。 邏輯或邏輯“或”的特點:無論原來是0還是1,只要和1相或,就為1;和0相或,還是它本身。423.原碼、反碼、補碼特點: 8位二進制數表示

18、原碼、反碼、補碼的范圍 (-127+127、-127+127、-128+127) 補碼的運算 在微型計算機中,帶符號數用補碼表示,減法可用補碼相加來實現,運算結果為補碼。43主要內容:1.MCS-51單片機組成結構、引腳功能2.MCS-51單片機存儲器組織與操作 3.MCS-51單片機并行I/O端口4.MCS-51單片機的時鐘與定時5.MCS-51單片機的系統復位6.單片機的工作過程重點理解: 1.MCS-51系列單片機存儲器結構特點2. 單片機特殊功能存放器的作用3.不同場合下單片機引腳的復用功能4. 單片機的位處理功能及其作用第二章 MCS-51單片機的硬件結構與工作原理44時鐘源T0 T

19、1 P0 P1 P2 P3 TXD RXD INT0 INT1時鐘電路SFR和RAMROM定時/計數器 CPU串行I/O口中斷系統并行I/O口系統總線圖2-1 MCS-51系列單片機片內結構8位CPU、只讀存儲器EPROMROM、讀寫存儲器RAM、并行IO口、串行IO口、定時器計數器、中斷系統、振蕩器和時鐘電路等局部組成。各局部之間通過內部總線相連。 第一節 MCS-51系列單片機的硬件結構 一、單片機的硬件結構課本11頁圖2-1451、MCS-51單片機的根本組成中央處理單元CPU: 8位,數據處理(運算)和控制功能(如位測試、置位、復位)。內部RAM:共有128個RAM單元(52系列為25

20、6B),用來存儲單片機運行期間的工作變量、運算的中間結果、數據暫存和緩沖、標志位等。內部ROM:4KB ROM(8031無ROM,8751有4KB EPROM),用于存放程序、原始數據和表格。定時/計數器: 兩個16位的定時/計數器,實現定時或計數的功能。并行輸入/輸出I / O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統:5個中斷源(外部中斷2個,定時/計數中斷2個,串行中斷1個)時鐘電路:可產生時鐘脈沖序列,允許晶振頻率是6MHZ和12MHZ。位處理器:布爾處理器,有較強的位處理功能。內部總線:上述部件通過總線連接起來,構成一個完整的計算機系統。芯片

21、內的地址信號、數據信號和控制信號是通過總線傳遞的。特殊功能寄存器:21個SFR,用于CPU對片內各功能部件進行管理、控制、監視。46中央處理器CPU組成:主要包括運算器和控制器兩部分。地位:中央處理器(CPU)是單片機最核心的部分,是指揮中心和執行機構。功能:讀入、分析每條指令,根據指令要求,控制部件完成特定的功能。CPU組成課本15頁CPU471是CPU中使用最頻繁的8位存放器,CPU中的數據傳送大多通過A。2A是ALU單元的數據處理源之一,又是ALU運算結果的存放單元, 如ADD A, #data3因為A用的最頻繁,容易產生堵塞現象,這是累加器結構特有的瓶頸現象。1B是專門為執行乘除運算而

22、設置的8位存放器。2不在執行乘除指令的情況下,可以把存放器B當作一個普通的存放器使用。1完成二進制數的加、減、乘、除四那么運算2完成邏輯與、或、異或、循環、求補、清零等操作。3進行位處理操作,如置位、清零、求補、測試轉移、邏輯與、或等。4根據運算的結果改變程序狀態字PSW的值。 算術邏輯單元ALU 累加器AACC 存放器B 程序狀態字PSWPSW用來存放程序運行的狀態信息。課本23頁 48課本16頁 圖2-4 PSW的格式491PC內容為下一條將要執行的指令在程序存儲器中的地址。2PC是一個16位的計數器,尋址范圍達64KB。3PC沒有地址,是不可尋址的但物理上存在的,因此用戶無法 對它進行讀

23、/寫。4PC有自動加1功能,從而實現程序的順序執行。5可能通過轉移、調用返回等指令改變PC值,以實現程序的轉移。 程序計數器PC 數據指針DPTR1DPTR是唯一一個用戶可使用的16位存放器,由兩個8位的存放器DPH 和DPL組成。2DPTR可作為16位存放器使用,也可作為2個獨立的8位存放器使用。3DPTR用戶可讀/寫。如 MOVDPTR,#2000H4DPTR通常用來存放16位的地址,可訪問片外RAM,也可訪問ROM中 的數據。 如MOVXA,DPTR MOVCA,A+DPTR課本18頁課本23頁 50二、MCS-51單片機的封裝DIP封裝DoubleIn-linePackage雙列直插式

24、封裝40個引腳PLCC封裝PlasticLeadedChipCarrier塑封J引線芯片封裝44個引腳(4個空腳)QFG封裝QuadFlatPackage四角扁平封裝44個引腳(4個空腳)課本12、13頁圖2-2、2-351三、MCS-51單片機的信號引腳P3口線的第二功能課本13頁 課本12頁 圖 2-2 52 40腳分三類:1、I/O口線32根- MCS-51系列單片機P0、P1、P2、P3共32位,對應著芯片的32根引腳。2、控制線4根RST/VPD復位信號,晶振工作后2個機器周期的高電平復位CPU. ALE地址鎖存信號訪問外部存儲器時該信號鎖存低8位地址;無RAM時,ALE為晶振6分頻

25、;PSEN*外部程序存儲器讀從程序存儲器中取指令或讀取數據時,該信號有效。EA*/VPP程序存儲器有效地址,EA=1從內部開始執行程序;EA=0從外部開始執行程序.3、電源引腳2根VCC,VSSGND電源和地+5V電源供電。4、時鐘引腳2根XTAL1時鐘振蕩器輸入端,內部振蕩器輸入端;XTAL2時鐘振蕩器輸出端,內部振蕩器輸出端;對于信號引腳的小結53引腳功能電源引腳VCC40接+5 V電源正端GND20接+5 V電源地端外接晶體引腳XTAL119接外部石英晶體的一端。片內反相放大器的輸入端XTAL218接外部石英晶體的一端。片內反相放大器的輸出端I/O引腳P0口P0.0P0.73932準雙向

26、I/O口使用分時復用為低8位地址總線和雙向數據總線P2口P2.0P2.72128準雙向I/O口使用用作高8位地址總線P1口P1.0P1.718準雙向I/O口使用P3口P3.0P3.71017準雙向I/O口使用可以將每一位用于第二功能控制引腳30地址鎖存有效信號輸出端在編程期間,該引腳用作編程脈沖PROG的輸入端29片外程序存儲器讀選通信號輸出端,低電平有效RST/VPD9上電復位或掉電保護端31片外程序存儲器選用端54 P3.0、P3.1: 又可以作為串行通訊的兩條線; P3.2、P3.3:既是I/O控制端子又作為外部中斷的請求輸入信號; P3.4、P3.5:定時/計數器對外部事件進行計數的輸

27、入端; P3.6、P3.7:單片機與外部的數據存儲器進行數據傳輸時的選通控制信號。 P3口線的第二功能除此之外,腳30、腳31和腳9均可以被復用。四、信號引腳的第二功能 EPROM存儲器程序固化所需要的信號 以89C51為例,其內部有EPROM,要寫入程序時,需要提供專門的編程脈沖和編程電源。 編程脈沖:30腳,(ALE/PROG*)編程電壓(+12V或者+5V):31腳,(EA*/VPP)55一、MCS-51單片機的內部存儲器第二節 MCS-51單片機存儲器組織與操作 MCS-51系列單片機其存儲結構特點是: 在物理上有以下幾個相互獨立的存儲空間, 片內程序存儲器(4KB)和片外程序存儲器;

28、 片內數據存儲器(128B)和片外數據存儲器; 特殊功能存放器SFR和位地址空間。 在邏輯上有三個彼此獨立的地址空間:1片內外統一編地址的64KB程序存儲器地址間;2128字節的片內數據存儲器地址空間;364KB片外數據存儲器地址空間56外部RAM 外部ROM 擴展外部RAM和外部ROM571、程序存儲器課本26頁 圖2-6 587個特殊單元:0000H 復位后,PC=0000H. 開始執行程序 0003H 外部中斷0 INT0入口 000BH 定時器0中斷 TF0入口 0013H 外部中斷1INT1 入口 001BH 定時器1 TF1入口 0023H 串行口中斷TI/RI入口 002BH 定

29、時計數器2溢出或T2EX輸入負跳變52系列 MCS-5l單片機采用16位的程序計數器PC和l6位的地址總線,64KB片內、外的程序存儲器空間連續、統一 。592、數據存儲器課本20頁 課本17頁 60 數據存儲器地址空間由內部和外部數據存儲器空間組成。內部和外部數據存儲器空間存在重疊,通過不同指令來區別。 內部數據存儲器在物理上又可分成2局部:低128字節RAM、專用存放器SFR (高128字節RAM僅80328052才有) 。1.00H-1FH工作存放器區2. 20H-2FH位尋址區,既可進行字節尋址,又可進行位尋址。這16個單元共有168128位。 3. 30H-7FH 用戶RAM區4.

30、片外數據存儲器 0000HFFFFH范圍為64K字節,采用R0、R1或DPTR存放器間址方式訪問。當采用R0、R1間址時只能訪問低256字節,采用DPTR間址可訪問整個64K字節空間。61特殊功能存放器 共有21個專用存放器SFR(Special Functional Register ),它們離散地分布在80H0FFH單元中。 程序計數器PC不占據RAM單元,在除PC外的專用存放器SFR中,有12個專用存放器既可字節尋址,又可位尋址。 注意:1)表中共有5個雙字節存放器。2)PC也為雙字節存放器,但是不在80H - FFH 范圍內。 3)表中,凡地址能被8整除的存放器都是可位尋址的存放器。課

31、本21頁 表2-262標識符名 稱地址*Acc累加器E0H*BB寄存器F0H*PSW程序狀態字D0HSP堆棧指針81HDPTR數據指針(DPH和DPL)82H,83H*P0口080H*P1口190H*P2口2A0H*P3口3B0H*IP中斷優先級寄存器B8H*IE中斷控制寄存器A8HTMOD定時器方式寄存器89H*TCON定時器控制寄存器88H標識符名 稱地址TH0計數器0高位8CHTL0計數器0低位8AHTH1計數器1高位8DHTL1計數器1低位8BH*SCON串行口控制98HSBUF串行數據緩沖器99HPCON電源控制97H特殊功能存放器地址空間課本21頁 表2-2631.累加器ACC 累

32、加器A在大局部的算術運算中存放某個操作數和運算結果。2.存放器B存放器B主要用于與累加器A配合執行乘法和除法指令的操作。3.程序狀態字PSW8位存放器,用來存放程序狀態信息。某些指令的執行結果會自動影響PSW的有關狀態標志位,有些狀態位可用指令來設置。 特殊功能存放器的功用D7D6D5D4D3D2D1D0CyACF0RS1RS0OV-PCY:進位標志位AC:半進位標 F0:用戶標志位RS1、RS0:工作存放器組選擇OV:溢出標志 P:奇偶標志, A中1的個數為奇數 P = 1;否那么 P = 0。RS1 RS0 存放器組 內部RAM地址0 0 存放器組0 00H07H0 1 存放器組1 08H

33、0FH1 0 存放器組2 10H17H1 1 存放器組3 18H1FH課本21頁 644.堆棧指針SP堆棧是在片內數據RAM區中一個特殊的存儲區,用來暫時存放數據和地址,它是按照“先進后出的原那么存放數據。 棧指針SP是在MCS-51中存放當前的堆棧棧頂所指存儲單元地址的一個8位存放器,每存入(或取出)一個字節數據,SP就自動加1(或減1),SP始終指向新的棧頂。 堆棧共有兩種操作:進棧和出棧。不管是數據進棧還是數據出棧,都是對棧頂單元進行的,即對棧頂單元的寫和讀操作。 MCS-51單片機的堆棧是向上生成的:進棧時,SP的內容增加的;出棧時,SP的內容是減少的。 MCS-51的堆棧區域可用軟件

34、設置堆棧指示器SP的值,在片內數據RAM區中予以定義。 系統復位后,SP內容為07H。如不重新定義,那么以07H為棧底,壓棧的內容從08H單元開始存放。通過軟件對SP的內容重新定義,使堆棧區設定在片內數據RAM區中的某一區域內,堆棧深度以不超過片內RAM空間為限。65堆棧是為子程序調用和中斷操作而設立的。其具體功能有兩個:保護斷點和保護現場。在MCS-51單片機中,既有與子程序調用和中斷程序相伴隨自動進棧和出棧,還有對堆棧的進棧和出棧指令PUSH、POP操作。5.數據指針DPTR16位的專用存放器,由高位字節DPH和低位字節DPL組成。可作為一個16位存放器使用,也可以作為2個獨立的8位存放器

35、DPH和DPL使用。6.I/O端口P0P3 專用存放器P0P3分別是I/O端口P0P3的鎖存器。可以把I/O口當作般的專用存放器來使用,沒有專門設置的口操作指令,全部采用統一的MOV指令。66 片外數據存儲器 1根據地址總線寬度,在片外可擴展的存儲器最大容量為64KB,地址范圍為0000HFFFFH。2片外數據存儲器與程序存儲器的操作使用不同的指令和控制信號,允許兩者的地址重復。因此,片外要擴展的數據存儲器與程序存儲器各為64KB。3片外數據存儲器與片內數據存儲器的操作指令亦不同(對片外RAM用MOVX指令),所以也允許兩者的地址重復,內部數據存儲器的地址00-FFH,外部擴展數據存儲器的地址

36、可以從0000H-FFFFH。注意:采用R0、R1或DPTR存放器間址方式訪問片外數據存儲器。當采用R0、R1間址時只能訪問低256字節,采用DPTR間址可訪問整個64K字節空間。67內部RAM位尋址區的位地址 位地址表示方法:1.直接用位地址表示:如20H單元的07位可表示為00H07H。2.采用第n單元第n位表示:如27單元第6位表示為27H.6。3.對特殊功能存放器直接用存放器名稱加位數表示: 如PSW.7。課本24頁 表2-368第三節 MCS-51單片機的并行I/O接口 P3.0、P3.1: 又作為串行通訊的兩條線; P3.2、P3.3:既是I/O控制端子又作為外部中斷的請求輸入信號

37、; P3.4、P3.5:定時/計數器對外部事件進行計數的輸入端; P3.6、P3.7:單片機與外部的數據存儲器進行數據傳輸時的選通控制信號。一、并行I/O接口的內部結構 1、并行I/O口的特點4個8位并行I/O口:P0、P1、P2、P3;均可以作為雙向I/O端口使用。 P0口:訪問片外擴展存儲器時,復用為低8位地址線和數據線; P2口:高8位地址線; P1口:雙向I/O端口; P3口:第二功能。課本26頁692、并行I/O口的邏輯結構例1 :I/O口的輸出舉例指令1:MOV P1,#00H指令2:MOV P1,#0FFH指令3:MOV P1,#0AAH指令4:CLR P1.0指令5:SETB

38、P1.070例2 :I/O口的輸入舉例讀端口:MOV P3,#11111111B MOV A,P3寄存器 A71P0口某位的組成P0口某位的結構圖 三態緩沖器多路轉換開關數據輸出鎖存器1個:進行數據位的鎖存 三態輸入緩沖器2個:鎖存器數據和引腳數據的輸入緩沖 輸出驅動電路2個:由2個場效應管T1、T2組成,上一個FET構成上拉電路。輸出控制電路2個:由1個與門,一個反相器和一個多路開關MUX構成。3、并行I/O口課本27頁 圖2-772P0口的位結構與功能:8位漏極開路型雙向并行IO口。使用:P0口為三態雙向口,即可作為一般I/O口使用,也可作地址/數據總線口。(1)P0口作為通用I/O口使用

39、; “讀引腳先寫1-“在輸入數據時應先把口置1,使兩個FET都截止,引腳處于懸浮狀態,可作高阻抗輸入。(2)P0口作為單片機系統的地址/數據線使用;訪問外部存儲器時,它是一個復用的地址/數據總線。分時使用輸出地址總線低8位A7A0利用ALE信號的下降沿將地址鎖存,鎖存作數據總線 D7D0。P0口 73 P0用作通用I/O口 在這種情況下,單片機硬件自動使C=0,MUX開關接向鎖存器的反相輸出端。另外,與門輸出的“0使輸出驅動器的上拉場效應管T1處于截止狀態。因此,輸出驅動級工作在需外接上拉電阻的漏極開路方式。 P0用作輸出口CPU執行口的輸出指令,內部數據總線上的數據在“寫鎖存器信號的作用下由

40、D端進入鎖存器,經鎖存器的反向端送至場效應管T2,再經T2反向,在P0.X引腳出現的數據正好是內部總線的數據。74 數據可以讀自口的鎖存器,也可以讀自口的引腳。這要根據輸入操作采用的是“讀鎖存器指令還是“讀引腳指令來決定。 P0用作輸入口執行“讀修改寫類輸入指令時:如:ANL P0,A,內部產生的“讀鎖存器操作信號,使鎖存器Q端數據進入內部數據總線,在與累加器A進行在執行“MOV類輸入指令時如:MOV A,P0,內部產生的操作信號是“讀引腳。注意,在執行該類輸入指令前要先把鎖存器寫入“1,使場效應管T2截止,使引腳處于懸浮狀態,可以作為高阻抗輸入。否那么,在作為輸入方式之前曾向鎖存器輸出過“0

41、,那么T2導通會使引腳箝位在“0電平,使輸入高電平“1無法讀入。 邏輯運算之后,結果又送回P0的口鎖存器并出現在引腳。讀口鎖存器可以防止因外部電路原因使原口引腳的狀態發生變化造成的誤讀。75P0用作地址/數據總線 在這種情況下,單片機內硬件自動使C=1,MUX開關接向反相器的輸出端,這時與門的輸出由地址/數據線的狀態決定。 CPU在執行輸出指令時,低8位地址信息和數據信息分時地出現在地址/數據總線上P0.X引腳的狀態與地址/數據線的信息相同。CPU在執行輸入指令時,首先低8位地址信息出現在地址/數據總線上,P0.X引腳的狀態與地址/數據總線的地址信息相同。然后,CPU自動地使轉換開關MUX撥向

42、鎖存器,并向P0口寫入FFH,同時“讀引腳”信號有效,數據經緩沖器進入內部數據總線。76P1口也是一個準雙向IO口,通常作一般I/O口使用。P1口 P1口某位的結構圖 P0口某位的結構圖 從結構圖來看,P1口和P0口相比,少了多路轉換開關MUX。課本28頁 圖2-8771在結構上比P0口少了一個輸出轉換控制局部,多路開關MUX的倒向由CPU命令控制,且P2口內部接有固定的上拉電阻 。2P2口既可作為通用IO口使用先寫“1,又可作為地址總線口,輸出高8位地址。A15A8 P0口某位的結構圖 P2口 P2口通常作為系統的高8位地址。P2口某位的結構圖 課本28頁 圖2-978 P3口與Pl口的輸出

43、驅動局部及內部上拉電阻相同,但比P1口多了一個第二功能控制局部的邏輯電路。 P3口 P3口某位的結構圖 P1口某位的結構圖 課本29頁 圖2-1079P3.0(RXD):串行輸入端。P3.1(TXD):串行輸出端。P3.2(INT0):外部中斷0輸入端,低電平有效。P3.3(1NT1):外部中斷1輸入端,低電平有效。P3.4(T0):定時計數器0外部事件計數輸入端。P3.5(T1):定時計數器1外部事件計數輸入端。P3.6(RD):外部數據存儲器寫選通信號,低電平有效。P3.7(WR):外部數據存儲器讀選通信號,低電平有效。 P3口的第二功能80P0P3的功能及使用時的本卷須知 1. 在無片外

44、擴展存儲器的系統中,這四個端口的每一位都可以作為準 雙向通用IO端口使用。在具有片外擴展存儲器的系統中,P2口作為高 8位地址線,P0口作為雙向總線,分時作為低8位地址和數據的輸入輸 出線。 3. P3口除了作通用IO使用外,它的各位還具有第二功能。當P3口某 一位用于第二功能作輸出時,則不能再作通用IO使用。 4. 當P0P3端口用作輸入時,為了避免誤讀,都必須先向對應的輸出 鎖存器寫入“l” ,使FET截止。然后再讀端口引腳。 如:MOV P1,#0FFH MOV A, P15. I/O口 可按字節尋址,也可按位尋址。 2.P0口作為通用I/O口時,必須用上拉電阻。而P1P3口則不用,因為

45、內部已經有上拉電阻,不過此上拉電阻是由兩個場效應管組成的等效電路。課本30頁 I/O端口應用特性816.作為通用I/O口: P0口是真正的雙向口,P1P3是準雙向口。 真正的雙向口:讀引腳時,先向鎖存器寫“1”,使T2截止,由于T1也截止,引腳浮空,此時端口可作高阻輸入。 準雙向口:讀引腳時,先向鎖存器寫“1”,使T2截止。此時,該位的引腳由內部上拉電路拉成高電平,也可由外部電路拉成低電平。7.驅動能力。P0口的每一位口線可以驅動8個LSTTL負載。P1、P2、P3口的每一位能 驅動4個LSTTL負載(通常把100A的電流定義為一個TTL負載的電流)。注意P0使用時要加上拉電阻,建議并行口輸出

46、時都加上1k-10k的上拉電阻,接非門如74LS04再輸出。 P0-P3 口作輸出控制端時,應盡量采用低電平控制方法,這是因為在低電平時,I/O 口允許灌入的電流比高電平時要大,一般情況下,低電平的灌入電流為高電平的4 倍。P0P3的功能及使用時的本卷須知課本30頁 I/O端口應用特性82地址線:P0低8位地址,P2高8地址;數據線:P0輸入輸出8位數據;控制線:P3口的8位加上/PSEN、ALE共同完成 控制總線。二、單片機的片外三總線結構 83單片機的位處理功能很強,表達在:1具有專門的位累加器Cy;2具有專門的位存儲區;3一些特殊功能存放器可以 位尋址;4具有豐富的位操作指令。 如 SE

47、TB P1.0 CLR P1.0三、單片機的位處理功能 84一、時鐘電路及工作方式第四節 MCS-51單片機的時鐘與定時時鐘電路:用于產生單片機工作所需要的時鐘信號。時序:所研究的是指令執行中各個信號在時間上的相互關系。 穩定自激振蕩器圖2-11 MCS-51單片機的振蕩電路 1、片內振蕩器與外部諧振電路內部振蕩方式 振蕩電路內部結構:電阻和高增益反相放大器構成一個穩定的自激振蕩器。XTAL1為輸入,XTAL2為輸出,對應于單片機的18、19管腳。芯片外部:在XTAL1為輸入,XTAL2之間接晶體振蕩器和微調電容。電容一般選擇30PF(皮法)的磁片電容。晶振頻率為1.2MHZ12MHZ。單片機

48、本身是一個復雜的同步時序系統,為保證同步工作方式的實現,單片機必須有時鐘信號,以使其系統在時鐘信號的控制下按時序協調工作。課本31頁課本31頁 圖 2-1185 分頻電路振蕩電路產生的振蕩脈沖并不能直接使用,經分頻后再為系統所用。振蕩脈沖經過二分頻后才作為系統的時鐘信號,在二分頻的根底上再三分頻產生ALE信號,同時在二分頻的根底上再六分頻得到機器周期信號。862、從外部引入脈沖信號驅動時鐘電路外部振蕩方式在由多個單片機構成的系統中,為了各單片機之間時鐘信號的同步,應當引入唯一的公用外部脈沖信號作為各單片機的振蕩脈沖。接法如右圖,外部脈沖信號經XTAL2引腳注入。 對于80C51單片機,外引脈沖

49、信號需從XTAL1引腳注入,而XTAL2引腳懸空。87 各指令的微操作在時間上有嚴格的次序,這種微操作的時間次序我們稱作時序。 二、CPU時序振蕩周期:振蕩器產生的振蕩脈沖的周期,也稱節拍用P表示。振蕩電路產生的振蕩信號并不直接為單片機所用。課本32頁88時鐘周期單片機的根本時間單位振蕩脈沖經二分頻后,就是單片機的時鐘信號,把時鐘信號的周期定義為時鐘周期注意時鐘信號與振蕩脈沖之間的二分頻關系,否那么會造成概念上的錯誤,時鐘周期也稱狀態用S表示。這樣,一個狀態包含兩個節拍,其前半周期對應的節拍叫節拍1P1,后半周期對應的節拍叫節拍2P2。 機器周期6個時鐘周期構成一個一個機器周期。一個機器周期的

50、寬度為6個狀態,并依次表示為S1S6,而一個狀態又分為兩個節拍,因此,一個機器周期共有12個節拍,即S1P1,S1P2,S6P2。當振蕩周期脈沖頻率為12MHz時,一個機器周期為1s;當振蕩周期脈沖頻率為6MHz時,一個機器周期為2s。指令周期 指令周期是指一條指令所需要的時間。指令周期以機器的數目來表示。51系統的指令周期根據指令不同,可包含1個、2個或4個機器周期。課本33頁89 有關MCS-51單片機CPU的時序1振蕩周期: 指為單片機提供定時信號的振蕩源的周期,假設為內部產生方式時,為石英晶體的振蕩周期。2時鐘周期:也稱為狀態周期,用S表示。時鐘周期是計算機中最根本的時間單位,在一個時

51、鐘周期內,CPU完成一個最根本的動作。MCS51單片機中一個時鐘周期為振蕩周期的2倍。3機器周期:完成一個根本操作例如,取指令、存儲器讀、存儲器寫等所需要的時間稱為機器周期。MCS51的一個機器周期含有6個時鐘周期。4指令周期完成一條指令所需要的時間稱為指令周期。MCS5l的指令周期含14個機器周期不等,其中多數為單周期指令,還有2周期和4周期指令。4周期指令只有乘、除兩條指令。90例1 當單片機外接晶振頻率12Mhz,各種時序單位的大小:振蕩周期=1/fosc=1/12Mhz=0.0833微秒狀態周期=2/fosc=2/12Mhz=0.167微秒機器周期=12/fosc=12/12Mhz=1

52、微秒指令周期=(14)機器周期=14微秒 機器周期=12/fosc fosc為晶振91第五節 MCS-51單片機的系統復位一、MCS-51單片機的復位方式和復位電路 1.復位操作2.復位信號及其產生 單片機復位的條件 必須使RST引腳持續2微秒高電平外部時鐘為12MHZRST引腳管腳9是復位信號的輸入端,復位信號是高電平有效,其有效時間應至少要保持2個機器周期(24個振蕩周期)以上,才完成一次復位。 復位是單片機的初始化操作,其作用是使CPU和系統中其它部件都處于一個確定的初始狀態,并從這個狀態開始工作 。課本34頁 2.7.1 第一段文字圖2-15 MCS-51的片內復位結構92復位后片內各

53、專用存放器的狀態(非常重要)寄存器內容寄存器內 容PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P30FFHSCON00HIPXXX00000BSBUFXXXXXXXXBIE0XX00000BPCON0XXXXXXXB課本34頁 表2-6 SFR復位狀態933.復位方式 MCS-51系列單片機有兩種復位方式上電復位加電復位按鍵復位 電平式 脈沖式按鍵電平復位按鍵脈沖復位上電復位abab94第六節 MCS-51單片機的工作過程例: MOV A,#09H 74H09H ;把09H送到累加器A

54、中0002000100000 1 1 1 0 1 0 00 0 0 0 1 0 0 10000H課本17頁第2自然段95例: MOVA,#0E0H機器碼是74HE0H,功能是把操作數E0H送入累加器A。 設:0000H單元中已經存放74H,0001H單元中已存放E0H。96取指階段:1開機時,PC=0000H,PC值被送到地址存放器,然后PC=0001H。2地址存放器的內容0000H通過地址譯碼電路譯碼選中0000H單元。3CPU使讀控制線有效,在讀信號下將0000H單元中的內容74H送到數據總線上,并送到指令存放器中。分析和執行指令:根據指令存放器中的內容74H,指令譯碼器就知道該指令是將一

55、個數送到A中,而該數存放在下一個存儲單元。所以還要把下一個單元內容取出來,這次取出內容送的不是指令存放器,而是累加器A。97本章重點(課本39頁) 指令的尋址方式、功能、使用方法 程序設計的一般方法和技巧 講授內容: MCS-51單片機的尋址方式 MCS-51單片機指令分類 程序設計方法和算法分析 應用程序設計舉例 第三章MCS-51單片機的指令系統與程序設計98用戶命令CPU99一、單片機指令系統概述程序:為完成某項特定任務的一組指令的集合。計算機按程序一條一條地依次執行指令,從而完成指定任務。要讓計算機完成各項任務,用戶要設計各種程序。1、相關概念 指令:能夠完成特定功能的命令。 指令系統

56、:CPU所能執行的各種指令的集合。 機器語言:用二進制代碼表示指令和數據,CPU可直接識別。 匯編語言:為起到助記作用,指令常以其英文名稱或縮寫形式來作為助記符表示的指令稱為匯編語言。第一節MCS-51單片機的尋址方式1002、MCS-51單片機的指令格式 單字節指令 雙字節指令 三字節指令單字節指令:操作碼和操作數共同占用一個字節,在MCS-51指令系統中有49條單字節指令。 雙字節指令:共有兩個字節,前一個字節為操作碼,后一個字節為操作數,在MCS-51指令系統中有45條雙字節指令。 指令碼為例: MOV A,#data 課本39頁3.2101 指令的格式操作碼操作數或操作數地址標號注釋三

57、字節指令:共有三個字節,操作碼占一個字節,操作數占兩個字節,操作數可以是數據也可以是地址,在MCS-51指令系統中有17條雙字節指令。 例: ANL direct,#data ;直接尋址單元與立即數進行“與操作 指令碼為指令的表示方式:由兩個局部組成,操作碼和操作數。操作碼是用來規定指令進行什么操作。操作數那么是指令操作的對象,可以是一個具體的數也可以指出到哪里取得數據的地址和符號。例: DELAY: MOV R3,#0FFH ;一段延時程序102二、尋址方式 MCS-51單片機的指令系統共有111條指令,7種尋址方式,共分為5大類:數據傳送類指令,算術運算類指令,邏輯運算類指令,控制轉移類指

58、令,位操作類指令1、尋找操作數方式的舉例課本40頁,3.3指令系統的尋址方式103#data8、#data16:分別表示8位、16位立即數。 direct:片內RAM單元地址8位,也可以指特殊功能存放器的地址或符號名稱。addr11、addr16:分別表示11位、16位地址碼。rel:相對轉移指令中的偏移量,為8位帶符號數補碼形式。bit:片內RAM中可位尋址的位地址。A:累加器A;ACC那么表示累加器A的地址。Rn:當前存放器組的8個工作存放器R0R7。Ri:可用作間接尋址的工作存放器,只能是R0、R1。:間接尋址的前綴標志。 當前指令存放的地址x x中的內容2、MCS-51單片機指令常用符

59、號說明課本44頁,匯編指令中的符號約定104立即尋址 立即尋址是指在指令中直接給出其操作數,該操作數稱為立即數。為了與直接尋址指令中的直接地址相區別,在立即數前面必需加上前綴“#。例如: MOV A,#55HA55H3、七種尋址方式MOV Rn,#01H n=07MOV DPTR,#1FFFH注意:尋址方式是以什么形式來定義?以“逗號后面的尋找操作數的方式來確定的,逗號后就是操作數的,為立即尋址!與逗號前面的局部無關!這是一個約定,請大家記住!MOV direct,#88Hdirect的特定含義,一定要記住! direct是指在單片機內部RAM中00H-FFH范圍內內部RAM,只要有單元地址,

60、可以用通用的符號direct來表示。課本40頁105直接尋址 直接尋址是指在指令中直接給出存放數據的地址注意:不是立即數,并且只限于片內RAM范圍。直接尋址只能訪問特殊功能存放器、內部數據存儲器和位地址空間。例如:MOV A,20H 比較以上兩指令的區別,沒有#號,含義不同!MOV direct,#88HMOV 70H,#88HA20H 88H#88H70HADD A,#55HSUBB A,#01HCPU內部RAM或SFR106MOV Rn,20HMOV direct,30HMOV Ri,30H無“#號,直接給出單元的地址,即直接給出操作數地址的方式。ADD A,20HSUBB A,30H由于

溫馨提示

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

評論

0/150

提交評論