《單片機原理及應(yīng)用(基于C51+Proteus仿真)》全套教學(xué)課件_第1頁
《單片機原理及應(yīng)用(基于C51+Proteus仿真)》全套教學(xué)課件_第2頁
《單片機原理及應(yīng)用(基于C51+Proteus仿真)》全套教學(xué)課件_第3頁
《單片機原理及應(yīng)用(基于C51+Proteus仿真)》全套教學(xué)課件_第4頁
《單片機原理及應(yīng)用(基于C51+Proteus仿真)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩548頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1單片機概述第1章

單片機概述第2章

單片機的硬件結(jié)構(gòu)第3章C51編程基礎(chǔ)及單片機仿真開發(fā)工具簡介第4章AT89S51單片機IO端口的基本應(yīng)用第5章AT89S51單片機的中斷系統(tǒng)第6章AT89S51單片機的定時器計數(shù)器第7章AT89S51單片機的串行口第8章

單片機并行擴展技術(shù)第9章

單片機串行擴展技術(shù)第10章AT89S51單片機外圍接口技術(shù)全套可編輯PPT課件本課件是可編輯的正常PPT課件本章主要內(nèi)容:1、課程性質(zhì)、地位2、課程學(xué)習(xí)目標(biāo)3、課程的學(xué)習(xí)方法4、課程學(xué)習(xí)要求5、單片機概述本課件是可編輯的正常PPT課件3第1章單片機概述

1、課程性質(zhì)、地位

單片機原理及應(yīng)用是電子信息工程、測控技術(shù)與儀器、通信工程、光電工程等專業(yè)的一門專業(yè)課。本課程是理論和實踐相結(jié)合,應(yīng)用性較強的課程。其先修課程為電路分析,模擬電子和數(shù)字電子技術(shù)等。

本課程對大家的就業(yè)、各種技能提升都有很重要的作用。本課件是可編輯的正常PPT課件

本課程作為一門專業(yè)課,對學(xué)生以后的就業(yè)和深造都有很重要的作用,通過本課程的學(xué)習(xí)學(xué)生要達到以下目標(biāo):

1、掌握MCS-51單片機的基本組成,工作原理和指令系統(tǒng),能對基于單片機的系統(tǒng)功能進行分析。

2、能夠熟練使用單片機的開發(fā)工具,獨立開發(fā)和設(shè)計簡單系統(tǒng)。

2、課程學(xué)習(xí)目標(biāo)本課件是可編輯的正常PPT課件2、課程學(xué)習(xí)目標(biāo)1、體驗單片機技術(shù)之美;2、形成積極主動地學(xué)習(xí)、使用、探索單片機技術(shù)的態(tài)度。1、理解和掌握單片機基本組成和原理;2、掌握單片機資源的使用和系統(tǒng)擴展;3、熟練使用單片機仿真和開發(fā)工具進行單片機系統(tǒng)開發(fā)。知識與技能情感態(tài)度與價值觀過程與方法1、能從日常生活、常見事物中發(fā)現(xiàn)和歸納需要利用單片機技術(shù)解決的問題;2、通過問題分析確定需求,嘗試?yán)脝纹瑱C知識設(shè)計方案,解決具體問題。本課件是可編輯的正常PPT課件6第1章單片機概述

3、課程學(xué)習(xí)方法單片機是一門需要很多實踐和動手鍛煉的課程,只聽不練很難掌握,因此需要大家多動手,從一些小的項目著手,慢慢入門,入門之后就很容易了。

(1)要從最簡單的小實例入手,培養(yǎng)興趣。

(3)要多看設(shè)計實例,多動手驗證,積累經(jīng)驗

(2)軟件的學(xué)習(xí),要多看例子,學(xué)會模仿,并從模仿走向獨立創(chuàng)作本課件是可編輯的正常PPT課件7第1章單片機概述

4、課程學(xué)習(xí)要求

(1)理論知識掌握牢固,多練習(xí),前后多聯(lián)系,舉一反三。(2)熟練掌握單片機開發(fā)環(huán)境和仿真工具,多實踐,多動手自己設(shè)計。(3)有效利用線上資源,按時完成線上線下作業(yè)以及課程實驗。(4)本課程過程中會有一些討論,大家要多參與小組討論。本課件是可編輯的正常PPT課件821IC中國電子網(wǎng)

/

單片機論壇

51黑電子論壇/bbs/

開源電子網(wǎng)

中國大學(xué)慕課/course/HHSTU-1206773805

5、課程資源本課件是可編輯的正常PPT課件9第1章單片機概述

第1章主要內(nèi)容(1)單片機概念(2)單片機特點及應(yīng)用(3)單片機發(fā)展歷史(4)MCS-51單片機及主要類型(5)單片機發(fā)展趨勢本課件是可編輯的正常PPT課件1.1

單片機的定義11

1.1什么是單片機本課件是可編輯的正常PPT課件12

輸入設(shè)備輸出設(shè)備普通微型計算機1.1什么是單片機本課件是可編輯的正常PPT課件13

輸入設(shè)備輸出設(shè)備輸入接口電路輸出接口電路運算器控制器CPU存儲器主板

單片機1.1什么是單片機本課件是可編輯的正常PPT課件

輸入設(shè)備輸出設(shè)備主板

單片機1.1什么是單片機本課件是可編輯的正常PPT課件15單片機是計算機技術(shù)發(fā)展史上重要里程碑,標(biāo)志著計算機正式形成了通用計算機系統(tǒng)和嵌入式計算機系統(tǒng)兩大分支。單片機體積小、成本低,嵌入到工業(yè)控制單元、機器人、智能儀器儀表、汽車電子系統(tǒng)、武器系統(tǒng)、家用電器、辦公自動化設(shè)備、金融電子系統(tǒng)、玩具、個人信息終端及通訊產(chǎn)品中。1.1什么是單片機163本課件是可編輯的正常PPT課件16按用途可分為通用型和專用型兩大類。(1)通用型內(nèi)部可開發(fā)資源(如存儲器、I/O等各種外圍功能部件等)可全部提供給用戶。根據(jù)需要,設(shè)計一個以通用單片機芯片為核心,再配以外圍接口電路及外圍設(shè)備,并編寫相應(yīng)軟件來滿足各種不同需要的測控系統(tǒng)。通常所說和本書介紹的是指通用型單片機。(2)專用型專門針對某些產(chǎn)品的特定用途而制作的。1.1什么是單片機本課件是可編輯的正常PPT課件

一、單片機的特點(1)簡單方便,易普及。(2)功能齊全,應(yīng)用可靠,抗干擾能力強。(3)發(fā)展迅速,前景廣闊。(4)嵌入容易,用途廣泛,體積小、性/價比高,應(yīng)用靈活性強等特點在嵌入式微控制系統(tǒng)中具有十分重要地位。171.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件單片機和普通計算機的區(qū)別

單片機把上述各種部件集成在一塊芯片上計算機把上述各種部件制成芯片安裝在主板上(1)組成不同:1.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件

(2)功能不同

(3)應(yīng)用特點不同通用計算機擅長數(shù)據(jù)運算、處理、存儲和傳輸;單片機的專長則是測控,控制(或受控)于外部設(shè)備計算機體積大,功耗大,價格高,通用。作專門用途時需要購買專用接口卡及編制專門的軟件。單片機體積小,功耗小,價格低,用途靈活,無處不在。應(yīng)用時要設(shè)計專門的軟件和硬件。1.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件二、單片機的應(yīng)用

軟硬件結(jié)合、體積小,容易嵌入到各種應(yīng)用系統(tǒng)中。得到廣泛應(yīng)用。主要應(yīng)用于工業(yè)檢測與控制,智能儀器儀表,消費類電子,通信設(shè)備,武器備,各種中斷設(shè)備,汽車電子,分布式控制系統(tǒng)等方面。201.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件1.在測控系統(tǒng)中的應(yīng)用

單片機可以用于構(gòu)成各種工業(yè)控制系統(tǒng)、自適應(yīng)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。例如,工業(yè)上的鍋爐控制、電機控制、車輛檢測系統(tǒng)、水閘自動控制、數(shù)控機床及軍事上的雷達、導(dǎo)彈系統(tǒng)等。2.在智能化儀器儀表中的應(yīng)用

單片機應(yīng)用于儀器儀表設(shè)備中促使儀器儀表向數(shù)字化、智能化、多功能化和綜合化等方向發(fā)展。單片機的軟件編程技術(shù)使長期以來測量儀表中的誤差修正、線性化的處理等難題迎刃而解。1.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件3、在機電一體化中的應(yīng)用

單片機與傳統(tǒng)的機械產(chǎn)品結(jié)合使傳統(tǒng)的機械產(chǎn)品結(jié)構(gòu)簡化,控制走向智能化,構(gòu)成新一代的機電一體化產(chǎn)品。這是機械工業(yè)發(fā)展的方向。4、在人們生活中的應(yīng)用

單片機由于其價格低廉、體積小巧,被廣泛應(yīng)用在人類生活的諸多場合,如洗衣機、電冰箱、空調(diào)器、電飯煲、視聽音響設(shè)備、大屏幕顯示系統(tǒng)、電子玩具、信用卡、樓宇防盜系統(tǒng)等。單片機將使人類的生活更加方便舒適,豐富多彩。1.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件工業(yè)方面民用方面儀表方面電訊方面數(shù)據(jù)處理方面汽車方面1.2單片機的特點及應(yīng)用本課件是可編輯的正常PPT課件按處理二進制位數(shù)主要分為:4位單片機、8位單片機、16位單片機和32位單片機。發(fā)展大致分為4個階段。第一階段(1974年~1976年):單片機初級階段。因工藝限制,雙片形式且功能較簡單。1974年12月,仙童公司推出了8位的F8單片機,實際只包括了8位CPU、64BRAM和2個并行口。第二階段(1976年~1978年):低性能單片機階段。1976年Intel的MCS-48單片機(8位)極大地促進了單片機變革和發(fā)展,1977年GI公司推出PIC1650,但這個階段仍處于低性能階段。241.3單片機的發(fā)展歷史本課件是可編輯的正常PPT課件第三階段(1978年~1983年):高性能單片機階段。1978年,Zilog公司推出Z8單片機,1980年,Intel公司在MCS-48系列基礎(chǔ)上推出MCS-51系列,Mortorola推出6801單片機。使單片機性能及應(yīng)用躍上新臺階。此后,各公司8位單片機迅速發(fā)展。推出的單片機普遍帶有串行I/O口、多級中斷系統(tǒng)、16位定時器/計數(shù)器,片內(nèi)ROM、RAM容量加大,且尋址范圍可達64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。由于這類單片機性/價比高,得到廣泛應(yīng)用,是目前應(yīng)用數(shù)量最多的單片機。251.3單片機的發(fā)展歷史本課件是可編輯的正常PPT課件第四階段(1983年~現(xiàn)在):8位單片機鞏固發(fā)展及16位單片機、32位單片機推出階段。目前主要單片機廠商:Intel、Motorola、Philips、Atmel、Siemens、NS、LG、Winbond、Microchip、Epson、Nec、Cypress、Dallas、Oki、Fairchild、Fujitsu、Hitachi、SAMSUNG、臺灣凌陽……261.3單片機的發(fā)展歷史本課件是可編輯的正常PPT課件20世紀(jì)80年代以來,單片機發(fā)展非常迅速,其中Intel公司的MCS-51系列單片機是一款設(shè)計成功、易于掌握并在世界范圍得到廣泛使用的機型。

1、MCS-51系列單片機

MCS是Intel公司單片機的系列符號,如MCS-48、MCS-51、MCS-96系列單片機。271.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件MCS-51系列單片機主要包括

基本型:8031/8051/8751(低功耗型80C31/80C51/87C51)

增強型:8032/8052/8752。

已為我國廣大技術(shù)人員所熟悉和掌握。上世紀(jì)80年代和90年代,MCS-51系列是在我國應(yīng)用最為廣泛的機型之一。MCS-51系列品種豐富,經(jīng)常使用的是基本型和增強型。281.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件1.基本型典型產(chǎn)品:8031/8051/8751。8031內(nèi)部包括1個8位CPU、128BRAM,21個特殊功能寄存器(SFR)、4組8位并行I/O口、1個全雙工串行口,2個16位定時器/計數(shù)器,5個中斷源,但片內(nèi)無程序存儲器,需外擴程序存儲器芯片。8051是在8031的基礎(chǔ)上,片內(nèi)又集成有4KBROM作為程序存儲器。所以8051是一個程序不超過4KB的小系統(tǒng)。ROM內(nèi)的程序是公司制作芯片時,代為用戶燒制的。8751與8051相比,片內(nèi)集成的4KBEPROM取代了8051的4KBROM來作為程序存儲器。291.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件2.增強型

Intel公司在基本型基礎(chǔ)上,推出增強型-52子系列,典型產(chǎn)品:8032/8052/8752。8052內(nèi)部RAM增到256B,片內(nèi)程序存儲器擴展到8KB,16位定時器/計數(shù)器增至3個,6個中斷源,串行口通信速率提高5倍。

表1-1列出了基本型和增強型的MCS-51系列單片機片內(nèi)的基本硬件資源。

301.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件近年來,世界上單片機芯片生產(chǎn)廠商推出的與8051兼容的主要產(chǎn)品如表1-2所示。1.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件本課程重點介紹AT89S51原理及應(yīng)用設(shè)計?!癝”檔系列是ATMEL公司繼AT89C5x系列之后推出的新機型,表示含有串行下載的Flash存儲器,代表性產(chǎn)品為AT89S51和AT89S52。AT89C51單片機已不再生產(chǎn),可用AT89S51直接代換。與AT89C5x系列相比,AT89S5x系列的時鐘頻率以及運算速度有較大提高。例如,AT89C51工作頻率的上限為24MHz,而AT89S51則為33MHz。1.4MCS-51單片機及其主要類型本課件是可編輯的正常PPT課件

單片機發(fā)展趨勢將是向大容量、高性能化,外圍電路內(nèi)裝化等方面發(fā)展。為滿足不同用戶要求,各公司競相推出能滿足不同需要的產(chǎn)品。1.CPU的改進(1)增加CPU數(shù)據(jù)總線寬度。(2)采用雙CPU結(jié)構(gòu),以提高數(shù)據(jù)處理能力。331.5單片機的發(fā)展趨勢本課件是可編輯的正常PPT課件2.存儲器的發(fā)展(1)片內(nèi)程序存儲器普遍采用閃存??刹挥猛鈹U展程序存儲器,簡化系統(tǒng)結(jié)構(gòu)。(2)加大存儲容量。目前有的單片機片內(nèi)程序存儲器容量可達128KB甚至更多。3.片內(nèi)I/O的改進(1)增加并行口驅(qū)動能力,以減少外部驅(qū)動芯片。有的單片機可直接輸出大電流和高電壓,以便能直接驅(qū)動LED和VFD(熒光顯示器)。(2)有些單片機設(shè)置了一些特殊的串行I/O功能,為構(gòu)成分布式、網(wǎng)絡(luò)化系統(tǒng)提供方便條件。341.5單片機的發(fā)展趨勢本課件是可編輯的正常PPT課件4.低功耗化CMOS化,功耗小,配置有等待狀態(tài)、睡眠狀態(tài)、關(guān)閉狀態(tài)等工作方式。消耗電流僅在μA或nA量級,適于電池供電的便攜式、手持式的儀器儀表及其它消費類電子產(chǎn)品。5.外圍電路內(nèi)裝化眾多外圍電路全部裝入片內(nèi),即系統(tǒng)的單片化是目前發(fā)展趨勢之一。351.5單片機的發(fā)展趨勢本課件是可編輯的正常PPT課件6.編程及仿真的簡單化目前大多數(shù)單片機都支持程序的在線編程,也稱在系統(tǒng)編程ISP(InSystemProgram),某些機型還支持在線應(yīng)用編程(IAP),可在線升級或銷毀單片機應(yīng)用程序,省去了仿真器。綜上所述,單片機正在向多功能、高性能、高速度(時鐘達40MHz)、低電壓(2.7V即可工作)、低功耗、低價格(幾元錢)、外圍電路內(nèi)裝化以及片內(nèi)程序存儲器和數(shù)據(jù)存儲器容量不斷增大的方向發(fā)展。1.5單片機的發(fā)展趨勢本課件是可編輯的正常PPT課件課后思考1、自己查閱資料,了解單片機的用途;2、了解單片機系統(tǒng)的開發(fā)過程;3、預(yù)習(xí):單片機系統(tǒng)的基本結(jié)構(gòu)和原理。本課件是可編輯的正常PPT課件2AT89S51單片機的結(jié)構(gòu)和原理本課件是可編輯的正常PPT課件本章主要內(nèi)容:1、單片機的內(nèi)部結(jié)構(gòu)2、單片機的引腳3、單片機的CPU、存儲器4、I/O端口及應(yīng)用5、單片機的時序、時鐘和復(fù)位電路本課件是可編輯的正常PPT課件2.1AT89S51單片機的結(jié)構(gòu)

把作為控制應(yīng)用所必需的基本功能部件都集成在一個集成電路芯片上。包括CPU,存儲器,I/O口,定時/計數(shù),中斷系統(tǒng)等本課件是可編輯的正常PPT課件功能部件和特性:(1)8位微處理器(CPU);(2)數(shù)據(jù)存儲器(256BRAM);(3)程序存儲器(8KBFlashROM);(4)4個8位可編程并行I/O口(P0口、P1口、P2口和P3口);(5)3個可編程的16位定時器/計數(shù)器(T0、T1和T2);(6)1個全雙工的異步串行口;(7)中斷系統(tǒng)具有6個中斷源、6個中斷向量;(8)特殊功能寄存器(SFR)32個;(9)1個看門狗定時器;(10)低功耗模式有空閑模式和掉電模式,且具有掉電模式下的中斷恢復(fù)模式。本課件是可編輯的正常PPT課件CPU中央處理器(CentralProcessingUnit,CPU),是單片機的運算核心和控制核心。其功能主要是解釋單片機指令以及處理數(shù)據(jù)。CPU負(fù)責(zé)讀取指令,對指令譯碼并執(zhí)行指令。CPU由運算器和控制器構(gòu)成。

本課件是可編輯的正常PPT課件運算器對操作數(shù)進行算術(shù)、邏輯和位操作運算。主要包括算術(shù)邏輯運算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個暫存器等。(1)算術(shù)邏輯運算單元ALU

可對8位變量邏輯運算(與、或、異或、循環(huán)、求補和清零),還可算術(shù)運算(加、減、乘、除)以及位運算。1、運算器本課件是可編輯的正常PPT課件(2)累加器A累加器A是CPU中使用頻繁的一個8位寄存器,它的主要作用:1)存放操作數(shù);2)存放運算結(jié)果。

在使用匯編語言編程時,如果對累加器A直接尋址,則需要寫成ACC。1、運算器本課件是可編輯的正常PPT課件(3)程序狀態(tài)字寄存器PSW

PSW為8位寄存器,地址為0D0H,用于存放程序運行的狀態(tài)信息,供程序查詢和判別時用。其中有些位狀態(tài)是根據(jù)指令執(zhí)行的結(jié)果,由硬件自動設(shè)置的,而有些位狀態(tài)是使用軟件方法設(shè)定的。位狀態(tài)可以用專門的指令進行測試,也可用指令讀出。

1、運算器本課件是可編輯的正常PPT課件任務(wù):識別指令,并根據(jù)指令的性質(zhì)控制單片機各功能部件,從而保證單片機各部分能自動協(xié)調(diào)地工作??刂破靼ǎ撼绦蛴嫈?shù)器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對各功能部件進行定時和邏輯控制。程序計數(shù)器PC是一個獨立的16位計數(shù)器,指令不可直接訪問。單片機復(fù)位時,PC內(nèi)容為0000H,從程序存儲器0000H單元取指令,開始執(zhí)行程序。2、控制器本課件是可編輯的正常PPT課件AT89S52與各種8051單片機的引腳是兼容的。目前,AT89S52多采用40引腳的DIP封裝(雙列直插),以及44引腳的PLCC和TQFP封裝方式的芯片。

P1口,P3口線的第二功能VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.72、振蕩電路:XTAL1、XTAL23、復(fù)位引腳:RST4、并行口:P0、P1、P2、P37、ALE:地址鎖存控制信號1、電源線:VCC(+5V)、GNDEAPSEN5、EA:訪問程序存儲控制信號6、PSEN:外部ROM讀選通信號1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51/VPP/PROGVPD/電源保障類控制類T2T2EXMOSIMISOSCK本課件是可編輯的正常PPT課件;VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51引腳順序快速記憶:TTL電平,對角為電源和地;緊挨著“地”為震蕩引腳;左列中間,為“復(fù)位”引腳最龐大的隊伍:4組I/O口,排布順序只有P2口不同;右列中間,為3個控制類引腳本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(1)P0口:8位,漏極開路的雙向I/O口。當(dāng)外擴存儲器及I/O接口芯片時,P0口既可以作為通用I/O口,也作為低8位地址總線及數(shù)據(jù)總線的分時復(fù)用端口。

一、并行I/O口引腳(4*8=32個)本課件是可編輯的正常PPT課件

P1口某些引腳的第二功能如下。P1.0/T2:T2腳為定時器T2的外部計數(shù)信號輸入端T2。P1.1/T2EX:T2EX為T2的捕捉/重新裝載觸發(fā)及方向控制T2EX。P1.5/MOSI:MOSI用于對片內(nèi)Flash存儲器串行編程和校驗。P1.6/MISO:MISO用于對片內(nèi)Flash存儲器串行編程和校驗。P1.7/SCK:SCK用于對片內(nèi)Flash存儲器的串行編程和校驗的移位脈沖輸入引腳。VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(2)P1口:P1.7-P1.0腳,8位,準(zhǔn)雙向I/O口,內(nèi)有上拉電阻。作通用I/O口。

一、并行I/O口引腳(4*8=32個)T2T2EXMOSIMISOSCK本課件是可編輯的正常PPT課件

注意:AT89S51與AT89S52引腳的差別僅僅是在1腳(P1.0)與2腳(P1.1)上,AT89S52的1腳(P1.0)與2腳(P1.1)分別增加了定時器/計數(shù)器T2的兩個外部引腳T2和T2EX的復(fù)用功能。當(dāng)AT89S52單片機不使用片內(nèi)的T2的兩個引腳T2(P1.0)和T2EX(P1.1)的復(fù)用功能時,AT89S51以及各種8051兼容機與AT89S52的引腳功能則完全相同,它們的外圍硬件接口電路是完全相互通用的。但是如果使用定時器T2的外部計數(shù)輸入T2(P1.0)和“捕捉”輸入T2EX(P1.1)的功能時,則AT89S52的P1.0腳和P1.1腳就不能作為通用I/O使用,這是AT89S52與AT89S51(或AT89C51)在外圍接口電路設(shè)計上的微小差別。本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(3)P2口:8位準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。

P2口也可作普通I/O使用,同時外部存儲器及I/O口時,P2口作為高8位地址總線輸出高8位地址。

一、并行I/O口引腳(4*8=32個)本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(4)P3口:8位準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻??勺鳛橥ㄓ玫腎/O口使用,還可提供第二功能。

一、并行I/O口引腳(4*8=32個)本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

二、控制引腳(3個)

(1)EA/VPP(31腳)

=1,先讀取片內(nèi)程序存儲器中的程序,但超出片內(nèi)地址范圍時,將自動讀取片外程序存儲器空間中的程序。

=0,只讀取片外程序存儲器中內(nèi)容。VPP:引腳第二功能,接編程電壓。本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(1)EA/VPP(31腳):讀外ROM控制引腳

(2)ALE/PROG(30腳)

ALE:為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供地址鎖存控制信號,將低8位地址鎖存在片外的地址鎖存器中。PROG:引腳第二功能,加編程脈沖輸入。本課件是可編輯的正常PPT課件

VCCGNDXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1P3.2P3.3P3.4P3.5P3.6P3.7EAPSEN1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51

(1)EA/VPP(31腳):讀外ROM控制引腳

(2)ALE/PROG(30腳)

(3)PSEN(29腳)外部ROM讀選通信號。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件2.2AT89S51單片機的存儲器AT89S51單片機存儲器是將程序存儲器和數(shù)據(jù)存儲器分開(哈佛結(jié)構(gòu)),并有各自的訪問指令。存儲器空間可分為4類。1.程序存儲器空間:片內(nèi)、片外兩部分。2.數(shù)據(jù)存儲器空間:片內(nèi)、片外兩部分。

數(shù)據(jù)存儲器作用是存放運算的中間結(jié)果以及數(shù)據(jù)的暫存。程序存儲器:作用是存放程序代碼和表格數(shù)據(jù)。

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

1、程序存儲器(1)片內(nèi)ROM為8KB的FLASHROM。(2)片外ROM擴展容量64KB。(3)片內(nèi)片外ROM統(tǒng)一編址。本課件是可編輯的正常PPT課件

2、數(shù)據(jù)存儲器(1)片外數(shù)據(jù)存儲器

可外擴的程序存儲器空間最大為64KB,地址為0000H~FFFFH。(2)片內(nèi)數(shù)據(jù)存儲器

片內(nèi)數(shù)據(jù)存儲器(RAM)共128個單元,字節(jié)地址00H~7FH。片內(nèi)RAM的80H-FFH單元映射的是特殊功能寄存器(SFR)區(qū)。

本課件是可編輯的正常PPT課件3、片內(nèi)數(shù)據(jù)存儲器工作寄存器區(qū)位尋址區(qū)通用RAM區(qū)本課件是可編輯的正常PPT課件3、片內(nèi)數(shù)據(jù)存儲器1)工作寄存器區(qū)地址范圍在00H~1FH的32個字節(jié)可分成4個工作寄存器組,每組占8個字節(jié)。均分別稱為R0、R1、R2、R3、R4、R5、R6、R7。

但在程序運行時,只允許一個工作寄存器組工作,稱為當(dāng)前工作寄存器組。

用哪組工作寄存器作為當(dāng)前工作寄存器組,可由特殊功能寄存器中程序狀態(tài)字寄存器PSW中的RS1、RS0共2位二進制數(shù)組合來決定.本課件是可編輯的正常PPT課件3、片內(nèi)數(shù)據(jù)存儲器2)位尋址區(qū)內(nèi)部RAM的20H~2FH地址范圍共16個字節(jié)單元為位尋址區(qū),共128位,每位有位地址,以便對位進行操作,所以共有128個位地址(00H~7FH)。00H~7FH共128個位地址與內(nèi)部RAM中128個字節(jié)地址00H~7FH重疊,在應(yīng)用中可通過數(shù)據(jù)類型的定義來區(qū)分它們是位地址還是字節(jié)地址。本課件是可編輯的正常PPT課件3、片內(nèi)數(shù)據(jù)存儲器2)位尋址區(qū)單元地址位地址本課件是可編輯的正常PPT課件3、片內(nèi)數(shù)據(jù)存儲器3)通用RAM區(qū)

在內(nèi)部數(shù)據(jù)存儲器的128個字節(jié)單元中,工作寄存器區(qū)和位尋址區(qū)占去了48個單元,剩下的80個單元以存儲單元的形式來用,沒有其它的規(guī)定和限制,稱為通用RAM區(qū),用來存放用戶數(shù)據(jù)或作為堆棧區(qū)使用。CPU對該區(qū)中的每個RAM單元只能實現(xiàn)字節(jié)尋址。本課件是可編輯的正常PPT課件4、特殊功能寄存器

特殊功能寄存器映射在片內(nèi)RAM80H~FFH區(qū)域中,共26個。可被位尋址的特殊寄存器有11個,共有位地址88個,5個位未用,其余83個可以位尋址。

AT89S51單片機的特殊功能寄存器如表所示。本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件4、特殊功能寄存器1)累加器A(或ACC:Accumulator)累加器A是8位寄存器,地址為0E0H。它是程序中最繁忙的特殊功能寄存器,用于向ALU提供操作數(shù)、存放運算的中間結(jié)果、數(shù)據(jù)傳送的中間站等。大部分的數(shù)據(jù)操作都會通過累加器A進行,就像一個交通要道。2)B寄存器寄存器B也是8位寄存器,地址為0F0H。它主要用于乘、除運算。乘法:兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在BA中除法:被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存B中。本課件是可編輯的正常PPT課件4、特殊功能寄存器3)程序狀態(tài)字寄存器PSW(ProgramStatusWord)

PSW為8位寄存器,地址為0D0H,用于存放程序運行的狀態(tài)信息,供程序查詢和判別時用。其中有些位狀態(tài)是根據(jù)指令執(zhí)行的結(jié)果,由硬件自動設(shè)置的,而有些位狀態(tài)是使用軟件方法設(shè)定的。位狀態(tài)可以用專門的指令進行測試,也可用指令讀出。C51語言中,sbit對應(yīng)AT89S51片內(nèi)特殊功能寄存器的可尋址位。 例如:

sfrPSW=0xd0 ;/*定義PSW寄存器地址為0xd0*/ sbitPSW^2=0xd2 ;/*定義OV位為PSW.2*/本課件是可編輯的正常PPT課件

①Cy:進位/借位標(biāo)志位。此位有兩個功能:一是存放執(zhí)行算術(shù)運算時的進位/借位標(biāo)志,可被硬件或軟件置位或清0,如進行加、減運算時,若運算結(jié)果在最高位有進位或借位時,Cy被硬件自動置1,反之則自動置0;二是在位操作中做位累加器使用。②AC:輔助進位/借位標(biāo)志位,又稱為半進位標(biāo)志位。當(dāng)進行加、減運算時如果由低4位向高4位進位或借位,則AC被硬件自動置1,反之則自動置0。AC常用于二~十進制調(diào)整。本課件是可編輯的正常PPT課件

③F0:用戶標(biāo)志位,可由用戶自定義其含義。F0通常不是單片機在執(zhí)行指令過程中自動形成的,而是用戶根據(jù)執(zhí)行程序的需要通過傳送指令設(shè)置的。用戶通過對F0置1或置0來設(shè)定程序的走向。④RS1、RS0:工作寄存器組(區(qū))選擇標(biāo)志位。8051共有4組8×8位工作寄存器,每組均命名為R0~R7,但每組在RAM中的物理地址不同,用戶可通過軟件改變RS1和RS0的組合內(nèi)容來選擇R0~R7在片內(nèi)RAM中的實際物理地址。本課件是可編輯的正常PPT課件

⑤OV:溢出標(biāo)志位,帶符號數(shù)加減運算中,若結(jié)果超出了累加器A所能表示的有效范圍(-128~+127),即產(chǎn)生溢出。如果運算結(jié)果錯誤,則OV=1;若運算結(jié)果正確,則OV=0。⑥P:奇偶校驗位。若累加器A中1的個數(shù)為奇數(shù)個則P=1,若累加器A中1的個數(shù)為偶數(shù)個則P=0;⑦位1(PSW.1)是無效位,此位未定義。本課件是可編輯的正常PPT課件4、特殊功能寄存器4)堆棧指針SP

指示堆棧頂部在內(nèi)部RAM塊中的位置。

堆棧結(jié)構(gòu)--向上生長型。單片機復(fù)位后,SP為07H,使得堆棧實際上從08H單元開始,由于08H~1FH單元分別屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改為60H或更大值,避免堆棧與工作寄存器沖突。

堆棧主要是為子程序調(diào)用和中斷操作而設(shè)。用于保護斷點和現(xiàn)場。

兩種操作:數(shù)據(jù)壓入(PUSH)堆棧,數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動加1;數(shù)據(jù)彈出堆棧,SP自動減1。本課件是可編輯的正常PPT課件2.3AT89S51單片機的并行I/O口單片機有4組雙向的8位并行I/O端口:P0~P3,特殊功能寄存器P0、P1、P2和P3就是這4個端口的輸出鎖存器。4個端口可以按字節(jié)輸入/輸出,還可按位尋址。本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的低八位地址/數(shù)據(jù)總線的分時復(fù)用端口。

(1)做地址/數(shù)據(jù)總線分時復(fù)用端口:可以輸出數(shù)據(jù)/地址信息,并輸入數(shù)據(jù)信息。輸出地址/數(shù)據(jù)信息時,此時開關(guān)指向非門輸出端,控制位為1。

1101導(dǎo)通輸出1本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的低八位地址/數(shù)據(jù)總線的分時復(fù)用端口。

(1)做地址/數(shù)據(jù)總線分時復(fù)用端口:可以輸出數(shù)據(jù)/地址信息,并輸入數(shù)據(jù)信息。輸出地址/數(shù)據(jù)信息時,此時開關(guān)指向非門輸出端,控制位為1。

1010導(dǎo)通輸出0本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的低八位地址/數(shù)據(jù)總線的分時復(fù)用端口。

(1)做地址/數(shù)據(jù)總線分時復(fù)用端口:可以輸出數(shù)據(jù)/地址信息,并輸入數(shù)據(jù)信息。輸出地址/數(shù)據(jù)信息時,此時開關(guān)指向非門輸出端,控制位為1。

0101本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的低八位地址/數(shù)據(jù)總線的分時復(fù)用端口。

(1)做地址/數(shù)據(jù)總線分時復(fù)用端口:可以輸出數(shù)據(jù)/地址信息,并輸入數(shù)據(jù)信息。輸入數(shù)據(jù)信息時,此時控制位為0,MUX開關(guān)打至/Q。P0口訪問外部存儲單元時,CPU自動向P0口寫入0xff.下方場效應(yīng)管截止,上方場效應(yīng)管也截止。此時端口處于高阻態(tài),是雙向口。

010本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的地址/數(shù)據(jù)總線的分時復(fù)用端口。(2)做通用I/O口:控制位為0,需要接上拉電阻。001導(dǎo)通VCC輸出0本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的地址/數(shù)據(jù)總線的分時復(fù)用端口。(2)做通用I/O口:控制位為0,需要接上拉電阻。010截止VCC輸出1本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的地址/數(shù)據(jù)總線的分時復(fù)用端口。0VCC0101(2)做通用I/O口:做輸出時,當(dāng)內(nèi)部總線輸出0時,端口輸出0;內(nèi)部總線輸出1,端口輸出1。本課件是可編輯的正常PPT課件1、P0口P0口的作用:做通用I/O,以及系統(tǒng)擴展時的地址/數(shù)據(jù)總線的分時復(fù)用端口。(2)做通用I/O口:輸入時:讀鎖存器直接讀取總線上的數(shù)據(jù);讀引腳,數(shù)據(jù)經(jīng)三態(tài)緩沖器進入內(nèi)部總線。此時,下方場效應(yīng)管需要截止。因此,讀引腳之前,先寫1.0本課件是可編輯的正常PPT課件1、P0口P0口的特點及使用注意事項(1)P0口做擴展時地址/數(shù)據(jù)總線復(fù)用時,是真正的雙向口,輸出低八位地址并輸出/輸入八位數(shù)據(jù);(2)P0口做通用I/O時,需要外接上拉電阻,此時是準(zhǔn)雙向口;(3)P0口作通用I/O口,讀引腳時,先寫1。

本課件是可編輯的正常PPT課件2、P1口P1口的作用:做通用I/O。本課件是可編輯的正常PPT課件2、P1口P1口的特點及使用注意事項(1)P1口做通用I/O時,不需要外接上拉電阻,此時是準(zhǔn)雙向口;(2)P1口讀引腳時,先寫1。

本課件是可編輯的正常PPT課件3、P2口P2口的作用:做通用I/O,以及系統(tǒng)擴展時的高八位地址總線。(1)做地址總線輸出高八位地址信息時:MUX接“地址”線,由地址線輸出地址信息;(2)做通用I/O時,MUX接鎖存器Q端01輸出0本課件是可編輯的正常PPT課件3、P2口P2口的功能、特點及使用注意事項(1)P2口做通用I/O時,不需要外接上拉電阻,此時是準(zhǔn)雙向口。(2)P2口作通用I/O口,讀引腳時,先寫1。本課件是可編輯的正常PPT課件4、P3口P3口的作用:做通用I/O,以及第二功能(1)做第二輸入/輸出功能線輸出時:鎖存器置111輸出10本課件是可編輯的正常PPT課件4、P3口P3口的作用:做通用I/O,以及第二功能(1)做第二輸入/輸出功能線輸出時:鎖存器置101輸出01本課件是可編輯的正常PPT課件4、P3口P3口的作用:做通用I/O,以及第二功能(1)做第二輸入/輸出功能線輸入時:鎖存器置1,第二輸出功能置1引腳信息經(jīng)輸入緩沖器的輸出獲得。11截止0本課件是可編輯的正常PPT課件4、P3口P3口的作用:做通用I/O,以及第二功能(2)做通用I/O時第二輸出功能線為1,其輸入輸出與P2口做通用I/O類似。1本課件是可編輯的正常PPT課件4、P3口P3口的功能、特點及使用注意事項(1)P3口的第一或第二功能,由單片機執(zhí)行的指令控制來決定,不需用戶設(shè)置;(3)P3口做通用I/O時,不需要外接上拉電阻,此時是準(zhǔn)雙向口。(4)P3口作通用I/O口,讀引腳時,先寫1。本課件是可編輯的正常PPT課件總結(jié)端口使用注意事項(1)P0口做通用I/O時,需要外接上拉電阻,其余不用接;(2)所有端口,做通用I/O,讀引腳時,先寫1。本課件是可編輯的正常PPT課件2.4AT89S52單片機的復(fù)位操作和復(fù)位電路復(fù)位:使PC值變?yōu)?,使程序回到初始狀態(tài),重新開始執(zhí)行。復(fù)位條件:在RST引腳加上持續(xù)時間大于2個機器周期的高電平,可使單片機復(fù)位。

1、復(fù)位和復(fù)位

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

2、復(fù)位方式

(1)上電自動復(fù)位本課件是可編輯的正常PPT課件

(2)手動按鍵復(fù)位

2、復(fù)位方式

本課件是可編輯的正常PPT課件2.5AT89S51單片機的時鐘電路和時序1、單片機的時鐘電路單片機的時鐘電路用來給單片機提供一個固定頻率的控制信號,使之有條不紊按照一定的節(jié)奏進行工作。18,19兩個引腳,可以用來外接時鐘脈沖信號或者接獨立的石英晶體,與片內(nèi)電路構(gòu)成一個穩(wěn)定的自激振蕩器,為單片機提供時鐘信號。本課件是可編輯的正常PPT課件1、單片機的時鐘電路(1)外部時鐘方式接現(xiàn)成的外部振蕩器產(chǎn)生的脈沖信號,常用于多片AT89S51同時工作,以實現(xiàn)多片AT89S51單片機之間的同步。

本課件是可編輯的正常PPT課件1、單片機的時鐘電路(2)內(nèi)部時鐘方式對AT89S51單片機而言,晶振頻率不超過33MHZ.本課件是可編輯的正常PPT課件單片機執(zhí)行的指令均實在CPU控制器的時序控制電路的控制下進行的,因此各種時序均與時鐘周期有關(guān)。(1)時鐘周期

時鐘周期即石英晶體振蕩器的周期,是時鐘控制信號的基本時間單位。(2)機器周期CPU完成一個基本操作所需時間為機器周期。執(zhí)行一條指令可分為若干個機器周期。

一個機器周期包含12個時鐘周期,又分為6個狀態(tài),S1—S6,每個狀態(tài)又分為2個拍節(jié)P1和P2,因此,一個機器周期可以描述為S1P1,SIP2……S6P2。

2、單片機的時序本課件是可編輯的正常PPT課件2、單片機的時序機器周期T由此可以得出,機器周期

ALE是單片機的鎖存信號輸出端,其周期為機器周期的1/2。

本課件是可編輯的正常PPT課件本章小結(jié)

1、掌握單片機各個引腳的功能,會靈活分配端口資源2、掌握單片機的存儲器,特別是內(nèi)RAM的分布,以及其尋址方式的不同3、掌握端口的操作4、了解單片機的時序5、知道單片機最小系統(tǒng)的本課件是可編輯的正常PPT課件3C51編程基礎(chǔ)及單片機仿真開發(fā)工具簡介本課件是可編輯的正常PPT課件3C51編程基礎(chǔ)及單片機仿真開發(fā)工具簡介本課件是可編輯的正常PPT課件本章主要內(nèi)容:1、C51簡介2、C51語言的相關(guān)知識3、C51函數(shù)本課件是可編輯的正常PPT課件3.1C51數(shù)據(jù)類型及基本運算

用于8051單片機編程的C語言,在標(biāo)準(zhǔn)C基礎(chǔ)上針對8051硬件特點進行擴展,并向8051上移植,8051匯編語言相比,C51語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯優(yōu)勢,易學(xué)易用。1、C51語言與匯編語言的比較

與8051匯編語言相比,C51有如下優(yōu)點。(1)可讀性好。C51語言程序比匯編語言程序的可讀性好,編程效率高,程序便于修改、維護以及升級。一、C51編程語言簡介本課件是可編輯的正常PPT課件(2)模塊化開發(fā)與資源共享。用C51開發(fā)的程序模塊可不經(jīng)修改,直接被其他工程所用,可以實現(xiàn)資源共享,提高效率。(3)可移植性好。為某種型號單片機開發(fā)的C語言程序,只需把與硬件相關(guān)的頭文件和編譯鏈接的參數(shù)進行適當(dāng)修改,就可方便地移植到其他型號的單片機上。(4)生成的代碼效率高。當(dāng)前較好的C51語言編譯系統(tǒng)編譯出來的代碼效率只比直接使用匯編語言低20%左右,如果使用優(yōu)化編譯選項,效率更高。一、C51編程語言簡介本課件是可編輯的正常PPT課件2、C51語言與標(biāo)準(zhǔn)C語言的比較C51語言與標(biāo)準(zhǔn)C語言的差別:(1)庫函數(shù)不同。標(biāo)準(zhǔn)C中不適合于嵌入式控制器系統(tǒng)的庫函數(shù),被排除在C51語言之外,如字符屏幕和圖形函數(shù)。例如,在標(biāo)準(zhǔn)C中,庫函數(shù)printf和scanf,常用于屏幕打印和接收字符,而在C51語言中,主要用于串行口數(shù)據(jù)的收發(fā)。

一、C51編程語言簡介本課件是可編輯的正常PPT課件2、C51語言與標(biāo)準(zhǔn)C語言的比較C51語言與標(biāo)準(zhǔn)C語言的差別:

(1)庫函數(shù)不同。(2)數(shù)據(jù)類型有一定區(qū)別。(3)變量存儲模式與標(biāo)準(zhǔn)C語言中變量存儲模式數(shù)據(jù)不一樣。(4)數(shù)據(jù)存儲類型不同。(5)C51語言中有專門的中斷函數(shù)。(6)C51語言與標(biāo)準(zhǔn)C的輸入/輸出處理不一樣。(7)頭文件不同。(8)程序結(jié)構(gòu)的差異。一、C51編程語言簡介本課件是可編輯的正常PPT課件二、C51語言中的數(shù)據(jù)類型

數(shù)據(jù)是單片機操作的對象,具有一定格式的數(shù)字或數(shù)值,數(shù)據(jù)的不同格式就稱為數(shù)據(jù)類型。通用C語言基本數(shù)據(jù)類型有char,int,short,long,float和double。對于C51編譯器來說,short類型與int類型相同,double類型與float類型相同。C51擴展的數(shù)據(jù)類型為類型名位數(shù)數(shù)據(jù)范圍bit10或1sfr80-255Sfr16180~65535sbit1可位尋址的特殊功能寄存器的絕對位地址本課件是可編輯的正常PPT課件(1)位變量bit。值可以是1(true),也可是0(false)。(2)特殊功能寄存器sfr?!皊fr”數(shù)據(jù)類型占用一個內(nèi)存單元。利用它可訪問8051單片機內(nèi)部的所有特殊功能寄存器。(3)特殊功能寄存器sfr16?!皊fr16”數(shù)據(jù)類型占用兩個內(nèi)存單元,用于操作占兩個字節(jié)的特殊功能寄存器。(4)特殊功能位sbit。sbit是指AT89S51片內(nèi)特殊功能寄存器的可尋址位。

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

變量是一種在程序執(zhí)行過程中其值能不斷變化的量。使用一個變量之前,必須進行定義,用一個標(biāo)識符作為變量名并指出它的數(shù)據(jù)類型和存儲模式,以便編譯系統(tǒng)為它分配相應(yīng)的存儲單元。在C51中對變量進行定義的格式如下:

[存儲種類]數(shù)據(jù)類型[存儲類型]變量名

其中,“存儲種類”和“存儲器類型”是可選項。變量的存儲種類有四種:自動(auto)、外部(extern)、靜態(tài)(static)和寄存器(register)。定義一個變量時如果省略存儲種類選項,則該變量將為自動(auto)變量。定義一個變量時除了需要說明其數(shù)據(jù)類型之外,KeilC51編譯器還允許說明變量的存儲類型。二、

變量及其存儲模式本課件是可編輯的正常PPT課件C51存儲類型與8051實際的存儲空間的對應(yīng)關(guān)系見表3-3。二、

變量及其存儲模式本課件是可編輯的正常PPT課件

單片機訪問片內(nèi)RAM比訪問片外RAM相對快一些,所以應(yīng)盡量把頻繁使用的變量置于片內(nèi)RAM。即采用data、bdata或idata存儲類型,而將容量較大的或使用不太頻繁的那些變量。C51存儲類型及值域如下表所示。二、

變量及其存儲模式本課件是可編輯的正常PPT課件(1)chardatax1; /*字符變量x1被定義為data型,分配在片內(nèi)RAM低128字節(jié)中*/(2)intidatax,y; /*整型變量x和y被定義為idata型,定位在片內(nèi)RAM中,只能用間接尋址方式尋址*/

(3)bitbdataa; /*位變量p被定義為bdata型,定位在片內(nèi)

RAM中的位尋址區(qū)*/

(4)unsignedcharpdatav1;/*無符號字符變量v1被定義為pdata型,定位在片外RAM中,相當(dāng)于使用@Ri間接尋址*/

(5)unsignedintxdataa[2][4];/*無符號整型二維數(shù)組變量a[2][4]被定義為xdata存儲類型,定位在片外RAM中,占據(jù)22

4=26字節(jié),相當(dāng)于使用@DPTR間接尋址*/

二、

變量及其存儲模式本課件是可編輯的正常PPT課件4、C51的基本運算與標(biāo)準(zhǔn)C類似,主要包括算術(shù)運算、關(guān)系運算、邏輯運算、位運算和賦值運算及其表達式等。(1)賦值運算符在C語言中,符號“=”是一個特殊的運算符,稱之為賦值運算符。

格式如下:變量=表達式;該語句的意思是先計算出右邊表達式的值,然后將該值賦給左邊的變量。例如:x=9;/*將常數(shù)9賦給變量x*/x=y=8;/*將常數(shù)8同時賦給變量x和y*/三、C51運算符與表達式本課件是可編輯的正常PPT課件4、C51的基本運算與標(biāo)準(zhǔn)C類似,主要包括算術(shù)運算、關(guān)系運算、邏輯運算、位運算和賦值運算及其表達式等。(2)算術(shù)運算符+加或取正值運算;-減或取負(fù)值運算符;*乘運算符;/除運算符;%取余運算符三、C51運算符與表達式本課件是可編輯的正常PPT課件4、C51的基本運算與標(biāo)準(zhǔn)C類似,主要包括算術(shù)運算、關(guān)系運算、邏輯運算、位運算和賦值運算及其表達式等。(3)增量和減量運算符++增量運算符--減量運算符。其運用關(guān)系如下表:三、C51運算符與表達式本課件是可編輯的正常PPT課件

(3)增量和減量運算符

【例3-1】使用增量“++”和減量“--”運算符的例子。#include<stdio.h>main(){intx,y,z;x=y=8;z=++x;printf(“\n%d%d%d”,y,z,x);x=y=8;z=x++;printf(“\n%d%d%d”,y,z,x)}三、C51運算符與表達式本課件是可編輯的正常PPT課件

(3)增量和減量運算符

x=y=8;z=--x;printf(“\n%d%d%d”,y,z,x)x=y=8;z=x--;printf(“\n%d%d%d”,y,z,x)printf(“\n”)while(1);}

三、C51運算符與表達式本課件是可編輯的正常PPT課件

(3)增量和減量運算符

程序執(zhí)行結(jié)果:899889877887三、C51運算符與表達式本課件是可編輯的正常PPT課件(4)關(guān)系運算符前4種關(guān)系運算符具有相同的優(yōu)先級,后兩種關(guān)系運算符也具有相同的優(yōu)先級;但前4種的優(yōu)先級高于后2種。用關(guān)系運算符將兩個表達式來連接起來即成為關(guān)系表達式。關(guān)系表達式的一般形式為:表達式1關(guān)系運算符表達式2關(guān)系運算符通常用來判別某個條件是否滿足,關(guān)系運算符的結(jié)果只有0和1兩種值。當(dāng)所指定的條件滿足時結(jié)果為1,條件不滿足時結(jié)果為0。三、C51運算符與表達式本課件是可編輯的正常PPT課件(4)關(guān)系運算符【例3-2】使用關(guān)系運算符的例子。#include<stdio.h>main(){intx,y,z;printf(“inputdatax,y?\n”);scanf(“%d%d”,&x,&y);printf(“\nxyx<yx<=yx>yx>=yx!=yx==y”);printf(“\n%5d%5d”,x,y);z=x<y;printf(“%5d”,z);z=x<=y;printf(“%5d”,z);z=x>y;printf(“%5d”,z);z=x>=y;printf(“%5d”,z);z=x!=y;printf(“%5d”,z);z=x==y;printf(“%5d”,z);}三、C51運算符與表達式本課件是可編輯的正常PPT課件(4)關(guān)系運算符程序執(zhí)行結(jié)果1:inputdatax,y?53回車xyx<yx<=yx>yx>=yx!=yx==y53001110程序執(zhí)行結(jié)果2:inputdatax,y?44回車xyx<yx<=yx>yx>=yx!=yx==y44010101三、C51運算符與表達式本課件是可編輯的正常PPT課件(5)邏輯運算符C語言中有3種邏輯運算符:||邏輯或&&邏輯與!邏輯非邏輯與:條件式1&&條件式2邏輯或:條件式1||條件式2邏輯非:!條件式三、C51運算符與表達式本課件是可編輯的正常PPT課件(5)邏輯運算符進行邏輯與運算時,首先對條件式1進行判斷,如果結(jié)果為真(非0值),則繼續(xù)對條件式2進行判斷,當(dāng)結(jié)果也為真時,表示邏輯運算的結(jié)果為真(值為1);反之,如果條件式1的結(jié)果為假,則不再判斷條件式2,而直接給出邏輯運算的結(jié)果為假(值為0)。進行邏輯或運算時,只要兩個條件式中有一個為真,邏輯運算的結(jié)果便為真(值為1)。邏輯運算符的優(yōu)先級為(由高至低):邏輯非、邏輯與、邏輯或,即邏輯非的優(yōu)先級最高。三、C51運算符與表達式本課件是可編輯的正常PPT課件(5)邏輯運算符【例3-3】使用邏輯運算的例子。#include<stdio.h>main(){intx,y,z;printf(“inputdatax,y?\n”);scanf(“%d%d”,&x,&y);printf(“\nxy!xx||yx&&y”);printf(“\n%5d%5d”,x,y);z=!x;printf(“%8d”,z);z=x||y;printf(“%8d”,z);z=x&&y;printf(“%8d”,z);printf(“\n”)while(1);}三、C51運算符與表達式本課件是可編輯的正常PPT課件(5)邏輯運算符程序執(zhí)行結(jié)果1:inputdatax,y?128回車xy!xx||yx&&y128011程序執(zhí)行結(jié)果2:inputdatax,y?081回車xy!xx||yx&&y081110三、C51運算符與表達式本課件是可編輯的正常PPT課件(6)位運算能對運算對象進行按位操作是C51語言的一大特點,正是由于這一特點使C51語言具有了匯編語言的一些功能,從而使之能對計算機的硬件直接進行操作。C51語言中共有6種位運算符:~按位取反<<左移>>右移&按位與^按位異或|按位或

位運算符的作用是按位對變量進行運算,并不改變參與運算的變量的值。若希望按位改變運算變量的值,則應(yīng)利用相應(yīng)的賦值運算。另外位運算符不能用來對浮點型數(shù)據(jù)進行操作。位運算符的優(yōu)先級從高到低依次是:按位取反、左移和右移、按位與、按位異或、按位或。具體說明如下:三、C51運算符與表達式本課件是可編輯的正常PPT課件

(7)指針和地址運算符

指針是C51語言中一個十分重要的概念,指針變量用于存儲某個變量的地址,C51用“*”和“&”運算符來提取變量的內(nèi)容和變量的地址。取內(nèi)容和取地址運算的一般形式分別為:變量=*指針變量指針變量=&目標(biāo)變量三、C51運算符與表達式本課件是可編輯的正常PPT課件

(7)指針和地址運算符

指針是C51語言中一個十分重要的概念,指針變量用于存儲某個變量的地址,C51用“*”和“&”運算符來提取變量的內(nèi)容和變量的地址。取內(nèi)容和取地址運算的一般形式分別為:變量=*指針變量指針變量=&目標(biāo)變量三、C51運算符與表達式本課件是可編輯的正常PPT課件

(7)指針和地址運算符

【例3-5】指針及地址運算符的使用。#include<stdio.h>main(){inti;int*int_ptr;int_ptr=&i;*int_ptr=5;printf(“\ni=%d”,i);while(1);}程序執(zhí)行結(jié)果:i=5三、C51運算符與表達式本課件是可編輯的正常PPT課件1、特殊功能寄存器的C51定義(1)使用關(guān)鍵字sfr對特殊功能寄存器(SFR)進行訪問。

sfr特殊功能寄存器名字=特殊功能寄存器地址;例如:sfr IE=0xA8; //中斷允許寄存器地址A8Hsfr TCON=0x88; //定時器/計數(shù)器控制寄存器地址88Hsfr SCON=0x98; //串行口控制寄存器地址98H

四、

C51語言的特殊功能寄存器及位變量定義本課

溫馨提示

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

最新文檔

評論

0/150

提交評論