《單片機原理及接口技術-基于C51+Proteus仿真(第二版)》全套教學課件_第1頁
《單片機原理及接口技術-基于C51+Proteus仿真(第二版)》全套教學課件_第2頁
《單片機原理及接口技術-基于C51+Proteus仿真(第二版)》全套教學課件_第3頁
《單片機原理及接口技術-基于C51+Proteus仿真(第二版)》全套教學課件_第4頁
《單片機原理及接口技術-基于C51+Proteus仿真(第二版)》全套教學課件_第5頁
已閱讀5頁,還剩1242頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

單片機原理及接口技術—基于C51+Proteus仿真第1章

概述第2章

硬件結構第3章C51語言編程基礎第4章80C51單片機IO端口及應用第5章80C51單片機的中斷系統第6章80C51單片機定時器計數器第7章

單片機系統的并行擴展第8章

人機交互接口設計第9章80C51單片機與DAC、ADC接口芯片的設計第10章80C51單片機串口x第11章80C51單片機系統的串行擴展技術第12章80C51單片機應用實例第13章Keilc51和Proteus虛擬仿真平臺的使用全套可編輯PPT課件

本課件是可編輯的正常PPT課件

第1章概述本課件是可編輯的正常PPT課件1.1什么是單片機?1.2單片機的發展歷程及趨勢1.2.1單片機的發展歷程1.2.2單片機的發展趨勢1.3單片機的特點及分類1.3.1單片機的特點1.3.2單片機的分類1.4單片機的應用1.5典型的單片機產品1.5.1MCS-51系列單片機1.5.28051內核的單片機1.5.3PIC內核的單片機本課件是可編輯的正常PPT課件1.1什么是單片機?隨著社會的發展和需求的提高,計算機也在不斷地更新與發展。由于計算機的產生是應數值計算而產生的,因此長期以來電子計算機技術都是沿著滿足數值計算而發展的,直到20世紀70年代,電子計算機在數字邏輯運算、自動控制等方面顯露出非凡的功能后,在各種控制領域開始對計算機技術發展提出了與傳統大量高速計算完全不同的要求。這些要求包括面向控制對象、面向各種傳感器信號、面向人機交互操作控制、能方便地嵌入工控應用系統中等。

為了實現上述要求,單片機應運而生。那么單片機到底是什么呢?本課件是可編輯的正常PPT課件

一臺可以工作的PC機至少需要以下幾個部件:CPU(中央處理器)、RAM(隨機存取存儲器)、ROM(只讀存儲器)、I/O接口(輸入/輸出接口)。這些部件在物理上對應若干個芯片,這些芯片被安裝在一塊印制線路板上,便組成了個人計算機的主板。如果將計算機主板的一部分功能部件進行裁剪后,把余下的功能部件集成到一塊芯片上,那么這個芯片具有計算機的基本屬性,被稱為單片微型計算機,簡稱單片機。由此可見,單片機就是在一片半導體硅片上集成了中央處理單元(CPU)、存儲器(RAM/ROM)和各種I/O接口的微型計算機。就其組成和功能而言,一塊單片機芯片就是一臺計算機。本課件是可編輯的正常PPT課件1.2單片機的發展歷程及趨勢單片機誕生于20世紀70年代,自其誕生至今40年,已發展為上百種系列的近千個機種。1.2.1單片機的發展歷程單片機的發展歷程大致可以分為4個階段。(1)第一階段(1974-1978):單片機的探索階段。以Intel公司的MCS-48系列單片機為典型代表,MCS-48的推出是單片機在工控領域的探索。在一片半導體硅片內含有CPU、并行口、定時器、RAM和ROM存儲器等,這就是SCM的誕生年代,“單機片”一詞即由此而來。?這個階段的單片機因受集成電路技術的限制,CPU指令系統功能相對較弱、存儲器容量較小、I/O部件種類和數量少,只能用在比較簡單的場合。本課件是可編輯的正常PPT課件(2)第二階段(1978-1983)單片機的完善階段。典型代表是Intel公司在MCS-48單片機基礎上推出的MCS-51系列單片機。它在以下幾個方面奠定了典型的通用總線型單片機體系結構。①完善的外部總線。MCS-51設置了經典的8位單片機的總線結構,包括8位數據總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。②CPU外圍功能單元的集中管理模式。③體現工控特性的位地址空間及位操作方式。④指令系統趨于豐富和完善,并且增加了許多突出控制功能的指令。??本課件是可編輯的正常PPT課件(3)第三階段(1983-1990):單片機向微控制器發展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統的模數轉換器(ADC)、程序運行監視器(WDT)、脈寬調制器(PWM)等納入片中,增強了外圍電路功能,體現了單片機的微控制器特征。微控制器MCU一詞源于這一階段。??????(4)第四階段(1990-):微控制器的全面發展階段。隨著單片機在各個領域全面深入地發展和應用,出現了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。本課件是可編輯的正常PPT課件1.2.2單片機的發展趨勢從20世紀90年代以來,單片機進入了全面發展,百花齊放,百家爭鳴的時期,世界上各大芯片制造公司都推出了自己的單片機,從8位、16位到32位,數不勝數,應有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,為單片機的應用提供了廣闊的天地。縱觀單片機的發展過程,可以預示單片機的發展趨勢將是向高性能化、大容量、外圍電路內裝化等方面發展。1.CPU的改進(1)增加CPU數據總線寬度。例如,各種16位單片機和32位單片機,數據處理能力要優于8位單片機。(2)采用雙CPU結構,以提高數據處理能力。本課件是可編輯的正常PPT課件2.存儲器的發展(1)加大存儲容量。目前有的單片機片內程序存儲器容量可達128KB甚至更多,片內數據存儲器容量可達1KB以上。(2)片內程序存儲器采用閃爍(Flash)存儲器。可不用外擴程序存儲器,簡化系統結構。閃爍存儲器能在+5V下讀寫,既有靜態RAM讀/寫操作簡單的優點,又兼具ROM在掉電時數據不會丟失的優點。片內閃爍存儲器的使用大大簡化了應用系統結構。3.片內I/O的改進增加并行口驅動能力,以減少外部驅動芯片。有的單片機可以直接輸出大電流和高電壓,以便能直接驅動LED和VFD(熒光顯示器)。本課件是可編輯的正常PPT課件4.低功耗化現在的各單片機制造商基本都采用了CMOS工藝(互補金屬氧化物半導體工藝)。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機可以工作在功耗精細管理狀態。但由于CMOS的物理特征決定了其工作速度不夠高,而CHMOS(互補高密度金屬氧化物半導體工藝)則具備了高速和低功耗的特點,更適合于在要求低功耗的應用場合。所以這種工藝將是今后一段時期單片機發展的主要途徑。本課件是可編輯的正常PPT課件5.微型單片化

隨著集成電路技術及工藝的不斷發展,把所需的眾多的外圍電路全部裝入單片機內,即系統的單片化是目前單片機的發展趨勢之一。除了最基本的CPU、ROM、RAM外,還可把A/D轉換器、D/A轉換器、DMA控制器、聲音發生器、監視定時器、液晶驅動電路、鎖相電路等一并集成在單片機芯片內。另外單片機廠商還可以根據用戶的要求量身定做,制造出具有自己特色的單片機芯片。此外,現在的產品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要求其體積要小。現在的許多單片機都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構成的系統正朝微型化方向發展。本課件是可編輯的正常PPT課件1.3單片機的特點及分類1.3.1單片機的特點由于單片機是把微型計算機主要部件都集成在一塊芯片上,即一塊芯片就是一個微型計算機。因此,單片機具有以下特點:(1)有優異的性能價格比。目前國內市場上,有些單片機的芯片價格只有幾元人民幣,加上少量外圍元件,就能構成一臺功能相當豐富的智能化控制裝置。(2)集成度高,體積小,可靠性好。單片機把各功能部件集成在一塊芯片上,內部采用總線結構,減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。而且,由于單片機體積小,易于采取電磁屏蔽或密封措施,適合于在惡劣環境下工作。(3)控制能力強。單片機指令豐富,能充分滿足工業控制的各種要求。(4)低功耗,低電壓,便于生產便攜式產品。(5)易擴展。可根據需要并行或串行擴展,構成各種不同應用規模的控制系統。本課件是可編輯的正常PPT課件1.3.2單片機的分類根據目前單片機的發展情況,可從通用性、總線結構、應用領域等3個不同角度對其進行分類。1.按通用性可分為通用型和專用型通用型單片機的主要特點是:內部資源比較豐富,性能全面,而且通用性強,可覆蓋多種應用要求。通用型單片機的用途很廣泛,使用不同的接口電路及編制不同的應用程序就可完成不同的功能。專用型單片機的主要特點是:針對某一種產品或某一種控制應用而專門設計的,設計時已使結構最簡,軟硬件應用最優,可靠性及應用成本最佳。專用型單片機用途比較專一,例如電子表里的單片機就是其中的一種。本課件是可編輯的正常PPT課件2.按總線結構可分為總線型和非總線型。總線型單片機普遍設置有并行地址總線、數據總線、控制總線,這些引腳可以用來擴展并行外圍器件。近年來許多單片機已把所需要的外圍器件及外設接口集成到片內,另外許多外圍器件都可通過串行口與單片機連接,因此在許多情況下可以不要并行擴展總線,可大大降低封裝成本,減少芯片體積,這類單片機稱為非總線型單片機。3.按應用領域可分為工控型和家電型一般而言,工控型尋址范圍大,運算能力強。而用于家電的單片機多為專用型,通常是小封裝、低價格,外圍器件、外設接口集成度高。本課件是可編輯的正常PPT課件1.4單片機的應用單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,在下述的各個領域中得到了廣泛的應用。1.工業自動化工業自動化控制是最早采用單片機控制的領域之一,在測控系統、過程控制、機電一體化設備中主要利用單片機實現邏輯控制、數據采集、運算處理、數據通信等。單獨使用單片機可以實現一些小規模的控制功能,作為底層測控制單元與上位計算機結合可以組成大規模工業自動化控制系統。特別在集機械、微電子和計算機技術于一體的機電一體化技術中,單片機將更容易發揮其優勢。本課件是可編輯的正常PPT課件2.智能儀器儀表單片機結合不同類型的傳感器,可實現電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。單片機的使用使得儀器儀表數字化,智能化,微型化。以單片機為核心構成智能儀器儀表已經是自動化儀器儀表發展的一種趨勢。3.家用電器單片機功能完善、體積小、價格廉、易于嵌入,非常適合對家用電器的控制,現已廣泛應用于洗衣機、空調、電視機、微波爐、電冰箱、電飯煲以及各種視聽設備等。嵌入單片機的家用電器實現了智能化,是傳統型家用電器的更新換代。本課件是可編輯的正常PPT課件4.計算機網絡和通信領域新型單片機普遍具備通信接口,可以方便地和計算機進行數據通信,為計算機和網絡設備之間提供連接服務創造了條件。現在的通信設備基本上實現了單片機智能控制,從小型程控交換機,樓宇自動通信呼叫系統,列車無線通信,再到日常工作中隨處可見的移動電話,集群移動通信,無線對講機等。5.終端及外部設備控制計算機網絡終端設備(如銀行終端)以及計算機外部設備(如打印機、復印機、傳真機、繪圖機等)中都使用了單片機。6.醫用設備?單片機在醫療設施及醫用設備中的用途亦相當廣泛,例如在醫用呼吸機、各種分析儀、醫療監護儀、超聲波診斷設備及病床呼叫系統中都得到了實際應用。本課件是可編輯的正常PPT課件7.武器裝備在現代化的武器裝備中,如飛機、坦克、軍艦、導彈、航天飛機導航系統,都有單片機嵌入其中。8.汽車電子設備單片機已經廣泛應用于各種汽車電子設備中,如汽車的集中顯示系統、動力監測控制系統、自動駕駛系統、通信系統和運行監視器等裝置都離不開單片機。特別是采用現場總線的汽車控制系統中,以單片機為核心的節點通過協調、高效的數據傳送不僅完成了復雜的控制功能,而且簡化了系統結構。本課件是可編輯的正常PPT課件1.5典型的單片機產品本節將介紹當今世界上一些著名的半導體廠商典型的單片機產品,以使讀者對目前的單片機產品有個大概的了解,為讀者選擇單片機提供參考。1.5.1MCS-51系列單片機Intel公司是最早推出單片機的大公司之一,MCS是其生產的單片機的系列符號。Intel公司的單片機產品有MCS-48、MCS-51和MCS-96三大系列幾十個型號。MCS-51系列單片機是Intel公司在MCS-48系列的基礎上于20世紀80年代初發展起來的,是最早進入我國,并在我國使用最為廣泛的單片機主流品種。MCS-51系列單片機品種豐富,但經常使用的是基本型和增強型。本課件是可編輯的正常PPT課件(1)基本型典型產品:8031/8051/8751。8031內部包括1個8位CPU、128BRAM,21個特殊功能寄存器(SFR),4個8位并行I/O口、1個全雙工串行口,2個16位定時器/計數器,5個中斷源,片內無程序存儲器,需外擴程序存儲器芯片。8051在8031的基礎上,片內集成了4KBROM的程序存儲器。ROM內的程序是公司制作芯片時,代為用戶燒制的,一旦燒制完成,不能再擦寫修改。8751與8051相比,片內集成了4KB的EPROM作為程序存儲器。用戶可將程序固化在EPROM,EPROM中的內容可反復擦寫修改。本課件是可編輯的正常PPT課件(2)增強型Intel公司在MCS-51系列的3種基本型產品基礎上,又推出了增強型系列產品,即52子系列,典型產品為:8032/8052/8752。它們的內部RAM增加到256B,內部程序存儲器(8052/8752)擴展到8KB,16位定時器/計數器增至3個,6個中斷源。表1-1列出了基本型和增強型的MCS-51系列單片機內部的硬件資源。本課件是可編輯的正常PPT課件1.5.3PIC內核的單片機PIC系列單片機是由美國Microchip(微芯)公司推出的單片機產品。PIC系列單片機型號眾多,分為低檔、中檔和高檔型。PIC系列單片機CPU采用了RISC結構,屬精簡指令集,3個級別的單片機分別有33、35、58條指令。同時PIC系列單片機采用了Harvard(哈佛)雙總線結構,這種結構有兩種總線,即數據總線和指令總線。這兩種總線可以采用不同的字長,如8位PIC系列單片機是8位機,所以其數據總線當然是8位。但基本級、中級和高級的PIC系列單片機分別有12位、14位和16位的指令總線。這樣,取指令時則經指令總線,取數據時則經數據總線,互不沖突。因此,它能使程序存儲器的訪問和數據存儲器的訪問并行處理。這種指令流水線結構的引入允許執行指令取指令同步進行,使得指令可在一個周期內執行。本課件是可編輯的正常PPT課件

此外,PIC系列單片機功耗低(在5V、4MHz振蕩頻率時工作電流小于2mA),可采用降低工作頻率的方法降低功耗,睡眠方式下電流小于15μA,工作電壓為2.5~6V,帶負載能力強,每個I/O接口可提供20mA上拉電流或25mA灌電流。

PIC系列單片機憑借其高速度、低電壓、低功耗、大電流LED驅動能力和低價位OTP技術等優勢,已被廣泛應用在工業控制、智能儀器、家電控制、通信、汽車電子到金融電子等各個領域,是當前市場份額增長最快的單片機之一。本課件是可編輯的正常PPT課件習題1一、填空題1.單片機還可稱為或。2.單片機與通用計算機的不同之處在于將、和3部分,通過內部連接在一起,集成在一塊芯片上。3.8031與8051的區別是。二、簡答題1.8051單片機內部提供了哪些資源?2.單片機有哪些應用特點?主要應用在哪些領域?3.簡述單片機的發展趨勢。本課件是可編輯的正常PPT課件第2章51單片機的硬件結構本課件是可編輯的正常PPT課件2.1MCS-51系列單片機簡介2.280C51的內部總體結構2.389C51的引腳功能2.480C51單片機存儲器結構2.5單片機的時鐘和復位電路2.5.1時鐘電路2.5.2時序2.5.3復位電路2.6單片機的低功耗模式2.6.1待機方式設計2.6.2掉電方式設計本課件是可編輯的正常PPT課件2.1MCS-51系列單片機簡介MCS-51系列單片機是美國Intel公司于1980年推出8位單片機,由51和52兩個子系列組成。51子系列主要包含8031、8051、8751三個品種,有相同的指令系統與芯片引腳,只是片內ROM不同,其中8031芯片不帶片內ROM,8051芯片帶4KBROM,8751芯片帶4KBEPROM。52子系列主要包括8032、8052、8752三種機型,與51子系列相比,片內RAM增至256B;8032不帶ROM,8052帶8KBROM,8752帶8KBEPROM;片內定時器/計數器增加至3個16位;中斷源增至6個。本課件是可編輯的正常PPT課件2.280C51的內部總體結構80C51片內主要硬件結構如圖2-1所示,由片內單一總線連接各功能部件,其CPU通過特殊功能寄存器對各功能部件進行集中控制。80C51主要內包含下列部件。(1)8位CPU。(2)片內振蕩器(頻率1.2~12MHZ)。(3)片內RAM(128B)。(4)片內ROM(4KB)。(5)程序存儲器(64KB)。(6)片外RAM(64KB)。本課件是可編輯的正常PPT課件圖2-180C51片內硬件結構本課件是可編輯的正常PPT課件(7)位尋址空間(128bit)。(8)特殊功能寄存器(51子系列21個)。(9)4個8位可編程并口(P0、P1、P2、P3)。(10)2個可編程的16位定時器/計數器(T0、T1)。(11)5個中斷源(2個優先級別)。(12)1個全雙工的串行I/O接口。(13)111條指令(含乘法和除法指令)。(14)片內單總線結構。(15)較強位處理能力。(16)+5V電源供電。本課件是可編輯的正常PPT課件介紹圖2-1中片內各功能部件。(1)8位CPU80C51具有8位數據寬度的CPU,CPU由運算器和控制器兩大部分構成,其中,運算器以算術邏輯運算單元ALU為核心,包含累加器ACC(簡稱A)、B寄存器、暫存器、程序狀態字寄存器PSW、以進位標志位C為累加器的布爾處理器等,實現算術運算、邏輯運算、位運算(置1、清0、取反、轉移、邏輯與、或以及位傳送等)和數據傳輸等。控制器通過控制指令的讀入、譯碼和執行,從而對各功能部件進行定時和邏輯控制。本課件是可編輯的正常PPT課件(2)片內振蕩器及時鐘電路80C51(增強型)內置時鐘電路可外接最高頻率達33MHz晶振,產生系統工作脈沖時序。(3)4KBROM程序存儲器80C51片內有4KBFlashROM,用于存放用戶程序、原始數據或表格。(4)128B片內RAM和SFR80C51片內有128BRAM和128BSFR,它們是統一編址的,用戶能使用的RAM只有128個,用來存放讀寫數據、中間結果等用戶數據,SFR則用來存放控制指令數據。本課件是可編輯的正常PPT課件(5)2個16位定時器/計數器

80C51有兩個16位的可編程增計數定時器/計數器,實現對內部定時或對外部脈沖計數功能,可控制程序中斷轉向。(6)64KB外部數據存儲器和64KB外部程序存儲器

80C51是采用哈佛結構的程序存儲器和數據存儲器,具有最大尋址64KB數據和64KB程序存儲器空間的控制電路。(7)32個I/O線(4個6位并行I/O端口)

80C51共有4組8位I/O口(P0、P1、P2或P3),提供對外的三總線傳輸。本課件是可編輯的正常PPT課件(8)一個可編程全雙工串行口

80C51內置一個全雙工串行通信口,既可以用作異步通信收發器,也可以當同步移位器使用。(9)5個中斷源、兩個優先級嵌套中斷結構

80C51有2個外部中斷源、2個定時器/計數器中斷源和一個串行中斷源,并具有2級的優先級別選擇。

此外,80C51還具有低功耗模式,由兩種軟件可選擇的低功耗節電工作模式。在空閑模式下,凍結CPU而RAM定時器、串行口和中斷系統維持其功能。掉電模式下,保存RAM數據,時鐘振蕩停止,同時停止芯片內其他功能。本課件是可編輯的正常PPT課件2.389C51的引腳功能

先了解引腳,牢記各引腳功能。AT89S51與各種8051芯片的引腳兼容。目前多采用40只引腳雙列直插,如圖2-2。此外,還有44引腳的PLCC和TQFP封裝方式的芯片。

引腳按其功能可分為如下3類:(1)電源及時鐘引腳—VCC、VSS;XTAL1、XTAL2。(2)控制引腳—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引腳——P0、P1、P2、P3,為4個8位I/O口本課件是可編輯的正常PPT課件2.389C51的引腳功能

單片機應用是軟硬件結合的設計,首先應當熟悉各引腳的功能。80C51單片機主要有兩種封裝形式:40引腳的雙列DIP(DualIn-linePackage)封裝和44引腳的方PLCC(PlasticLeadedChipCarrier)封裝。這兩種封裝的引腳配置如圖2-2所示。其中,44腳PLCC封裝中比DIP封裝多出的4只引腳沒有使用。

本課件是可編輯的正常PPT課件

(a)DIP封裝

(b)PLCC封裝圖2-280C51單片機引腳配置本課件是可編輯的正常PPT課件

引腳按其功能可分為如下3類:(1)電源及時鐘引腳—VCC、VSS;XTAL1、XTAL2。(2)控制引腳—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引腳——P0、P1、P2、P3,為4個8位I/O口本課件是可編輯的正常PPT課件2.2.1電源及時鐘引腳1.電源引腳(1)VCC(40腳):+5V電源。(2)VSS(20腳):數字地。圖2-2AT89S51雙列直插封裝方式的引腳本課件是可編輯的正常PPT課件2.時鐘引腳

(1)XTAL1(19腳):片內振蕩器反相放大器和時鐘發生器電路輸入端。用片內振蕩器時,該腳接外部石英晶體和微調電容。外接時鐘源時,該腳接來自外部時鐘振蕩器的信號。

(2)XTAL2(18腳):片內振蕩器反相放大器的輸出端。當使用片內振蕩器,該腳接外部石英晶體和微調電容。當使用外部時鐘源時,本腳懸空。2.2.2控制引腳(1)RST(RESET,9腳)

復位信號輸入,在引腳加上持續時間大于2個機器周期的高電平,可使單片機復位。正常工作,此腳電平應≤0.5V。本課件是可編輯的正常PPT課件

當看門狗溢出時,該腳將輸出96個時鐘振蕩周期的高電平。(2)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31腳)EA*:第一功能:外部程序存儲器訪問允許控制端。EA*=1,在PC值≤0FFFH(不超出片內4KBFlash存儲器地址范圍)時,單片機讀片內Flash存儲器(4KB)中的程序,但PC值>0FFFH(超出片內4KBFlash地址范圍)時,將自動轉向讀取片外60KB(1000H-FFFFH)程序存儲器空間中的程序。EA*=0,只讀取片外程序存儲器中內容,讀取地址范圍為0000H~FFFFH,片內的4KBFlash程序存儲器不起作用。本課件是可編輯的正常PPT課件VPP:引腳第二功能,對片內Flash編程,接編程電壓。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30腳)ALE:為CPU訪問外部程序存儲器或外部數據存儲器提供地址鎖存控制信號,將低8位地址鎖存在片外的地址鎖存器中。此外,單片機正常運行時,ALE端一直有正脈沖信號輸出,此頻率為fosc的1/6。該信號可作外部定時或觸發信號使用。

注意:每當AT89S51訪問外部RAM或I/O時,要丟失一個ALE脈沖,所以ALE引腳的輸出信號頻率并不是準確的1/6

fosc。本課件是可編輯的正常PPT課件

如不需要ALE端輸出脈沖信號,可將特殊功能寄存器AUXR(地址8EH,本章后面介紹)的第0位(ALE禁止位)置1,來禁止ALE操作,但在執行訪問外部程序存儲器或外部數據存儲器操作時,ALE仍然有效,即ALE禁止位不影響對單片機對外部存儲器的訪問。PROG*:引腳第二功能,對片內Flash編程,加編程脈沖輸入。本課件是可編輯的正常PPT課件(4)PSEN*

(ProgramStrobeENable,29腳)

片外程序存儲器讀選通信號,低有效。2.2.3并行I/O口引腳(1)P0口:P0.7~P0.0腳,8位,漏極開路的雙向I/O口

當外擴存儲器及I/O接口芯片時,P0口作為低8位地址總線及數據總線的分時復用端口。P0口也可作通用的I/O口用,需加上拉電阻,這時為準雙向口。如作輸入,應先向端口寫1。可驅動8個LS型TTL負載。(2)P1口:P1.7~P1.0腳,8位,準雙向I/O口,內有上拉電阻。

準雙向I/O口,作通用I/O輸入時,應先向端口鎖存器寫1,本課件是可編輯的正常PPT課件P1口可驅動4個LS型TTL負載。P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于對片內Flash存儲器串行編程和校驗,分別是串行數據輸入、輸出和移位脈沖引腳。(3)P2口:P2.7~P2.0腳,8位,準雙向I/O口,具有內部上拉電阻。

當AT89S51擴展外部存儲器及I/O口時,P2口作為高8位地址總線輸出高8位地址。P2口也可作普通I/O使用。當作通用I/O輸入時,應先向端口輸出鎖存器寫1。可驅動4個LS型TTL負載。本課件是可編輯的正常PPT課件(4)P3口:P3.7~P3.0腳,8位,準雙向I/O口,具有內部上拉電阻。

可作為通用的I/O口使用。作為通用I/O輸入,應先向端口輸出鎖存器寫入1。可驅動4個LS型TTL負載。P3口還可提供第二功能。第二功能定義如表2-1,應熟記。

綜上所述,P0口作為總線口時,為雙向口,作通用I/O用時,為準雙向口,需加上拉電阻。P1、P2、P3口均為準雙向口。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件注意:準雙向口與雙向口的差別。準雙向口僅有兩個狀態。而P0口作為總線使用,口線內無上拉電阻,處于高阻“懸浮”態。故為雙向三態I/O口。為什么P0口要有高阻“懸浮”態?因為P0口作為數據總線用時,多個數據源都掛在數據總線上,當P0口不需要讀寫其他數據源時,需要與數據總線高阻“懸浮”隔離。準雙向I/O口則無高阻“懸浮”態。另外,準雙向口作通用I/O輸入使用時,需先向該口先寫入“1”。準雙向口與雙向口的差別,學習2.5節的P0~P3口內部結構后,會有更深入了解。

本課件是可編輯的正常PPT課件2.480C51單片機存儲器結構80C51單片機是哈佛結構的單片機,程序存儲器和數據存儲器有獨立的尋址空間、控制信號和功能。從邏輯上看,80C51劃分為3個存儲器地址空間:64KB程序存儲器地址空間(片內、片外統一編址),256B的內部數據存儲器地址空間和64KB的外部數據存儲器地址空間。從物理地址空間看,80C51有5個存儲器地址空間:4KB片內程序存儲器、60KB片外程序存儲器(不使用片內ROM時可達64KB)、64kB片外數據存儲器和I/O接口、128B片內數據存儲器、128B特殊功能寄存器。80C51單片機的存儲器配置如圖2-3所示。下面分別敘述各存儲器的配置特點。本課件是可編輯的正常PPT課件圖2-380C51存儲器的配置本課件是可編輯的正常PPT課件1.程序存儲器

程序存儲器用來存放編程好的固定程序和表格常數,其以16位程序計數器PC作下一條指令的地址指針,通過地址總線,可尋址地址空間64KB。在程序存儲器空間應用中有以下說明。(1)80C51單片機中,片內集成有4KB的Flash存儲器(AT89S52則為8KB;AT89C55片內20KB),片外可外擴至64KB。64KB程序存儲器的地址空間是統一的。是否使用片內4KBFlashROM,取決于引腳的連接方式。本課件是可編輯的正常PPT課件①在正常運行時,應把引腳接+5V電源,使程序從片內ROM開始執行。當PC值超出4K時,會自動轉向外部程序存儲器空間。因此,外部程序存儲器地址空間為1000H~FFFFH。②若直接將接地(如調試程序時),單片機系統根據PC指針從0000H~FFFFH空間變化,只從外部程序存儲器中取指、譯碼并執行,此時80C51單片機將忽略片內0000H~FFFH的4KBFlash存儲器中的程序代碼。本課件是可編輯的正常PPT課件(2)80C51單片機程序存儲器的低地址單元被固定用于5個中斷源(80C52為6個)的中斷服務程序的入口地址(中斷向量),5個中斷源對應的中斷向量如表2-2所示(表中最后一列是80C52定時器T2的中斷向量)。由于每個中斷服務程序只占8個字節單元,所以一般中斷向量處存放一條絕對跳轉指令,實際中斷服務程序在轉移地址處存放。本課件是可編輯的正常PPT課件(3)從物理角度看,PC在80C51的內部是獨立的。PC始終存放CPU下一條要執行的指令地址(程序存儲器地址),由于它是一個16位的寄存器,因此80C51單片機的尋址范圍為0~65535(64KB)。執行指令時,PC內容的低8位經P0口輸出,高8位經P2口輸出。復位后程序計數器PC內容為0000H,因此系統從0000H單元開始取指執行,這是系統執行程序的起始地址,通常在該單元中存放一條跳轉指令,使程序跳轉到用戶程序存放地址。本課件是可編輯的正常PPT課件2.數據存儲器80C51單片機的數據存儲器分為片內和片外兩個地址空間。片內為128B(52子系列為256B),片外最多可擴64KB。(1)片外數據存儲器當片內128BRAM不夠用時,最多可擴展64KB外部數據存儲器,地址范圍為0000H—0FFFFH,使用時注意,單片機I/O接口與片外數據存儲器采用統一編址方式,即片外數據存儲器連同I/O口一起總的擴展容量是64KB,且采用相同控制線、指令和尋址空間。(2)片內數據存儲器圖2-4(a)所示是80C51單片機內部數據存儲器的配置。內部數據存儲器是最靈活的地址空間,它分成物理上獨立的且性質不同的3個區。本課件是可編輯的正常PPT課件①00H~7FH(0~127)單元組成低128B地址空間的RAM區片內數據存儲器按功能分成3個部分:工作寄存器區、位尋址區、用戶RAM區,還包含堆棧區。工作寄存器區包括0區~3區4個通用工作寄存器區,占地址為00H~1FH的32個單元,每個區有8個工作寄存器,編號分別為R0~R7,各區中R0~R7地址如圖2-4(b)所示。4個工作寄存器區的切換可通過程序中改變程序狀態字特殊功能寄存器PSW的RS1和RS0的四種組合狀態實現。如表2-3所示。本課件是可編輯的正常PPT課件②80H~FFH的128B地址空間的SFR映射在片內RAM區SFR實質是各外圍部件的控制寄存器及狀態寄存器。由于SFR內容較重要,下面將專設一小節詳細介紹。③8052/80C52單片機80H~FFH單元組成的高128B的數據RAM區8052/80C52單片機的片內高128B的RAM與SFR是不同的物理空間,但是具有相同的字節地址(統一編址),C51訪問這2個不同區域時,通過不同的關鍵字區分。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件3.SFR

80C51單片機內的累加器ACC、I/O口、定時器、串行口、中斷等各種控制寄存器和狀態寄存器都是以SFR的形式出現的,它們映射在內部RAM80H~FFH地址空間,表2-5列出了SFR的助記標識符、名稱及地址。其中字節地址可以被8整除的SFR均可位尋址。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件(1)SFR分類SFR分為以下5類。①CPU專用寄存器:累加器A(E0H),寄存器B(F0H),程序狀態寄存器PSW(D0H),堆棧指針SP(81H),數據指針DPTR(82H、83H)。②并行接口:P0~P3(80H、90H、A0H、B0H)。③串行接口:串口控制寄存器SCON(98H),串口數據緩沖器SBUF(99H),電源控制寄存器PCON(87H)。④定時/計數器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0(8CH)和TL0(8AH)、TH1(8DH)TL1(8BH)。定時/計數器T2相關寄存器(僅52子系列有):定時/計數器2控制寄存器T2CON(C8H),定時/計數器2自動重裝寄存器RCAP2H(CBH)和RCAP2L(CAH),定時/計數器2初值寄存器TH2(CDH)和TL2(CCH)。⑤中斷系統:中斷允許寄存器IE(A8H),中斷優先級寄存器IP(B8H)。本課件是可編輯的正常PPT課件(2)SFR介紹下面簡單介紹部分SFR。1)累加器ACC累加器是最常用的SFR。大部分單操作數指令和多數雙操作數指令的一個操作數取自累加器。加、減、乘、除算術運算指令的運算結果都存放在累加器A中。2)B寄存器80C51單片機在乘法和除法指令中用到B寄存器。乘法指令的兩個操作數分別取自A和B,其結果高8位和低8位分別存放在B、A寄存器中。除法指令中,被除數取自A,除數取自B,商數存放于A,余數存放于B。在其他指令中,B寄存器可作為RAM中的一個單元來使用。本課件是可編輯的正常PPT課件3)PSWPSW包含了程序運行狀態的各種信息,其各位的含義如表2-6所示。其中PSW.1未用,其他各位說明如下。①CY(PSW.7)進位標志在布爾處理機中,C被認為是位累加器。在執行某些算術和邏輯指令時,可以被硬件或軟件置1或清0。如算術運算中,若最高位有進位或借位時CY=1,否則CY=0;②AC(PSW.6)輔助進位標志當進行加法或減法操作而產生由D3位向D4位(低4位數向高4位數)進位或借位時,AC將被硬件置1,否則被清0。AC被用于十進制調整,詳見DAA指令。③F0(PSW.5)標志0用戶可定義的一個狀態標記,可以用軟件來設置該位,例如用軟件測試F0以控制程序的流向。本課件是可編輯的正常PPT課件④RS1、RS0(PSW.4,PSW.3)寄存器區選擇控制位1和0四個通用寄存器組的選擇位,該兩位的四種組合狀態用來選擇工作寄存器區的0~3區。可以用軟件來置1或清0。⑤OV(PSW.2)溢出標志當執行算術指令時,由硬件置1或清0,以指示溢出狀態。當帶符號數運算結果超出-128~+127范圍時OV=1,否則OV=0。當無符號數乘法結果超過255時,或當無符號數除法的除數為0時OV=1。當執行加法時,若用C6‘表示D6位向D7位有進位,用C7’表示D7向CY有進位,則有OV=C6‘⊕C7’。即當D6向D7有進位而D7不向CY進位時,或D6不向D7進位而D7向CY有進位時,溢出標志OV置1。否則清0。同樣,在執行減法指令時,若C6'和C7'表示D6有借位和D7有借位,溢出計算公式相同。本課件是可編輯的正常PPT課件⑥P(PSW.0)奇偶標志奇偶校驗標志。每條指令執行完,若A中“1”的個數為奇數時,P=1,否則P=0,即偶校驗方式。此標志位對串行通信中的數據傳輸有重要的意義。在串行通信中常用奇偶校驗的辦法來檢驗數據傳輸的可靠性。在發送端可根據P的值對數據的奇偶位置1或清0。若通信協議中規定使用奇校驗的辦法,則P=0時,應對數據(假定由A取得)的奇偶位置1,否則就清0。本課件是可編輯的正常PPT課件4)棧指針SP棧指針SP指示堆棧頂部在內部RAM中的位置。系統復位后,SP初始化為07H,使得堆棧事實上由08H單元開始。由于08H~lFH空間屬于工作寄存器區1~3,20H~2FH空間為位尋址區,而程序設計中常用到這些區,在具體使用時應避開工作寄存器、位尋址區,一般設在2FH以后的單元,如工作寄存器和位尋址區未用,也可開辟為堆棧。堆棧是按先入后出、后入先出的原則進行管理的一段存儲區域,主要作為子程序調用、中斷響應、子程序返回(RET)和中斷返回(RETI)等操作時,保護斷點和現場。本課件是可編輯的正常PPT課件①保護斷點預先把主程序的斷點(PC值)保存在堆棧中,為程序能夠正確返回。②現場保護在子程序或者中斷服務程序入口處,將用到的寄存器單元的內容壓入堆棧,以便程序退出前出棧。MCS-51單片機是一種滿遞增的堆棧,即執行兩種操作:數據壓入(PUSH)堆棧時,SP先自動加1,再壓入數據;數據彈出堆棧時,數據先出棧,SP再自動減1。本課件是可編輯的正常PPT課件7)串行數據緩沖器SBUF串行數據緩沖器SBUF用于存放欲發送或已接收的數據,它實際上由兩個獨立的寄存器組成,一個是發送緩沖器,另一個是接收緩沖器。當要發送的數據傳送到SBUF時,進的是發送緩沖器。當要從SBUF讀數據時,則取自接收緩沖器,取走的是剛接收到的數據。5)數據指針DPTR數據指針DPTR是一個16位特殊功能寄存器,高位字節寄存器用DPH表示,低位字節寄存器用DPL表示。DPTR既可以作為一個16位寄存器DPTR來處理,也可作為兩個獨立的8位寄存器DPH和DPL來處理。DPTR主要用來存放16位地址,以間址寄存器形式訪問外部數據存儲器、I/O接口和程序存儲器。6)端口P0~P3專用寄存器P0、P1、P2和P3分別是I/O端口P0~P3的鎖存器。本課件是可編輯的正常PPT課件8)定時器/計數器80C51系列中有兩個16位定時器/計數器T0和T1,各由兩個獨立的8位寄存器組成,共有4個獨立的寄存器:TH0、TL0、TH1、TL1。不能將T0、T1當作一個16位寄存器來尋址。9)其他控制寄存器IP、IE、TMOD、TCON、SCON和PCON等SFR包含有中斷系統、定時器/計數器、串行口和供電方式的控制和狀態位,這些寄存器將在有關章節中敘述。本課件是可編輯的正常PPT課件2.5單片機的時鐘和復位電路在單片機的設計和應用中,對振蕩器、時鐘電路、CPU工作時序以及復位電路的了解是最基本的。可靠的時鐘電路和復位電路的設計能有效地保證單片機工作的穩定。本課件是可編輯的正常PPT課件2.5.1時鐘電路時鐘電路主要用于產生80C51執行指令時所必需的控制信號的各個節拍,單片機執行指令是在統一的時鐘脈沖控制下一拍一拍地進行的。時鐘電路發出的時序信號有兩類,一類用于對片內定時器、中斷系統等各個功能部件控制;另一類用于對片外存儲器或I/O接口的控制。執行指令時,CPU首先到程序存儲器中取指、譯碼并執行,所有過程都是以時鐘控制信號為基準。為保證各部件間的同步工作,單片機內部電路需在唯一的時鐘信號下嚴格地按照時序工作。因此時鐘電路的設計很重要,時鐘頻率直接決定著80C51單片機的速度,設計質量也影響單片機應用系統的可靠性。本課件是可編輯的正常PPT課件1.內部時鐘方式內部時鐘方式是由單片機內部時鐘電路自身產生時鐘脈沖信號,如圖2-5所示。利用單片機內部的高增益反相放大器可構成振蕩器,在反向放大器的輸入引腳XTAL1和輸出引腳XTAL2兩端外接晶振和微調電容,就構成穩定的自激振蕩器,其發出的脈沖直接送入內部時鐘電路,電路兩端電容C1和C2對單片機頻率有微調作用,電容通常為30pF。晶振頻率通常選擇12MHz,在串口通信應用中,為得到準確的通信波特率,晶振頻率一般選擇11.0592MHz。為了減少寄生電容,保證振蕩器穩定工作,晶振和電容安裝時,應盡量靠近單片機芯片。圖2-5內部時鐘電路本課件是可編輯的正常PPT課件圖2-6外部時鐘電路2.外部時鐘方式外部時鐘方式是由外部振蕩器產生時鐘脈沖信號送給單片機,如圖2-6所示。在多片80C51同時工作,需要多片單片機之間保持時鐘同步時,需要共同的外部時鐘時使用。因內部時鐘發生器的信號取自反相器的輸入端,80C51采用外部時鐘源時,外接時鐘源直接接到XTAL1端,XTAL2端懸空。本課件是可編輯的正常PPT課件3.時鐘信號的輸出當需要為外部其它芯片提供時鐘時,可先使用內部時鐘方式產生時鐘信號,再通過XTAL1或XTAL2提供時鐘信號輸出,此時需外部擴充電路增加驅動能力。常用的輸出形式有2種,如圖2-7(a)和(b)所示。圖2-7時鐘信號的輸出本課件是可編輯的正常PPT課件1.振蕩周期振蕩周期是單片機時鐘控制信號的基本時間單位,指為單片機提供時鐘信號的振蕩源的周期。若晶體振蕩頻率為fosc,則振蕩周期Tosc=1/fosc。如外接晶振12MHz時,振蕩周期=1/12MHz=1/12μs=0.0833μs。2.狀態周期又稱S周期,是振蕩源信號經二分頻后形成的周期脈沖信號,是振蕩周期兩倍。如外接晶振12MHz時,狀態周期=1/6μs=0.167μs2.5.2指令時序80C51單片機執行指令時,各條指令可分解為若干基本微操作,這些微操作所對應的脈沖信號,在時間上有嚴格的先后次序,稱作單片機指令時序,如圖2-8所示,描述單片機執行指令快慢程度的時間單位主要有振蕩周期、狀態周期、機器周期和指令周期4種。本課件是可編輯的正常PPT課件3.機器周期通常將單片機完成一個基本操作所需的時間稱為機器周期,每個機器周期可完成取指令、讀或寫數據等基本操作。1個機器周期固定為12個振蕩周期。如外接晶振12MHz時,機器周期=1μs。4.指令周期指令周期是指單片機執行一條指令所需要的時間。80C51典型的指令周期是一個機器周期,一個機器周期由6個狀態(12個振蕩周期)組成。每個狀態又分成兩拍:P1和P2。所以,一個機器周期的12個振蕩周期依次表示為S1P1、S1P2、…、S6P1、S6P2。本課件是可編輯的正常PPT課件由圖2-8可知,ALE在每個機器周期中兩次有效:一次在S1P2與S2P1期間,另一次在S4P2與S5P1期間。單片機指令周期一般需要含有1個、2個或者4個機器周期;其中大多數單字節指令和雙字節指令,取出指令立即執行,需一個機器周期。三字節指令和部分雙字節指令都是雙機器周期,而乘、除法指令需要占用4個機器周期。所以,外接晶振12MHz時,指令周期=1~4μs。本課件是可編輯的正常PPT課件1.復位過程復位信號如圖2-9所示,復位期間不產生ALE及信號,ALE及被配置為輸入狀態,即ALE=1和=1。直至RST端電平變低,結束復位。復位后,各內部寄存器狀態如表2-7所示,PC=0000H,SP為07H,P0~P3口的內容均為0FFH,其他SFR有效位均為0,復位操作不影響RAM的狀態,內部RAM不斷電(上電復位除外,上電時RAM內容不確定),其中數據信息不丟失。當RST引腳返回低電平后,CPU從0地址開始執行程序。2.5.3復位電路復位是單片機片內寄存器的初始化過程。只要給RST引腳保持至少兩個機器周期(24個振蕩器周期)的高電平,80C51單片機將實現復位。本課件是可編輯的正常PPT課件圖2-980C51復位信號本課件是可編輯的正常PPT課件2.復位電路80C51單片機的復位是由外部復位電路實現的,在復位電路設計時,要考慮兼顧上電復位和人工按鍵復位功能。圖2-10給出了80C51單片機常用于實際應用中的RC外部復位電路。除了這些復位電路,還有一些電路設計會采用專用的電壓監控和復位芯片來構成復位電路。(a)上電復位(b)按鍵脈沖復位(c)按鍵電平復位本課件是可編輯的正常PPT課件(1)上電自動復位電路原理單片機上電后,+5V電源(VCC)通過電容C和電阻R回路,給電容C充電,并加在RST引腳一個短暫的高電平復位信號,隨著充電進行,復位信號逐漸降低,此復位信號高電平持續時間取決于電容C的充電時間,即充電時間越長,復位時間越長。增大電容或者增大電阻都可以增加復位時間。(2)人工按鍵復位電路原理按壓按鍵后,接通了+5V電源(VCC),通過兩個電阻的分壓回路,RST端分壓后產生高電平信號,按鍵按下的時間決定了復位時間。當時鐘頻率選用6MHz時,電容C的典型取值為22uF,兩個電阻R1和R2的典型值分別為220Ω和1kΩ。本課件是可編輯的正常PPT課件2.6單片機的低功耗節電方式CHMOS型單片機屬于低功耗器件,具有空閑模式和掉電模式2種節電模式,80C51單片機正常工作時電流是11~20mA,空閑模式電流是1.7~5mA,掉電模式電流為5~50μA。表2-8列出了單片機的3種工作模式下消耗電流情況。

低功耗節電原則是:讓運行模式比空閑、掉電模式占用時間大大減少,從而減少消耗的能量,主要通過以下方法實現:(1)在開機狀態下,靠中斷喚醒CPU,在短暫的時間內工作在運行模式,處理相應的事件,然后進入空閑(或掉電)模式;(2)在關機狀態下,完全進入掉電模式。本課件是可編輯的正常PPT課件

80C51單片機的空閑模式和掉電模式都是通過對特殊功能寄存器PCON中相關的位進行控制的,PCON各位定義如表2-9所示。其中,IDL為空閑控制位,IDL=1,單片機進入空閑模式;PD為掉電控制位,PD=1,單片機進入掉電模式。本課件是可編輯的正常PPT課件2.6.1空閑模式設計1.進入空閑模式80C51單片機執行如下指令使IDL=1,進入空閑模式。PCON=0x01;//IDL空閑控制位置1通過程序設計使待機方式位PCON.0或IDL置1時,單片機進入空閑模式。此時,CPU處于休眠狀態,而片內其時鐘電路、中斷、串口、定時/計數器等都保持工作狀態,片內RAM和所有SFR內容保持不變,由于CPU耗電占單片機耗電的80%~90%,因此大大降低了系統的功耗。本課件是可編輯的正常PPT課件2.退出空閑模式中斷或硬件復位2種方法都可以終止空閑模式。在空閑模式下,中斷系統仍在工作,當中斷請求被響應后,硬件使得IDL=0,從而退出空閑模式,進入中斷服務程序。在空閑模式時,硬件復位,各個SFR恢復默認狀態,PCON=0,IDL=0,退出空閑模式。為了防止休眠被復位終止時對端口引腳意外寫入的可能性,在生成待機模式的指令后不應緊跟對端口引腳的寫指令。本課件是可編輯的正常PPT課件2.6.2掉電方式設計1.進入掉電模式設置掉電模式的指令如下:PCON=0x02;//掉電方式位PD或PCON.1置1單片機發生掉電時,振蕩器停止工作,內部所有功能部件均停止工作,但片內RAM和SFR內容保持不變,有關端口的輸出狀態被保存在對應的SFR中。2.退出掉電模式退出掉電模式的方法有外部中斷喚醒或者硬件復位。區別在于:使用外部中斷喚醒單片機時,程序從斷點處繼續運行,而使用硬件復位喚醒單片機時,程序從0000H處開始執行。本課件是可編輯的正常PPT課件習題2一、填空題1.ALE引腳的作用是____________。2.當單片機晶振頻率為6MHz時,ALE的頻率為_________。3.在單片機既具有內部程序存儲器,又有外部程序存儲器時,其引腳應接___電平。4.當MCS-51引腳ALE信號有效時,表示在P0口穩定地送出了________地址。5.80C51復位后,PC=0H。若希望從片內存儲器開始執行,腳應接_______電平。6.MCS-51單片機是采用_________電平復位。7.MCS-51讀片外ROM時使用的控制信號是_________。8.MCS-51單片機有___字節外部數據存儲器地址空間。9.MCS-51單片機最大可擴展___字節的ROM。10.MCS-51單片機有___字節外部I/O空間。本課件是可編輯的正常PPT課件11.8031的片內ROM是____KB,80C52的片內ROM是____KB。12.8051片內有128B的RAM,可分為四個區,20H-2FH為____區。13.片內RAM字節地址21H單元中D0位的位地址為____。14.8031的PSW中RS1=1、RS0=1,工作寄存器R0-R7的地址為____。15.在MCS-51中,PC和DPTR都用于提供地址,但PC是為訪問程序存儲器提供地址,而DPTR是為訪問____存儲器提供地址。16.若累加器A中的數據為01110010B,則PSW中的P=_________。17.通過堆棧操作實現子程序調用時,首先要把____的內容入棧,以進行斷點保護。調用子程序返回指令時,再進行出棧保護,把保護的斷點送回到____,先彈出的是原來____中的內容。18.80C51上電復位后,SP的初值為____,PC初值為____,PSW的初值為____。19.80C51內部SFR的P0字節地址為____。20.若要對80C51復位,RST端應保持高電位____個振蕩周期。本課件是可編輯的正常PPT課件二、簡答題1.MCS-51單片機DIP封裝有40條引腳,簡述各引腳的功能。2.說明MCS-51單片機位尋址區的字節地址范圍、位地址范圍。3.MCS-51單片機有幾組工作寄存器區?如何設置當前工作寄存器區?4.MCS-51單片機片內RAM字節地址范圍是多少?5.MCS-51單片機SFR中的P0、P1、P2、P3、ACC字節地址是多少?各自的位地址范圍是多少?本課件是可編輯的正常PPT課件6.MCS-51單片機位尋址空間有哪些。7.51單片機系統的外接晶振為12MHz,試計算系統的振蕩周期、狀態周期、機器周期。8.簡述MCS-51單片機五個獨立的存儲空間。9.MCS-51系列單片機的8051和8052單片機片內分別集成了哪些功能部件?10.簡述80C51單片機有哪兩種低功耗節電模式?說明兩種低功耗節電模式的異同。本課件是可編輯的正常PPT課件第3章

C51語言編程基礎

本課件是可編輯的正常PPT課件3.1C51編程語言簡介3.2C51語言的數據類型3.3數據存儲類型3.4C51的運算量3.4.1常量3.4.2變量3.5數據存儲模式3.6C51語言絕對地址的訪問3.7C51語言的函數3.7.1函數的分類3.7.2函數的調用與聲明3.7.3函數的嵌套與遞歸3.7.4宏定義、文件包含及庫函數3.8C51語言的運算符本課件是可編輯的正常PPT課件3.9C51語言語句及程序結構3.9.1表達式語句3.9.2復合語句3.9.3C51語言程序基本結構3.10C51語言構造數據類型3.10.1C51語言的數組3.10.2C51語言的指針3.10.3C51語言結構3.10.4聯合3.10.5枚舉本課件是可編輯的正常PPT課件3.1C51編程語言簡介C51語言是8051單片機系統開發中實用的高級編程語言,是在標準C基礎上針對8051硬件特點進行擴展,并向8051上移植,與8051匯編語言相比,C51語言在可讀性、可維護性上有明顯優勢,易學易用;便于模塊化開發與資源共享,可移植性好,生成的代碼效率高,采用較好的C51語言編譯系統,編譯代碼效率可達匯編語言的90%。本課件是可編輯的正常PPT課件1.C51語言與匯編語言的比較在MCS-51單片機程序編寫中,用C51語言與用匯編語言是不同的。匯編語言編寫時需要考慮單片機存儲器具體結構,熟悉其片內RAM與SFR的使用,并用物理地址處理端口數據。用C51語言不必像匯編語言那樣具體分配存儲器資源和處理端口數據,但對數據類型與變量的定義,必須要與單片機的存儲結構相關聯,否則編譯器不能正確地映射定位。2.C51語言與標準C語言的區別C51語言與標準C語言程序主要區別是:C51語言程序需根據MCS-51單片機存儲器結構及內部功能資源定義數據類型和變量,而標準C語言程序不需要考慮硬件相關的問題;C51語言的數據類型、變量存儲模式、輸入輸出處理、函數等方面與標準的C語言有較大區別。其它的語法規則、程序結構及程序設計方法等與標準的C語言程序設計相同。本課件是可編輯的正常PPT課件C51語言基本語法、數據運算操作、程序控制語句以及函數的使用與標準C無明顯差別,但正因為C51語言在標準C的基礎上進行適合8051內核單片機硬件的擴展,所以有如下差別。(1)C51語言的庫函數和標準C語言不同。標準C語言定義庫函數按通用微型計算機定義,C51庫函數是按MCS-51單片機硬件定義的,故C51語言剔除了標準C語言中不適合于嵌入式控制器系統的庫函數,如字符屏幕和圖形函數。(2)C51語言數據類型與標準C數據類型有所不同,C51語言在標準C的基礎上增加了針對MCS-51單片機特有的4種數據類型。(3)C51語言變量存儲模式與標準C中變量存儲模式不同,其存儲模式是與MCS-51單片機的存儲器緊密相關。本課件是可編輯的正常PPT課件(4)C51語言與標準C的輸入/輸出處理不同,C51語言通過MCS-51串行口完成輸入輸出,執行前必須要對串行口進行初始化。(5)C51語言與標準C在函數使用中有區別,C51語言有專門的中斷函數。

(6)C51語言有頭文件。C51語言通過頭文件把MCS-51單片機內部的外設硬件資源(如定時器、中斷、I/O等)相應的特殊功能寄存器包含進來。(7)C51語言程序結構與標準C的有一點不同。鑒于MCS-51單片機有限的硬件資源,編譯系統不允許太多的程序嵌套,也不支持C語言中的的遞歸特性。本課件是可編輯的正常PPT課件3.2C51語言的數據類型數據是CPU操作的對象,是有一定格式的數字或數值,其格式稱為數據類型。1.數據類型C51語言支持的數據類型分為基本數據類型和組合數據類型,基本數據類型見表3-1所示。由于char型與short型相同,float型與double型相同,只列出其中一種;C51語言專門針對MCS-51單片機的特殊功能寄存器型和位類型,擴展了4種數據類型,不能使用指針來對它們存取。組合型數據類型包括數組類型、指針類型、結構類型、聯合類型等較復雜的數據類型。本課件是可編輯的正常PPT課件表3-1C51語言支持的基本數據類型(1)本課件是可編輯的正常PPT課件表3-1C51語言支持的基本數據類型(2)本課件是可編輯的正常PPT課件2.對C51語言基本數據類型的說明下面對基本類型進行說明。(1)char(字符型)char(字符型)有signedchar和unsignedchar2種,默認為signedchar。用于存放一個單字節的數據。其中signedchar,它用于定義帶符號字節數據,用補碼表示;unsignedchar,用于存放一個字節的無符號數或存放西文字符,用ASCII碼存放。(2)int(整型)int(整型)有signedint和unsignedint2種。默認為signedint。用于存放一個雙字節數據。signedint用于存放兩字節帶符號數,補碼表示。unsignedint用于存放兩字節無符號數。本課件是可編輯的正常PPT課件(3)long(長整型)long(長整型)有signedlong和unsignedlong2種。默認為signedlong。用于存放一個四字節數據。signedlong用于存放四字節帶符號數,補碼表示。unsignedlong,用于存放四字節無符號數。(4)float(浮點型)float型長度四個字節,格式符合IEEE-754標準的單精度浮點型數據,包含指數和尾數兩部分,最高位為符號位,“1”表示負數,“0”表示正數,其次的8位為階碼,最后的23位為尾數的有效數位,由于尾數的整數部分隱含為“1”,所以尾數的精度為24位。本課件是可編輯的正常PPT課件(5)*(指針型)指針型本身就是一個變量,在這個變量中存放的指向另一個數據的地址。(6)sfr及sfr16(特殊功能寄存器型)用于訪問MCS-51單片機中的SFR數據,分sfr和sfr16兩種,其中sfr為字節型,可訪問MCS-51內部的所有特殊功能寄存器;sfr16為雙字節型,可訪問MCS-51內部兩個字節的特殊功能寄存器。C51語言中對SFR訪問必須先用sfr或sfr16聲明。本課件是可編輯的正常PPT課件【例3-1】舉例sfr及sfr16的應用。sfrP0=0x80;定義了P0端口,其特殊功能寄存器地址為0x80;P0=0x0f;將P0高4位清零,第4位置高電平。sfr16DPTR=0x82;//定義片內DPH及DPL組成的數據指針寄存器DPTR,其中DPL字節地址82H,DPH字節地址83H。DPTR=0x1200;//將DPTR指向片外RAM0x1200單元。本課件是可編輯的正常PPT課件上面的例子用到C51語言的注釋,關于注釋,有2種用法,說明如下。①注釋語句方法1://……..,兩個斜杠后面開始書寫注釋語句,只能注釋一行,換行需加“//”。②注釋語句方法2:/*……*/,斜杠與星號結合,中間可以為多行注釋,直到注釋的結尾加“*/”。本課件是可編輯的正常PPT課件(7)bit及sbit(位類型)用于訪問MCS-51單片機中的可尋址的位單元。在內存中都只占一個二進制位,其值為“1”或“0”。其中bit定義普通的位變量,在C51語言編譯器編譯時,其位地址是可以變化,sbit則定義SFR的可尋址位,即值是SFR中某位的絕對地址,其位地址不可變。本課件是可編輯的正常PPT課件【例3-2】sbit的應用舉例。sfr P0=0x80; //定義P0地址0x80sbit P0_1=P0^1; //定義P0_1位為P0.1,符號“^”前是SFR名稱,“^”后數字表示在寄存器中的位置,取值0~7。P0_1=1;//將P0_1置高電平注意,不要把bit與sbit相混淆。bit,只能是二進制的0或1。在C51語言程序設計中,在出現運算中數據類型不一致情況下,將支持數據類型隱式轉換,順序如下:bit——char——int——long——floatsigned——unsigned例如,當char型數據與int型數據運算時,將會把char型轉換為int型數據,與int型數據運算后,將結果存為int型。C51語言同樣支持強制類型轉換符“()”對數據類型強制轉換。本課件是可編輯的正常PPT課件3.3數據存儲類型C51定義的數據類型都必須定位在8051單片機的某一存儲區中,否則沒有任何實際意義。數據的存儲類型指出其所在的單片機存儲器的位置。C51提供了3個不同的數據存儲類型data、idata和bdata來訪問片內數據存儲區,提供了2個數據存儲類型xdata和pdata來訪問片外數據存儲區,另外,C51語言提供了code存儲類型來訪問程序存儲區。C51編譯器支持以下6種數據存儲類型,省略時將按編譯模式默認數據存儲類型,數據存儲類型、大小和值域如表3-2所示。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件數據存儲類型說明如下:(1)datadata存儲類型標識符聲明的變量位于片內RAM低128字節的DATA區,尋址是最快的,可直接尋址。應把常使用的變量定義為data類型,但該區存儲空間有限,包括程序變量、堆棧和寄存器組。由于C51用默認的工作寄存器組來傳遞參數,這樣DATA區至少失去8字節空間。另外,當內部堆棧溢出的時候,程序會復位。(2)bdatabdata存儲類型標識符聲明的變量位于片內RAM的可位尋址區BDATA區(20H~2FH),即片內RAM可位尋址的16字節存儲區(字節地址為20H~2FH)中的128個位。C51編譯器不允許在BDATA區中聲明float和double型變量。本課件是可編輯的正常PPT課件(3)idataidata存儲類型標識符聲明的變量位于IDATA區,即位于片內256字節RAM,該區只能間接尋址,常用來存放使用比較頻繁的變量,速度比直接尋址慢。與外部RAM尋址相比,其指令執行周期和代碼長度相對較短。(4)pdatapdata存儲類型標識符聲明的變量位于PDATA區,PDATA區僅指定低256字節的外部RAM空間。(5)xdata

溫馨提示

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

評論

0/150

提交評論