51單片機(jī)的硬件與工作原理_第1頁
51單片機(jī)的硬件與工作原理_第2頁
51單片機(jī)的硬件與工作原理_第3頁
51單片機(jī)的硬件與工作原理_第4頁
51單片機(jī)的硬件與工作原理_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)系統(tǒng)設(shè)計(jì) 第第1講、講、51單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 第第2講、單片機(jī)的講、單片機(jī)的C語言設(shè)計(jì)語言設(shè)計(jì) 第第3講、講、51單片機(jī)的片內(nèi)系統(tǒng)單片機(jī)的片內(nèi)系統(tǒng) 第第4講、單片機(jī)的系統(tǒng)擴(kuò)展講、單片機(jī)的系統(tǒng)擴(kuò)展 課程及要求1、課程的地位課程模塊功能模塊使用內(nèi)部寄存器邏輯結(jié)構(gòu)硬件結(jié)構(gòu)微機(jī)原理CPU內(nèi)部CPU內(nèi)部CPU內(nèi)部CPU內(nèi)部CPU內(nèi)部接口技術(shù)接口芯片連接接口芯片接口芯片單片機(jī)BothBothBothBothBothEDA對(duì)象方法典型例初級(jí)板塊繪原理圖仿真設(shè)計(jì)PCBProtel基本編程芯片以上加編程仿真調(diào)試MCU/CPLD/FPGA/DSP高級(jí)定制芯片編程(硬件)仿真調(diào)試專

2、用工作站課程及要求2、基本要求:明確基本結(jié)構(gòu)讀懂程序懂簡單接口會(huì)編寫簡單程序會(huì)進(jìn)行簡單設(shè)計(jì)、一般要求:能夠根據(jù)網(wǎng)上的芯片資料進(jìn)行接口設(shè)計(jì)能夠根據(jù)用戶提出的要求設(shè)計(jì)并開發(fā)簡單儀器設(shè)備能根據(jù)新單片機(jī)的說明書進(jìn)行設(shè)計(jì)課程及要求、學(xué)習(xí)方法理論聯(lián)系實(shí)際設(shè)計(jì)實(shí)際項(xiàng)目動(dòng)手制作項(xiàng)目、課程安排見首頁。 微型計(jì)算機(jī)系統(tǒng)基本知識(shí)微型計(jì)算機(jī)系統(tǒng)基本知識(shí) 1-1 概述 1-2 微型計(jì)算機(jī)基礎(chǔ) 第一章第一章 微型計(jì)算機(jī)系統(tǒng)基本知識(shí)微型計(jì)算機(jī)系統(tǒng)基本知識(shí) 1-1 1-1 概述概述 一、電子計(jì)算機(jī)一、電子計(jì)算機(jī) 以存儲(chǔ)程序的方式、自動(dòng)地進(jìn)行算術(shù)和邏輯運(yùn)算 的數(shù)字電子裝置稱電子計(jì)算機(jī) 1、 19461946年年2 2月月151

3、5日日,世界上第一臺(tái)數(shù)字式電子計(jì)算機(jī) 是在美國費(fèi)城賓夕法尼亞大學(xué)賓夕法尼亞大學(xué)莫爾學(xué)院研制成功并運(yùn)行,名為(ENIAC)(ENIAC)。19551955年年1010月月切斷電源。 從公元10世紀(jì)中國古代的算盤到現(xiàn)代計(jì)算機(jī)的問世經(jīng)歷了一個(gè)漫長的階段。 2、 ENIAC: 5千次/秒,18000個(gè)電子管 電子管式晶體管式中小規(guī)模集成電路 1946 1958 1965 大、超大規(guī)模集成電路(微機(jī)時(shí)代) 四代。 1971 Intel4004: 6萬次/秒,2300只/342 3、 引例: (1)硬件: 基本組成:運(yùn)算器、控制器、存儲(chǔ)器、運(yùn)算器、控制器、存儲(chǔ)器、 輸入輸入/ /輸出設(shè)備及接口輸出設(shè)備及接

4、口。 馮 諾依曼結(jié)構(gòu) 中心思想是存儲(chǔ)程序原則:存儲(chǔ)程序原則: 指令和數(shù)據(jù)一起以二進(jìn)制的形式存放在指令和數(shù)據(jù)一起以二進(jìn)制的形式存放在存儲(chǔ)器中。存儲(chǔ)器中。 由 計(jì) 算 機(jī) 之 父 美 籍 匈 牙 利 數(shù) 學(xué) 家馮 諾依曼1945年3月提出,標(biāo)志著電子計(jì)算機(jī)時(shí)代的真正開始。 結(jié)構(gòu)如圖1-1所示: (2)軟件 是計(jì)算機(jī)上運(yùn)行的程序,是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件,是人的思維結(jié)果人的思維結(jié)果,它總是要通過某種物理介質(zhì)來存儲(chǔ)和表示的。其分類如下: 二、微機(jī)二、微機(jī) (1) (1) 中央處理器中央處理器Central Processing Unit-CPU-CPU 負(fù)責(zé)取指,執(zhí)指,實(shí)現(xiàn)操作的核心部件

5、,包括運(yùn)算器運(yùn)算器和控制器控制器兩大組成部分。 如果中央處理器的電路集成在一片或少數(shù)幾片大 規(guī) 模 集 成 電 路 芯 片 上 , 就 成 為 微 處 理 器微 處 理 器(MPU)。 (2) (2) 微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng) 以微處理器為核心,加配存儲(chǔ)部件和輸入輸出部件而成為微型計(jì)算機(jī)。 以微型計(jì)算機(jī)為基礎(chǔ),加上外圍設(shè)備、電源、系統(tǒng)軟件等就構(gòu)成微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)系統(tǒng) 微機(jī)系統(tǒng)的組成可小結(jié)如下: * 獨(dú)立使用式微機(jī):PC機(jī) * 嵌入式微機(jī): (1) 單片機(jī):CPU、存儲(chǔ)器、I/O接口等集成在 一 塊硅片上 (2) 單板機(jī):CPU、存儲(chǔ)器、I/O接口等裝配在 一

6、塊電路板 (3) 多板機(jī):CPU、存儲(chǔ)器、I/O接口等分做在 多塊電路板上 1971年,美國Intel公司研制出了Intel4004微處理器芯片,以它為核心的MCS-4計(jì)算機(jī),由該公司年輕工程師馬西安霍夫研制,標(biāo)志了世界上第一臺(tái)微機(jī)的誕生,至今,已經(jīng)歷了五代經(jīng)歷了五代: 第一代:19711973,4位和低檔8位機(jī),典型代表 Intel4004,Intel8008。 第二代:19741978,中檔8位機(jī),典型代表 Intel8080,MC6800,ZILOGZ80 APPLE 6502等。 第三代:19781981,16位機(jī),1981年,IBM公司 推出了以Intel8088為CPU的PC個(gè)人電

7、腦。 第四代:19811992,32位微機(jī),如 Intel80386,Motorola MC68020 第五代:1993至今,64位微機(jī),奔騰微處理器芯片 三、單片機(jī)概述三、單片機(jī)概述 單片微型計(jì)算機(jī):單片微型計(jì)算機(jī):Single-Chip Microcomputer Single-Chip Microcomputer One-Chip Microcomputer One-Chip Microcomputer 在一片芯片上集成CPU、存儲(chǔ)器、I / O接口等組成一臺(tái)完整的微型計(jì)算機(jī)。 單片機(jī)作為工業(yè)控制和數(shù)據(jù)處理的計(jì)算機(jī),也被稱為“微控制器”、 “微處理器”(Micro-controller,

8、 Micro-processor)。 主要有:4位、8位、16位、32位等 從1974年12月,仙童(仙童(Fairchild)公司)公司首先推出8位單片機(jī)F8,采用: 雙片形式F8(8位CPU64RAM2個(gè)并行I/O口)3851(1K ROM定時(shí)器/計(jì)數(shù)器2個(gè)并行I/O)。 至今經(jīng)歷四代: 第一代:197478,典型代表如Intel公司的MCS-48型 8位單片機(jī),采用8位CPU、2個(gè) I/O口、8位 定時(shí)器/計(jì)數(shù)器、64 RAM/ 1K ROM、簡單 中斷,尋址小于4K,且無串行口。第二代:197883,高檔8位單片機(jī),如MCS-51, MC6801,Zilog公司的Z8等。 增加功能:串

9、行I/O、多級(jí)中斷、16定時(shí)/計(jì) 數(shù)器、片內(nèi)RAM/ROM增大,尋址64K,片內(nèi) 帶A/D轉(zhuǎn)換器接口。 第三代:198390年代初,16位單片機(jī)出現(xiàn),如MCS- 96系列的8096、8098芯片。增加性能:16位CPU,R A M / R O M 增 大 , 中 斷 能 力 增 強(qiáng) 、 A / D 、 HSIO等 第四代:90年代至今,高檔16位產(chǎn)品和32位產(chǎn)品的出現(xiàn),如80196,MC8300等,性能、速度大大 提高。 是Intel公司的8位系列單片機(jī),包括51和52兩個(gè)子系列。兩者的區(qū)別在于52子系列片內(nèi)ROM、RAM的容量翻倍,定時(shí)計(jì)數(shù)器增加到3個(gè)。 單片機(jī)的供貨狀態(tài): 片內(nèi)無ROM型:

10、單片機(jī)片內(nèi)無ROM,價(jià)格便宜,使用時(shí)必須另外配置程序存儲(chǔ)器EPROM,實(shí)際上已成為8751。如8031、8032、80C31 片內(nèi)ROM型:單片機(jī)片內(nèi)帶有掩膜ROM,用戶無法更改其程序。如8051、8052,用于大規(guī)模專用產(chǎn)品。 片內(nèi)EPROM型:單片機(jī)片內(nèi)帶有EPROM,用戶通過高壓脈沖可寫入程序,如8751、8752 1-2 1-2 微型計(jì)算機(jī)基礎(chǔ)微型計(jì)算機(jī)基礎(chǔ) 返回 一、微機(jī)的三總線結(jié)構(gòu)一、微機(jī)的三總線結(jié)構(gòu) 總線:微機(jī)系統(tǒng)中各部件和模塊之間用于傳送信息的一組公 用導(dǎo)線。一般包括,數(shù)據(jù)總線、地址總線和控制總線。 地址:內(nèi)存由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元(字節(jié))有一個(gè)用于區(qū)分的編號(hào),稱為地

11、址,一般用十六進(jìn)制數(shù)表示。 微機(jī)的總線結(jié)構(gòu) 傳送數(shù)據(jù),雙向,CPU的位數(shù)和外部數(shù)據(jù)總線的位數(shù)一致。而數(shù)據(jù)可能是指令代碼、狀態(tài)量或控制量,也可能是真正的數(shù)據(jù)。: 傳送CPU發(fā)出的地址信息,單向,寬度(線數(shù)目)決定了CPU的可尋址范圍。 例如:2根地址線,可尋址22=4個(gè)字節(jié)單元; 16根地址線,可尋址216=64K字節(jié)單元;: 傳送使微機(jī)協(xié)調(diào)工作的定時(shí)、控制信號(hào),雙向,但對(duì)于每一條具體的控制線,都有固定的功能。控制線數(shù)目受芯片引腳數(shù)量的限制。 8位微機(jī)的DB總是8位,AB總是16位,而CB的數(shù)目則隨機(jī)型不同而不同二、微處理器的基本結(jié)構(gòu)二、微處理器的基本結(jié)構(gòu) 微處理器(CPUCPU)是微型計(jì)算機(jī)的

12、核心,內(nèi)部采用單總線結(jié)構(gòu),由運(yùn)算器和控制器兩大部分組成。 微處理器典型結(jié)構(gòu)如下圖所示。 (1)算術(shù)邏輯單元ALU (arithmetic logic unit) 是運(yùn)算器的主要組成部分,是一個(gè)純粹的運(yùn)純粹的運(yùn)算部件,沒有寄存功能算部件,沒有寄存功能。 (2)累加器A (Accumulator) 是CPU中使用最忙的關(guān)鍵寄存器最忙的關(guān)鍵寄存器。ALU進(jìn)行運(yùn)算時(shí)一個(gè)操作數(shù)必需來自累加器,同時(shí)也是運(yùn)算結(jié)果的寄存場(chǎng)所。 (3)標(biāo)志寄存器F(Flag) 存放微機(jī)執(zhí)行一條指令后所處狀態(tài)的信息。不同的計(jì)算機(jī),標(biāo)志有所不同。 常用的標(biāo)志有:C、AC、OV、P等。 (4)暫存寄存器TR (temp regist

13、er) 用來存放參加ALU運(yùn)算的另一個(gè)操作數(shù),該操作數(shù)必須先暫存在TR中,以免數(shù)據(jù)發(fā)生沖突。 (5)地址和數(shù)據(jù)緩沖器(ABuffer、DBuffer) 協(xié)調(diào)CPU與存儲(chǔ)器、I/O接口電路之間在運(yùn)行速度、工作周期等方面必然存在的差異。 (6)寄存器陣列(RA)(register array) 包括通用寄存器和專用寄存器兩種。通用寄存器組:作為CPU內(nèi)部的小容量高速存儲(chǔ)器, 用來存放一些中間數(shù)據(jù),以減少CPU 對(duì)存儲(chǔ)器的頻繁訪問 專用寄存器組:PC、SP、F、AB、DB等。 完成指令譯碼,并發(fā)出各個(gè)操作的控制信號(hào), 主要包括如下部件: (1)程序計(jì)數(shù)器PC(program counter) 存放要

14、讀取的指令所在地址的專用寄存器。具有計(jì)數(shù)(加1)和接受轉(zhuǎn)移地址的二種功能。 (2)指令寄存器IR (instruction register) 存放CPU從ROM中取出的正要被執(zhí)行的指令,使整個(gè)分析執(zhí)行的過程,一直在該指令的控制下,而指令的操作碼送ID,指令中的操作數(shù),一般為參加運(yùn)算的地址,被送到地址緩沖寄存器。 (3)指令譯碼器ID (instruction decoded) 接收IR送來的操作碼并譯碼,生成與指令相應(yīng)的特定操作的啟動(dòng)啟動(dòng)信息。 (4)定時(shí)控制邏輯PLA(programmable logic array) 又稱可編程邏輯陣列。ID送出的電平信號(hào)與外部時(shí)鐘脈沖在該電路中組合,形

15、成各種內(nèi)部CON信號(hào)和外部控制信號(hào)。 它完成指令的執(zhí)行有兩種實(shí)現(xiàn)方式: (a)微程序控制:微存儲(chǔ)元中保持微碼,每一個(gè)微碼對(duì)應(yīng)于一個(gè)最基本的微操作,又稱微指令。指令譯碼以后,通過執(zhí)行由這些微碼確定的若干個(gè)微操作,即可完成某條指令的執(zhí)行。 (b)邏輯硬布線控制:指令譯碼后,控制器通過不同的邏輯門的組合,發(fā)出不同序列的控制時(shí)序信號(hào),直接去執(zhí)行一條指令中的各個(gè)操作。 一條指令的執(zhí)行過程包括取指和執(zhí)指取指和執(zhí)指兩個(gè)階段。 指令執(zhí)行前,首先要一條指令的地址送到程序計(jì)數(shù)器PC中,然后開始執(zhí)行指令。具體過程如下:例如:執(zhí)行指令 MOV A,#05H 機(jī)器碼為: 第一單元74H(指令碼);第二單元05H(數(shù)據(jù)碼

16、) 三、三、 存儲(chǔ)器及其讀寫原理存儲(chǔ)器及其讀寫原理 (1)位(bit)、字節(jié)(Byte)、字(Word)、雙字(DW)。 1B=8bit;1KB=1024B;1MB=1024KB;1GB=1024MB (2)字長:計(jì)算機(jī)每個(gè)字所包含的二進(jìn)制數(shù)碼的位數(shù)。通常國際上以微處理器芯片外部數(shù)據(jù)總線的位數(shù)來確定計(jì)算機(jī)的字長。 (3)內(nèi)存:存放當(dāng)前運(yùn)算所需的程序和數(shù)據(jù),容量較小、存取速度快,設(shè)在微機(jī)內(nèi)部。多數(shù)為MOS電路組成的半導(dǎo)體存儲(chǔ)器,如RAM、ROM、EPROM、EEPROM。 (4)外存:存放大量暫時(shí)不直接參與運(yùn)算的程序和數(shù)據(jù),可成批轉(zhuǎn)入內(nèi)存。在微機(jī)中,一般為磁盤、光盤等。、 計(jì)算機(jī)有兩種存儲(chǔ)結(jié)構(gòu):

17、 哈 佛結(jié)構(gòu):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開。 普林斯頓結(jié)構(gòu):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并。 單片機(jī)為哈佛結(jié)構(gòu) RAM存儲(chǔ)器由三部分:存儲(chǔ)體、地址譯碼器和存儲(chǔ)體、地址譯碼器和 控制電路控制電路。ROM結(jié)構(gòu)類似,區(qū)別在于只能作讀選通。 注意 : (1)對(duì)于8位地址,可表示256個(gè)單元; (2)每個(gè)單元可存放8位二進(jìn)制數(shù); (3)注意單元內(nèi)容與地址的區(qū)別; 存儲(chǔ)器工作過程如下:CPU地址地址譯碼器選中單元由CPU發(fā)出的“讀”或“寫”命令。例如: 讀操作讀操作:讀02H單元內(nèi)容 1)02H由AB 地址譯碼 找到02號(hào)單元; 2)CPU發(fā)出“讀”信號(hào); 3)(02H)=A3H(讀出的數(shù)據(jù)) D-BUS。 4

18、)A3H 指定寄存器 寫操作寫操作:數(shù)據(jù)#F7H 03H單元中; 1)03H由AB 地址譯碼 找到03號(hào)單元; 2)CPU將F7H送到D-BUS上 3)CPU發(fā)出“寫”信號(hào); 4)#F7H (03H) 四、輸入四、輸入/輸出設(shè)備及其接口輸出設(shè)備及其接口: 簡稱外設(shè),功能是為微機(jī)提供具體的輸入輸出 手段。標(biāo)準(zhǔn)的I/O設(shè)備系指鍵盤和顯示器。: 由于各種外設(shè)的工作速度、驅(qū)動(dòng)方式工作速度、驅(qū)動(dòng)方式差別很大, 無法與無法與CPU直接匹配直接匹配,而需要一個(gè)接口電路來充當(dāng) 它們與CPU間的橋梁,起轉(zhuǎn)換、協(xié)調(diào)作用。What is “single chip Microcomputer”1 computer19

19、46.6 匈牙利 馮.諾依曼 提出的電子計(jì)算機(jī)概念 程序控制程序控制 存儲(chǔ)程序存儲(chǔ)程序 馮.諾依曼 提出的電子計(jì)算機(jī)結(jié)構(gòu) 運(yùn)算器運(yùn)算器 (ALU) 控制器控制器 (Controller) 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備 (Memory) 輸入設(shè)備輸入設(shè)備 (Input) 輸出設(shè)備輸出設(shè)備 (Output)What is “single chip Microcomputer”2 單片機(jī)的歷史單片機(jī)的歷史 探索階段(70年代中期): Intel/Motorola /Zilog代表:Mcs48 single chip Microcomputer 完善階段(70年代后期) :Mcs51系列:Bus、外圍SFR集中管

20、理、位地址、突出控制功能的指令Microcontrollers(80年代) : ADC/DAC/WDT/PWM/高速IO微控制器的全面發(fā)展階段(90年代) :Embedded SystemssoftwareWhat is “single chip Microcomputer”3 單片機(jī)的結(jié)構(gòu)單片機(jī)的結(jié)構(gòu) 掌握結(jié)構(gòu)的要求層次:各結(jié)構(gòu)模塊的功能各結(jié)構(gòu)模塊的使用、內(nèi)部寄存器內(nèi)部邏輯結(jié)構(gòu)、內(nèi)部硬件結(jié)構(gòu)OscillatorCPUSFRRAMCTCInterruptSIOPIOROMWDTADCDACPWMDTMFVoiceLCDWhat is “single chip Microcomputer”4 單

21、片機(jī)的分類單片機(jī)的分類位數(shù):1bit、 4bit、8bit、 16bit、 32bit問題:微機(jī)的位數(shù)由什么決定?總線形式:內(nèi)部總線是否共用(half)專用通用:如電話、鍵盤、洗衣機(jī)51 / PIC/OP8/MC68HC廠家:Atmel、Philips、Motorola、Microchip、NS、Zilog、Winbond、 Emc51(P2):8031(無ROM)8051(掩膜ROM)8751(EPROM)52增加一個(gè)定時(shí)計(jì)數(shù)器、一個(gè)中斷源、128Byte RAM、4KByte ROM89C51、89C52、89C2051、1051、2054 (flashROM)單片機(jī)的用途單片機(jī)的用途用途

22、廣泛:測(cè)量、控制、軍用、工業(yè)、民用、玩具多個(gè)領(lǐng)域特點(diǎn):智能/交互/廉價(jià)/開發(fā)方便與PLC、DSP、FPGA、Computer 比較二、單片機(jī)的開發(fā)開發(fā)過程1 應(yīng)用問題的提出: 爐溫自動(dòng)控制要求T-t 水平保溫 升溫 降溫2 初步分析 水平保溫 不用CPU 多段控制 選用單片機(jī)3 總體設(shè)計(jì)(初步框圖)預(yù)置值輸入、保存、采樣運(yùn)算、顯示、控制4 分各部分進(jìn)行設(shè)計(jì)和實(shí)驗(yàn)具體軟硬件5 總體制作 調(diào)試6 文件資料整理二、單片機(jī)的開發(fā)2、開發(fā)工具資料軟件仿真1) 機(jī)器語言、匯編語言和高級(jí)語言2) 源程序、目標(biāo)程序和程序匯編硬件仿真(仿真器)編程器第第1 1章章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工

23、作原理1.1、存儲(chǔ)器 ROM、RAM、SFR/片內(nèi)、片外1.2、定時(shí)計(jì)數(shù)器功能、內(nèi)部結(jié)構(gòu)、SFR、使用1.3、中斷系統(tǒng)功能、內(nèi)部結(jié)構(gòu)、SFR、使用1.4、輸入輸出端口P0-P3用途、并口內(nèi)部結(jié)構(gòu)及使用、串口SFR及使用1.5、時(shí)鐘、復(fù)位與其它引腳時(shí)鐘周期、工作周期、引腳接線、功能、復(fù)位狀態(tài)2.4 存儲(chǔ)器結(jié)構(gòu)和地址空間存儲(chǔ)器結(jié)構(gòu)和地址空間單片微機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):一種是在通用微型單片微機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):一種是在通用微型計(jì)算機(jī)中廣泛采用的將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),計(jì)算機(jī)中廣泛采用的將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓(稱為普林斯頓(Princeton)結(jié)構(gòu);

24、另一種是將程序存儲(chǔ)器和)結(jié)構(gòu);另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(Haryard)結(jié)構(gòu)。)結(jié)構(gòu)。Intel的的MCS51和和80C51系列單片微機(jī)采用哈佛系列單片微機(jī)采用哈佛結(jié)構(gòu)。圖結(jié)構(gòu)。圖29為為80C51單片微機(jī)存儲(chǔ)器映象圖。單片微機(jī)存儲(chǔ)器映象圖。 在物理上設(shè)有在物理上設(shè)有4個(gè)存儲(chǔ)器空間個(gè)存儲(chǔ)器空間 程序存儲(chǔ)器:程序存儲(chǔ)器: 片內(nèi)程序存儲(chǔ)器;片內(nèi)程序存儲(chǔ)器; 片外程序存儲(chǔ)器。片外程序存儲(chǔ)器。 數(shù)據(jù)存儲(chǔ)器:數(shù)據(jù)存儲(chǔ)器: 片內(nèi)數(shù)據(jù)存儲(chǔ)器;片內(nèi)數(shù)據(jù)存儲(chǔ)器; 片外數(shù)據(jù)存儲(chǔ)器。片外數(shù)據(jù)存儲(chǔ)器。圖圖29 80C51單片微機(jī)存

25、儲(chǔ)器映象圖單片微機(jī)存儲(chǔ)器映象圖 第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理1.1、存儲(chǔ)器、存儲(chǔ)器程序存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器片外60K1000-FFFF專用寄存器0080-00FF 64K(0000-FFFF)片內(nèi)4K0000-0FFF片外4K0000-0FFF片內(nèi)RAM0000-007F51單片機(jī)的存儲(chǔ)器各存儲(chǔ)器的作用RAM:保存數(shù)據(jù)SFR:工作、接口、定時(shí)器映射ROM:保存程序51系統(tǒng)存儲(chǔ)結(jié)構(gòu)FFH80H專用寄存器區(qū)(SFR)7FH30H用戶 RAM區(qū)(堆棧,數(shù)據(jù)緩沖)2FH20H可位尋址區(qū)(位地址00FH)1FH18H第0工作寄存器區(qū)17H10H第0工

26、作寄存器區(qū)0FH08H第0工作寄存器區(qū)07H00H第0工作寄存器區(qū)FFH80H用戶 RAM區(qū)位尋址區(qū)存儲(chǔ)結(jié)構(gòu)符號(hào) 地址 功能介紹 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序狀態(tài)字 IP B8H 中斷優(yōu)先級(jí)控制寄存器 P3 F0H P3口鎖存器 IE A8H 中斷允許控制寄存器 P2 A0H P2口鎖存器 SBUF 99H 串行口鎖存器 SCON 98H 串行口控制寄存器 P1 90H P1口鎖存器 TH1 8DH 定時(shí)器/計(jì)數(shù)器1(高8位) 符號(hào) 地址 功能介紹 TL18BH 定時(shí)器/計(jì)數(shù)器1(低8位) TH0 8CH 定時(shí)器/計(jì)數(shù)器0(高8位) TL0 8AH 定時(shí)器

27、/計(jì)數(shù)器0(低8位) TMOD 89A 定時(shí)器/計(jì)數(shù)器方式控制寄存器 TCON 88H 定時(shí)器/計(jì)數(shù)器控制寄存器 DPH 83H 數(shù)據(jù)地址指針(高8位) DPL 82H 數(shù)據(jù)地址指針(低8位) SP 81H 堆棧指針 P0 80H P0口鎖存器 PCON 87H 電源控制寄存器 1. ACC:累加器,通常用A表示。不能從名字上理解,它是一個(gè)寄存器,而不是一個(gè)做加法的東西,為什么給它這么一個(gè)名字呢?或許是因?yàn)樵谶\(yùn)算器做運(yùn)算時(shí)其中一個(gè)數(shù)一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍后我們將學(xué)到指令,可以發(fā)現(xiàn),所有的運(yùn)算類指令都離不開它。2、B:一個(gè)寄存器。在做乘、除法時(shí)放乘數(shù)或除數(shù),不做乘

28、除法時(shí),隨你怎么用。 3、DPTR(DPH、DPL):數(shù)據(jù)指針,可以用它來訪問外部數(shù)據(jù)存儲(chǔ)器中的任一單元,如果不用,也可以作為通用寄存器來用,由我們自已決定如何使用。 4、PSW:程序狀態(tài)字。這是一個(gè)很重要的東西,里面放了CPU工作時(shí)的很多狀態(tài),借此,我們可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。它的各位功能如下: D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P(1)CY:進(jìn)位標(biāo)志。8051中的運(yùn)算器是一種8位的運(yùn)算器,我們知道,8位運(yùn)算器只能表示到0-255,如果做加法的話,兩數(shù)相加可能會(huì)超過255,這樣最高位就會(huì)丟失,造成運(yùn)算的錯(cuò)誤,怎么辦?最

29、高位就進(jìn)到這里來。這樣就沒事了。例:78H+97H(01111000+10010111)(2)AC:半進(jìn)位標(biāo)志。 例:57H+3AH(01010111+00111010)(3)F0:用戶標(biāo)志位,由我們(編程人員)決定什么時(shí)候用,什么時(shí)候不用。(4)RS1、RS0:工作寄存器組選擇位。這個(gè)我們已知了。 (5)OV:溢出標(biāo)志位。(6)P:奇偶校驗(yàn)位:它用來表示ALU運(yùn)算結(jié)果中二進(jìn)制數(shù)位“1”的個(gè)數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。例:某運(yùn)算結(jié)果是78H(01111000),顯然1的個(gè)數(shù)為偶數(shù),所以P=0。5、P0、P1、P2、P3:這個(gè)我們已經(jīng)知道,是四個(gè)并行輸入/輸出口的寄存器。它里面的內(nèi)

30、容對(duì)應(yīng)著管腳的輸出。 6、PC: 程序計(jì)數(shù)器.7、SP:堆棧指針?!跋冗M(jìn)后出,后進(jìn)先出”第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.5、引腳等、引腳等二、時(shí)鐘、復(fù)位時(shí)鐘周期、機(jī)器周期、復(fù)位狀態(tài)第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.5、引腳等、引腳等二、時(shí)鐘、復(fù)位時(shí)鐘周期、機(jī)器周期、復(fù)位狀態(tài)第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.5、引腳等、引腳等二、時(shí)鐘、復(fù)位時(shí)鐘周期、機(jī)器周期、復(fù)位狀態(tài)第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.5、引腳等、引腳等二、時(shí)鐘、復(fù)位時(shí)鐘

31、周期、機(jī)器周期、復(fù)位狀態(tài)一、以ALU為中心的運(yùn)算器 二、以定時(shí)控制邏輯為中心的控制器 三、可編程的輸入輸出口線 四、存儲(chǔ)器空間程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器嚴(yán)格分開,專用寄存器與數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址是單片機(jī)與一般微機(jī)芯片不同的兩個(gè)特點(diǎn) 還有定時(shí)計(jì)數(shù)器、中斷系統(tǒng)、串行口、模擬比較器、看門狗電路等 第第1 1章章 5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理1.1、存儲(chǔ)器、存儲(chǔ)器問題:1、 8031/51/52 單片機(jī)有哪些存儲(chǔ)器,容量多少?各自的作用。2、如何訪問不同種類的存儲(chǔ)器?3、RAM中分為哪幾個(gè)區(qū)間?4、工作寄存器R0-R7如何與RAM地址對(duì)應(yīng)?5、位地址與字節(jié)地址的區(qū)分,RAM中的位地址

32、對(duì)應(yīng)。6、SFR中與CPU有關(guān)的有哪些?7、PSW中的C/AC/OV/P,以及Z與運(yùn)算的關(guān)系。2.5.1 P0口口 P0口是一個(gè)多功能的口是一個(gè)多功能的8位口,可以字節(jié)訪問也可位訪問,位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為其字節(jié)訪問地址為80H,位訪問地址為,位訪問地址為80H87H。 位結(jié)構(gòu)位結(jié)構(gòu) P0口位結(jié)構(gòu)原理圖如下圖所示。口位結(jié)構(gòu)原理圖如下圖所示。 圖圖211P0口位結(jié)構(gòu)原理圖口位結(jié)構(gòu)原理圖 P0口中一個(gè)多路開關(guān):多路開關(guān)的輸入有兩個(gè),地址口中一個(gè)多路開關(guān):多路開關(guān)的輸入有兩個(gè),地址數(shù)據(jù)輸出;輸出鎖存器的輸出數(shù)據(jù)輸出;輸出鎖存器的輸出/Q。多路開關(guān)的輸出用于控。多路開關(guān)的輸出用

33、于控制輸出制輸出FET Q0的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。號(hào)控制。 P0口的輸出上拉電路導(dǎo)通和截止受內(nèi)部控制信號(hào)和地址口的輸出上拉電路導(dǎo)通和截止受內(nèi)部控制信號(hào)和地址數(shù)據(jù)信號(hào)共同(相數(shù)據(jù)信號(hào)共同(相“與與”)來控制。)來控制。 當(dāng)內(nèi)部信號(hào)置當(dāng)內(nèi)部信號(hào)置1時(shí),多路開關(guān)接通地址數(shù)據(jù)輸出端。時(shí),多路開關(guān)接通地址數(shù)據(jù)輸出端。當(dāng)?shù)刂窋?shù)據(jù)輸出線置當(dāng)?shù)刂窋?shù)據(jù)輸出線置1時(shí),控制上拉電路的時(shí),控制上拉電路的“與與”門輸出為門輸出為1,上拉上拉FET導(dǎo)通,同時(shí)地址數(shù)據(jù)輸出通過反相器輸出導(dǎo)通,同時(shí)地址數(shù)據(jù)輸出通過反相器輸出0,控制,控制下拉下拉FET截止,這樣

34、截止,這樣A點(diǎn)電位上拉,地址數(shù)據(jù)輸出線為點(diǎn)電位上拉,地址數(shù)據(jù)輸出線為1。當(dāng)?shù)刂窋?shù)據(jù)輸出線置當(dāng)?shù)刂窋?shù)據(jù)輸出線置0時(shí),時(shí),“與與”門輸出為門輸出為0,上拉,上拉FET截止,截止,同時(shí)地址數(shù)據(jù)輸出通過反相器輸出同時(shí)地址數(shù)據(jù)輸出通過反相器輸出1,控制下拉,控制下拉FET導(dǎo)通,導(dǎo)通,這樣這樣A點(diǎn)電位下拉,地址數(shù)據(jù)輸出線為點(diǎn)電位下拉,地址數(shù)據(jù)輸出線為0。此時(shí)的輸出狀態(tài)隨地址數(shù)據(jù)線而變。因此,此時(shí)的輸出狀態(tài)隨地址數(shù)據(jù)線而變。因此,P0口可以作為口可以作為地址地址/數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩個(gè)數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩個(gè)FET處于反相,構(gòu)成處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增加。此時(shí)的了推拉

35、式的輸出電路,其負(fù)載能力大大增加。此時(shí)的P0口相口相當(dāng)一個(gè)雙向口。當(dāng)一個(gè)雙向口。 當(dāng)內(nèi)部信號(hào)置當(dāng)內(nèi)部信號(hào)置0時(shí),多路開關(guān)接通輸出鎖存器的時(shí),多路開關(guān)接通輸出鎖存器的/Q/Q端端這時(shí)明顯地可以看出兩點(diǎn):這時(shí)明顯地可以看出兩點(diǎn):由于內(nèi)部控制信號(hào)為由于內(nèi)部控制信號(hào)為0,與門關(guān)閉,上拉,與門關(guān)閉,上拉FET截止,形成截止,形成P0口口的輸出電路為漏極開路輸出。的輸出電路為漏極開路輸出。 輸出鎖存器的輸出鎖存器的Q端引至下拉端引至下拉FET柵極,因此柵極,因此P0口的輸出狀態(tài)由口的輸出狀態(tài)由下拉電路決定。下拉電路決定。 在在P0口作輸出口用時(shí),若口作輸出口用時(shí),若P0i輸出輸出1,輸出鎖存器的,輸出鎖存

36、器的Q端為端為0,下拉下拉FET截止,這時(shí)截止,這時(shí)P0i為漏極開路輸出;若為漏極開路輸出;若P0i輸出輸出0,輸,輸出鎖存器的出鎖存器的Q端為端為1,下拉,下拉FET導(dǎo)通,導(dǎo)通,P0i輸出低電平。輸出低電平。 在在P0口作輸入口用時(shí),為了使口作輸入口用時(shí),為了使P0i能正確讀入數(shù)據(jù),必須先能正確讀入數(shù)據(jù),必須先使使P0.i置置1。這樣,下拉。這樣,下拉FET也截止,也截止,P0i處于懸浮狀態(tài)。處于懸浮狀態(tài)。A點(diǎn)點(diǎn)的電平由外設(shè)的電平而定,通過輸入緩沖器讀入的電平由外設(shè)的電平而定,通過輸入緩沖器讀入CPU。這時(shí)。這時(shí)P0口相當(dāng)于一個(gè)高阻抗的輸入口??谙喈?dāng)于一個(gè)高阻抗的輸入口。 P0口的功能口的功

37、能 作作IO口使用口使用 相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩沖,但輸入時(shí)需相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩沖,但輸入時(shí)需先將口置先將口置1;每根口線可以獨(dú)立定義為輸入或輸出。它具有雙向口;每根口線可以獨(dú)立定義為輸入或輸出。它具有雙向口的一切特點(diǎn)。的一切特點(diǎn)。 與其它口的區(qū)別是,輸出時(shí)為漏極開路輸出,與與其它口的區(qū)別是,輸出時(shí)為漏極開路輸出,與NMOS的電路的電路接口時(shí)必須要用電阻上拉,才能有高電平輸出;輸入時(shí)為懸浮狀接口時(shí)必須要用電阻上拉,才能有高電平輸出;輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻抗的輸入口。態(tài),為一個(gè)高阻抗的輸入口。 作地址數(shù)據(jù)復(fù)用總線用作地址數(shù)據(jù)復(fù)用總線用 此時(shí)此時(shí)P0口

38、為一個(gè)準(zhǔn)雙向口。但是有上拉電阻,作數(shù)據(jù)輸入口為一個(gè)準(zhǔn)雙向口。但是有上拉電阻,作數(shù)據(jù)輸入時(shí),口也不是懸浮狀態(tài)。作地址數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)時(shí),口也不是懸浮狀態(tài)。作地址數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)總線用時(shí),輸入輸出總線用時(shí),輸入輸出8位數(shù)據(jù)位數(shù)據(jù)D0D7;作地址總線用時(shí),;作地址總線用時(shí),輸出低輸出低8位地址位地址A0A7。當(dāng)。當(dāng)P0口作地址數(shù)據(jù)復(fù)用總線用之口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作后,就再也不能作IO口使用了??谑褂昧恕?P1口是一個(gè)口是一個(gè)8位口,可以字節(jié)訪問也可按位訪問,其字節(jié)訪問位口,可以字節(jié)訪問也可按位訪問,其字節(jié)訪問地址為地址為90H,位訪問地址為,位訪問地址為90H97H。

39、位結(jié)構(gòu)和工作原理位結(jié)構(gòu)和工作原理 P1口的位結(jié)構(gòu)如下圖所示??诘奈唤Y(jié)構(gòu)如下圖所示。 包含輸出鎖存器、輸入緩沖器包含輸出鎖存器、輸入緩沖器BUF1(讀引腳)、(讀引腳)、BUF2(讀鎖存(讀鎖存器)以及由器)以及由 FET晶體管晶體管 Q0與上拉電阻組成的輸出輸入驅(qū)動(dòng)器。與上拉電阻組成的輸出輸入驅(qū)動(dòng)器。 P1口的工作過程分析如下:口的工作過程分析如下: P1.i位作輸出口用時(shí):位作輸出口用時(shí):CPU輸出輸出0時(shí),時(shí),D0,Q0,Ql,晶體管晶體管Q0導(dǎo)通,導(dǎo)通,A點(diǎn)被下拉為低電平,即輸出點(diǎn)被下拉為低電平,即輸出0;CPU輸出輸出1時(shí),時(shí),Dl,Q1,Q0,晶體管,晶體管Q0截止,截止,A點(diǎn)被上拉

40、為高電平,即點(diǎn)被上拉為高電平,即輸出輸出l。2.5.2 P1口口圖圖212 P1口位結(jié)構(gòu)原理圖口位結(jié)構(gòu)原理圖 P1i位作輸入口用時(shí):先向位作輸入口用時(shí):先向P1i位輸出高電平,使位輸出高電平,使A點(diǎn)提點(diǎn)提升為高電平,此操作稱為設(shè)置升為高電平,此操作稱為設(shè)置P1i為輸入線。若外設(shè)輸入為為輸入線。若外設(shè)輸入為1時(shí)時(shí)A點(diǎn)為高電平,由點(diǎn)為高電平,由BUFI讀入總線后讀入總線后B點(diǎn)也為高電平;若外設(shè)點(diǎn)也為高電平;若外設(shè)輸入為輸入為0時(shí)時(shí)A點(diǎn)為低電平,由點(diǎn)為低電平,由BUF1讀入總線后讀入總線后B點(diǎn)也為低電平點(diǎn)也為低電平。 、 P1口的特點(diǎn)口的特點(diǎn) 輸出鎖存器,輸出時(shí)沒有條件;輸出鎖存器,輸出時(shí)沒有條件;

41、 輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸入狀態(tài),輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出先輸出1; 工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。輸出態(tài)。 具有這種特性的口不屬于具有這種特性的口不屬于“真正真正”的雙向口,而被稱為的雙向口,而被稱為“準(zhǔn)準(zhǔn)”雙向口。雙向口。 P1口的操作口的操作 字節(jié)操作和位操作字節(jié)操作和位操作 CPU對(duì)于對(duì)于 P1口不僅可以作為一個(gè)口不僅可以作為一個(gè) 8位口(字節(jié))來操作,也位口(字節(jié))來操作,也可以按位來操作??梢园次粊聿僮?。 有關(guān)字節(jié)操作的指令有:有關(guān)字節(jié)操作的指令有:

42、輸出:輸出: MOV P1,A ;P1A MOV P1,data ;P1data MOV P1,direct ;P1direct 輸入:輸入: MOV A,P1 ;AP1 MOV direct,Pl ;directPl有關(guān)位操作的指令有:有關(guān)位操作的指令有: 置位、清除:置位、清除:SETB P1.i ;P1.i1 CLR Pli ;P1i0 輸入、輸出:輸入、輸出:MOV P1i,C ;P1iCY MOV C,P1i ;CYP1.i 判跳:判跳: JBP1i,rel ;P1.i=1,跳轉(zhuǎn),跳轉(zhuǎn) JBC P1i,rel ;P1.i1,跳轉(zhuǎn)且,跳轉(zhuǎn)且;清;清P1.i0 邏輯運(yùn)算:邏輯運(yùn)算: AN

43、L C,P1i ;CY(P1.iCY) ORL C,P1i ;CY(P1.iCY) P1i中的中的i0,7。 P1口不僅可以以口不僅可以以8位一組進(jìn)行輸入、輸出操作,還可以逐位一組進(jìn)行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。例如:位分別定義各口線為輸入線或輸出線。例如:ORLP1,0 0 0 0 0 0 1 0 B使使P1l位口線輸出位口線輸出l,而使其余各位不變。,而使其余各位不變。 ANL P1,1 1 1 1 1 1 0 1 B使使P11位線輸出位線輸出0,而使其余各位不變。,而使其余各位不變。 讀引腳操作和讀鎖存器操作讀引腳操作和讀鎖存器操作 從從P1口的位結(jié)構(gòu)圖中可

44、以看出,有兩種讀口的操作:一種口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。是讀引腳操作,一種是讀鎖存器操作。 在響應(yīng)在響應(yīng)CPU輸出的讀引腳信號(hào)時(shí),端口本身引腳的電平值輸出的讀引腳信號(hào)時(shí),端口本身引腳的電平值通過緩沖器通過緩沖器BUF1進(jìn)入內(nèi)部總線。這種類型的指令,執(zhí)行之前進(jìn)入內(nèi)部總線。這種類型的指令,執(zhí)行之前必須先將端口鎖存器置必須先將端口鎖存器置1,使,使A點(diǎn)處于高電平,否則會(huì)損壞引點(diǎn)處于高電平,否則會(huì)損壞引腳,而且也使信號(hào)無法讀出。腳,而且也使信號(hào)無法讀出。 這種類型的指令有:這種類型的指令有: MOV A,P1 ;AP1 MOV direct,P1

45、;directP1 在執(zhí)行讀鎖存器的指令時(shí),在執(zhí)行讀鎖存器的指令時(shí),CPU首先完成將鎖存器的值通過首先完成將鎖存器的值通過緩沖器緩沖器BUF2讀入內(nèi)部,進(jìn)行修改,然后重新寫到鎖存器中去,讀入內(nèi)部,進(jìn)行修改,然后重新寫到鎖存器中去,這就是這就是“讀一修改一寫讀一修改一寫”指令。指令。這種類型的指令包含所有的口的邏輯操作(這種類型的指令包含所有的口的邏輯操作(ANL、ORL、XRL)和位操作)和位操作(JBC、CPL、MOV、SETB、CLR等)指令。等)指令。 P1口的多功能線口的多功能線 在在80C52中,中,P10和和P11口線是多功能的,即除作一口線是多功能的,即除作一般雙向般雙向I/O口

46、線之外,這兩根口線還具有下列功能:口線之外,這兩根口線還具有下列功能: P10T2的外部輸入端的外部輸入端T2; P11T2的外部控制端的外部控制端T2EX。 P2口是一個(gè)多功能的口是一個(gè)多功能的8位口,可以字節(jié)訪問也可位訪問,其位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為字節(jié)訪問地址為A0H,位訪問地址為,位訪問地址為A0HA7H。 P2口位結(jié)構(gòu)和工作原理口位結(jié)構(gòu)和工作原理 P2口位結(jié)構(gòu)原理圖如下所示??谖唤Y(jié)構(gòu)原理圖如下所示。 多路開關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸出端多路開關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸出端Q;一個(gè)是地址寄存器(一個(gè)是地址寄存器(PC或或DPTR)的高位輸出

47、端。多路開關(guān)的)的高位輸出端。多路開關(guān)的輸出經(jīng)反相器反相后去控制輸出輸出經(jīng)反相器反相后去控制輸出FET的的 Q0。多路開關(guān)的切換。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。由內(nèi)部控制信號(hào)控制。輸出鎖存器的輸出端是輸出鎖存器的輸出端是Q而不是而不是Q,多路開關(guān)之后需接反相器。,多路開關(guān)之后需接反相器。 2.5.3 P2口口圖圖213 P2口位結(jié)構(gòu)原理圖口位結(jié)構(gòu)原理圖 P2口的工作狀態(tài)是口的工作狀態(tài)是I/O口狀態(tài)??跔顟B(tài)。 在內(nèi)部控制信號(hào)的作用下,多路開關(guān)的輸入投向輸出鎖存在內(nèi)部控制信號(hào)的作用下,多路開關(guān)的輸入投向輸出鎖存器的輸出器的輸出Q(C點(diǎn))側(cè),這樣多路開關(guān)將接通輸出鎖存器。點(diǎn))側(cè),這樣多路開關(guān)將接

48、通輸出鎖存器。 若經(jīng)由內(nèi)部總線輸出若經(jīng)由內(nèi)部總線輸出0,輸出鎖存器的,輸出鎖存器的Q端為端為0,信號(hào)經(jīng)多路,信號(hào)經(jīng)多路開關(guān)和反相器后輸出開關(guān)和反相器后輸出1,Q0導(dǎo)通,導(dǎo)通,A點(diǎn)為點(diǎn)為0,輸出低電平;若,輸出低電平;若經(jīng)由內(nèi)部總線輸出經(jīng)由內(nèi)部總線輸出1,輸出鎖存器的,輸出鎖存器的Q端為端為1,反相器后輸出,反相器后輸出0,Q0截止,截止,A點(diǎn)為點(diǎn)為1 ,輸出高電平。,輸出高電平。 P2口的工作狀態(tài)是輸出高口的工作狀態(tài)是輸出高8位地址。位地址。在內(nèi)部控制信號(hào)的作用下,多路開關(guān)的輸入投向地址輸出(在內(nèi)部控制信號(hào)的作用下,多路開關(guān)的輸入投向地址輸出(B點(diǎn))側(cè),這樣多路開關(guān)將接通地址寄存器輸出。點(diǎn))側(cè)

49、,這樣多路開關(guān)將接通地址寄存器輸出。A點(diǎn)的電平將點(diǎn)的電平將隨地址輸出的隨地址輸出的0、1而而0、1地變化。地變化。 P2口的功能口的功能 從上述工作過程的分析中可以看出從上述工作過程的分析中可以看出P2口是一個(gè)雙功能的口是一個(gè)雙功能的口:口: 作作IO口使用時(shí),口使用時(shí),P2口為一準(zhǔn)雙向口??跒橐粶?zhǔn)雙向口。 作地址輸出時(shí),作地址輸出時(shí),P2口可以輸出程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)口可以輸出程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器的高器的高8位地址,與位地址,與P0輸出的低地址一起構(gòu)成輸出的低地址一起構(gòu)成16位地址線,從位地址線,從而可分別尋址而可分別尋址64KB的程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。地址線的程序存儲(chǔ)器或片

50、外數(shù)據(jù)存儲(chǔ)器。地址線是是8位一起自動(dòng)輸出的。位一起自動(dòng)輸出的。 P2口使用中注意的問題口使用中注意的問題 由于由于P2口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲(chǔ)口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,輸出的高器讀、寫選通期間,輸出的高8位地址是鎖存的,故無需外加位地址是鎖存的,故無需外加地址鎖存器。地址鎖存器。 在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問片外程序存儲(chǔ)器在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問片外程序存儲(chǔ)器的連續(xù)不斷的取指操作,的連續(xù)不斷的取指操作,P2口需要不斷送出高位地址,這時(shí)口需要不斷送出高位地址,這時(shí)P2口的全部口線均不宜再作口的全部口線均不宜再作I/O

51、口使用??谑褂?。 在無外接程序存儲(chǔ)器而有片外數(shù)據(jù)存儲(chǔ)器的系統(tǒng)中,在無外接程序存儲(chǔ)器而有片外數(shù)據(jù)存儲(chǔ)器的系統(tǒng)中,P2口使口使用可分為兩種情況:用可分為兩種情況: 若片外數(shù)據(jù)存儲(chǔ)器的容量若片外數(shù)據(jù)存儲(chǔ)器的容量256 B:可使用:可使用“MOVX A,Ri”及及“MOVX Ri,A”類指令訪問片外數(shù)據(jù)存儲(chǔ)器,這時(shí)類指令訪問片外數(shù)據(jù)存儲(chǔ)器,這時(shí)P2口口不輸出地址,不輸出地址,P2口仍可作為口仍可作為I/O口使用;口使用; 若片外數(shù)據(jù)存儲(chǔ)器的容量若片外數(shù)據(jù)存儲(chǔ)器的容量256 B:這時(shí)使用:這時(shí)使用“MOVX A,DPTR”及及“MOVXDPTR,A”類指令訪問片外數(shù)據(jù)存儲(chǔ)器,類指令訪問片外數(shù)據(jù)存儲(chǔ)器,P

52、2口需輸出高口需輸出高8位地址。在片外數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,位地址。在片外數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,P2口引腳上鎖存高口引腳上鎖存高8位地址信息,但是在選通結(jié)束后,位地址信息,但是在選通結(jié)束后,P2口內(nèi)口內(nèi)原來鎖存的內(nèi)容又重新出現(xiàn)在引腳上。原來鎖存的內(nèi)容又重新出現(xiàn)在引腳上。 使用使用“MOVX A,Ri”及及“MOVX Ri,A”類訪問指類訪問指令時(shí),高位地址通過程序設(shè)定,只利用令時(shí),高位地址通過程序設(shè)定,只利用P1、P3甚至甚至P2口中的某口中的某幾根口線送高位地址,從而保留幾根口線送高位地址,從而保留P2口的全部或部分口線作口的全部或部分口線作I/O口口用。用。 2.5.4 P3口口P

53、3口是一個(gè)多功能的口是一個(gè)多功能的8位口,可以字節(jié)訪問也可位訪問,其位口,可以字節(jié)訪問也可位訪問,其字節(jié)訪問地址為字節(jié)訪問地址為B0H,位訪問地址為,位訪問地址為B0HB7H。 位結(jié)構(gòu)與工作原理位結(jié)構(gòu)與工作原理 P3口的位結(jié)構(gòu)原理如下所示??诘奈唤Y(jié)構(gòu)原理如下所示。 與非門有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的與非門有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的Q端,另一端,另一個(gè)為替代功能的控制輸出。與非門的輸出端控制輸出個(gè)為替代功能的控制輸出。與非門的輸出端控制輸出FET管管Q0。 有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖器的輸有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖器的輸出端;出端;I/O口的通用

54、輸入信號(hào)取自第二個(gè)緩沖器的輸出端??诘耐ㄓ幂斎胄盘?hào)取自第二個(gè)緩沖器的輸出端。圖圖214 P3口位結(jié)構(gòu)原理圖口位結(jié)構(gòu)原理圖輸出工作過程:輸出工作過程: 當(dāng)替代輸出功能當(dāng)替代輸出功能B點(diǎn)置點(diǎn)置1時(shí),輸出鎖存器的輸出可時(shí),輸出鎖存器的輸出可以順利通到引腳以順利通到引腳P3i。其工作狀況與。其工作狀況與P1口相類似??谙囝愃?。這時(shí)這時(shí)P3口的工作狀態(tài)為口的工作狀態(tài)為I/O口,顯然此時(shí)該口具有準(zhǔn)口,顯然此時(shí)該口具有準(zhǔn)雙向口的性質(zhì)。雙向口的性質(zhì)。 當(dāng)輸出鎖存器的輸出置當(dāng)輸出鎖存器的輸出置1時(shí),替代輸出功能可以順時(shí),替代輸出功能可以順利通到引腳利通到引腳P3i。 若替代輸出為若替代輸出為0時(shí),因與非門的時(shí),

55、因與非門的C點(diǎn)已置點(diǎn)已置l,現(xiàn),現(xiàn)B點(diǎn)為點(diǎn)為0,故與非門的輸出為,故與非門的輸出為l,使,使Q0導(dǎo)通,從而使導(dǎo)通,從而使A點(diǎn)點(diǎn)也為也為0。若替代輸出為。若替代輸出為1時(shí),與非門的輸出為時(shí),與非門的輸出為0,Q0截截止,從而使止,從而使A點(diǎn)也為高電平。這時(shí)點(diǎn)也為高電平。這時(shí)P3口的工作狀態(tài)處口的工作狀態(tài)處于替代輸出功能狀態(tài)。于替代輸出功能狀態(tài)。 P3口的功能口的功能 P3口是一個(gè)多功能口??谑且粋€(gè)多功能口。 可作可作I/O口使用,為準(zhǔn)雙向口??谑褂茫瑸闇?zhǔn)雙向口。 既可以字節(jié)操作,也可以位操作;既可以既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可位口操作,也可以逐位定義口線為輸入線或輸出線;

56、既可以讀引腳,也可以讀以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實(shí)現(xiàn)鎖存器,實(shí)現(xiàn)“讀一修改一輸出讀一修改一輸出”操作。操作。 可以作為替代功能的輸入、輸出??梢宰鳛樘娲δ艿妮斎?、輸出。 替代輸入功能:替代輸入功能: P30 RXD,串行輸入口。,串行輸入口。 P32INT0,外部中斷,外部中斷0的請(qǐng)求。的請(qǐng)求。 P33INT1,外部中斷,外部中斷1的請(qǐng)求。的請(qǐng)求。 P34T0,T0外部計(jì)數(shù)脈沖輸入。外部計(jì)數(shù)脈沖輸入。P35T1,T1外部計(jì)數(shù)脈沖輸入。外部計(jì)數(shù)脈沖輸入。 替代輸出功能:替代輸出功能:P3lTXD,串行輸出口。,串行輸出口。P36WR外部數(shù)據(jù)存儲(chǔ)器寫選通,輸出

57、,低電平有效。外部數(shù)據(jù)存儲(chǔ)器寫選通,輸出,低電平有效。 P37RD 外部數(shù)據(jù)存儲(chǔ)器讀選通,輸出,低電平有效。外部數(shù)據(jù)存儲(chǔ)器讀選通,輸出,低電平有效。第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口并口使用圖例并口使用圖例例、要求由P1.0P1.3設(shè)置按鍵輸入信號(hào), 并在P1.4P1.7上用LED顯示最先按下的按鍵。設(shè)計(jì)硬件電路。片外:按鍵和開關(guān)(硬件/軟件)片內(nèi):1、可靠接法 2、讀引腳第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口并口使用圖例并口使用圖例注意1、LED特點(diǎn)2、

58、單片機(jī)驅(qū)動(dòng)能力3、段碼的譯碼過程第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口并口使用圖例并口使用圖例第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口并口使用圖例并口使用圖例第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口三、串口及使用三、串口及使用一)、串行口概述同步、異步 作用:發(fā)送、接收二)、51串行口的結(jié)構(gòu)引腳:RXD、TXD寄存器(P26)控制寄存器SCON:有位地址;讀寫SBUF發(fā)送:在TI=0時(shí),由寫SBU

59、F指令引起發(fā)送(時(shí)鐘)和數(shù)據(jù)接收:在RI=0,REN=1時(shí),檢測(cè)RXD下跳沿,并排干擾 再 啟動(dòng)第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口三)、串行口的工作方式1、方式0 :移位寄存器輸入輸出方式 輸出:8位數(shù)據(jù)從RXD串行輸出,同步信號(hào)從TXD輸出 輸入:8位數(shù)據(jù)從RXD串行輸入,同步信號(hào)從TXD輸入第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口三)、串行口的工作方式2、方式1:適點(diǎn)對(duì)點(diǎn)通訊 除8數(shù)據(jù)位外,加起始位0和停止位1,波特率可變 硬件:數(shù)據(jù)從TXD串行輸出,從

60、RXD輸入 硬件示意圖: 單片機(jī) 1 機(jī) 2 TXD RXD RXD TXD 第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口三)、串行口的工作方式3、方式2、3:適合多機(jī)通訊 有9數(shù)據(jù)位, 外加起始位0和停止位1,波特率可變 硬件:數(shù)據(jù)從TXD串行輸出,從RXD輸入。一主機(jī),多從機(jī)。 主機(jī) TXD RXD TXD RXD TXD RXD TXD RXD 從機(jī)1 從機(jī)2 從機(jī)n 第第1 1章、章、5151單片機(jī)的硬件與工作原理單片機(jī)的硬件與工作原理 1.4、輸入輸出端口、輸入輸出端口三)、串行口的多機(jī)通訊:(方式2、3)發(fā)送的第9數(shù)據(jù)位

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論