版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
汽車單片機與車載網(wǎng)絡(luò)技術(shù)劉鴻健主編化學(xué)工業(yè)出版社第一章汽車單片機原理第一節(jié)自動控制概述第二節(jié)微型計算機基礎(chǔ)第三節(jié)單片機的組成第四節(jié)單片機指令系統(tǒng)第五節(jié)單片機中斷、定時器/計數(shù)器、串行通信第六節(jié)汽車單片機程序設(shè)計原理學(xué)習(xí)要求熟悉自動控制系統(tǒng)的概念、組成和工作原理,掌握開環(huán)控制和閉環(huán)控制的特點,了解常用自動控制系統(tǒng)的分類和計算機控制系統(tǒng)的組成。熟悉微型計算機和單片機的概念,了解MCS-51單片機的組成和引腳,熟悉指令系統(tǒng),熟悉單片機的中斷、定時器/計數(shù)器和串行通信。掌握單片機程序設(shè)計基本方法,熟悉汽車單片機有關(guān)程序的設(shè)計原理。第一節(jié)自動控制概述一、自動控制的基本概念1.自動控制的基本方法自動控制系統(tǒng)有兩種最基本的形式,即開環(huán)控制和閉環(huán)控制。復(fù)合控制是將開環(huán)控制和閉環(huán)控制適當(dāng)結(jié)合的控制方式,可用來實現(xiàn)復(fù)雜且控制精度較高的控制任務(wù)。(1)開環(huán)控制開環(huán)控制是指控制裝置與被控對象之間只有順向作用而沒有反向聯(lián)系的控制過程。即被控量(系統(tǒng)輸出)不影響系統(tǒng)控制的控制方式稱為開環(huán)控制。所以,在開環(huán)控制中,不對被控量進行任何檢測,在輸出端和輸入端之間不存在反饋聯(lián)系。開環(huán)控制系統(tǒng)一般由控制器、執(zhí)行元件和控制對象組成,如圖1-1所示。下面以汽油發(fā)動機噴油自動控制為例說明。圖1-1開環(huán)控制系統(tǒng)方框圖(2)閉環(huán)控制若系統(tǒng)輸出量通過反饋環(huán)節(jié)返回來作用于控制部分,形成閉合環(huán)路,則這樣的控制稱為閉環(huán)控制系統(tǒng),又稱為反饋控制。閉環(huán)控制的方框圖如圖1-2所示。閉環(huán)控制的特點是在控制器和被控對象之間,不僅存在著正向作用,而且還存在著反饋作用,即系統(tǒng)的輸出信號對被控制量有直接影響。在閉環(huán)控制中,被控量時刻被檢測,并通過反饋通道送回到比較元件,與給定值進行比較。閉環(huán)控制從原理上提供了實現(xiàn)高精度控制的可能性。圖1-2閉環(huán)控制系統(tǒng)方框圖
2.自動控制的分類由于控制技術(shù)的廣泛應(yīng)用以及控制理論自身的發(fā)展,使得控制系統(tǒng)具有各種各樣的形式,從不同的角度出發(fā),分類的方式也不相同。以下簡介常見的幾種分類。(1)按輸入信號特征分類①定值控制系統(tǒng):給定信號(給定值)為一常值的控制系統(tǒng)稱為定值控制系統(tǒng)。這類控制系統(tǒng)的任務(wù)是保證在擾動作用下使被控變量始終保持在給定值上。汽車發(fā)動機的缸溫控制是定值即定溫控制,一般缸溫設(shè)定在80OC,當(dāng)缸溫超過設(shè)定溫時,發(fā)動機ECU或溫控器將起動冷卻液循環(huán)和風(fēng)扇散熱。②隨動控制系統(tǒng):給定信號是一個未知變化量的閉環(huán)控制系統(tǒng)稱為隨動控制系統(tǒng)。這類控制系統(tǒng)的任務(wù)是保證在各種條件下系統(tǒng)的輸出(被控變量)以一定精度跟隨給定信號的變化而變化,所以這類控制系統(tǒng)又稱為跟蹤控制系統(tǒng)。發(fā)動機點火提前角的控制是典型的高精度、隨動控制。它的給定信號是隨機信號,就是發(fā)動機的轉(zhuǎn)速信號,發(fā)動機轉(zhuǎn)速隨噴油量和負荷量等因素的變化而變化;發(fā)動機轉(zhuǎn)速越高,點火提前角就越大;這是一個閉環(huán)控制,檢測反饋元件是發(fā)動機曲軸轉(zhuǎn)速傳感器。③程序控制系統(tǒng):給定信號是一個按一定時間程序變化的時間函數(shù)的閉環(huán)控制系統(tǒng)稱為程序控制系統(tǒng)。汽車噴漆烤漆房的溫度控制是程序,其升溫、保溫、降溫過程都是按照預(yù)先設(shè)定的規(guī)律進行控制的。(2)按變量分類①單變量控制系統(tǒng):如果只有一個被控變量和一個控制作用來控制被控對象,則稱該系統(tǒng)為單變量控制系統(tǒng),又稱為單輸入—單輸出系統(tǒng)。②多變量控制系統(tǒng):如果一個控制系統(tǒng)中的被控變量多于一個,控制作用也多于一個,而且各控制回路相互之間有耦合關(guān)系,則稱這類控制系統(tǒng)為多變量控制系統(tǒng),也稱為多輸入—多輸出控制系統(tǒng)。汽車發(fā)動機電控系統(tǒng)就是一個多變量控制系統(tǒng),它有多個輸入信號,如發(fā)動機轉(zhuǎn)速信號、空氣流量信號、缸溫信號等;它要輸出多個變量,如噴油量、點火提前角等去控制發(fā)動機。(3)按控制裝置分類①常規(guī)控制器:一般多指采用模擬電路來實現(xiàn)的控制器。簡單的控制常采用這種控制器,線路簡單,成本低。②計算機控制器:復(fù)雜的、多變量的、隨動的自動控制系統(tǒng)多采用以計算機為核心的控制器。現(xiàn)代汽車中各電控單元都是采用以單片機為核心的控制器。3.對控制系統(tǒng)的基本要求
(1)穩(wěn)定性:穩(wěn)定性是指系統(tǒng)被控量偏離給定值而振蕩時,系統(tǒng)抑制振蕩的能力。對于穩(wěn)定的系統(tǒng),隨著時間的增長,被控量將趨近于希望值。圖1-3(a)所示的系統(tǒng)是穩(wěn)定的,圖1-3(b)所示的系統(tǒng)是不穩(wěn)定的,可見穩(wěn)定性是保證系統(tǒng)正常工作的先決條件。
圖1-3自動控制系統(tǒng)穩(wěn)定性示意圖(a)穩(wěn)定系統(tǒng)(b)不穩(wěn)定系統(tǒng)
(2)快速性:快速性是指被控量趨近希望值的快慢程度??焖傩院玫南到y(tǒng),它的過渡過程時間就短。圖1-4所示的系統(tǒng)②,其快速性要比系統(tǒng)①好。穩(wěn)定性和快速性是反映系統(tǒng)動態(tài)過程好壞的尺度。圖1-4自動控制系統(tǒng)快速性示意圖
(3)準(zhǔn)確性:準(zhǔn)確性是指過渡過程結(jié)束后被控量與希望值接近的程度。工程上常常從穩(wěn)、快、準(zhǔn)三個方面來評價自動控制系統(tǒng)的總體性能。二、計算機控制技術(shù)1.計算機控制技術(shù)概念如果把自動控制系統(tǒng)的控制器用計算機來代替,這樣就可以構(gòu)成計算機控制系統(tǒng)。如果計算機是微型計算機,就組成微型計算機控制系統(tǒng),其基本框圖如圖1-5所示。在微型計算機控制系統(tǒng)中,只要運用各種指令,就能編出符合某種控制規(guī)律的程序。微處理器執(zhí)行這樣的程序,就能實現(xiàn)對被控參數(shù)的控制。在計算機控制系統(tǒng)中,由于計算機的輸入和輸出信號都是數(shù)字信號,而大部分被控對象的被控參數(shù)和控制量都是模擬信號,因此在這樣的控制系統(tǒng)中,需要有將模擬信號轉(zhuǎn)換為數(shù)字信號的A/D轉(zhuǎn)換器,以及將數(shù)字信號轉(zhuǎn)換為模擬信號的D/A轉(zhuǎn)換器。計算機控制系統(tǒng)的控制過程通??蓺w結(jié)為以下三個步驟:(1)數(shù)據(jù)采集:對被控參數(shù)的瞬時值進行檢測、采集,并將數(shù)據(jù)傳送給計算機。(2)實時決策:對采集的數(shù)據(jù)按程序進行分析,與內(nèi)存數(shù)據(jù)比較,決定下一步控制過程。(3)實時控制:并按已定的控制規(guī)律,適時地對執(zhí)行單元發(fā)出控制信號。上述過程不斷重復(fù),使整個系統(tǒng)能夠按照一定的性能指標(biāo)進行工作,并且對被控參數(shù)和設(shè)備本身出現(xiàn)的異常狀態(tài)及時監(jiān)督并做出迅速處理。應(yīng)用微型計算機控制是一個實時控制系統(tǒng),它包括硬件和軟件兩部分。發(fā)動機的運行過程是連續(xù)進行的,
圖1-5微型計算機控制系統(tǒng)基本框圖
2.計算機控制的特點計算機控制系統(tǒng)有兩個類別,一類是通用計算機控制系統(tǒng),適用于高速、大量的數(shù)值計算,系統(tǒng)配置多,體積大。另一類是以單片機為主的嵌入式計算機控制系統(tǒng),它具有微型、嵌入和專用的特點。它以很小的“微型”體積“嵌入”控制對象的載體中,其配置的硬件和軟件以適用控制對象為度,系統(tǒng)是“專用”的。在制造工業(yè)、過程控制、通訊、儀器、儀表、家用電器、汽車、船舶、航空、航天、軍事裝備等方面均采用有嵌入式計算機控制技術(shù)?,F(xiàn)代汽車控制系統(tǒng)均采用單片機控制系統(tǒng)。單片機控制系統(tǒng)具有以下特點:(1)適合多變量控制。汽車發(fā)動機電控系統(tǒng)是一多變量控制系統(tǒng)。(2)適合數(shù)據(jù)比較、查找控制。發(fā)動機點火提前角度的確定是根據(jù)發(fā)動機轉(zhuǎn)速和負荷等工況信息,查找內(nèi)存中的數(shù)據(jù)確定的。(3)適合計數(shù)控制。發(fā)動機點火提前角度的控制執(zhí)行是靠計數(shù)控制實現(xiàn)的。(4)適合實時隨動控制。汽車的加速控制是實時隨動控制,只有腳踏加速踏板,發(fā)動機的轉(zhuǎn)速隨即提高,這是實時控制噴油量實現(xiàn)的。(5)改變控制模式容易。通過修改軟件或內(nèi)存數(shù)據(jù),可以比較容易改變控制模式。(6)適合網(wǎng)絡(luò)化控制?,F(xiàn)代轎車有發(fā)動機電控單元、防抱死制動電控單元、動力轉(zhuǎn)向電控單元、主動懸架電控單元、防碰撞電控單元、導(dǎo)航電控單元等幾十種電控單元,可以聯(lián)網(wǎng)控制。第二節(jié)微型計算機基礎(chǔ)一、計算機的發(fā)展概況
人類在對客觀世界的“數(shù)量”認識上,從記數(shù)、計數(shù)到計算,經(jīng)歷了漫長的歷史階段,即從手工計算階段、機械計算階段,一直發(fā)展到現(xiàn)今的電子計算機計算階段。電子計算機的發(fā)展常以電子器件為標(biāo)志劃分為四個階段。第一代計算機(1945年-1958年),以電子管作為邏輯元件。主要用于科學(xué)和工程計算;運算速度每秒幾千次至幾萬次。第二代計算機(1958年-1964年),以晶體管作為邏輯元件,用磁芯做主存儲器。體積縮小、功耗降低,提高了速度和可靠性;每秒運算可達幾十萬次。第三代計算機(1964年-1971年),以集成電路作為基礎(chǔ)器件。體積、功耗、價格等進一步降低;用半導(dǎo)體存儲代替了磁芯存儲器;運算速度每秒可達幾十萬次到幾百萬次;在軟件方面,操作系統(tǒng)日臻完善。計算機設(shè)計思想已逐步走向標(biāo)準(zhǔn)化、模塊化和系列化,應(yīng)用范圍更加廣泛。第四代計算機(1971年至今),采用大規(guī)模集成電路和超大規(guī)模集成電路。用集成度更高的半導(dǎo)體芯片做主存儲器;運算速度可達每秒百萬次至億次。計算機網(wǎng)絡(luò)的研究進展迅速;系統(tǒng)軟件的發(fā)展不僅實現(xiàn)了計算機運行的自動化,而且正在向智能化方向邁進;各種應(yīng)用軟件層出不窮,極大地方便了用戶?,F(xiàn)代計算機正在向以下四個方面發(fā)展。(1)巨型化:隨著科學(xué)技術(shù)發(fā)展的需要,許多部門要求計算機有更高的速度、更大的存儲容量,從而使計算機向巨型化發(fā)展。(2)微型化:計算機體積更小、重量更輕、價格更低、更便于應(yīng)用于各個領(lǐng)域,尤其是適用儀器儀表、家用電器、通信工具的數(shù)字化和智能化,工業(yè)控制的自動化等。(3)網(wǎng)絡(luò)化:計算機網(wǎng)絡(luò)是計算機技術(shù)和通信技術(shù)互相滲透、不斷發(fā)展的產(chǎn)物。計算機連網(wǎng)可以實現(xiàn)計算機之間通信和資源共享。對于社會,加速社會信息化的進程。對工業(yè)機器群或生產(chǎn)線可實現(xiàn)計算機聯(lián)網(wǎng)控制。(4)多媒體化:現(xiàn)代計算機可以集文字、聲音、圖形、圖像和視頻處理為一體,使人們面對有聲有色、圖文并茂的信息交流環(huán)境。二、微型計算機和單片機電子計算機高速發(fā)展到今天,通??煞譃榫扌蜋C、大型機、中型機、小型機和微型機五類。它們在系統(tǒng)結(jié)構(gòu)和基本工作原理方面并無本質(zhì)的區(qū)別,只是在體積、性能和應(yīng)用領(lǐng)域方面有所不同。微型計算機簡稱微機,是計算機的一個重要分類。微型計算機不但具有其它計算機快速、精確、程序控制等特點,最突出的是它還具有體積小、重量輕、功耗低、價格便宜等優(yōu)點。個人計算機簡稱PC(PersonalComputer)機,是微型計算機中應(yīng)用最為廣泛的一種,目前,它已經(jīng)像普通家用電器一樣深入到了家庭和社會生活的各個方面。圖1-6是關(guān)于微型計算機系統(tǒng)組成的示意圖。圖1-6微型計算機系統(tǒng)組成
1.微處理器微處理器就是傳統(tǒng)計算機的CPU,是集成在同一塊芯片上的具有運算和邏輯控制功能的中央處理器,它是構(gòu)成微型計算機系統(tǒng)的核心部件。2.微型計算機以微處理器為核心,再配上存儲器、輸入和輸出接口電路(簡稱I/O接口)和中斷系統(tǒng)等構(gòu)成的整體,稱為微型計算機。它們可集中裝在同一塊或數(shù)塊印刷電路板上,一般不包括外圍設(shè)備和軟件。3.微型計算機系統(tǒng)這是指以微型計算機為核心,配上輸入設(shè)備和輸出設(shè)備、電源和軟件等,構(gòu)成能獨立工作的完整計算機系統(tǒng)。軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱。人們通過它對整機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的意圖完成預(yù)定的任務(wù)。4.單片微型計算機單片微型計算機簡稱單片機。單片機是將微處理器、存儲器、I/O接口和中斷系統(tǒng)集成在同一塊芯片上,具有完整功能的微型計算機,這塊芯片就是其硬件。在實際應(yīng)用中,通常很難將單片機直接和被控對象進行電氣連接,必須外加輸入電路、輸出電路和操作開關(guān)等,才能構(gòu)成一個單片機應(yīng)用系統(tǒng)。三、計算機中的數(shù)制和碼制為了了解單片機的基本工作原理,首先簡介計算機中的數(shù)制和碼制。對計算機中的數(shù)據(jù)、地址和指令等的描述,常用到二進制數(shù)和十六進制數(shù)。(1)二進制數(shù)在計算機內(nèi)部的基本工作電路是組合邏輯電路和時序邏輯電路,是按高低電平和二進制規(guī)律工作。計算機處理和存儲的信息都是二進制信息,并以8位二進制數(shù)為一個單位,稱為一個字節(jié)(Byte,簡寫B(tài))。對于一個較大的信息,可以用若干個字節(jié)組成。以二進制數(shù)表示的數(shù)據(jù)或指令,是計算機可以直接使用的,故稱為機器數(shù),也稱機器碼。(2)十六進制數(shù)在對計算機輸入數(shù)據(jù)、指令碼時,如采用二進制數(shù),則因位數(shù)太多,使用比較麻煩。在單片機上常用十六進制數(shù)表示二進制數(shù)。十六進制數(shù)是微型計算機軟件編程時常采用的一種數(shù)制,其主要特點是:十六進制數(shù)由16個數(shù)符構(gòu)成:0、1、2、…、9、A、B、C、D、E、F,其中A、B、C、D、E、F分別代表十進制數(shù)的10、11、12、13、14、15。十六進制數(shù)進位規(guī)則是“逢十六進一”。一般在數(shù)的后面加一個字母H表示是十六進制數(shù)。8位二進制數(shù)“00000000~11111111”,可用2位十六進制數(shù)“00H~FFH”一一對應(yīng)來表示,這樣操作的位數(shù)就減少了。當(dāng)然,十六進制數(shù)進入計算機后要經(jīng)專門的電路和軟件再轉(zhuǎn)為二進制數(shù)供計算機使用。在人工輸入數(shù)據(jù)時,如果數(shù)據(jù)是十進制數(shù),一般應(yīng)先人工轉(zhuǎn)為十六進制數(shù),然后再輸入。第三節(jié)單片機的組成盡管各類單片機很多,但無論是從世界范圍或是從全國范圍來看,使用最為廣泛的應(yīng)屬Intel公司生產(chǎn)的MCS-51系列單片機。基于這一事實,下面以應(yīng)用最為廣泛的MCS-51系列8位單片機(8031、8051、8751等)為研究對象,介紹單片機的硬件結(jié)構(gòu)和工作原理。MCS-51系列又分為51和52兩個子系列,并以芯片型號的最末位數(shù)字作為標(biāo)志。其中,51子系列是基本型,而52子系列則屬增強型。MCS-51單片機的典型芯片是8031、8051、8751。8051內(nèi)部有4KBROM,8751內(nèi)部有4KBEPROM,8031內(nèi)部無ROM;除此之外,三者的內(nèi)部結(jié)構(gòu)及引腳完全相同。因此,以8051為例,說明本系列單片機的內(nèi)部組成、信號引腳和指令系統(tǒng)。一、MCS-51單片機的基本組成MCS-51單片機的基本組成如圖1-7所示,從圖中可看出,MCS-51單片機組成結(jié)構(gòu)中包含CPU、片內(nèi)存儲器、4個并行I/O口、1個串行口、2個定時器/計數(shù)器、中斷系統(tǒng)和時鐘振蕩器等功能部件。圖1-78051單片機的基本組成
1.微處理器(CPU)微處理器是單片機的核心,如前面的的圖1-6所示,其內(nèi)含運算器和控制器。運算器是計算機的運算部件,用于實現(xiàn)算術(shù)運算和邏輯運算,計算機的數(shù)據(jù)運算和處理都在這里進行。控制器是計算機的指揮控制部件,它控制計算機各部分自動、協(xié)調(diào)地工作。2.存儲器存儲器是計算機的記憶部件,用于存放程序和數(shù)據(jù)。存儲器又分為片內(nèi)存儲器和片外存儲器。片外存儲器是片內(nèi)存儲器的擴展。1KB=1024B,1MB=1024KB,1GB=1024MB存儲器可分為兩類:隨機存取存儲器RAM和只讀存儲器ROM。
3.定時/計數(shù)器8051共有2個16位的定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結(jié)果對計算機進行控制。4.并行I/O口8051共有4個8位的I/O口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入/輸出。5.串行口MCS-51單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。6.中斷控制系統(tǒng)MCS-51單片機的中斷功能較強,以滿足控制應(yīng)用的需要。8051共有5個中斷源,即外中斷兩個,定時/計數(shù)中斷兩個,串行中斷一個。全部中斷分為高級和低級共兩個優(yōu)先級別。7.時鐘電路MCS-51芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。MCS-51芯片允許的晶振頻率一般為6MHz和12MHz。從上述內(nèi)容可以看出,MCS-51雖然是一個單片機芯片,但作為計算機應(yīng)該具有的基本部件它都包括,因此,實際上它已是一個簡單的微型計算機了。8.內(nèi)部總線總線是用于傳送信息的公共途徑??偩€可分為數(shù)據(jù)總線、地址總線、控制總線。單片機內(nèi)的CPU、存儲器、I/O接口等單元部件都是通過總線連接到一起的。采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,增強系統(tǒng)靈活性。二、MCS-51單片機的信號引腳MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列如圖1-8所示。由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的,為了增加引腳的功能,有些引腳具有第二功能,帶括號的符號是第二功能符號。圖1-8MCS-51引腳排列圖
1.電源引腳VCC(40腳):芯片電源正極端,接+5V電源;VSS(20腳):芯片電源負極端或接地端。2.時鐘引腳XTAL1(19腳)和XTAL2(18腳):當(dāng)使用芯片內(nèi)部時鐘時,外接石英晶體和微調(diào)電容;采用外部振蕩器時,XTAL1接地,XTAL2為外部振蕩信號的輸入端。3.I/O口引腳8051共有4個8位的并行I/O口,即P0口、P1口、P2口、P3口。P0口:P0.0~P0.7(39~32腳),8位雙向I/O口線。此口在CPU的控制下,可以選為雙向數(shù)據(jù)總線口,可以輸出或輸入數(shù)據(jù);也可選為地址總線的低8位輸出線口。P1口:P1.0~P1.7(1~8腳),8位雙向I/O口線。僅有雙向數(shù)據(jù)總線口功能。P2口:P2.0~P2.7(28~21腳),8位雙向I/O口線。此口在CPU的控制下,可以選為雙向數(shù)據(jù)總線口;也可選為地址總線的高8位輸出線口。P3口:P3.0~P3.7(10~17腳),8位雙向I/O口線。雙向數(shù)據(jù)總線口和第二功能口。第二功能口見表1-1。
引腳第二功能符號與名稱引腳第二功能符號與名稱P3.0RXD串行數(shù)據(jù)接收端P3.4T0定時器/計數(shù)器0外部輸入端P3.1TXD串行數(shù)據(jù)發(fā)送端P3.5T1定時器/計數(shù)器1外部輸入端P3.2外部中斷0請求輸入端P3.6外部數(shù)據(jù)存儲器寫選通信號輸出端P3.3外部中斷1請求輸入端P3.7外部數(shù)據(jù)存儲器讀選通信號輸出端表1-1P3口各引腳與第二功能表4.控制信號引腳ALE/(30腳):ALE是地址鎖存控制信號。在訪問外部存儲器(RAM或ROM)時,ALE用于控制把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的固定頻率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使用。第二功能是在對8751的EPROM編程時,是編程脈沖的輸入端。
(29腳):在訪問外部程序存儲器時,此端輸出低電平,作為外部程序存儲器的讀選通信號。
/VPP(31腳):為內(nèi)部程序存儲器和外部程序存儲器的選擇控制信號。=1,訪問內(nèi)部程序存儲器,并可延至外部程序存儲器。=0,訪問外部程序存儲器。第二功能VPP是在對8751的EPROM編程時,是編程電壓(21V)的輸入端。RST/VPD(9腳):復(fù)位信號輸入端,用以完成單片機的復(fù)位初始化操作。第二功能VPD是備用電源輸入端,當(dāng)主電源VCC端口斷電期間,備用電源經(jīng)VPD端向片內(nèi)RAM供電,保證存儲在RAM中的數(shù)據(jù)不至丟失。三、存儲器和地址空間MCS-51單片機存儲器結(jié)構(gòu)采用哈佛型結(jié)構(gòu),即將程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)分開,它們有各自獨立的存儲空間、尋址機構(gòu)和尋址方式。其典型結(jié)構(gòu)如圖1-9所示。1.程序存儲器計算機的工作是按照事先編制好的程序命令序列一條條順序執(zhí)行的,程序存儲器就是用來存放這些已編好的程序和表格常數(shù),它由只讀存儲器ROM或EPROM組成。計算機為了有序地工作,設(shè)置了一個專用寄存器—程序計數(shù)器PC,用以存放將要執(zhí)行的指令地址。每取出指令的1個字節(jié)后,其內(nèi)容自動加1,指向下一字節(jié)地址,使計算機依次從程序存儲器取出指令予以執(zhí)行,完成某種程序操作。由于MCS-51單片機的程序計數(shù)器為16位,因此,可尋址的地址空間為64KB。8051程序存儲器的空間地址使用有三種方法,如圖1-9(a)所示。第一種方法:單獨使用片內(nèi)ROM。第二種方法:片內(nèi)ROM+片外ROM。第三種方法:完全使用片外ROM。MCS-51單片機有6個程序的特殊入口地址,1個單片機復(fù)位入口和5個中斷入口,如圖1-9(a)中左側(cè)所示,每一個入口有一個確定的地址。單片機上電或復(fù)位后,程序從復(fù)位入口0000H開始執(zhí)行。程序在執(zhí)行過程中,5個中斷源中如果有中斷請求,程序則轉(zhuǎn)到相應(yīng)的中斷入口地址,執(zhí)行中斷程序。圖1-98051存儲器的地址空間2.數(shù)據(jù)存儲器MCS-51單片機片內(nèi)、外數(shù)據(jù)存儲器是兩個獨立的地址空間,分別單獨編址,如圖1-9(b)所示。片內(nèi)數(shù)據(jù)存儲器分為兩部分:一部分是用戶存儲數(shù)據(jù)空間:共有128個字節(jié),地址范圍00H~7FH。內(nèi)有工作寄存器區(qū)(00H~1FH)、位尋址區(qū)(20H~2FH)和數(shù)據(jù)區(qū)存儲區(qū)(30H~7FH)。另一部分是專用寄存器空間:共有128個字節(jié),地址范圍80H~FFH,內(nèi)有特殊功能寄存器SFR。SFR呈離散分布。各有關(guān)區(qū)分述如下。(1)工作寄存器區(qū)00H~1FH存儲單元為工作寄存器區(qū)。工作寄存器也稱通用寄存器。工作寄存器分成4組,每組都有8個寄存器,用R0~R7來表示。程序中每次指令只用1組。工作寄存器用于臨時寄存8位數(shù)據(jù),常用來存放程序需要的初始數(shù)據(jù)。(2)位尋址區(qū)20H~2FH存儲單元是位尋址區(qū),即可按字節(jié)尋址,又可按位尋址。這16個單元共有16×8=128位,每一位都賦予了一個位地址,位地址編號00H~7FH,位地址編號在位尋址指令中使用。位尋址區(qū)的每一位都可當(dāng)作軟件觸發(fā)器或軟件開關(guān),由程序直接進行位處理。通常可以把各種程序狀態(tài)標(biāo)志、位控制變量存于位尋址區(qū)內(nèi)。(3)數(shù)據(jù)存儲區(qū)30H~7FH數(shù)據(jù)存儲區(qū),也是用戶RAM區(qū),共80個單元。由于工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)存儲區(qū)統(tǒng)是統(tǒng)一編址,使用同樣的指令訪問,這三個區(qū)的單元既有自己獨特的功能,又可統(tǒng)一調(diào)度使用。因此,前兩個區(qū)未使用的單元也可作為用戶RAM單元使用,使容量較小的片內(nèi)RAM得以充分利用。堆棧所需要的存儲單元由設(shè)計者在數(shù)據(jù)存儲區(qū)內(nèi)選定。(4)特殊功能寄存器特殊功能寄存器SFR專用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行I/O口、定時器/計數(shù)器、中斷系統(tǒng)等功能模塊的工作。用戶在編程時可以置數(shù)設(shè)定。在51系列單片機中,各專用寄存器(PC例外)與片內(nèi)RAM統(tǒng)一編址,每個SFR占有一個存儲單元,它們呈離散分布。尋址的方式有寄存器尋址、直接字節(jié)尋址和位尋址。特殊功能寄存器(SFR)的名稱、符號和地址見表1-2。特殊功能寄存器名稱SFR符號地址累加器ACCE0HB寄存器BF0H程序狀態(tài)字DSWD0H堆棧指針SP81H數(shù)據(jù)寄存器指針(低8位)DPL82H數(shù)據(jù)寄存器指針(高8位)DPH83HP0口鎖存器P080HPl口鎖存器P190HP2口鎖存器P2A0H表1-2特殊功能寄存器(SFR)的名稱、符號和地址P3口鎖存器P3B0H中斷優(yōu)先級控制寄存器IPB8H中斷允許控制寄存器IEA8H定時器/計數(shù)器方式選擇寄存器TMOD89H定時器/計數(shù)器控制寄存器TCON88H定時器/計數(shù)器0(高字節(jié))TH08CH定時器/計數(shù)器0(高字節(jié))TL08AH定時器/計數(shù)器1(高字節(jié))TH18DH定時器/計數(shù)器1(低字節(jié))TL18BH串行控制寄存器SCON98H串行數(shù)據(jù)緩沖器SBUF99H電源控制寄存器PCON87H片外數(shù)據(jù)存儲器一般是16位編址,51單片機可擴展片外64KB空間的數(shù)據(jù)存儲器,地址范圍為0000H~FFFFH,它與程序存儲器的地址空間是重合的,但兩者的尋址指令和控制線不同。四、并行輸入/輸出端口MCS-51有4個并行輸入/輸出端口,分別命名為P0、P1、P2、P3。每個端口都由8位數(shù)據(jù)輸出鎖存器和驅(qū)動電路、8位數(shù)據(jù)輸入緩沖器組成。每個端口的8位數(shù)據(jù)輸出鎖存器也是該端口的特殊功能寄存器,與端口的命名同名,也稱為P0、P1、P2、P3,見表1-2。CPU輸出數(shù)據(jù)可以在8位數(shù)據(jù)輸出鎖存器中鎖存,外來數(shù)據(jù)輸入可以在8位數(shù)據(jù)輸入緩沖器中得到緩沖。MCS-51單片機有不少指令可直接進行端口操作。1.P0口(P0.0~P0.7,第39~32腳)(1)P0口結(jié)構(gòu)P0口是一個三態(tài)雙向口,可作為地址/數(shù)據(jù)分時復(fù)用口,也可作為通用I/O接口。其1位的結(jié)構(gòu)原理如圖1-10中所示。圖中虛線的左側(cè)為單片機內(nèi)部電路,右側(cè)為外部電路。P0口由8個這樣的電路組成。鎖存器起輸出鎖存作用,8個鎖存器構(gòu)成了特殊功能寄存器P0;場效應(yīng)管V1、V2組成輸出驅(qū)動器,以增大帶負載能力;三態(tài)門1是引腳輸入緩沖器;三態(tài)門2用于讀鎖存器端口;與門3、反相器4及轉(zhuǎn)換開關(guān)MUX構(gòu)成了輸出控制電路。圖1-10P0口的一位結(jié)構(gòu)原理圖P0口工作原理如下:(1)作為通用I/O接口的輸出口當(dāng)CPU向端口輸出數(shù)據(jù)時,對“控制”端輸出“0”電平信號,轉(zhuǎn)換開關(guān)MUX把輸出級V1與鎖存器的端接通,同時因為與門3輸出為“0”,使V2截止,此時,輸出級是漏極開路電路。當(dāng)寫脈沖加在鎖存器時鐘端CLK上時,與內(nèi)部總線相連的D端數(shù)據(jù)取反后出現(xiàn)在端,再經(jīng)V1反相輸出,在P0引腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。圖中實箭頭線為輸出數(shù)據(jù)路徑。在輸出數(shù)據(jù)時,由于V2截止,輸出級是漏極開路電路,要使信號正常輸出,必須在P0口的引腳上外接上拉電阻,如圖1-10中虛線的右側(cè)所示。(2)作為通用I/O接口的輸入口P0口在輸入數(shù)據(jù)時,由CPU先對鎖存器的D端置“1”,此時鎖存器的端為“0”,使輸出級的兩個場效應(yīng)管V1、V2均截止,使引腳P0.x處于懸浮高阻狀態(tài)。輸入信號從引腳輸入后,經(jīng)三態(tài)門輸入緩沖器1;“讀引腳”信號使輸入緩沖器1開通,輸入信號進入內(nèi)部總線。圖中虛箭頭線為輸入數(shù)據(jù)路徑。P0口是一個準(zhǔn)雙向口。(3)作為地址/數(shù)據(jù)總線輸出在訪問片外存儲器時,需從P0口輸出地址或數(shù)據(jù)信號,CPU對“控制”端輸出高電平信號“1”,使轉(zhuǎn)換開關(guān)MUX向上,把反相器4的輸出端與V1接通,同時把與門3打開。當(dāng)?shù)刂坊驍?shù)據(jù)為“1”時,經(jīng)反相器4使V1截止,而經(jīng)與門3使V2導(dǎo)通,P0.x引腳上出現(xiàn)相應(yīng)的高電平“1”;當(dāng)?shù)刂坊驍?shù)據(jù)為“0”時,經(jīng)反相器4使V1導(dǎo)通而V2截止,引腳上出現(xiàn)相應(yīng)的低電平“0”。這樣就將地址/數(shù)據(jù)的信號輸出。P0口作為地址/數(shù)據(jù)分時復(fù)用總線時,輸出的是地址信號,還是數(shù)據(jù)信號?主要由指令決定。在同一時刻,輸出的只能是一種信號??梢苑謺r輸出兩種信號。P0口作為地址總線時,輸出的是16位地址線的低8位地址線。2.P1口(P1.0~P1.7,第1~8腳)P1口僅作為通用I/O口,其結(jié)構(gòu)比P0口簡單。把圖1-10中的與門3、反相器4、轉(zhuǎn)換開關(guān)MUX、場效應(yīng)管V2去掉。鎖存器的端直接與場效應(yīng)管V1連接;外接上拉電阻移入單片機內(nèi)部,就是P1口的結(jié)構(gòu)。P1口僅具有數(shù)據(jù)輸入/輸出功能,是一個準(zhǔn)雙向口。3.P2口(P2.0~P2.7,第28~21腳)P2口的結(jié)構(gòu)和功能與P0口基本相同,也是地址/數(shù)據(jù)分時復(fù)用口:一是作為通用I/O口,具有數(shù)據(jù)輸入/輸出功能,是一個準(zhǔn)雙向口;二是作為地址總線時,輸出的是16位地址線的高8位地址線。4.P3口(P3.0~P3.7,第10~17腳)P3口的一位結(jié)構(gòu)如圖1-11所示。P3口具有兩種功能:一是作為通用I/O口,具有數(shù)據(jù)輸入/輸出功能,是一個準(zhǔn)雙向口;二是作為第二功能使用,其原理如下:第二功能輸出原理:當(dāng)P3口的某一位作為第二功能輸出時,CPU將該位鎖存器置“1”,使與非門3的輸出狀態(tài)只受“第二功能輸出”信號控制?!暗诙δ茌敵觥毙盘柦?jīng)與非門3和場效應(yīng)管V1兩次反相后輸出到P3.x的引腳上。第二功能輸入原理:當(dāng)P3口的某一位作為第二功能輸入時,CPU將該位“第二功能輸出”和鎖存器均置“1”,場效應(yīng)管V1截止,P3.x引腳上的輸入信號經(jīng)緩沖器4進入單片機內(nèi)的相應(yīng)控制電路。P3口各引腳的第二功能見表1-3。圖1-11P3口的一位結(jié)構(gòu)
五、CPU時序單片機內(nèi)各部件之間有條不紊的協(xié)調(diào)工作,其控制信號是在一種基本脈沖節(jié)拍的指揮下按一定時間順序發(fā)出的,這些控制信號在時間上的相互關(guān)系就是CPU時序。而產(chǎn)生這種基本節(jié)拍的電路就是振蕩器和時鐘電路。1.振蕩器和振蕩周期(1)振蕩器和振蕩周期的意義振蕩器的振蕩頻率是單片機中頻率最高的、唯一的脈沖源,其振蕩周期最短。單片機中的所有控制信號脈沖、輸出數(shù)據(jù)脈沖、輸入數(shù)據(jù)脈沖(輸入轉(zhuǎn)換后)、地址脈沖、指令脈沖等都是來源于振蕩器,由振蕩器輸出的脈沖經(jīng)分頻器分頻得到。振蕩器的振蕩頻率決定單片機的工作速度,振蕩頻率越高,單片機的工作速度越高。振蕩器如果停止振蕩,單片機也就停止工作。單片機常用的振蕩器頻率為6MHz或12MHz。振蕩脈沖波形如圖1-13所示。(2)單片機振蕩器單片機內(nèi)部有一個石英振蕩器的基本電路,由于石英晶體元件和電容器不能集成到單片機內(nèi),只能外接。如圖1-12所示,外部電路與單片機的XTAL1和XTAL2引腳相連。在多單片機組成的網(wǎng)絡(luò)系統(tǒng)中,為了使各單片機之間振蕩脈沖信號同步,往往引入一個外部振蕩器的信號,外部振蕩信號從XTAL2引腳輸入。圖1-12內(nèi)部振蕩器的外部元件連接2.時鐘周期振蕩脈沖經(jīng)二分頻器分頻后,得到二倍振蕩脈沖周期的脈沖,稱為時鐘脈沖,對應(yīng)的周期稱為時鐘周期,也稱為狀態(tài)周期,用S表示。兩個振蕩周期作為兩個節(jié)拍分別稱為節(jié)拍P1和節(jié)拍P2。在狀態(tài)周期的前半周期P1有效時,通常完成算術(shù)邏輯操作;在后半周期P2有效時,一般進行內(nèi)部寄存器之間的傳輸。時鐘脈沖即S信號的波形如圖1-13所示。3.機器周期一個機器周期由6個狀態(tài)周期(12個振蕩周期)組成,6個狀態(tài)周期用S1~S6表示,每一狀態(tài)周期的兩個節(jié)拍用P1、P2表示,則一個機器周期的12個節(jié)拍就可用S1P1、S1P2、S2P1、…、S6P1、S6P2來表示。4.指令周期執(zhí)行一條指令所占用的全部時間。一個指令周期通常由1~4個機器周期組成。若外接晶振頻率為fosc=12MHZ,則四個基本周期的具體數(shù)值為:
(1)振蕩周期=1/12μs(2)時鐘周期=1/6μs(3)機器周期=1μs(4)指令周期=1~4μs單片機執(zhí)行任何一條指令都分為取指令階段和執(zhí)行指令階段。圖1-13是ALE信號與振蕩器信號、時鐘信號S的關(guān)系圖。ALE是地址鎖存控制引腳。ALE引腳上出現(xiàn)的信號是周期性的。每個機器周期ALE信號出現(xiàn)2次高電平,第一次出現(xiàn)在S1P2和S2P1期間,第二次出現(xiàn)在S24P2和S5P1期間。圖1-13ALE信號與振蕩器信號、時鐘信號的關(guān)系圖
六、復(fù)位方式單片機在開機時或在工作中因干擾而使程序失控或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機的復(fù)位靠外部電路實現(xiàn),信號由復(fù)位引腳RST輸入,高電平有效,在振蕩器工作時,只要保持RST引腳高電平兩個機器周期,單片機即復(fù)位。復(fù)位后,PC程序計數(shù)器的內(nèi)容為0000H,片內(nèi)RAM中內(nèi)容不變。復(fù)位電路一般有上電復(fù)位和手動開關(guān)復(fù)位,如圖1-14所示。圖1-14(a)為上電復(fù)位電路,上電復(fù)位是利用單片機上電初始對電容C充電,使RST引腳獲得高電平而觸發(fā)復(fù)位的。高電平觸發(fā)時間持續(xù)10ms有效。圖1-14(b)為手動復(fù)位電路,手動復(fù)位是利用短暫按壓按鈕開關(guān)給RST引腳直接施加高電平觸發(fā)復(fù)位的。此外,還有一種稱為“看門狗”的自動復(fù)位電路,需要相應(yīng)軟件支持。其基本原理是通過一個周期性觸發(fā)程序,每隔一定的時間(如1.6s),給RST引腳輸入一個大于10ms的高電平脈沖,觸發(fā)RST復(fù)位。當(dāng)主程序受干擾發(fā)生程序“跑飛”或“死循環(huán)”時,在極短的時間內(nèi)可以自動復(fù)位,不至于系統(tǒng)停機。自動復(fù)位電路特別適用干擾大、周期性循環(huán)工作的系統(tǒng)的實時監(jiān)控,如對發(fā)動機的實時監(jiān)控。圖1-14復(fù)位電路(a)上電復(fù)位電路(b)手動復(fù)位電路第四節(jié)單片機指令系統(tǒng)指令是CPU用于控制功能部件完成某一指定操作的命令。一臺單片機所具有的所有指令的集合,就構(gòu)成了指令系統(tǒng)。指令系統(tǒng)越豐富,說明CPU的功能越強。一臺單片機能執(zhí)行什么樣的操作,是在單片機設(shè)計時有硬件電路確定的。一條指令對應(yīng)著一種基本操作。不同類型的單片機有不同的機器語言。一、單片機語言單片機的指令描述形式有兩種:機器語言形式和匯編語言形式。1.機器語言由于計算機只能識別二進制數(shù),所以計算機中所有的指令和數(shù)據(jù)都是用二進制代碼來表示。用二進制代碼表示的指令稱為機器指令或機器碼,又稱為機器語言。為了書寫和輸入程序方便,機器語言的二進制代碼常用十六進制代碼表示。采用機器語言編寫的程序稱之為目標(biāo)程序。目標(biāo)程序的十六進制代碼指令經(jīng)相關(guān)的硬件電路可以轉(zhuǎn)為二進制代碼指令,直接輸入給單片機的程序存儲器運行。用機器語言在編寫程序、分析程序和輸入程序等方面效率較低。2.匯編語言由于機器語言不便被人們識別、記憶、理解和使用,因此給每條機器語言指令賦予助記符號來表示,這就形成了匯編語言。助記符號多用英文字母和數(shù)字組成。也就是說,匯編語言是便于人們識別、記憶、理解和使用的一種指令形式,它和機器語言指令一一對應(yīng),也是由計算機的硬件特性所決定的。采用匯編語言編寫的程序稱之為源程序。匯編語言在編寫程序、分析程序和輸入程序等方面效率較高。但匯編語言程序不能被單片機直接識別并執(zhí)行,必須經(jīng)過一個中間環(huán)節(jié)把它翻譯成機器語言程序,這個中間過程叫做匯編。匯編有兩種方式:機器匯編和手工匯編。手工匯編是編程員把匯編語言指令逐條翻譯成機器語言指令,然后輸入單片機。機器匯編是用專門的編譯程序,在PC計算機上進行翻譯,翻譯后的機器語言經(jīng)專用通信線路傳輸給單片機。這種方式在編寫程序、分析程序和輸入程序等方面效率較高。3.高級語言除了匯編語言,還有高級語言,如BASIC、PASCAL、C語言等,可以用來對單片機編程。高級語言接近自然語言(英語)和數(shù)學(xué)語言的算法語言,具有直觀、通用等特點。相對于高級語言,機器語言和匯編語言屬于低級語言。用低級語言編寫程序需要完全了解CPU硬件結(jié)構(gòu),對程序設(shè)計人員要求較高,且程序不能移植。但高級語言程序不能被單片機直接識別并執(zhí)行,所以也需要編譯程序?qū)⒏呒壵Z言“翻譯”為機器語言,因此用高級語言的速度慢,且占用內(nèi)存空間大。具體用哪一級語言對單片機編程和控制,由系統(tǒng)的復(fù)雜程度、所編程序的大小、機器的內(nèi)存和編程者所熟悉的語言而決定。對嵌入式單片機控制系統(tǒng),主要使用匯編語言編程,由機器語言直接控制單片機,所占內(nèi)存小,運行速度快,效果好。對有上位計算機(如PC機或工業(yè)計算機)控制、由單片機組成的控制系統(tǒng),用高級語言易于編程、調(diào)試、修改和監(jiān)控。二、MCS-51單片機指令系統(tǒng)MCS-51單片機指令系統(tǒng)共有111條指令。其中有49條單字節(jié)指令、46條雙字節(jié)指令和16條三字節(jié)指令。按功能可以劃分為以下5類:數(shù)據(jù)傳送指令(28條),算術(shù)運算指令(24條),邏輯運算指令(25條),控制轉(zhuǎn)移指令(12條),位操作指令(17條),子程序調(diào)用、返回和空操作指令(5條)。1.匯編語言指令格式:指令系統(tǒng)中的指令描述了不同的操作,不同操作對應(yīng)不同的指令。但結(jié)構(gòu)上,每條指令通常由操作碼和操作數(shù)兩部分組成。匯編語言指令格式如下:格式:[標(biāo)號:]操作碼助記符[第一操作數(shù)][,第二操作數(shù)][;注釋]2.指令常用符號(1)Rn(n=0~7):表示八個通用寄存器R0~R7。(2)Ri(i=0,1):表示兩個寄存器R0、R1,它們常在間接尋址中作為8位地址指針。(3)#data:表示8位立即數(shù),即包含在指令中的8位常數(shù),如#30H。(4)#data16:表示16位立即數(shù),即包含在指令中的16位常數(shù),如#2010H。(5)direct:表示片內(nèi)RAM(含特殊功能寄存器)的直接地址。(6)addr11:表示11位目的地址。(7)addr16:表示16位目的地址。(8)rel:表示帶符號的8位地址偏移量(9)bit:表示位地址。(10)@:作為寄存器的前綴,表示間接尋址。(11)(×):表示×存儲器單元的內(nèi)容。(12)((×)):表示以X單元的內(nèi)容為地址的存儲器單元內(nèi)容。(13)→:表示將箭頭左邊內(nèi)容送入箭頭右邊。(14)/:表示對該位操作數(shù)取反,但不影響該位的原值。3.尋址方式操作數(shù)是指令的重要組成部分,指出了參與操作的數(shù)據(jù)或數(shù)據(jù)的地址。尋找存放操作數(shù)的地址并將其提取出來的方式稱為尋址方式。一條指令采用什么樣的尋址方式,是由指令的功能決定的。尋址方式越多,指令功能就越強。MCS-51指令系統(tǒng)共使用了7種尋址方式。(1)立即尋址操作數(shù)直接出現(xiàn)在指令中,緊跟在操作碼的后面,作為指令的一部分與操作碼一起存放在程序存儲器中,可以立即得到并執(zhí)行,故稱為立即尋址。匯編指令中,在一個數(shù)的前面冠以"#"符號作前綴,就表示該數(shù)為立即尋址。例如指令:MOV
A,#30H指令中30H就是立即數(shù)。指令的功能是將立即數(shù)30H傳送到累加器A中。(2)直接尋址直接尋址是指在指令中直接給出操作數(shù)所在存儲單元的地址。該指令的功能是從該地址中直接獲取操作數(shù)。例如指令:MOVA,40H該指令中40H為操作數(shù)的直接地址。指令的功能是把片內(nèi)RAM地址為40H單元的內(nèi)容送到A中。(3)寄存器尋址寄存器尋址是指把寄存器的內(nèi)容作為操作數(shù)。寄存器可以是通用寄存器R0~R7,也可以是ACC、B、DPTR等寄存器。例如指令:MOV
A,R0該指令是寄存器尋址。指令的功能是把工作寄存器R0中的內(nèi)容傳送到累加器A中,如R0中的內(nèi)容為30H,則執(zhí)行該指令后A的內(nèi)容也為30H。(4)寄存器間接尋址在寄存器間接尋址中,指令中的一個操作數(shù)是加了前綴“@”的寄存器,“@”表示該寄存器中的內(nèi)容是操作數(shù)的地址??捎糜陂g接尋址的寄存器是R0、R1、DPTR。其中,R0和R1用于8位地址尋址,DPTR用于16位地址尋址。圖1-15是寄存器間接尋址示意圖。例如:指令:MOVA,@R0如圖1-15所示,是該指令寄存器間接尋址示意圖。該指令的功能是把寄存器R0中的內(nèi)容20H作為要尋找的地址,將內(nèi)部RAM20單元的內(nèi)容58H傳送到累加器A中,A的內(nèi)容變?yōu)?8H。
圖1-15寄存器間接尋址示意圖
(5)變址尋址(基址寄存器+變址寄存器)變址尋址是指以寄存器的內(nèi)容作為基地址,然后在這個基地址的基礎(chǔ)上加上地址偏移量形成操作數(shù)的地址,并在這個地址中取出操作數(shù)。在變址尋址中只能用DPTR和PC作為基址寄存器,累加器A作為偏移量寄存器。變址尋址用于讀取程序存儲器的數(shù)據(jù),常用于查表操作。例如:指令:MOVA,@R0圖1-16是該指令變址尋址示意圖。指令的功能是把16位數(shù)據(jù)寄存器DPTR的內(nèi)容2000H作為基址,累加器A的內(nèi)容20H作為偏移量,二者相加后作為程序存儲器ROM的地址2020H,將ROM2020H單元的內(nèi)容47H傳送到累加器A中,A的內(nèi)容變?yōu)?7H。圖1-16變址尋址示意圖(6)相對尋址相對尋址是將程序計數(shù)器PC中的當(dāng)前值與指令第二字節(jié)給出的偏移量rel相加,其結(jié)果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址。相對尋址主要用于轉(zhuǎn)移類指令,尋址范圍是程序存儲器。偏移量rel是有符號的單字節(jié)數(shù)。以補碼表示,其偏移范圍是-128~+127。負數(shù)表示從當(dāng)前地址向前轉(zhuǎn)移,正數(shù)表示從當(dāng)前地址向后轉(zhuǎn)移。所以,相對轉(zhuǎn)移指令滿足條件后,轉(zhuǎn)移的地址(目的地址)為:目的地址=指令存儲地址+指令字節(jié)數(shù)+rel(7)位尋址位尋址是指指令的操作數(shù)為8位二進制數(shù)的某一位,指令中給出的是操作數(shù)的位地址??捎糜谖粚ぶ返膮^(qū)域是片內(nèi)RAM20H~2FH單元和部分特殊功能寄存器。二、指令系統(tǒng)1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送指令把“源操作數(shù)”中的數(shù)據(jù)傳送到“目的操作數(shù)”中去,而源操作數(shù)的內(nèi)容保持不變。這類指令在程序中占有較大的比重,是最常用的操作,如表1-4所示。類別操作碼助記符操作數(shù)功能簡介機器碼指令字節(jié)機器周期片內(nèi)RAM數(shù)據(jù)傳送指令MOVA,Rn寄存器Rn內(nèi)容送AE8-EF11MOVA,direct直接地址單元內(nèi)容送AE521MOVA,@Ri間接地址單元內(nèi)容送AE6、E711MOVA,#data立即數(shù)送A74data21MOVRn,AA內(nèi)容送寄存器RnF8~FF11MOVRn,direct直接地址單元內(nèi)容送寄存器A8-AFdirect21MOVRn,#data立即數(shù)送寄存器Rn78-7Fdata21MOVdirect,AA內(nèi)容送直接地址單元F5direct21MOVdirect,Rn寄存器Rn內(nèi)容送直接地址88~8Fdirect21表1-4數(shù)據(jù)傳送指令MOVdirect1,direct2直接地址單元2內(nèi)容送直接地址單元185direct1direct232MOVdirect,@Ri間接地址單元內(nèi)容送直接地址86-87direct22MOVdirect,#data立即數(shù)送直接地址單元75directdata32MOV@Ri,AA內(nèi)容送間接地址單元@RiF6-F711MOV@Ri,direct直接地址送間接地址單元@RiA6-A7direct22MOV@Ri,#data立即數(shù)送間接地址單元@Ri76-77data21MOVDPTR,#data1616位立即數(shù)送數(shù)據(jù)指針90data15-8data7-032片外RAM數(shù)據(jù)傳送指令MOVXA,@Ri外部間接地址單元(8位地址)@Ri內(nèi)容送AE2-E312MOVX@Ri,AA內(nèi)容送外部間接地址單元@Ri(8位地址)F2-F312MOVXA,@DPTR外部間接地址單元@DPTR(16位地址)內(nèi)容送AE012MOVX@DPTR,AA內(nèi)容送外部間接地址單元@DPTR(16位地址)F012查表指令MOVCA,@A+PCA+PC尋址程序單元內(nèi)容送A8312MOVCA,@A+DPTRA+DPTR尋址程序單元內(nèi)容送A9312交換指令XCHA,RnA和寄存器Rn交換內(nèi)容C8-CF11XCHA,direct直接地址和A交換內(nèi)容C5direct21XCHA,@RiA和間接地址單元@Ri交換內(nèi)容C6-C711XCHDA,@RiA和間接地址單元@Ri低4位交換內(nèi)容D6-D711堆棧指令PUSHdirect直接地址內(nèi)容單元進棧C0direct22POPdirect堆棧內(nèi)容到直接地址D0direct22(1)片內(nèi)RAM數(shù)據(jù)傳送指令MCS-51片內(nèi)RAM和特殊功能寄存器各個存儲單元之間的數(shù)據(jù)交換,通常用MOV指令操作。例如指令“MOVA,R1;”指令助記符:MOVA,R1;指令注釋:操作碼目的操作數(shù)源操作數(shù)指令中MOV是操作碼,第一個操作數(shù)A是目的操作數(shù),第二個操作數(shù)R1是源操作數(shù)。數(shù)據(jù)傳送指令的的功能是把源操作數(shù)中的數(shù)據(jù)傳送給目的操作數(shù)所代表的存儲單元。如果A內(nèi)的數(shù)據(jù)是07H,R1內(nèi)的數(shù)據(jù)是C4H,執(zhí)行該指令后,R1的數(shù)據(jù)傳送給A,A內(nèi)的數(shù)據(jù)就變?yōu)镃4H,R1內(nèi)的數(shù)據(jù)不變,仍是C4H。16條片內(nèi)RAM數(shù)據(jù)傳送指令中,15條是8位數(shù)據(jù)傳送指令,1條是16位立即數(shù)傳送指令,用來給16位數(shù)據(jù)指針寄存器DPTR賦值。(2)片外RAM數(shù)據(jù)傳送指令CPU與片外RAM或I/O口進行數(shù)據(jù)傳送,必須采用寄存器間接尋址的方法,通過累加器A來完成,指令操作碼助記符是MOVX。[例1.1]將片外RAM2000H單元內(nèi)容送入片內(nèi)RAM20H單元中,注意各條指令的尋址方式。程序如下:MOVDPTR,#2000H;將片外16位地址以立即數(shù)傳送給數(shù)據(jù)指針DPTRMOVXA,@DPTR;將片外2000H單元內(nèi)容傳送給累加器AMOV20H,A;將A內(nèi)容傳送給20H單元(3)查表指令訪問程序存儲器的數(shù)據(jù)傳送指令又稱作查表指令,采用基址寄存器加變址寄存器間接尋址方式,把程序存儲器中存放的表格數(shù)據(jù)讀出,傳送到累加器A。查表指令操作碼助記符為MOVC。指令“MOVCA,@A+DPTR”的功能,是將累加器A的值與DPTR的值相加得到一個16位的地址,并將該地址指向的程序存儲器單元的內(nèi)容送入累加器A中。[例1.2]從片外程序存儲器2000H單元開始存放0~9的平方值,以DPTR為基址寄存器進行查表得7的平方值。程序如下:MOVDPTR,2000H;將表的首地址2000H傳送給數(shù)據(jù)指針DPTRMOVA,07H;將數(shù)值7傳送給累加器AMOVCA,@A+DPTR;將09H+2000H=2009H單元的平方值傳送給A平方值表所在片外程序存儲器地址(表中平方值用十進制數(shù)表示)
2000H:00;2001H:01;2002H:04;2003H:09;2004H:16;2005H:25;2006H:36;2007H:49;2008H:64;2009H:81;在發(fā)動機電控技術(shù)中,多數(shù)控制值是通過查表獲得,例如點火提前角的確定,在一定負荷下,發(fā)動機轉(zhuǎn)速越高,點火提前角越大。單片機得到發(fā)動機轉(zhuǎn)速后,通過查表獲得點火提前角。一臺新設(shè)計出來的發(fā)動機,不同工況下的最佳點火提前角是在反復(fù)試驗后得來的,然后以表的形式存入程序存儲器中。(4)交換指令XCH指令是將源操作數(shù)的值與目的操作數(shù)累加器A的值全字節(jié)交換;XCHD指令是將源操作數(shù)與目的操作數(shù)累加器A低4位內(nèi)容交換,而高4位不變;[例1.3]設(shè)(A)=47H,(R0)=58H,(58H)=36H,分別執(zhí)行下列指令,寫出累加器A和各寄存器的值。指令 執(zhí)行結(jié)果①XCHA,R0 ;(A)=58H,(R0)=47H②XCHA,@R0 ;(A)=36H,(58H)=47H③XCHDA,@R0;(A)=46H,(58H)=37H(5)堆棧指令堆棧是在片內(nèi)數(shù)據(jù)儲存區(qū)中開辟的一端相對固定,一端活動的存儲空間,活動端稱為棧頂,固定端稱為棧底,所有數(shù)據(jù)的存入和取出都從棧頂進行。堆棧主要用于進行數(shù)據(jù)保護,存取數(shù)據(jù)依據(jù)“先進后出,后進先出”的原則。堆棧操作有進棧和出棧,即壓入和彈出數(shù)據(jù)。2.算術(shù)運算指令算術(shù)指令包括加、減、乘、除法指令,數(shù)據(jù)運算功能較強。如表1-5所示。算術(shù)運算結(jié)果存放在目的操作數(shù)所代表的單元內(nèi)。
表1-5算術(shù)運算類指令
類別助記符操作數(shù)功能簡介機器碼指令字節(jié)機器周期不帶進位加法指令A(yù)DDA,RnA和寄存器相加28-2F11ADDA,directA和直接地址相加25direct21ADDA,@RiA和間接地址RAM單元相加26-2711ADDA,#dataA和立即數(shù)相加24data21帶進位加法指令A(yù)DDCA,RnA和寄存器帶進位相加38-3F11ADDCA,directA和直接地址帶進位相加35direct21ADDCA,@RiA和間接地址單元帶進位相加36-3711ADDCA,#dataA和立即數(shù)帶進位相加34data21減法指令SUBBA,RnA減去寄存器帶借位98-9F11SUBBA,directA減去直接地址帶借位95direct21SUBBA,@RiA減去間接地址單元帶借位96-9711SUBBA,#dataA減去立即數(shù)帶借位94data21加1指令I(lǐng)NCAA加10411INCRn寄存器加108-0F11INCdirect直接地址單元加105direct21INC@Ri間接地址單元加106-0711INCDPTR數(shù)據(jù)指針加1A312減1指令DECRn寄存器減118-1F11DECdirect直接地址單元減115direct21DECAA減11411DEC@Ri間接RAM減116-1711乘除指令MULABA和B相乘A414DIVABA和B相除8414調(diào)整指令DAA二-十進制調(diào)整D411(1)不帶進位加法指令A(yù)DD是不帶進位的加法運算指令,其功能是將累加器A的內(nèi)容與源操作數(shù)的內(nèi)容相加,結(jié)果送入累加器A中,源操作數(shù)指定單元的內(nèi)容不變。該指令執(zhí)行結(jié)果影響標(biāo)志位CY、OV、AC、P。兩個數(shù)相加時,可通過對CY的檢測判斷運算結(jié)果是否有進位,如果最高位有進位時,CY為1,否則為0。(2)帶進位的加法指令A(yù)DDC是帶進位的加法運算指令,其功能是同時把源操作數(shù)所指出的內(nèi)容、進位標(biāo)志CY和累加器A的內(nèi)容相加,結(jié)果存入累加器A中。ADDC指令一般用于多字節(jié)加法運算,在多字節(jié)加法運算中,低字節(jié)加法結(jié)果可能產(chǎn)生進位,用ADDC指令可使高字節(jié)相加的同時加上低字節(jié)的進位。該指令執(zhí)行結(jié)果影響標(biāo)志位CY、OV、AC、P。(3)帶借位減法指令
SUBB是帶借位減法運算指令,其功能是將累加器A中內(nèi)容減去源操作數(shù)的內(nèi)容及借位CY的值,結(jié)果送入累加器A中。該指令影響標(biāo)志位CY、OV、AC、P。(4)加1指令
INC是加1指令,其功能是將操作數(shù)的內(nèi)容加1。指令除影響奇偶標(biāo)志位P外,不會對其他任何標(biāo)志位產(chǎn)生影響。[例1.4]設(shè)(A)=07H,(R0)=19H,(50H)=3FH,分別執(zhí)行下列指令,寫出執(zhí)行結(jié)果。指令 執(zhí)行結(jié)果①INCA;使A內(nèi)容由07H變?yōu)?H②INCR0;使R0的內(nèi)容由19H變?yōu)?AH③INC58H;使50H單元內(nèi)容由3FH變?yōu)?0H(5)減1指令DEC是減1指令,其功能是將操作數(shù)的內(nèi)容減1。與INC指令相同,僅影響奇偶標(biāo)志位P。(6)乘法指令MUL是乘法指令,其功能是將累加器A的內(nèi)容和寄存器B的內(nèi)容相乘,結(jié)果是16位二進制數(shù)。其中高8位保存在寄存器B中,低8位保存在累加器A中。若乘積大于0FFH,溢出標(biāo)志OV=1,否則為0。[例1.5]設(shè)(A)=50H(80),B=80H(128),執(zhí)行指令:MULAB。結(jié)果為:(B)=28H,(A)=00H,表示積(BA)=2800H(10240),
OV=1。(7)除法指令DIV除法指令,其功能是用累加器A的內(nèi)容(被除數(shù))除以寄存器B的內(nèi)容(除數(shù))。指令執(zhí)行后,商保存在累加器A中,余數(shù)保存在寄存器B中。相除之后,標(biāo)志位CY一定為0,OV只是在除數(shù)B=0時為1,其他情況下都為0。(8)十進制調(diào)整指令DA是一條對累加器A中的BCD碼進行調(diào)整的指令。應(yīng)用時必須跟在ADD或ADDC指令后面。因為當(dāng)兩個壓縮的BCD碼按二進制作加法運算時,其結(jié)果不一定是壓縮的BCD碼,所以必須用DA指令進行調(diào)整,實現(xiàn)十進制的加法運算。3.邏輯運算指令邏輯運算指令可分為四類:對字節(jié)變量的邏輯與、或、異或操作,對累加器A單獨邏輯操作和移位等操作。指令中的操作數(shù)都是8位,它們在進行邏輯運算操作時都不影響除奇偶標(biāo)志外的其他標(biāo)志位。如表1-6所示。類別助記符操作數(shù)功能簡介機器碼指令字節(jié)機器周期邏輯與指令A(yù)NLA,RnA和寄存器相與58-5F11ANLA,directA和直接地址單元相與55direct21ANLA,@RiA和間址單元相與56-5711ANLA,#dataA和立即數(shù)相與54data21ANLdirect,A直接地址單元與A相與52direct21ANLdirect,#data直接地址單元與立即數(shù)相與53directdata32邏輯或指令ORLA,RnA和寄存器相或48-4F11ORLA,directA和直接地址單元相或45direct21ORLA,@RiA和間址單元相或46-4711ORLA,#dataA和立即數(shù)相或44data21ORLdirect,A直接地址單元與A相或42direct21ORLdirect,#data直接地址單元與立即數(shù)相或43directdata32表1-6邏輯運算與循環(huán)指令邏輯異或指令XRLA,RnA和寄存器相異或68-6F11XRLA,directA和直接地址單元相異或65direct21XRLA,@RiA和間址單元相異或66-6711XRLA,#dataA和立即數(shù)相異或64data21XRLdirect,A直接地址單元與A相異或62direct32XRLdirect,#data直接地址單元與立即數(shù)相異或63directdata11單對A指令CLRAA清零E411CPLAA求反F411SWAPA累加器A半字節(jié)交換C411循環(huán)移位指令RLAA不帶進位左循環(huán)2311RLCAA帶進位左循環(huán)3311RRAA不帶進位右循環(huán)0311RRCAA帶進位右循環(huán)1311(1)邏輯與指令邏輯與指令的操作碼是ANL,“與”指令是將源操作數(shù)與目的操作數(shù)按位相與,其結(jié)果送入目的操作數(shù)中?!芭c”指令可以屏蔽操作數(shù)的某些位,即使操作數(shù)某些位清零,其他位保持不變。(2)邏輯或指令邏輯或指令的操作碼是ORL,“或”指令是將源操作數(shù)與目的操作數(shù)按位相或,其結(jié)果送入目的操作數(shù)中?!盎颉敝噶羁梢允共僮鲾?shù)的數(shù)據(jù)位置1,即使操作數(shù)某些位置1,其他位保持不變。(3)邏輯異或指令邏輯異或指令的操作碼是XRL,“異或”指令是將源操作數(shù)與目的操作數(shù)按位相異或,即不同為1,相同為0,其結(jié)果送入目的操作數(shù)。“異或”指令可以使操作數(shù)的數(shù)據(jù)位取反,即使操作數(shù)某些位取反,其他位保持不變。清零指令“CLRA”是將累加器A的內(nèi)容清零。取反指令“CPLA”是將累加器A的內(nèi)容按位取反,即累加器A中各位1變0,0變1。半字節(jié)交換指令“SWAPA”是將累加器A的兩個半字節(jié)(高4位和低4位)內(nèi)容交換。(5)循環(huán)移位指令循環(huán)移位指令有4種,都是對累加器A進行操作。這組移位指令只能對累加器A的內(nèi)容逐位移一位,若要移多位,則要通過編寫程序完成。①左循環(huán)移位指令“RLA”的功能是將累加器A的內(nèi)容左循環(huán)移位。如圖1-17所示,累加器A的最高位移入最低位,同時其他各位依次左移。圖1-17左循環(huán)移位指令示意圖
②帶進位左循環(huán)移位指令“RLCA”的功能是將累加器A的內(nèi)容和進位標(biāo)志一起左循環(huán)移位。累加器A的最高位移入進位位CY,同時其他各位依次左移,CY位移入累加器A的最低位。③右循環(huán)移位指令“RRA”和“RRCA”與左循環(huán)移位指令功能相同,只是移位方向向右。4.控制轉(zhuǎn)移指令控制轉(zhuǎn)移類指令包括無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令,如表1-7所示。類別助記符操作數(shù)功能簡介機器碼指令字節(jié)機器周期無條件轉(zhuǎn)移指令A(yù)JMPaddr11絕對轉(zhuǎn)移&0addr7-022LJMPaddr16長轉(zhuǎn)移02addr15-8addr7-032SJMPrel相對轉(zhuǎn)移80rel22JMP@A+DPTR間接轉(zhuǎn)移7312判A轉(zhuǎn)移指令JZrelA=0轉(zhuǎn)移60rel22JNZrelA≠0轉(zhuǎn)移70rel22表1-7控制轉(zhuǎn)移指令減1不為0轉(zhuǎn)移指令DJNZRn,rel寄存器Rn減1不為0轉(zhuǎn)移D8-DFrel22DJNZdirect,rel直接地址單元減1不為0轉(zhuǎn)移D5directrel32比較不相等轉(zhuǎn)移指令CJNEA,#data,relA與立即數(shù)比較不相等轉(zhuǎn)移B4datarel32CJNEA,direct,relA與直接地址單元比較不相等轉(zhuǎn)移B5datarel32CJNERn,#data,rel寄存器與立即數(shù)比較不相等轉(zhuǎn)移B8-BFdatarel32CJNE@Ri,#data,rel間接地址單元與立即數(shù)比較不相等轉(zhuǎn)移B6-B7datarel32(1)無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令是指當(dāng)程序執(zhí)行到這條指令時,程序?qū)o條件地轉(zhuǎn)移到指令指向的地址單元取指運行?!癆JMPaddr11”為11位地址短轉(zhuǎn)移指令?!癓JMPaddr16”為16位地址長轉(zhuǎn)移指令?!癝JMPrel”為相對轉(zhuǎn)移指令。rel是帶符號的8位地址偏移量?!癑MP@A+DPTR”為間接相對長轉(zhuǎn)移指令,它是以數(shù)據(jù)指針DPTR的內(nèi)容為基址,以累加器A的內(nèi)容為相對偏移量,在64KB范圍內(nèi)無條件轉(zhuǎn)移。用它可實現(xiàn)分支轉(zhuǎn)移。(2)判零條件轉(zhuǎn)移指令JZ指令的功能是判斷累加器A的值。若累加器A的值為0,則程序轉(zhuǎn)移到目標(biāo)地址;否則,順序執(zhí)行程序。JNZ指令的功能是判斷累加器A的值。若累加器A的值不為0,則程序轉(zhuǎn)移到目標(biāo)地址;否則,順序執(zhí)行程序。(3)減1條件轉(zhuǎn)移指令
DJNZ這組指令的功能是先將操作數(shù)的內(nèi)容減1,然后判斷結(jié)果,如果不為0,則轉(zhuǎn)移到目標(biāo)地址;為0
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版兒童托管所合伙人經(jīng)營管理協(xié)議示范文本3篇
- 二零二五版新能源汽車電池回收利用服務(wù)協(xié)議4篇
- 二零二五年度打樁工程信息化管理合同規(guī)范范本3篇
- 2025年鮮蛋電商運營與數(shù)據(jù)分析合作協(xié)議3篇
- 二零二五年礦山承包經(jīng)營資源節(jié)約利用協(xié)議3篇
- 2025年度煤礦企業(yè)員工勞動合同范本(含加班補貼計算標(biāo)準(zhǔn))4篇
- 基于二零二五年度技術(shù)的香港電子合同制造成本降低協(xié)議3篇
- 個人電商運營服務(wù)合同2024年度3篇
- erp合同管理系統(tǒng)
- 2025年度無人機精準(zhǔn)定位服務(wù)采購合同文本3篇
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語版:中國文化概論之中國的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護理匯報
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)四 引起受眾傳播內(nèi)容要素的掌控
- 繪本《汪汪的生日派對》
- 助產(chǎn)護理畢業(yè)論文
評論
0/150
提交評論