單片機應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)課件 項目1-3 認識單片機;單片機常用開發(fā)軟件;單片機最小系統(tǒng)及接口_第1頁
單片機應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)課件 項目1-3 認識單片機;單片機常用開發(fā)軟件;單片機最小系統(tǒng)及接口_第2頁
單片機應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)課件 項目1-3 認識單片機;單片機常用開發(fā)軟件;單片機最小系統(tǒng)及接口_第3頁
單片機應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)課件 項目1-3 認識單片機;單片機常用開發(fā)軟件;單片機最小系統(tǒng)及接口_第4頁
單片機應(yīng)用技術(shù)教程(基于Keil與Proteus)(微課版)課件 項目1-3 認識單片機;單片機常用開發(fā)軟件;單片機最小系統(tǒng)及接口_第5頁
已閱讀5頁,還剩128頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目1認識單片機項目導(dǎo)讀:

本項目從數(shù)及字符等信息在計算機中的表示入手,引入二進制數(shù)等概念,介紹不同數(shù)制的表示、轉(zhuǎn)換方法以及常見BCD碼;然后從單片機的概念、分類、型號、用途、組成結(jié)構(gòu)、工作原理、接口及存儲等方面進行簡要介紹,使讀者對數(shù)制及單片機形成初步的認識。任務(wù)1.1數(shù)制的轉(zhuǎn)換及數(shù)和字符

在計算機內(nèi)的表示任務(wù)描述:

本任務(wù)要求讀者理解二進制數(shù)在計算機內(nèi)的表示方法,掌握十進制數(shù)、十六進制數(shù)轉(zhuǎn)換成二進制數(shù)的方法,掌握不同碼制的定義及轉(zhuǎn)換關(guān)系,了解BCD碼、ASCII等知識。

計算機是能夠?qū)斎氲男畔⑦M行加工處理、存儲并能按要求輸出結(jié)果的電子設(shè)備,又稱為信息處理機。

現(xiàn)在使用的計算機按照馮·諾依曼結(jié)構(gòu)存儲程序,程序的執(zhí)行基于二進制數(shù)進行。

任何信息,不管是數(shù)字還是字符,在計算機中都是以二進制的形式進行表示和處理的。

計算機的主要功能是數(shù)值計算和數(shù)據(jù)處理,所以計算機首先需要在內(nèi)部存儲和表示數(shù)據(jù)。

現(xiàn)代計算機數(shù)據(jù)具有數(shù)字、文本、聲音、圖像、視頻等多種形式,但在計算機內(nèi)部,數(shù)據(jù)只能以二進制形式表示。

計算機內(nèi)部使用低電平表示二進制中的數(shù)值0,使用高電平表示二進制中的數(shù)值1。一般規(guī)定低電平范圍為0~0.25V,高電平范圍為3.5~5V。在學(xué)習(xí)計算機內(nèi)部信息的處理、表示之前,先來了解一下計算機中信息的表示。1.1.1數(shù)制的轉(zhuǎn)換

數(shù)制指采用一組固定數(shù)碼和統(tǒng)一規(guī)則來表示數(shù)值的方法。

進位的規(guī)則稱為進位制。在日常生活中,人們習(xí)慣使用十進制數(shù)。

在計算機內(nèi)部,使用二進制數(shù)表示數(shù)據(jù)。但二進制數(shù)不便識記,為了編程等方便,人們常用八進制數(shù)、十六進制數(shù)來表示二進制數(shù)。

十進制:數(shù)碼包括0、1、2、3、4、5、6、7、8和9,基數(shù)為10。

二進制:數(shù)碼包括0和1,基數(shù)為2。

八進制:數(shù)碼包括0、1、2、3、4、5、6和7,基數(shù)為8。

十六進制:數(shù)碼包括0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)和F(15),基數(shù)為16。1.非十進制數(shù)轉(zhuǎn)換為十進制數(shù)

將二進制數(shù)、八進制數(shù)和十六進制數(shù)等轉(zhuǎn)換為十進制數(shù),可按位權(quán)展開式進行計算。2.十進制數(shù)轉(zhuǎn)換為其他進制數(shù)

將十進制數(shù)轉(zhuǎn)換為其他進制數(shù),可將數(shù)值的整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換。

十進制數(shù)整數(shù)部分轉(zhuǎn)換為R進制數(shù),采用“除R取余數(shù),直到商為0”的方法。十進制數(shù)小數(shù)部分轉(zhuǎn)換為R進制數(shù),采用“乘R取整,直到小數(shù)部分為0”的方法。

例如十進制數(shù)轉(zhuǎn)換成二進制數(shù),以十進制數(shù)13.625轉(zhuǎn)換為二進制數(shù)的計算過程為例,整數(shù)部分和小數(shù)部分的計算如下圖所示。

經(jīng)計算可得,(13.625)10=(1101.101)2。3.二進制數(shù)與八進制數(shù)的相互轉(zhuǎn)換

二進制數(shù)和八進制數(shù)的對應(yīng)關(guān)系如表1.1所示。二進制數(shù)八進制數(shù)二進制數(shù)八進制數(shù)000010040011101501021106011311171位八進制數(shù)最多可用3位二進制數(shù)表示。在將二進制數(shù)轉(zhuǎn)換為八進制數(shù)時,可從小數(shù)點開始,按“3位一組”的原則將數(shù)碼分組。

整數(shù)部分,從右向左,不足3位的在高位補0;

小數(shù)部分,從左向右,不足3位的在低位補0。然后將每組中的二進制數(shù)替換為對應(yīng)的八進制數(shù)。4.二進制數(shù)與十六進制數(shù)的相互轉(zhuǎn)換

二進制數(shù)和十六進制數(shù)的對應(yīng)關(guān)系如表1.2所示。二進制數(shù)十六進制數(shù)二進制數(shù)十六進制數(shù)00000100080001110019001021010A001131011B010041100C010151101D011061110E011171111F1位十六進制數(shù)最多可用4位二進制數(shù)表示。在將二進制數(shù)轉(zhuǎn)換為十六進制數(shù)時,可從小數(shù)點開始,按“4位一組”的原則將數(shù)碼分組。

整數(shù)部分,從右向左,不足4位的在高位補0;

小數(shù)部分,從左向右,不足4位的在低位補0。然后將每組中的二進制數(shù)替換為對應(yīng)的十六進制數(shù)。1.1.2數(shù)在計算機內(nèi)的表示

計算機中的數(shù)通常有兩種:無符號數(shù)和有符號數(shù)。

無符號數(shù)由于不帶符號,表示時比較簡單,直接用它對應(yīng)的二進制編碼表示。

例如,假設(shè)機器字長為8位,123則表示成01111011B。

有符號數(shù)帶有正負號,通常,在計算機中表示有符號數(shù)時,在數(shù)的前面加一位作為符號位。

正數(shù)表示為0、負數(shù)表示為1,其余的位用以表示數(shù)值的大小。這種連同符號位的數(shù)稱為機器數(shù),它的數(shù)值稱為機器數(shù)的真值。

機器數(shù)在計算機中有3種表示法:原碼、反碼和補碼。1.原碼

原碼的最高位為符號位(正數(shù)用0表示、負數(shù)用1表示),其余的位用于表示數(shù)的絕對值。

對于一個n位的二進制數(shù),它的原碼表示范圍為?(2n?1?1)~(2n?1?1)。

例如,如果用8位二進制表示原碼,則數(shù)的范圍為?127~127。采用原碼表示時,假設(shè)機器字長為8位,?0的編碼為10000000,+0的編碼為00000000。2.反碼

反碼的最高位為符號位,正數(shù)用0表示、負數(shù)用1表示。

正數(shù)的反碼與原碼相同,而負數(shù)的反碼可在原碼的基礎(chǔ)之上符號位不變、其余位取反得到。

對于一個n位的二進制數(shù),它的反碼表示范圍為?(2n?1?1)~(2n?1?1)。

對于0,假設(shè)機器字長為8位,?0的反碼為11111111B,+0的反碼為00000000B。3.補碼

補碼的最高位為符號位,正數(shù)用0表示、負數(shù)用1表示。

正數(shù)的補碼與原碼相同,而負數(shù)的補碼可在原碼的基礎(chǔ)之上符號位不變、其余位取反、末位加1得到。

對于一個負數(shù)X,X的補碼也可用2n?X得到,其中n為機器字長。4.補碼的加減運算

補碼的加法運算規(guī)則:

[X+Y]補=[X]補+[Y]補[X?Y]補=[X]補+[?Y]補5.十進制數(shù)的表示

十進制編碼又稱為BCD碼,分壓縮BCD碼和非壓縮BCD碼。壓縮BCD碼又稱為8421碼,它用4位二進制編碼來表示1位十進制符號,編碼情況如表1.3所示。例如:十進制數(shù)124的壓縮BCD碼為000100100100,十進制數(shù)4.56的壓縮BCD碼為0100.01010110。十進制符號壓縮BCD編碼十進制符號壓縮BCD編碼00000501011000160110200107011130011810004010091001

非壓縮BCD碼用8位二進制編碼來表示1位十進制符號,其中低4位二進制編碼與壓縮BCD碼相同,高4位任取。

例如,十進制數(shù)124的非壓縮BCD碼為

:001100010011001000110100。1.1.3字符在計算機內(nèi)的表示

現(xiàn)在的計算機中字符數(shù)據(jù)的編碼通常采用的是ASCII?;続SCII標準定義了128個字符,用7位二進制來編碼,包括英文大寫字母共26個、小寫字母共26個、數(shù)字符號0~9共10個,還有一些專用符號(如“:”“!”“%”)及控制符號(如換行、換頁、回車等)。

常用字符的ASCII如表1.4所示。字符ASCII字符ASCII字符ASCII字符ASCII字符ASCIINUL00.2FC43w57k6BBEL07030D44X55l6CLF0A131E45Y59m4DFF0C232F46ZSAn6ECR0D333G47[5Bo6FSP20434H48\SCP70!21535I49]SDq71“22636J4A↑5Er72#23737K4B′5Fs73$24836L4C←60t74%25939M4Da61u75&26:3AN4Eb62v76‘27;38O4FC63w77(28<3CP50d64x78)29=3DQ51e65y79*2A>3ER

f66z7A+2B?3FS

g67{7B,2C@40T

h68|7C-12DA41U

i69}7D/2EB42V

j6A~7E任務(wù)1.2單片機概述任務(wù)描述:

本任務(wù)要求根據(jù)單片機的基本知識、組成結(jié)構(gòu)、工作原理、引腳接口等識別MCS-51系列單片機實物芯片,并指出各引腳功能及特點,為后續(xù)運用單片機打下基礎(chǔ)。1.2.1單片機常識

單片機屬于微型計算機的一種,是把微型計算機中的微處理器、存儲器、I/O(輸入輸出)接口、定時/計數(shù)器、串行接口、中斷系統(tǒng)等電路集成在一塊集成電路芯片上形成的微型計算機,因而被稱為單片微型計算機,簡稱單片機。1.單片機的主要特點

(1)在存儲器結(jié)構(gòu)上,單片機的存儲器采用哈佛(Harvard)結(jié)構(gòu)。ROM(只讀存儲器)和RAM(隨機存儲器)是嚴格分開的。ROM為程序存儲器,只存放程序、固定常數(shù)和數(shù)據(jù)表格。

RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放數(shù)據(jù)。(2)在芯片引腳上,大部分采用分時復(fù)用技術(shù)。(3)內(nèi)部資源的訪問通過特殊功能寄存器(SFR)實現(xiàn)。(4)采用面向控制的指令系統(tǒng)。(5)內(nèi)部一般都集成一個全雙工的串行接口。(6)有很強的外部擴展能力。2.單片機主要種類

單片機有4位單片機、8位單片機、16位單片機、32位單片機之分。1978年以前,各廠家生產(chǎn)的8位單片機由于集成度的限制,一般都沒有串行接口,只提供較小尋址空間(小于8KB),性能相對較低,稱為低檔8位單片機。1978年以后,集成電路水平提高,出現(xiàn)了一些高性能的8位單片機,它們的尋址能力達到了64KB,片內(nèi)集成了4~8KB的ROM,片內(nèi)除了帶并行I/O接口外,還有串行I/O接口,甚至有些還集成了A/D(模數(shù))轉(zhuǎn)換器,這類單片機稱為高檔8位單片機。

單片機的應(yīng)用領(lǐng)域主要有:(1)工業(yè)自動化控制;(2)智能儀器儀表;(3)計算機外部設(shè)備和智能接口;(4)家用電器。1.2.2MCS-51系列單片機簡介MCS-51系列單片機是美國Intel公司在1980年推出的高性能8位單片機,它包含51和52兩個子系列。

51子系列主要有8031、8051、8751這3種機型,它們的指令系統(tǒng)與芯片引腳完全兼容,僅片內(nèi)ROM有所不同。8031芯片不帶ROM,8051芯片帶4KB的ROM,8751芯片帶4KB的EPROM。51子系列的主要特點為:8位CPU(中央處理器);片內(nèi)帶振蕩器,頻率范圍為1.2MHz~12MHz;片內(nèi)帶128字節(jié)的RAM;片內(nèi)帶4KB的ROM;ROM的尋址空間為64KB;片外RAM的尋址空間為64KB;128個用戶位尋址空間;21字節(jié)特殊功能寄存器;4個8位的并行I/O接口——P0、P1、P2、P3;2個16位定時/計數(shù)器;5個中斷源(但只能設(shè)置兩個優(yōu)先級);1個全雙工的串行I/O接口,可多機通信;111條指令,含乘法指令和除法指令;片內(nèi)采用單總線結(jié)構(gòu);有較強的位處理能力;采用單一+5V電源。52子系列有8032、8052、8752這3種機型。52子系列與51子系列在許多方面都相同,不同之處在于:片內(nèi)RAM增至256字節(jié);8032芯片不帶ROM,8052芯片帶8KB的ROM,8752芯片帶8KB的EPROM;3個16位定時/計數(shù)器;6個中斷源。1.2.3MCS-51系列單片機的結(jié)構(gòu)原理1.MCS-51系列單片機的基本組成

MCS-51系列單片機的芯片有多種類型,但各種類型的基本組成相同,主要由CPU、存儲器系統(tǒng)(RAM和ROM/EPROM)、定時/計數(shù)器、并行接口、串行接口、中斷系統(tǒng)、時鐘電路等組成。MCS-51系列單片機的基本組成如下圖所示。2.MCS-51系列單片機的內(nèi)部結(jié)構(gòu)

MCS-51系列單片機的內(nèi)部結(jié)構(gòu)框圖如下圖所示,各部件通過內(nèi)部總線緊密地聯(lián)系在一起。

單片機內(nèi)部的總體結(jié)構(gòu)仍是通用CPU加上外圍芯片的總線結(jié)構(gòu),只是在功能部件的控制上,一般微機采用通用寄存器與接口寄存器進行控制,而單片機的CPU與外設(shè)的控制不分開,采用特殊功能寄存器集中控制,這樣使用更方便。3.MCS-51系列單片機的中央處理器(CPU)

(1)運算部件

運算部件以ALU(算術(shù)邏輯部件)為核心,包含ACC(累加器)、B寄存器、標志寄存器PSW等許多部件,它能實現(xiàn)算術(shù)運算、邏輯運算、位運算、數(shù)據(jù)傳輸?shù)?。ALU是一個8位的運算器,它不僅可以完成8位二進制數(shù)據(jù)加、減、乘、除等基本的算術(shù)運算,還可完成8位二進制數(shù)據(jù)邏輯“與”“或”“異或”“循環(huán)移”“求補”“清零”等邏輯運算,并具有數(shù)據(jù)傳輸、程序轉(zhuǎn)移等功能。ACC(常稱為累加器A)為一個8位的寄存器,它是CPU中使用最頻繁的寄存器。ALU進行運算時,數(shù)據(jù)絕大多數(shù)時候都來自累加器A,運算結(jié)果通常也送回累加器A。B寄存器稱為輔助寄存器,它是為乘法和除法指令而設(shè)置的。在進行乘法,運算前,累加器A和B寄存器存放乘數(shù)和被乘數(shù),運算完成后,通過B寄存器和累加器A存放結(jié)果。在進行除法運算前,累加器A和B寄存器存入被除數(shù)和除數(shù),運算后存放商和余數(shù)。

標志寄存器PSW是一個8位的寄存器,它用于保存指令執(zhí)行結(jié)果的狀態(tài),以供程序查詢和判別。C(PSW.7):進位標志位。AC(PSW.6):輔助進位標志位。F0(PSW.5):用戶標志位。OV(PSW.2):溢出標志位。P(PSW.0):奇偶標志位。若累加器A中1的個數(shù)為奇數(shù),則P置位;若累加器A中1的個數(shù)為偶數(shù),則P清零。D7D6D5D4D3D2D1D0CACF0RS1RS0OV-P標志寄存器PSW各位的情況如下表所示。RS1、RS0(PSW.4、PSW.3):寄存器組選擇位,選擇情況如下表所示。RS1RS0工作寄存器組000組(00H-07H)011組(08H-0FH)102組(10H-17H)113組(18H-1FH)(2)控制部件

控制部件是單片機的控制中心,它包括定時和控制電路、指令寄存器、指令譯碼器、PC(程序計數(shù)器)、SP(堆棧指針)、DPTR(數(shù)據(jù)指針)以及信息傳送控制部件等。它先以振蕩信號為基準產(chǎn)生CPU的時序,從ROM中取出指令到指令寄存器,然后在指令譯碼器中對指令進行譯碼,產(chǎn)生指令執(zhí)行所需的各種控制信號,送到單片機內(nèi)部的各功能部件,指揮各功能部件進行相應(yīng)的操作,實現(xiàn)對應(yīng)的功能。4.MCS-51系列單片機的存儲器結(jié)構(gòu)

MCS-51系列單片機的存儲器結(jié)構(gòu)與一般微機不同,分為程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)。

程序存儲器存放程序、固定常數(shù)和數(shù)據(jù)表格,數(shù)據(jù)存儲器用作工作區(qū)及存放數(shù)據(jù)。(1)程序存儲器MCS-51系列單片機的程序存儲器從物理結(jié)構(gòu)上分為片內(nèi)ROM和片外ROM,如下圖所示。

對于片內(nèi)ROM,在MCS-51系列中,不同的芯片各不相同。

8031和8032內(nèi)部沒有ROM;8051內(nèi)部有4KBROM;

8751內(nèi)部有4KBEPROM;

8052內(nèi)部有8KBROM;

8752內(nèi)部有8KBEPROM。

對于內(nèi)部沒有ROM的8031和8032,工作時只能擴展外部ROM,最多可擴展64KB,地址范圍為0000H~FFFFH。

對于內(nèi)部有ROM的芯片,根據(jù)情況也可以擴展外部ROM,但內(nèi)部ROM和外部ROM共用64KB存儲空間,其中,片內(nèi)ROM地址空間和片外ROM的低地址空間重疊。

51子系列重疊區(qū)域為0000H~0FFFH;

52子系列重疊區(qū)域為0000H~1FFFH。MCS-51系列單片機復(fù)位后PC的內(nèi)容為0000H,故單片機復(fù)位后將從0000H單元開始執(zhí)行程序。

程序存儲器的0000H單元地址是系統(tǒng)程序的啟動地址,此處用戶一般放一條絕對轉(zhuǎn)移指令,用于轉(zhuǎn)移到后面的用戶程序。(2)數(shù)據(jù)存儲器MCS-51系列單片機的數(shù)據(jù)存儲器從物理結(jié)構(gòu)上分為片內(nèi)RAM和片外RAM。①

片內(nèi)RAM。MCS-51系列單片機片內(nèi)RAM按功能分成工作寄存器組區(qū)、位尋址區(qū)、一般RAM區(qū)和特殊功能寄存器(SFR)區(qū),具體分配情況如下圖所示。

對于51子系列,工作寄存器組區(qū)、位尋址區(qū)、一般RAM區(qū)共占128字節(jié),編址為00H~7FH;特殊功能寄存器區(qū)也占128字節(jié),編址為80H~FFH;二者連續(xù)不重疊。

對于52子系列,工作寄存器組區(qū)、位尋址區(qū)、一般RAM區(qū)共占256字節(jié),編址為00H~FFH;特殊功能寄存器區(qū)有128字節(jié),編址為80H~FFH;后者與前者的后128字節(jié)編址是重疊的,訪問時通過不同的指令區(qū)分。

工作寄存器組區(qū):00H~1FH單元為工作寄存器組區(qū),共32字節(jié)。

工作寄存器也稱為通用寄存器,用于臨時寄存8位信息。

工作寄存器共有4組,稱為0組、1組、2組和3組,每組8個,分別依次用R0~R7表示。

位尋址區(qū):20H~2FH為位尋址區(qū),共16字節(jié),128位。這128位的每位都可以按位方式使用,每一位都有一個位地址,位地址范圍為00H~7FH。

一般RAM區(qū):30H~7FH是一般RAM區(qū),也稱為用戶RAM區(qū),共80字節(jié),對于52子系列,一般RAM區(qū)為30H~FFH。另外,對于前兩區(qū)中未用的單元也可作為用戶RAM單元使用。

特殊功能寄存器區(qū):專門用于控制和管理片內(nèi)算術(shù)邏輯部件、并行I/O接口、串行口、定時/計數(shù)器、中斷系統(tǒng)等功能模塊的工作,用戶在編程時可以給其設(shè)定值,但不能移作他用。

特殊功能寄存器分布在80H~FFH地址空間,與片內(nèi)數(shù)據(jù)存儲器統(tǒng)一編址,除PC外,51子系列有18個特殊功能寄存器,其中3個為雙字節(jié),共占用21字節(jié);52子系列有21個特殊寄存器,其中5個為雙字節(jié),共占用26字節(jié)。

特殊功能寄存器的名稱、符號及地址情況參考教材的表1.9。CPU專用寄存器:累加器A(E0H),B寄存器(F0H),程序狀態(tài)寄存器PSW(D0H),堆棧指針SP(81H),數(shù)據(jù)指針DPTR(82H、83H)。P0口~P3口:P0口(80H),P1口(90H),P2口(A0H),P3口B0H)。串行口:串行口控制SCON(98H),串行口數(shù)據(jù)SBUF(99H)。電源控制:電源控制PCON(87H)。中斷相關(guān)寄存器:中斷允許控制IEA8H),中斷優(yōu)先級控制IP(B8H)。定時/計數(shù)器0相關(guān)寄存器:定時/計數(shù)器控制TCON(88H),定時/計數(shù)器方式TMOD(89H),初值寄存器TH0、TL0(8CH、8AH)。定時/計數(shù)器1相關(guān)寄存器:定時/計數(shù)器控制TCON(88H),定時/計數(shù)器方式TMOD(89H),初值寄存器TH1、TL1(8DH、8BH)。定時/計數(shù)器2相關(guān)寄存器:定時/計數(shù)器2控制T2CON(C8H),定時/計數(shù)器2重裝低字節(jié)RLDL(CAH),定時/計數(shù)器2重裝高字節(jié)RLDHCBH),定時/計數(shù)器2初值寄存器TH2、TL2(CDH、CCH)(僅52子系列有)。②

片外RAM。MCS-51系列單片機片內(nèi)有128字節(jié)或256字節(jié)的RAM,當這些RAM不夠時,可擴展外部RAM。擴展的外部RAM最多64KB,地址范圍為0000H~0FFFFH,通過DPTR間接訪問,對于低端的256字節(jié),可用兩位十六進制地址編址,地址范圍為00H~0FFH,可通過R0和R1間接訪問。

需要指出的是:

第一,64KB的ROM和64KB的片外RAM地址空間都為0000H~0FFFFH,地址空間是重疊的,如何區(qū)分呢?

MCS-51系列單片機是通過不同的信號來對片外RAM和ROM進行讀、寫的,片外RAM的讀、寫通過RD和WR信號來控制;而ROM的讀通過PSEN信號控制,通過不同的指令來實現(xiàn),片外RAM用MOVX指令,ROM用MOVC指令。第二,片內(nèi)RAM和片外RAM低256字節(jié)的地址空間是重疊的,如何區(qū)分呢?

片內(nèi)RAM和片外RAM的低256字節(jié)通過不同的指令訪問,片內(nèi)RAM用MOV指令,片外RAM用MOVX指令,因此在訪問時不會產(chǎn)生混亂。1.2.4MCS-51系列單片機的工作方式1.復(fù)位方式

計算機在啟動運行時都需要復(fù)位,復(fù)位是使中央處理器(CPU)和內(nèi)部其他部件處于一個確定的初始狀態(tài),從這個狀態(tài)開始工作。MCS-51系列單片機有一個復(fù)位引腳RST,高電平有效。在時鐘電路工作以后,當外部電路使得RST端出現(xiàn)兩個機器周期(24個時鐘周期)以上的高電平時,系統(tǒng)內(nèi)部復(fù)位。

復(fù)位有兩種方式,上電復(fù)位和按鈕復(fù)位,如下圖所示。

只要RST保持高電平,MCS-51系列單片機將循環(huán)復(fù)位。復(fù)位期間,ALE、PSEN輸出高電平。

RST從高電平變?yōu)榈碗娖胶螅琍C指針變?yōu)?000H,使單片機從ROM地址為0000H的單元開始執(zhí)行程序。復(fù)位后,內(nèi)部寄存器的初始內(nèi)容如下表所示。

特殊功能寄存器初始內(nèi)容

特殊功能寄存器初始內(nèi)容A0000H

TCON00HPC0000H

TL000HB00H

TH000HPSW00H

TLI00HSP07H

THI00HDPTR0000H

SCON00HP0~P3FFH

SBUFXXXXXXXXBIPXX000000B

PCON0XXX0000BIE0X000000B

TMOD00H

2.程序執(zhí)行方式

程序執(zhí)行方式是單片機的基本工作方式,單片機在實現(xiàn)用戶功能時通常采用這種方式。單片機執(zhí)行的程序放置在程序存儲器中,可以是片內(nèi)ROM,也可以是片外ROM。由于系統(tǒng)復(fù)位后,PC指針總是指向0000H,程序總是從0000H開始執(zhí)行,而從0003H到0032H又是中斷服務(wù)程序區(qū),因此,用戶程序都放置在中斷服務(wù)程序區(qū)后面,在0000H處放一條長轉(zhuǎn)移指令用以轉(zhuǎn)移到用戶程序。

程序的單步執(zhí)行方式,是指在外部單步脈沖的作用下,使單片機一個單步脈沖執(zhí)行一條指令后就暫停下來,再一個單步脈沖再執(zhí)行一條指令后又暫停下來。

單步執(zhí)行方式通常用于調(diào)試程序、跟蹤程序執(zhí)行和了解程序執(zhí)行過程。

在一般的微型計算機中,單步執(zhí)行由單步執(zhí)行中斷完成,而單片機沒有單步執(zhí)行中斷,MCS-51系列單片機的單步執(zhí)行是利用中斷系統(tǒng)來完成的。MCS-51系列單片機的中斷系統(tǒng)規(guī)定,從中斷服務(wù)程序中返回之后,至少要再執(zhí)行一條指令,才能重新進入中斷。這樣,將外部脈沖加到INT0引腳,平時讓它為低電平,通過編程規(guī)定INT0為電平觸發(fā)。那么,不來外部脈沖時INT0總處于響應(yīng)中斷的狀態(tài)。

當INT0不來外部脈沖時,INT0保持低電平,向CPU申請中斷,執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,第一條指令在INT0為低電平時循環(huán),不返回主程序。當通過一個按鈕向INT0端送一個正脈沖時,中斷服務(wù)程序的第一條指令結(jié)束循環(huán);執(zhí)行第二條指令,在高電平期間,第二條指令循環(huán),高電平結(jié)束,INT0回到低電平,第二條指令結(jié)束循環(huán);執(zhí)行第三條指令,中斷返回,返回到主程序,由于這時INT0又為低電平,請求中斷,而中斷系統(tǒng)規(guī)定,從中斷服務(wù)程序中返回之后,至少要再執(zhí)行一條指令,才能重新進入中斷。

因此,當執(zhí)行主程序的一條指令后,響應(yīng)中斷,進入中斷服務(wù)程序,又在中斷服務(wù)程序中暫停下來。這樣,總體看來,按一次按鈕,INT0端產(chǎn)生一次高脈沖,主程序執(zhí)行一條指令,實現(xiàn)單步執(zhí)行。3.空閑及掉電工作方式

空閑工作方式是CPU通過執(zhí)行指令使自身進入睡眠狀態(tài),即CPU停止工作(實際是關(guān)斷送給CPU的時鐘信號),而片內(nèi)外的功能部件仍然繼續(xù)工作,內(nèi)部RAM、SFR、PC、SP、PSW、P0~P3端口等都保持進入空閑工作方式前的狀態(tài)不變。

掉電工作方式是指當PCON寄存器的PD位置1時CPU進入的工作方式。振蕩器和片內(nèi)的功能部件都停止工作,芯片的VCC可由備用電源供電,內(nèi)部RAM和SFR等都保持進入掉電工作方式前的狀態(tài)不變。

掉電工作方式的退出也有兩種:

一種是硬件復(fù)位;

另一種是外部中斷。

當VCC恢復(fù)到正常工作水平時,只要硬件復(fù)位信號維持10ms便可退出掉電方式,復(fù)位時會重新初始化SFR和PC,但不改變片內(nèi)RAM的內(nèi)容。

在掉電工作方式下,當VCC恢復(fù)到正常工作水平時,如果有任一允許的外部中斷請求,PD位將被片內(nèi)硬件自動置0,從而退出掉電工作方式。CPU響應(yīng)中斷后,執(zhí)行中斷服務(wù)程序,返回后將從設(shè)置掉電工作方式指令的下一條指令繼續(xù)執(zhí)行程序。4.單片機的時間周期

單片機的時間周期主要指時鐘周期、機器周期和指令周期,它們都是基于晶振頻率及分頻電路實現(xiàn)各自的時間長度。

時鐘周期(振蕩周期):單片機內(nèi)部時鐘電路產(chǎn)生(或外部時鐘電路送入)信號的周期。

單片機的時序信號以時鐘周期信號為基礎(chǔ)形成,即時鐘周期信號經(jīng)分頻電路分頻,得到機器周期、指令周期和各種時序信號。

機器周期:單片機的基本操作周期。

每個機器周期包含S1、S2……S6共6個狀態(tài),每個狀態(tài)包含兩拍即P1和P2,每一拍為一個時鐘周期(振蕩周期)。因此,1個機器周期包含12個時鐘周期,依次可表示為S1P1、S1P2、S2P1、S2P2……S6P1、S6P2,如下圖所示。

指令周期:計算機從取一條指令開始,到執(zhí)行完該指令所需要的時間稱為指令周期。不同的指令,指令長度不同,指令周期也不一樣。指令周期以機器周期為單位。

MCS-51系列單片機指令根據(jù)指令長度和指令周期可分為單字節(jié)單周期指令、單字節(jié)雙周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令、三字節(jié)雙周期指令以及單字節(jié)四周期指令。項目2單片機常用開發(fā)軟件項目導(dǎo)讀:

單片機系統(tǒng)是一個軟硬件兼具的計算機系統(tǒng),單片機系統(tǒng)的應(yīng)用既有硬件設(shè)計、調(diào)試,又有軟件設(shè)計、調(diào)試,最后還有系統(tǒng)的綜合調(diào)試。

本項目將介紹Keil軟件和Proteus軟件,并分別用來實現(xiàn)單片機系統(tǒng)設(shè)計應(yīng)用中軟件的設(shè)計調(diào)試和硬件的設(shè)計調(diào)試功能,指導(dǎo)學(xué)生在軟件平臺上實現(xiàn)單片機系統(tǒng)設(shè)計的前期功能。任務(wù)2.1Keil軟件的使用任務(wù)描述:

擬用單片機控制8個發(fā)光二極管(LED)按照D1→D2→D3……D8→D7……D2→D1的順序循環(huán)點亮,以實現(xiàn)流水燈效果,要求用Keil軟件完成工程創(chuàng)建、源程序文件創(chuàng)建及編輯、程序添加等步驟,為后續(xù)程序下載、仿真做準備。2.1.1Keil軟件簡介KeilC51,又稱KeilC,作為集成開發(fā)環(huán)境(IDE),主要用于嵌入式系統(tǒng)的開發(fā)。它由德國Keil公司開發(fā),該公司已經(jīng)被ARM公司收購。Keil支持多種編程語言,包括C、C++、匯編語言等,可以對多種單片機進行編譯、調(diào)試和仿真。

Keil作為嵌入式系統(tǒng)開發(fā)工具,具有豐富的功能和優(yōu)秀的性能,可幫助開發(fā)人員在較短的時間內(nèi)完成從編譯到調(diào)試和部署。Keil提供了一個友好的用戶界面,包括源代碼編輯器、編譯器、調(diào)試器和仿真器等組件,使得開發(fā)人員可以方便地編寫和調(diào)試嵌入式應(yīng)用程序。2.1.2Keil軟件使用步驟(一)啟動軟件(二)創(chuàng)建工程1.新建及保存工程文件

選擇菜單欄中的“Project”→“NewμVisionProject”命令,新建一個工程文件。

2.選擇單片機型號

保存工程文件后,彈出的“SelectDeviceforTarget'Target1'”對話框,系統(tǒng)采用的單片機型號是AT89C51。(三)創(chuàng)建源程序文件并編輯、保存

選擇菜單欄中的“File”→“New”命令,創(chuàng)建一個默認名字為“Text1”的文本文件。編輯錄入源程序后,選擇“File”→“Save”/“SaveAs”或單擊保存按鈕

。(四)將源程序文件添加到工程

右擊“SourceGroup1”,在彈出的快捷菜單中選擇“AddFilestoGroup'SourceGroup1'”命令。隨后彈出對話框,此時選擇剛剛保存的“.c”文件,單擊“Add”按鈕,將其添加到工程,然后單擊“Close”按鈕。(五)設(shè)置輸出文件

為了使源程序能夠在單片機中運行,必須將其編譯成十六進制目標代碼文件。右擊“Target1”,從彈出的快捷菜單中選擇“OptionsforTarget'Target1'”命令,或選擇Project”→“OptionsforTarget'Target1'”命令,彈出“OptionsforTarget'Target1'”對話框。切換到“Output”選項卡,選中“CreateHEXFile”復(fù)選框。(六)生成目標代碼文件

單擊翻譯按鈕

,對源程序進行翻譯,當出現(xiàn)錯誤時將在窗口底部給出錯誤所在行及引起錯誤的可能原因。

雙擊錯誤信息,光標將跳轉(zhuǎn)到錯誤所在行,可對程序中的錯誤進行快速編輯修改。任務(wù)2.2Proteus軟件的使用任務(wù)描述:

擬用單片機控制8個LED按照D1→D2→D3……D8→D7……D2→D1的順序循環(huán)點亮,以實現(xiàn)流水燈效果。

要求先用Proteus軟件完成原理圖的繪制,再根據(jù)任務(wù)2.1的程序進行聯(lián)機調(diào)試、仿真,查看流水燈效果。2.2.1Proteus軟件簡介Proteus軟件是英國LabCenterElectronics公司開發(fā)的電子設(shè)計自動化工具軟件,主要用于電子系統(tǒng)的仿真與設(shè)計。它具有仿真功能,能仿真單片機及外圍器件,是比較好用的單片機及外圍器件仿真工具。Proteus軟件支持多種處理器模型,如8051、DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器模型,并持續(xù)增加其他系列處理器模型。此外,在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。Proteus軟件可以實現(xiàn)從概念到產(chǎn)品的完整設(shè)計,從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到印制電路板(PCB)設(shè)計。它是將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺。Proteus可以對電路、模擬電子技術(shù)、數(shù)字電子技術(shù)和單片機應(yīng)用技術(shù)中的電路進行仿真,讓你能夠在接近實際的操作和運行中觀察電路的現(xiàn)象并理解特別是單片機控制系統(tǒng)的電路仿真、調(diào)試(聯(lián)調(diào))。同時,Proteus也是一個輔助設(shè)計軟件,能自動生成電氣原理圖的PCB文件并提交廠商進行制作。2.2.2用Proteus繪制電路圖的步驟1.ISIS窗口介紹2.新建設(shè)計文件

單擊標準工具欄中的新建按鈕

,或者在菜單欄中選擇“File”→“NewDesign”命令,將新建一個設(shè)計文件。3.選取元器件

單擊對象選擇按鈕

,彈出選擇元器件對話框。在“Keywords”文本框中輸入元器件名稱,如at89c,系統(tǒng)自動搜索對象庫,并將找到的元器件顯示在“Results”列表框中,雙擊所需的元器件即可將其添加到對象選擇區(qū)。4.放置元器件并修改元器件參數(shù)

在對象選擇區(qū)內(nèi),單擊需要的元器件,移動鼠標指針到右側(cè)的圖形編輯區(qū),鼠標指針將變成筆尖形狀,將鼠標指針移動到欲放置的位置并單擊,出現(xiàn)虛框形式的元器件,此時再次單擊,則將元器件放置在該位置。5.元器件之間的連線Proteus的ISIS具有一定的智能性,當鼠標指針靠近某元器件的管腳時,鼠標指針將變?yōu)榧t色筆形,并附有電氣格點符號(虛框),此時按住(或單擊)鼠標左鍵即開始連線,到達目標元器件管腳時再次出現(xiàn)附有電氣格點符號的紅色筆形,松開(或再次單擊)鼠標左鍵完成連線,系統(tǒng)自動為連線尋找合適位置布線(通過按鈕打開或關(guān)閉)。

如果想要自行確定連線位置,可在需要轉(zhuǎn)折的位置單擊以確定連線位置(此時在該位置出現(xiàn)一個叉號),直到連接到目標元器件的管腳。2.2.3用Proteus進行仿真聯(lián)調(diào)的步驟

當生成了目標代碼文件“流水燈.hex”,并完成流水燈系統(tǒng)的硬件電路繪制之后,就可以進行仿真操作以檢驗系統(tǒng)功能。1.加載目標代碼文件

雙擊單片機AT89C51圖標,彈出“EditComponent”對話框。單擊“ProgramFile”文本框右側(cè)的“瀏覽”按鈕,彈出“選擇文件名”對話框。從中選擇相應(yīng)的“.hex”目標代碼文件,單擊“打開”按鈕返回,此時“ProgramFile”文本框中填入了“.hex”。再在“EditComponent”對話框中單擊“OK”按鈕,完成目標代碼文件的加載。2.仿真運行

單擊“運行”按鈕啟動仿真。3.聯(lián)機調(diào)試設(shè)置

仿真運行能夠體現(xiàn)程序功能,與實際運行情況一致。對初學(xué)者來說,當程序運行出現(xiàn)異?,F(xiàn)象時,難以確定問題所在,即不能確定系統(tǒng)工作中的不正常是由哪段程序造成的,有時需要落實是哪條指令引起的異常。如果能夠跟蹤程序運行,就能夠發(fā)現(xiàn)問題,進而解決問題。項目3單片機最小系統(tǒng)及I/O接口項目導(dǎo)讀:

本項目從單片機最小系統(tǒng)定義入手,首先介紹不同型號單片機最小系統(tǒng)的組成,以及各組成部分的典型電路;然后通過搭建一個單片機最小系統(tǒng),用1位LED閃爍情況來驗證最小系統(tǒng)能否工作,真正實現(xiàn)軟硬件的控制功能;最后,在最小系統(tǒng)的基礎(chǔ)上,通過多位LED的不同閃爍狀態(tài)來實現(xiàn)單片機I/O接口的功能。任務(wù)3.1最小系統(tǒng)的搭建及1位LED閃爍的設(shè)計與仿真任務(wù)描述:

本任務(wù)要求搭建一個單片機最小系統(tǒng),通過Keil、Proteus平臺實現(xiàn)系統(tǒng)編程仿真,用1位LED的閃爍狀態(tài)來驗證最小系統(tǒng)搭建及設(shè)計仿真成功與否。

所謂最小系統(tǒng),是指一個真正可用的微型計算機的最小配置系統(tǒng)。

對于51單片機,其內(nèi)部集成了微型計算機的大部分功能部件,只需外部連接一些簡單電路就可組成最小系統(tǒng)。

51單片機內(nèi)部集成了CPU、ROM、RAM、并行接口、串行接口、定時/計數(shù)器、中斷系統(tǒng)等功能部件,除了電源和地,外部只需連接時鐘電路和復(fù)位電路就可組成最小系統(tǒng)。

另外,對于沒有片內(nèi)ROM的芯片,組成最小系統(tǒng)時必須擴展外部ROM,因此,51單片機的最小系統(tǒng)可分為以下兩種情況。3.1.18051/8751的最小系統(tǒng)

8051/8751片內(nèi)有4KB的ROM/EPROM,因此,只需要外接晶體振蕩器和復(fù)位電路就可以構(gòu)成最小系統(tǒng),如下圖所示。該最小系統(tǒng)的特點如下。由于片外沒有擴展存儲器和外設(shè),P0、P1、P2、P3都可以作為用戶I/O接口。片內(nèi)RAM有128B,地址空間為00H~7FH,沒有片外RAM。內(nèi)部有4KB的ROM,地址空間為0000H~0FFFH,沒有片外ROM,EA應(yīng)接高電平??梢允褂脙蓚€定時/計數(shù)器T0和T1,1個全雙工的串行通信接口,5個中斷源。3.1.28031的最小系統(tǒng)8031無片內(nèi)ROM,因此,在構(gòu)成最小應(yīng)用系統(tǒng)不僅要外接晶體振蕩器和復(fù)位電路,還應(yīng)擴展外部ROM。8031外接ROM芯片2764構(gòu)成的最小系統(tǒng)如下圖所示。該最小系統(tǒng)的特點如下。由于P0、P2在擴展ROM時作為地址線和數(shù)據(jù)線,不能作為I/O接口線,因此,只有P1、P3作為用戶I/O接口使用。片內(nèi)RAM同樣有128B,地址空間為00H~7FH,沒有片外RAM。內(nèi)部無ROM,片外擴展了ROM,其地址空間隨芯片容量不同而不一樣。同樣可以使用兩個定時/計數(shù)器T0和T1,1個全雙工的串行通信接口,5個中斷源。

由于8051/8751內(nèi)部帶ROM,外部只需接晶體振蕩器和復(fù)位電路就可以構(gòu)成最小系統(tǒng),硬件電路非常簡單,在實際中經(jīng)常使用。

如果內(nèi)部集成的4KBROM不夠,可以選內(nèi)部集成8KBROM的8052/8752;如果8KBROM也不夠用,現(xiàn)在很多單片機廠家也生產(chǎn)了集成更大容量ROM的51單片機供大家選擇。任務(wù)3.2LED彩燈的設(shè)計與仿真任務(wù)描述:

本任務(wù)在實現(xiàn)單片機控制1位LED閃爍的基礎(chǔ)上,要求搭建單片機最小系統(tǒng),通過P1口的I/O功能,實現(xiàn)8位LED閃爍的功能,通過程序控制,達到視覺上彩燈有規(guī)律地發(fā)光的效果。

MCS-51系列單片機的片內(nèi)集成了并行I/O接口、定時/計數(shù)器口、串行接口以及中斷系統(tǒng)端口,這些接口很多都有復(fù)用功能。這里主要介紹并行I/O接口功能,后文再介紹定時/計數(shù)器口、串行接口以及中斷系統(tǒng)端口的功能。3.2.1MCS-51系列單片機的I/O接口MCS-51系列單片機有4個8位并行I/O接口P0、P1、P2和P3口,它們是特殊功能寄存器中的4個。這4個口,既可以作輸入,也可以作輸出;既可按8位的方式使用,也可按1位的方式使用;輸出時具有鎖存能力,輸入時具有緩沖功能。1.P0口

P0口是一個三態(tài)雙向口,可作為地址/數(shù)據(jù)分時復(fù)用口,也可作為通用的I/O接口。它由一個鎖存器、兩個三態(tài)輸入緩沖器、輸出驅(qū)動電路和輸出控制電路組成,它1位的結(jié)構(gòu)如下圖所示。

當控制信號為高電平“1”時,P0口作為地址/數(shù)據(jù)分時復(fù)用總線用。這時可分為兩種情況:一種是從P0口輸出地址或數(shù)據(jù),另一種是從P0口輸入數(shù)據(jù)。

控制信號為高電平“1”,使轉(zhuǎn)換開關(guān)MUX把反相器4的輸出端與場效應(yīng)晶體管V1接通,同時把與門3打開。

如果從P0口輸出地址或數(shù)據(jù)信號,當?shù)刂坊驍?shù)據(jù)為“1”時,經(jīng)反相器4使V1截止,而經(jīng)與門3使場效應(yīng)晶體管V2導(dǎo)通,P0.x引腳上出現(xiàn)相應(yīng)的高電平“1”;當?shù)刂坊驍?shù)據(jù)為“0”時,經(jīng)反相器4使V1導(dǎo)通而V2截止,引腳上出現(xiàn)相應(yīng)的低電平“0”,這樣就將地址/數(shù)據(jù)的信號輸出。

如果從P0口輸入數(shù)據(jù),輸入數(shù)據(jù)從引腳下方的三態(tài)輸入緩沖器進入內(nèi)部總線。當控制信號為低電平“0”時,P0口作為通用I/O接口使用。

控制信號為“0”,轉(zhuǎn)換開關(guān)MUX把輸出級與鎖存器Q端接通,在CPU向端口輸出數(shù)據(jù)時,因與門3輸出為“0”,使V2截止,此時,輸出級是漏極開路電路。當寫入脈沖加在鎖存器時鐘端CLK上時,與內(nèi)部總線相連的D端數(shù)據(jù)取反后出現(xiàn)在Q端,又經(jīng)輸出V1反相,在P0引腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。當要從P0口輸入數(shù)據(jù)時,引腳信號仍經(jīng)三態(tài)輸入緩沖器進入內(nèi)部總線。

當P0口作通用I/O接口時,應(yīng)注意以下兩點:一是在輸出數(shù)據(jù)時,由于V2截止,輸出級是漏極開路電路,要使“1”信號正常輸出,必須外接上拉電阻器;二是P0口作為通用I/O接口輸入使用時,在輸入數(shù)據(jù)前,應(yīng)先向P0口寫“1”,此時鎖存器的Q端為“0”,使輸出級的V1、V2均截止,引腳處于懸浮狀態(tài),才可作高阻輸入。

因為從P0口引腳輸入數(shù)據(jù)時,V2一直處于截止狀態(tài),引腳上的外部信號既加在三態(tài)輸入緩沖器1的輸入端,又加在V1的漏極。假定在此之前曾經(jīng)輸出數(shù)據(jù)“0”,則V1是導(dǎo)通的,這樣引腳上的電位就始終被鉗定在低電平,使輸入高電平無法讀入。因此,在輸入數(shù)據(jù)時,應(yīng)人為地先向P0口寫“1”,使V1、V2均截止,方可高阻輸入。另外,P0口的輸出級具有驅(qū)動8個LSTTL(低功耗晶體管晶體管邏輯)負載的能力,輸出電流不大于800μA。2.P1口

P1口是準雙向口,它只能作為通用I/O接口使用。P1口的結(jié)構(gòu)與P0口不同,它的輸出只由一個場效應(yīng)晶體管V1與內(nèi)部上拉電阻器組成,它1位的結(jié)構(gòu)如下圖所示。P1口輸入輸出的原理和特性與P0口作為通用I/O接口使用時一樣,但當P1口輸出時,可以提供電流負載,不必像P0口那樣需要外接上拉電阻器。P1口具有驅(qū)動4個LSTTL負載的能力。3.P2口

P2口也是準雙向口,它有兩種用途:作為通用I/O接口和高8位地址總線。它1位的結(jié)構(gòu)如下圖所示,與P1口相比,P2口只在輸出驅(qū)動電路上比P1口多了一個模擬轉(zhuǎn)換開關(guān)MUX和反相器3。

如果控制信號為高電平“1”,轉(zhuǎn)換開關(guān)接右側(cè),P2口作高8位地址總線使用,訪問片外存儲器的高8位地址A8~A15則由P2口輸出。如系統(tǒng)擴展了ROM,由于單片機工作時一直不斷地取指令,因而P2口將不斷地送出高8位地址,P2口將不能作通用I/O接口用。如系統(tǒng)僅僅擴展了RAM,這時分幾種情況:若片外RAM容量不超過256字節(jié),在訪問RAM時,只需P0口送低8位地址即可,P2口仍可作為通用I/O接口使用;若片外RAM容量大于256字節(jié),需要P2口提供高8位地址,這時P2口就不能作通用I/O接口使用。

當控制信號為高電平“0”時,轉(zhuǎn)換開關(guān)接左側(cè),P2口用作準雙向通用I/O接口??刂菩盘柺罐D(zhuǎn)換開關(guān)接左側(cè),其工作原理與P1口相同,只是P1口輸出端由鎖存器Q端接V1,而P2口是由鎖存器Q端經(jīng)反相器3接V1,也具有輸入、輸出、端口操作3種工作方式,負載能力也與P1口相同。4.

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論