版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章單片機基礎(chǔ)知識1.1
了解單片機的概念
1.2MCS-51內(nèi)核單片機1.3
單片機的存儲器擴展1.4AT89S51單片機最小系統(tǒng)1.5單片機應(yīng)用系統(tǒng)設(shè)計的一般方法第1章單片機基礎(chǔ)知識1.1了解單片機的概念11.1單片機的基本概念什么是單片機?
將微處理器CPU、一定容量的ROM和RAM以及I/O口、定時器/計數(shù)器、中斷系統(tǒng)等電路集成在一塊芯片上,構(gòu)成單片機微型計算機,簡稱單片機SCM。單片機主要應(yīng)用于控制領(lǐng)域,用以實現(xiàn)各種測試和控制功能。為了強調(diào)其控制屬性,單片機又被稱為MCU。1.1單片機的基本概念什么是單片機?單片機主要應(yīng)用于控制2單片機與單片機系統(tǒng)單片機系統(tǒng)是為了實現(xiàn)某一控制應(yīng)用需要由用戶設(shè)計的,是一個圍繞單片機芯片組建的計算機應(yīng)用系統(tǒng)。在單片機系統(tǒng)中,單片機處于核心地位,是構(gòu)成單片機系統(tǒng)的硬件和軟件基礎(chǔ)。單片機與單片機系統(tǒng)單片機系統(tǒng)是為了實現(xiàn)某一控制應(yīng)用需要由用戶31.1單片機的基本概念發(fā)展歷程:4位、8位、16位、32位。自單片機誕生以來的近四十年中,單片機已有70多個系列,近500個機種。國際上較有名、影響大的公司及其產(chǎn)品:Intel公司:MCS-48、MCS-51、MCS-96系列;Motorola公司:6801、6802、6803、6805、68HCH系列;Zilog公司:Z8、Super8系列;Fairchild(仙童)公司和Mostek公司的F8、3870系列;NEC公司:μCOM-87系列;Rockwell公司:6500、6501系列ATMEL、PHILIPS、LG、三星、華邦等公司的51兼容機。1.1.1
單片機的發(fā)展?fàn)顩r1.1單片機的基本概念發(fā)展歷程:4位、8位、16位、3241.1.1單片機的發(fā)展?fàn)顩r單片機特點集成度高,抗干擾能力較強,可靠性高;體積小、重量輕、低電壓、低功耗,便于生產(chǎn)便攜式產(chǎn)品;控制功能強,運算速度快;硬件通用化、應(yīng)用靈活,單片機的系統(tǒng)擴展、系統(tǒng)配置較為典型、規(guī)范,易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng);研制周期短;價格便宜。1.1.1單片機的發(fā)展?fàn)顩r5單片機的發(fā)展趨勢
單片機的發(fā)展趨勢將是向大容量、高性能化,外圍電路內(nèi)裝化等方面發(fā)展。為滿足不同用戶的要求,各公司競相推出能滿足不同需要的產(chǎn)品。1.CPU的改進(1)增加CPU數(shù)據(jù)總線寬度。例如,各種16位單片機和32位單片機,數(shù)據(jù)處理能力要優(yōu)于8位單片機。另外,8位單片機內(nèi)部采用16位數(shù)據(jù)總線,其數(shù)據(jù)處理能力明顯優(yōu)于一般8位單片機。(2)采用雙CPU結(jié)構(gòu),以提高數(shù)據(jù)處理能力。單片機的發(fā)展趨勢62.存儲器的發(fā)展(1)片內(nèi)程序存儲器普遍采用閃爍(Flash)存儲器??刹挥猛鈹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)提供方便條件。2.存儲器的發(fā)展74.低功耗化
CMOS化,功耗小,配置有等待狀態(tài)、睡眠狀態(tài)、關(guān)閉狀態(tài)等工作方式。消耗電流僅在μA或nA量級,適于電池供電的便攜式、手持式的儀器儀表以及其它消費類電子產(chǎn)品。5.外圍電路內(nèi)裝化
眾多外圍電路全部裝入片內(nèi),即系統(tǒng)的單片化是目前發(fā)展趨勢之一。例如,美國Cygnal公司的C8051F0208位單片機,內(nèi)部采用流水線結(jié)構(gòu),大部分指令的完成時間為1或2個時鐘周期,峰值處理能力為25MIPS。片上集成有8通道A/D、兩路D/A、兩路電壓比較器,內(nèi)置溫度傳感器、定時器、可編程數(shù)字交叉開關(guān)和64個通用I/O口、電源監(jiān)測、看門狗、多種類型的串行接口(兩個UART、SPI)等。一片芯片就是一個“測控”系統(tǒng)。4.低功耗化8
綜上所述,單片機正在向多功能、高性能、高速度(時鐘達40MHz)、低電壓(2.7V即可工作甚至更低)、低功耗、低價格(幾元錢)、外圍電路內(nèi)裝化以及片內(nèi)程序存儲器和數(shù)據(jù)存儲器容量不斷增大的方向發(fā)展。單片機基礎(chǔ)知識課件91.1.2單片機的應(yīng)用智能產(chǎn)品上的應(yīng)用工業(yè)控制的應(yīng)用家用電器的應(yīng)用計算機網(wǎng)絡(luò)和通信領(lǐng)域的應(yīng)用汽車設(shè)備領(lǐng)域中的應(yīng)用
1.1.2單片機的應(yīng)用10單片機應(yīng)用領(lǐng)域通訊及網(wǎng)絡(luò)辦公自動化家電、電子玩具智能儀器儀表工業(yè)測控單片機應(yīng)用領(lǐng)域通訊及網(wǎng)絡(luò)辦公自動化家電、電子玩具智能儀1.1.3單片機的系列產(chǎn)品介紹ATMEL類單片機Intel單片機Motorola單片機Microchip單片機東芝單片機Zilog單片機1.1.3單片機的系列產(chǎn)品介紹121.2MCS-51內(nèi)核單片機1.2.1單片機基本組成盡管計算機科學(xué)技術(shù)得到充分發(fā)展,但是計算機體系結(jié)構(gòu)仍然沒有突破由計算機的開拓者、數(shù)學(xué)家約翰?馮?諾曼最先提出的經(jīng)典體系結(jié)構(gòu)框架,即一臺計算機是由運算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成,單片機系統(tǒng)也不例外。1.2MCS-51內(nèi)核單片機1.2.1單片機基本組成131.2.1單片機基本組成1.中央處理器(CPU):CPU是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。(1)運算器由ALU、暫存器1、暫存器2、累加器(ACC)、寄存器B、程序狀態(tài)字(PSW)、和布爾處理機共同組成。主要任務(wù)是完成算術(shù)運算、邏輯運算、位運算和數(shù)據(jù)傳送等操作。(2)控制器包括程序計數(shù)器(PC)、PC增1寄存器、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)、緩沖器及定時控制電路等??刂破麟娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機各部分正常工作。1.2.1單片機基本組成1.中央處理器(CPU):CPU是整142、數(shù)據(jù)存儲器(RAM):
8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果等。掉電后數(shù)據(jù)消失。3、程序存儲器(ROM):8051有4K的8位掩膜ROM,存放用戶程序,原始數(shù)據(jù)或表格。EPROM、EEPROM2、數(shù)據(jù)存儲器(RAM):154、定時/計數(shù)器(Timer/Counter):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù),并產(chǎn)生中斷用于控制程序轉(zhuǎn)向。5、并行輸入輸出(I/O)口:8051共有4組8位并行I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。6、全雙工串行口:
8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可用作異步通信收發(fā)器,也可以當(dāng)同步移位寄存器使用。
4、定時/計數(shù)器(Timer/Counter):167、中斷系統(tǒng):
8051具有相對完善的中斷功能,有2個外中斷、2個定時/計數(shù)器中斷和1個串行中斷,可滿足不同控制要求,并具有2級的優(yōu)先級別選擇。8、時鐘電路:
8051內(nèi)置頻率12MHz時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩器和振蕩電容。7、中斷系統(tǒng):17單片機基礎(chǔ)知識課件18單片機基礎(chǔ)知識課件191.2.1單片機的基本組成
MCS-51系列單片機技術(shù)參數(shù)表1.2.1單片機的基本組成208051
單
片
機
內(nèi)
部
結(jié)
構(gòu)
圖
8051
單
片
機
內(nèi)
部
結(jié)
構(gòu)
圖
211.2.2單片機的外部引腳1.2.2單片機的外部引腳22DIP引腳圖邏輯符號
8051的40個引腳可分為:DIP引腳圖231.電源引腳(2根)
VCC(40腳):電源端,接+5V電源。VSS(20腳):接地端。2.時鐘引腳(2根)
XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,此引腳應(yīng)接地。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,此引腳應(yīng)接外部時鐘的輸入端;8051單片機正常工作時,該引腳應(yīng)該有脈沖信號輸出。
1.電源引腳(2根)243.控制引腳(4根)
(30腳):地址鎖存允許信號輸出/編程脈沖輸入引腳。當(dāng)CPU訪問片外存儲器時,ALE輸出信號控制鎖存P0口輸出的低8位地址,從而實現(xiàn)P0口數(shù)據(jù)與低位地址的分時復(fù)用。當(dāng)訪問內(nèi)部程序存儲器時,ALE端將輸出1/6時鐘頻率的正脈沖信號。這個信號可以用于識別單片機是否工作,也可當(dāng)做一個時鐘向外輸出,每次有效對應(yīng)一次讀指令操作。3.控制引腳(4根)253.控制引腳(4根)
(29腳):片外ROM讀選通信號端。當(dāng)訪問外部程序存儲器時,此引腳輸出負(fù)脈沖選通信號,16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。
(31腳):外部程序存儲器地址允許輸入端。
當(dāng)EA接高電平時,CPU執(zhí)行片內(nèi)ROM指令,但當(dāng)PC值超過0FFFH時,將自動轉(zhuǎn)去執(zhí)行片外ROM指令;當(dāng)EA接低電平時,CPU只執(zhí)行片外ROM指令。
對8031,此管腳怎么處理?3.控制引腳(4根)26
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳
當(dāng)此引腳保持2個機器周期(24個時鐘周期)的高電平后,就可使8051完成復(fù)位操作。復(fù)位方式可以是自動復(fù)位或手動復(fù)位。初始化后,系統(tǒng)所處狀態(tài):(1)程序計數(shù)器PC指向0000H;(2)P0-P3輸出口全部為高電平;(3)堆棧指針SP寫入07H,其它專用寄存器被清“0”。注意:初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),RST由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳注意:初27
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳284.I/O引腳
(1)P0.0~P0.7(39~32腳):P0口的8位雙向I/O口線。P0口可作為通用雙向I/O口。在外接數(shù)據(jù)、程序存儲器時,可作為低8位地址/數(shù)據(jù)總線復(fù)用引腳。
(2)P1.0~P1.7(1~8腳):P1口的8位準(zhǔn)雙向I/O口線。P1口作為通用的I/O口使用。
(3)P2.0~P2.7(21~28腳):P2口的8位準(zhǔn)雙向I/O口線。P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。(4)P3.0~P3.7(10~17腳):P3口的8位準(zhǔn)雙向I/O口線。P3口除了作為通用的I/O口使用之外,每個引腳還具有第二功能。
4.I/O引腳29信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的,而單片機為實現(xiàn)其功能所需要的信號數(shù)目卻遠遠超過實際管腳數(shù)。解決這一矛盾的方式是引腳復(fù)用。具有第二功能的引腳:EPROM存儲器程序固化所需信號:編程脈沖ALE/PROG編程電壓備用電源引入:RST/VPDP3口信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有30P3口的第二功能P3口的第二功能31對于各種型號的芯片,引腳的第一功能是相同的,所不同的只在第二功能信號上。對于9、30和31各引腳,由于第一功能信號與第二功能信號是單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。P3口的情況有所不同,它的第二功能信號都是單片機的重要控制信號。因此在實際使用中,總是先按需要優(yōu)先選用它的第二功能。對于各種型號的芯片,引腳的第一功能是相同的,所不同的只在第二321.2.3單片機的存儲器
MCS-51單片機程序存儲器和數(shù)據(jù)存儲器相互獨立(獨立編址、獨立訪問),即存儲器采用是哈佛結(jié)構(gòu)。(另外一種是馮諾曼結(jié)構(gòu)又稱為普林斯頓結(jié)構(gòu))在物理結(jié)構(gòu)上有4個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。單片機的外部數(shù)據(jù)存儲器和I/O接口采用統(tǒng)一編址的方式。
在邏輯結(jié)構(gòu)上有3個存儲空間:64K字節(jié)片內(nèi)片外統(tǒng)一編址的程序存儲器、256字節(jié)片內(nèi)數(shù)據(jù)存儲器、64K片外數(shù)據(jù)存儲器。在訪問三個不同的邏輯存儲空間時,采用不同的指令和不同的控制信號。1.2.3單片機的存儲器MCS-51單片機程33存儲器空間分布圖
存儲器空間分布圖34單片機基礎(chǔ)知識課件351.程序存儲器ROM作用:用于存放程序和常數(shù)表格。一般采用只讀式存儲器ROM、EPROM、E2PROM。特點:
尋址范圍64K,與之對應(yīng)的編址為0000H~FFFFH;片內(nèi)片外連續(xù)統(tǒng)一編址,先片內(nèi)再片外,地址不重合(片內(nèi)0000H~0FFFH,片外1000H~FFFFH);選擇片內(nèi)片外ROM與哪個控制引腳有關(guān)?有6組特殊單元0000H~002AH:
1.程序存儲器ROM作用:用于存放程序和常數(shù)表格。一般360000H~0002H:復(fù)位入口地址0003H~000AH:外部中斷INT0入口地址000BH~0012H:定時器T0/C0溢出中斷入口地址0013H~001AH:外部中斷INT1入口地址001BH~0022H:定時器T1/C1溢出中斷入口地址0023H~002AH:串行口中斷入口地址;0000H~0002H:復(fù)位入口地址37注意事項系統(tǒng)若擴展片外程序存儲器時,P0(通過鎖存器)、P2口與16位地址線連接;對于片內(nèi)有ROM的單片機,/EA=1,對于片內(nèi)無ROM的單片機8031,調(diào)試時/EA=1(不用8031的程序存儲器),而使用時,/EA=0;外部程序存儲器讀選通信號/PSEN只用于外部ROM取指,對片內(nèi)程序存儲器無效;6組特殊單元,一般存放一條無條件跳轉(zhuǎn)語句;
片外ROM和片外RAM的地址出現(xiàn)了重疊,可使用相應(yīng)的指令進行區(qū)分。訪問外部ROM時,用MOVC指令。注意事項系統(tǒng)若擴展片外程序存儲器時,P0(通過鎖存器)、P382.數(shù)據(jù)存儲器作用:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩存、標(biāo)志位等。一般采用讀寫存儲器:靜態(tài)/動態(tài)RAM。特點:片內(nèi)、片外分別編址;片內(nèi):00~FFH片外:0000H~FFFFH片外RAM用數(shù)據(jù)指針DPTR尋址,由管腳RD/WR控制RAM的讀出/寫入;片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū))2.數(shù)據(jù)存儲器作用:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩存、39
內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器在00H~7F范圍內(nèi)地址出現(xiàn)了重疊的現(xiàn)象,單片機通過不同的指令格式加以區(qū)分。訪問片內(nèi)RAM使用MOV指令,允許采用多種尋址方式。
例如:MOVA,@R0
MOV@R1,A片外RAM采用MOVX指令,若外部存儲單元的地址為8位,可選擇R0或R1作為間接尋址寄存器。
例如
MOVXA,@R0
MOVX@R1,A
若地址為16位,必須選DPTR寄存器地作為間接尋址寄存器。例如:MOVXA,@DPTR
MOVX@DPTR,A內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器在00H~740MCS_51單片機內(nèi)部數(shù)據(jù)儲存器配置MCS_51單片機內(nèi)部數(shù)據(jù)儲存器配置41片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū))(1)工作寄存器區(qū)(00H-1FH)
該區(qū)32個單元分為4組,每組包含8個八位寄存器,均以R0~R7來命名,稱為通用寄存器。CPU當(dāng)前所使用的工作寄存器區(qū)是由程序狀態(tài)字PSW中的D3(RS0)和D4(RS1)位來選擇的。通過修改PSW中的RS0和RS1這兩位,就可選擇任一組工作寄存器,這有利于提高CPU的效率和響應(yīng)中斷的速度。片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)42
(2)位尋址區(qū)(20H-2FH)片內(nèi)RAM的20H—2FH單元為位尋址區(qū),它們既可作為一般單元用字節(jié)尋址,也可以對其中的某位進行尋址。位尋址區(qū)共16字節(jié),位地址00~7FH?!拔弧钡谋硎痉绞剑阂晕坏刂沸问?,如7FH以存儲單元加位的形式,如2FH.7(2)位尋址區(qū)(20H-2FH)“位”的表示方式:43(3)用戶RAM區(qū)(30H-7FH)
該區(qū)用于存放用戶數(shù)據(jù),對這部分區(qū)域的使用不作任何規(guī)定和限制,堆棧一般開辟在這個區(qū)域。(4)特殊功能寄存器區(qū)(80H-FFH)
8051單片機有21個特殊功能寄存器,離散分布在片內(nèi)高128字節(jié)內(nèi),只能采用直接尋址方式,其中11個特殊功能寄存器還可位尋址,這11個字節(jié)地址都可被8整除,如ACC的字節(jié)地址為E0H,其位地址為E0H-E7H。
對此區(qū)空閑地址的操作是無意義的。常用的特殊功能寄存器:ACC、B、PSW、SP、DPTR等。(3)用戶RAM區(qū)(30H-7FH)44單片機基礎(chǔ)知識課件45①與ALU相關(guān)的(3個)
ACC累加器:最常用的專用寄存器用于存放操作數(shù),是ALU數(shù)據(jù)輸入的一個重要來源。大部分單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個操作數(shù)取自累加器,用于存放中間結(jié)果,加、減、乘、除算術(shù)運算指令的運算結(jié)果存放在累加器A或B寄存器中。累加器是數(shù)據(jù)傳送的中轉(zhuǎn)站。在變址尋址方式中,把累加器作為變址寄存器使用。B寄存器
:用于乘除運算或一般數(shù)據(jù)寄存器。
在乘除指令中用到了B寄存器,乘法指令的兩個操作數(shù)分別取自A和B,其結(jié)果存放在A和B寄存器對中。例如除法指令中,被除數(shù)取自A,除數(shù)取自B,商存放于A。余數(shù)存放于B。①與ALU相關(guān)的(3個)46①與ALU相關(guān)的(3個)
程序狀態(tài)字(PSW)
PSW是8位寄存器,用于作為程序運行狀態(tài)的標(biāo)志。里面存放了CPU工作時的很多狀態(tài),借此,我們可了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)處理。
CY—進位標(biāo)志位。功能有二:一是存放算術(shù)運算的進位標(biāo)志;二是在位操作中,作為累加位使用。AC—輔助進位標(biāo)志位。在加減運算中,當(dāng)有低4位向高4位進位或借位時,AC由硬件置位,否則被清零,用于調(diào)整BCD碼的運算結(jié)果。F0—用戶標(biāo)識位,用于控制程序的轉(zhuǎn)向。①與ALU相關(guān)的(3個)CY—進位標(biāo)志位。功能有二:一47RS1、RS0—工作寄存器組的選擇位。OV—溢出標(biāo)志位。P—奇偶校驗位。用來表示累加器A內(nèi)容中二進制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。RS1、RS0—工作寄存器組的選擇位。OV—溢出標(biāo)志位。P—48②與指針相關(guān)的(2個)數(shù)據(jù)指針(DPTR)—16位SFR,可分開為兩個8位:DPL和DPH。存放外部存儲器的地址。堆棧指針(SP)
SP是一個8位寄存器,指示堆棧頂部在內(nèi)部RAM中的位置,專門用來存放堆棧的棧頂?shù)刂?。入棧能自動?,出棧則自動減1。堆棧操作遵循先進后出的原則。
系統(tǒng)復(fù)位后初始化的值為07H,則堆棧由08H單元開始,占用了工作寄存器空間,可以改變SP的值,一般設(shè)在30H-7FH。②與指針相關(guān)的(2個)數(shù)據(jù)指針(DPTR)—16位SFR,49堆棧的作用:保護斷點:在調(diào)用子程序或中斷時,返回地址自動進棧。程序返回時,斷點自動彈回到PC。保護現(xiàn)場:使用專用堆棧操作指令POP與PUSH。如現(xiàn)場保護就是指令式的進棧操作;現(xiàn)場恢復(fù)就是出棧操作。堆棧的開辟:在內(nèi)部數(shù)據(jù)存儲器,容量有限;堆棧指示器SP:無論數(shù)據(jù)進棧還是出棧,都是對棧頂單元進行,即對棧頂單元的寫和讀操作。為了指示棧頂?shù)刂?,要設(shè)置堆棧指針,SP的內(nèi)容就是堆棧棧頂?shù)拇鎯卧刂?。堆棧類型:向上生長型(棧底是低地址單元)進棧操作:先SP加1,后寫入數(shù)據(jù);出棧操作:先讀出數(shù)據(jù),后SP減1。進棧出棧堆棧的作用:進棧出棧50單片機基礎(chǔ)知識課件51程序計數(shù)器PC是一個16位的計數(shù)器,是程序存儲器的字節(jié)地址計數(shù)器,它里面存放著將要執(zhí)行的下一條指令的地址。其特點如下:不可尋址的專用寄存器物理上是獨立的,不占據(jù)RAM單元;尋址范圍為64K字節(jié)程序計數(shù)器PC是一個16位的計數(shù)器,是程序存儲器的字節(jié)地521.2.4單片機的時鐘電路和時序1.時鐘電路:
MCS-51的時鐘有2種方式:(1)內(nèi)部振蕩方式:利用單片機內(nèi)部的振蕩電路,產(chǎn)生時鐘信號,這種方式單片機的時鐘引腳上接石英晶體和振蕩電容;(2)外部時鐘方式:外部已有時鐘信號引入單片機。1.2.4單片機的時鐘電路和時序1.時鐘電路:532.CPU的時序
時序是用定時單位來描述的。MCS-51時序單位有4個,從小到大依次為節(jié)拍、狀態(tài)、機器周期、指令周期。(1)節(jié)拍、狀態(tài)
一個時鐘周期定義為一個節(jié)拍(用P表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示),這兩個節(jié)拍中的前一拍稱為P1,后一拍為P2。(2)時鐘周期
也稱為振蕩周期,定義為時鐘脈沖的倒數(shù),它是計算機中最基本的、最小的時間單位。時鐘周期就是單片機外接晶振的倒數(shù),例如12M的晶振,它的時間周期就是1/12us。2.CPU的時序時序是用定時單位來描述的。MCS54(3)機器周期
CPU訪問存儲器一次所需的時間。例如,取指令、讀存儲器、寫存儲器等。51系列單片機的1個機器周期同6個狀態(tài)周期組成,也就是說1個機器周期等于6個狀態(tài)周期,即12個時鐘周期。(4)指令周期
執(zhí)行1條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期數(shù)也不同,有單周期指令、雙周期指令和四周期指令。(3)機器周期55典型指令時序典型指令時序561.2.5單片機的復(fù)位和復(fù)位電路1.2.5單片機的復(fù)位和復(fù)位電路571.3存儲器擴展
8051單片機一塊芯片就是一個完整的最小微機系統(tǒng),但片內(nèi)存儲器的容量、并行I/O端口、定時器等內(nèi)部資源都還是有限的。可以根據(jù)實際需要,對其進行功能擴展,它包括數(shù)據(jù)存儲器和程序存儲器等的擴展。
系統(tǒng)的擴展是通過總線把單片機和擴展部分連接起來。根據(jù)總線傳送的信息可分為數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)。1.3存儲器擴展8051單片機一塊芯片58單片機基礎(chǔ)知識課件59單片機擴展總線的構(gòu)造
數(shù)據(jù)總線D0~D7:
數(shù)據(jù)總線的寬度為8位,由P0口提供。地址總線A0~A15
8051單片機的地址總線寬度為16位,P0提供低8位地址,P2提供高8位地址。可尋址范圍64KB,。由于P0即作低8位地址線,又作數(shù)據(jù)線,所以它是分時復(fù)用的引腳,使用時需要加一個8位鎖存器,如74LS373。控制總線
P3提供的讀信號、寫信號,加上控制線、ALE、/EA、/PSEN等信號組成控制總線。/RD讀和/WR寫作為擴展數(shù)據(jù)存儲器讀、寫選通信號;/EA信號作為片內(nèi)、外ROM的選擇控制信號;ALE信號作為地址鎖存器的選通信號,實現(xiàn)對低8位地址的鎖存;/PSEN號作為擴展程序存儲器ROM的讀選通信號。單片機擴展總線的構(gòu)造60單片機擴展總線的構(gòu)造如圖
單片機擴展總線的構(gòu)造如圖
61
89S51單片機內(nèi)部有4KBFlashROM,當(dāng)程序大于4KB時,就需要擴展程序存儲器。1.常用程序存儲器芯片
程序存儲器有許多種,比如ROM(只讀存儲器)、PROM(可編程ROM)、EPROM(可擦除可編程ROM)、EEPROM(電可擦除可編程)和FlashROM(閃存存儲器)。最常見的芯片是紫外線可擦除的EPROM,主要是Intel公司生產(chǎn)的27XXX系列,如2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。1.3.1程序存儲器擴展89S51單片機內(nèi)部有4KBFlashROM,當(dāng)62圖1.12常用EPROM芯片的管腳和封裝(除了2716、2732(DIP24)外,其他均為DIP28的雙列直插式封裝。)圖1.12常用EPROM芯片的管腳和封裝63EPROM各引腳功能如下:
①A0~A15:地址輸入線,引腳的數(shù)目隨芯片的容量有所不同。②D0~D7:雙向三態(tài)數(shù)據(jù)總線,讀或編程校驗時為數(shù)據(jù)輸出線,編程時為數(shù)據(jù)輸入線。其余時間呈高阻狀態(tài)。③/CE:片選信號,低電平表示該芯片被選中。
④/OE:讀出選通線,低電平輸出緩沖器打開,數(shù)據(jù)輸出。
⑤/PGM:編程脈沖輸入線。正常工作時接+5V電源,編程時輸入編程脈沖。
⑥VPP:編程電源輸入線,正常工作時接+5V電源,編程加編程電壓。
⑦VCC:電源線,接+5V電源。
⑧NC:空。
⑨GND:接地。EPROM各引腳功能如下:642.總線擴展2.總線擴展65地址鎖存器與單片機的連接地址鎖存器與單片機的連接663.擴展的基本結(jié)構(gòu)3.擴展的基本結(jié)構(gòu)674.典型EPROM的擴展例1:單片擴展4.典型EPROM的擴展例1:單片擴展68例2:線選法單片擴展例2:線選法單片擴展69編址技術(shù):線選法:把地址線直接與存儲芯片的片選端連接。優(yōu)點:簡單明了,不需要增加電路。缺點:對存儲空間的應(yīng)用是斷續(xù)的,且存儲映像區(qū)非唯一。譯碼法:使用譯碼器對系統(tǒng)的高位地址進行譯碼,以譯碼輸出作為片選信號。優(yōu)點:有效利用存儲空間,適用于大容量多芯片存儲器擴展。例1:存儲地址可以是0000H~0FFFH、F000H~FFFFH等。例2:存儲地址可以是0000H~1FFFH、C000H~DFFFH等。編址技術(shù):70線選法多片EPROM的擴展電路線選法多片EPROM的擴展電路71線選法多片EPROM的擴展電路線選法多片EPROM的擴展電路720000H-1FFFH2000H-3FFFH4000H-5FFFH0000H-1FFFH2000H-3FFFH4000H-5F73單片機基礎(chǔ)知識課件74單片機基礎(chǔ)知識課件75對于多片程序存儲器的擴展,其要點:各芯片的低位地址線并行連接;各芯片的數(shù)據(jù)線并行連接;各芯片的控制信號/PSEN并行連接;采用線選法或譯碼法來產(chǎn)生各芯片的片選信號。對于多片程序存儲器的擴展,其要點:76
1.3.2數(shù)據(jù)存儲器的擴展
圖1.14常用RAM芯片的管腳和封裝1.常用RAM芯片1.3.2數(shù)據(jù)存儲器的擴展圖1.14常用RAM芯片77
①A0~A15:地址輸入線,引腳的數(shù)目隨芯片的容量有所不同。
②D0~D7:雙向三態(tài)數(shù)據(jù)總線。
③/CE:片選線,低電平有效。6264的26腳(CS)必須為高電平,并且為低電平時才選中該芯片。④/OE:讀選通線,低電平有效。⑤/WR:寫選通線,低電平有效。
⑥VCC:電源線,接+5V電源。
⑦NC:空。
⑧GND:接地。
擴展數(shù)據(jù)存儲器由P2口提供高8位地址,P0口分時用作低8位地址和8位數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM的讀和寫由(P3.7)和(P3.6)信號控制。
①A0~A15:地址輸入線,引腳的數(shù)目隨芯片的容量有所不782.數(shù)據(jù)存儲器的擴展2.數(shù)據(jù)存儲器的擴展79單片機基礎(chǔ)知識課件801.4AT89S51最小系統(tǒng)AT89S51單片機的最小系統(tǒng)組成單片機最小系統(tǒng):能使單片機工作的最少器件構(gòu)成的系統(tǒng)。74HC14實現(xiàn)了6路施密特觸發(fā)反相器,可將緩慢變化的輸入信號轉(zhuǎn)換成清晰、無抖動的輸出信號1.4AT89S51最小系統(tǒng)AT89S51單片機的最811.5單片機應(yīng)用系統(tǒng)設(shè)計的一般方法1.5.1單片機的選型考慮
1.單片機的選型原則適用原則可開發(fā)性原則
2.單片機的選型參考1.5單片機應(yīng)用系統(tǒng)設(shè)計的一般方法1.5.1單片機的選型821.5.2單片機應(yīng)用系統(tǒng)的設(shè)計過程
單片機應(yīng)用系統(tǒng)是以單片機為核心,配上一定的外圍電路和軟件,實現(xiàn)某種功能的系統(tǒng)。雖然單片機的硬件選型不盡相同,軟件編寫也千差萬別,但系統(tǒng)的研制步驟和方法是基本一致的,一般都分為如下幾個階段:總體設(shè)計硬件電路的構(gòu)思設(shè)計軟件的編制仿真調(diào)試。1.5.2單片機應(yīng)用系統(tǒng)的設(shè)計過程單片機應(yīng)用系統(tǒng)是以83圖1.17單片機應(yīng)用系統(tǒng)設(shè)計流程圖1.17單片機應(yīng)用系統(tǒng)設(shè)計流程841、確定總體設(shè)計方案
①擬定設(shè)計任務(wù)書,確定功能技術(shù)指標(biāo)。
②單片機的選型
③器件和設(shè)備選擇
④軟件硬件功能劃分1、確定總體設(shè)計方案852、硬件設(shè)計
硬件設(shè)計是以芯片和元件為基礎(chǔ)的完整的單片機系統(tǒng)的設(shè)計,根據(jù)總體設(shè)計要求,確定能實現(xiàn)該項目的所有功能的電路原理圖,涉及到芯片選擇、外設(shè)I/O通道設(shè)計、電源設(shè)計等。盡可能選用典型應(yīng)用電路。系統(tǒng)的擴展與外圍電路的水平,應(yīng)充分滿足系統(tǒng)功能的要求并留有余地。充分考慮系統(tǒng)各部分的驅(qū)動能力和電氣性能的配合。以軟件功能代替硬件電路。
2、硬件設(shè)計863、軟件設(shè)計
一旦單片機系統(tǒng)產(chǎn)品研發(fā)完成,軟件就固化在硬件環(huán)境中,單片機軟件是針對相應(yīng)的單片機硬件系統(tǒng)開發(fā)的,是專用的。根據(jù)總體方案的要求和硬件電路的設(shè)計,編寫應(yīng)用程序完成軟件功能,編寫時可將其分成多個功能模塊,便于調(diào)試、修改、連接和移植。4、單片機應(yīng)用系統(tǒng)抗干擾的設(shè)計①濾波技術(shù)②隔離技術(shù)
接地技術(shù):比如AGND與DGND分開,最后單點接地;交流地、功率地和信號地不能共用;高頻電路就近多點接地,低頻電路一點接地等。3、軟件設(shè)計871.5.3單片機應(yīng)用系統(tǒng)的仿真與調(diào)試圖1.18仿真器開發(fā)環(huán)境1.單片機應(yīng)用系統(tǒng)的開發(fā)工具
典型的單片機開發(fā)環(huán)境如圖所示,它包括PC機、仿真器和編程器。
單片機開發(fā)系統(tǒng)具備對用戶程序進行輸入、編輯、匯編和調(diào)試的功能;此外,還具備在線仿真功能、輔助設(shè)計功能等。
1.5.3單片機應(yīng)用系統(tǒng)的仿真與調(diào)試圖1.18仿真器882.單片機應(yīng)用系統(tǒng)的調(diào)試方法
單片機應(yīng)用系統(tǒng)的硬件故障和軟件調(diào)試是分不開的,許多硬件故障在軟件調(diào)試只能中才能發(fā)現(xiàn)。但首先要排除硬件中的明顯故障。常見的故障有:
邏輯錯誤元件失效可靠性差電源故障2.單片機應(yīng)用系統(tǒng)的調(diào)試方法89第1章單片機基礎(chǔ)知識1.1
了解單片機的概念
1.2MCS-51內(nèi)核單片機1.3
單片機的存儲器擴展1.4AT89S51單片機最小系統(tǒng)1.5單片機應(yīng)用系統(tǒng)設(shè)計的一般方法第1章單片機基礎(chǔ)知識1.1了解單片機的概念901.1單片機的基本概念什么是單片機?
將微處理器CPU、一定容量的ROM和RAM以及I/O口、定時器/計數(shù)器、中斷系統(tǒng)等電路集成在一塊芯片上,構(gòu)成單片機微型計算機,簡稱單片機SCM。單片機主要應(yīng)用于控制領(lǐng)域,用以實現(xiàn)各種測試和控制功能。為了強調(diào)其控制屬性,單片機又被稱為MCU。1.1單片機的基本概念什么是單片機?單片機主要應(yīng)用于控制91單片機與單片機系統(tǒng)單片機系統(tǒng)是為了實現(xiàn)某一控制應(yīng)用需要由用戶設(shè)計的,是一個圍繞單片機芯片組建的計算機應(yīng)用系統(tǒng)。在單片機系統(tǒng)中,單片機處于核心地位,是構(gòu)成單片機系統(tǒng)的硬件和軟件基礎(chǔ)。單片機與單片機系統(tǒng)單片機系統(tǒng)是為了實現(xiàn)某一控制應(yīng)用需要由用戶921.1單片機的基本概念發(fā)展歷程:4位、8位、16位、32位。自單片機誕生以來的近四十年中,單片機已有70多個系列,近500個機種。國際上較有名、影響大的公司及其產(chǎn)品:Intel公司:MCS-48、MCS-51、MCS-96系列;Motorola公司:6801、6802、6803、6805、68HCH系列;Zilog公司:Z8、Super8系列;Fairchild(仙童)公司和Mostek公司的F8、3870系列;NEC公司:μCOM-87系列;Rockwell公司:6500、6501系列ATMEL、PHILIPS、LG、三星、華邦等公司的51兼容機。1.1.1
單片機的發(fā)展?fàn)顩r1.1單片機的基本概念發(fā)展歷程:4位、8位、16位、32931.1.1單片機的發(fā)展?fàn)顩r單片機特點集成度高,抗干擾能力較強,可靠性高;體積小、重量輕、低電壓、低功耗,便于生產(chǎn)便攜式產(chǎn)品;控制功能強,運算速度快;硬件通用化、應(yīng)用靈活,單片機的系統(tǒng)擴展、系統(tǒng)配置較為典型、規(guī)范,易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng);研制周期短;價格便宜。1.1.1單片機的發(fā)展?fàn)顩r94單片機的發(fā)展趨勢
單片機的發(fā)展趨勢將是向大容量、高性能化,外圍電路內(nèi)裝化等方面發(fā)展。為滿足不同用戶的要求,各公司競相推出能滿足不同需要的產(chǎn)品。1.CPU的改進(1)增加CPU數(shù)據(jù)總線寬度。例如,各種16位單片機和32位單片機,數(shù)據(jù)處理能力要優(yōu)于8位單片機。另外,8位單片機內(nèi)部采用16位數(shù)據(jù)總線,其數(shù)據(jù)處理能力明顯優(yōu)于一般8位單片機。(2)采用雙CPU結(jié)構(gòu),以提高數(shù)據(jù)處理能力。單片機的發(fā)展趨勢952.存儲器的發(fā)展(1)片內(nèi)程序存儲器普遍采用閃爍(Flash)存儲器。可不用外擴展程序存儲器,簡化系統(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)提供方便條件。2.存儲器的發(fā)展964.低功耗化
CMOS化,功耗小,配置有等待狀態(tài)、睡眠狀態(tài)、關(guān)閉狀態(tài)等工作方式。消耗電流僅在μA或nA量級,適于電池供電的便攜式、手持式的儀器儀表以及其它消費類電子產(chǎn)品。5.外圍電路內(nèi)裝化
眾多外圍電路全部裝入片內(nèi),即系統(tǒng)的單片化是目前發(fā)展趨勢之一。例如,美國Cygnal公司的C8051F0208位單片機,內(nèi)部采用流水線結(jié)構(gòu),大部分指令的完成時間為1或2個時鐘周期,峰值處理能力為25MIPS。片上集成有8通道A/D、兩路D/A、兩路電壓比較器,內(nèi)置溫度傳感器、定時器、可編程數(shù)字交叉開關(guān)和64個通用I/O口、電源監(jiān)測、看門狗、多種類型的串行接口(兩個UART、SPI)等。一片芯片就是一個“測控”系統(tǒng)。4.低功耗化97
綜上所述,單片機正在向多功能、高性能、高速度(時鐘達40MHz)、低電壓(2.7V即可工作甚至更低)、低功耗、低價格(幾元錢)、外圍電路內(nèi)裝化以及片內(nèi)程序存儲器和數(shù)據(jù)存儲器容量不斷增大的方向發(fā)展。單片機基礎(chǔ)知識課件981.1.2單片機的應(yīng)用智能產(chǎn)品上的應(yīng)用工業(yè)控制的應(yīng)用家用電器的應(yīng)用計算機網(wǎng)絡(luò)和通信領(lǐng)域的應(yīng)用汽車設(shè)備領(lǐng)域中的應(yīng)用
1.1.2單片機的應(yīng)用99單片機應(yīng)用領(lǐng)域通訊及網(wǎng)絡(luò)辦公自動化家電、電子玩具智能儀器儀表工業(yè)測控單片機應(yīng)用領(lǐng)域通訊及網(wǎng)絡(luò)辦公自動化家電、電子玩具智能儀1.1.3單片機的系列產(chǎn)品介紹ATMEL類單片機Intel單片機Motorola單片機Microchip單片機東芝單片機Zilog單片機1.1.3單片機的系列產(chǎn)品介紹1011.2MCS-51內(nèi)核單片機1.2.1單片機基本組成盡管計算機科學(xué)技術(shù)得到充分發(fā)展,但是計算機體系結(jié)構(gòu)仍然沒有突破由計算機的開拓者、數(shù)學(xué)家約翰?馮?諾曼最先提出的經(jīng)典體系結(jié)構(gòu)框架,即一臺計算機是由運算器、控制器、存儲器、輸入設(shè)備以及輸出設(shè)備五部分構(gòu)成,單片機系統(tǒng)也不例外。1.2MCS-51內(nèi)核單片機1.2.1單片機基本組成1021.2.1單片機基本組成1.中央處理器(CPU):CPU是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。(1)運算器由ALU、暫存器1、暫存器2、累加器(ACC)、寄存器B、程序狀態(tài)字(PSW)、和布爾處理機共同組成。主要任務(wù)是完成算術(shù)運算、邏輯運算、位運算和數(shù)據(jù)傳送等操作。(2)控制器包括程序計數(shù)器(PC)、PC增1寄存器、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)、緩沖器及定時控制電路等。控制器電路完成指揮控制工作,協(xié)調(diào)單片機各部分正常工作。1.2.1單片機基本組成1.中央處理器(CPU):CPU是整1032、數(shù)據(jù)存儲器(RAM):
8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果等。掉電后數(shù)據(jù)消失。3、程序存儲器(ROM):8051有4K的8位掩膜ROM,存放用戶程序,原始數(shù)據(jù)或表格。EPROM、EEPROM2、數(shù)據(jù)存儲器(RAM):1044、定時/計數(shù)器(Timer/Counter):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù),并產(chǎn)生中斷用于控制程序轉(zhuǎn)向。5、并行輸入輸出(I/O)口:8051共有4組8位并行I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。6、全雙工串行口:
8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可用作異步通信收發(fā)器,也可以當(dāng)同步移位寄存器使用。
4、定時/計數(shù)器(Timer/Counter):1057、中斷系統(tǒng):
8051具有相對完善的中斷功能,有2個外中斷、2個定時/計數(shù)器中斷和1個串行中斷,可滿足不同控制要求,并具有2級的優(yōu)先級別選擇。8、時鐘電路:
8051內(nèi)置頻率12MHz時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩器和振蕩電容。7、中斷系統(tǒng):106單片機基礎(chǔ)知識課件107單片機基礎(chǔ)知識課件1081.2.1單片機的基本組成
MCS-51系列單片機技術(shù)參數(shù)表1.2.1單片機的基本組成1098051
單
片
機
內(nèi)
部
結(jié)
構(gòu)
圖
8051
單
片
機
內(nèi)
部
結(jié)
構(gòu)
圖
1101.2.2單片機的外部引腳1.2.2單片機的外部引腳111DIP引腳圖邏輯符號
8051的40個引腳可分為:DIP引腳圖1121.電源引腳(2根)
VCC(40腳):電源端,接+5V電源。VSS(20腳):接地端。2.時鐘引腳(2根)
XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,此引腳應(yīng)接地。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,此引腳應(yīng)接外部時鐘的輸入端;8051單片機正常工作時,該引腳應(yīng)該有脈沖信號輸出。
1.電源引腳(2根)1133.控制引腳(4根)
(30腳):地址鎖存允許信號輸出/編程脈沖輸入引腳。當(dāng)CPU訪問片外存儲器時,ALE輸出信號控制鎖存P0口輸出的低8位地址,從而實現(xiàn)P0口數(shù)據(jù)與低位地址的分時復(fù)用。當(dāng)訪問內(nèi)部程序存儲器時,ALE端將輸出1/6時鐘頻率的正脈沖信號。這個信號可以用于識別單片機是否工作,也可當(dāng)做一個時鐘向外輸出,每次有效對應(yīng)一次讀指令操作。3.控制引腳(4根)1143.控制引腳(4根)
(29腳):片外ROM讀選通信號端。當(dāng)訪問外部程序存儲器時,此引腳輸出負(fù)脈沖選通信號,16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。
(31腳):外部程序存儲器地址允許輸入端。
當(dāng)EA接高電平時,CPU執(zhí)行片內(nèi)ROM指令,但當(dāng)PC值超過0FFFH時,將自動轉(zhuǎn)去執(zhí)行片外ROM指令;當(dāng)EA接低電平時,CPU只執(zhí)行片外ROM指令。
對8031,此管腳怎么處理?3.控制引腳(4根)115
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳
當(dāng)此引腳保持2個機器周期(24個時鐘周期)的高電平后,就可使8051完成復(fù)位操作。復(fù)位方式可以是自動復(fù)位或手動復(fù)位。初始化后,系統(tǒng)所處狀態(tài):(1)程序計數(shù)器PC指向0000H;(2)P0-P3輸出口全部為高電平;(3)堆棧指針SP寫入07H,其它專用寄存器被清“0”。注意:初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),RST由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳注意:初116
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳
RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳1174.I/O引腳
(1)P0.0~P0.7(39~32腳):P0口的8位雙向I/O口線。P0口可作為通用雙向I/O口。在外接數(shù)據(jù)、程序存儲器時,可作為低8位地址/數(shù)據(jù)總線復(fù)用引腳。
(2)P1.0~P1.7(1~8腳):P1口的8位準(zhǔn)雙向I/O口線。P1口作為通用的I/O口使用。
(3)P2.0~P2.7(21~28腳):P2口的8位準(zhǔn)雙向I/O口線。P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。(4)P3.0~P3.7(10~17腳):P3口的8位準(zhǔn)雙向I/O口線。P3口除了作為通用的I/O口使用之外,每個引腳還具有第二功能。
4.I/O引腳118信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的,而單片機為實現(xiàn)其功能所需要的信號數(shù)目卻遠遠超過實際管腳數(shù)。解決這一矛盾的方式是引腳復(fù)用。具有第二功能的引腳:EPROM存儲器程序固化所需信號:編程脈沖ALE/PROG編程電壓備用電源引入:RST/VPDP3口信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有119P3口的第二功能P3口的第二功能120對于各種型號的芯片,引腳的第一功能是相同的,所不同的只在第二功能信號上。對于9、30和31各引腳,由于第一功能信號與第二功能信號是單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。P3口的情況有所不同,它的第二功能信號都是單片機的重要控制信號。因此在實際使用中,總是先按需要優(yōu)先選用它的第二功能。對于各種型號的芯片,引腳的第一功能是相同的,所不同的只在第二1211.2.3單片機的存儲器
MCS-51單片機程序存儲器和數(shù)據(jù)存儲器相互獨立(獨立編址、獨立訪問),即存儲器采用是哈佛結(jié)構(gòu)。(另外一種是馮諾曼結(jié)構(gòu)又稱為普林斯頓結(jié)構(gòu))在物理結(jié)構(gòu)上有4個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。單片機的外部數(shù)據(jù)存儲器和I/O接口采用統(tǒng)一編址的方式。
在邏輯結(jié)構(gòu)上有3個存儲空間:64K字節(jié)片內(nèi)片外統(tǒng)一編址的程序存儲器、256字節(jié)片內(nèi)數(shù)據(jù)存儲器、64K片外數(shù)據(jù)存儲器。在訪問三個不同的邏輯存儲空間時,采用不同的指令和不同的控制信號。1.2.3單片機的存儲器MCS-51單片機程122存儲器空間分布圖
存儲器空間分布圖123單片機基礎(chǔ)知識課件1241.程序存儲器ROM作用:用于存放程序和常數(shù)表格。一般采用只讀式存儲器ROM、EPROM、E2PROM。特點:
尋址范圍64K,與之對應(yīng)的編址為0000H~FFFFH;片內(nèi)片外連續(xù)統(tǒng)一編址,先片內(nèi)再片外,地址不重合(片內(nèi)0000H~0FFFH,片外1000H~FFFFH);選擇片內(nèi)片外ROM與哪個控制引腳有關(guān)?有6組特殊單元0000H~002AH:
1.程序存儲器ROM作用:用于存放程序和常數(shù)表格。一般1250000H~0002H:復(fù)位入口地址0003H~000AH:外部中斷INT0入口地址000BH~0012H:定時器T0/C0溢出中斷入口地址0013H~001AH:外部中斷INT1入口地址001BH~0022H:定時器T1/C1溢出中斷入口地址0023H~002AH:串行口中斷入口地址;0000H~0002H:復(fù)位入口地址126注意事項系統(tǒng)若擴展片外程序存儲器時,P0(通過鎖存器)、P2口與16位地址線連接;對于片內(nèi)有ROM的單片機,/EA=1,對于片內(nèi)無ROM的單片機8031,調(diào)試時/EA=1(不用8031的程序存儲器),而使用時,/EA=0;外部程序存儲器讀選通信號/PSEN只用于外部ROM取指,對片內(nèi)程序存儲器無效;6組特殊單元,一般存放一條無條件跳轉(zhuǎn)語句;
片外ROM和片外RAM的地址出現(xiàn)了重疊,可使用相應(yīng)的指令進行區(qū)分。訪問外部ROM時,用MOVC指令。注意事項系統(tǒng)若擴展片外程序存儲器時,P0(通過鎖存器)、P1272.數(shù)據(jù)存儲器作用:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩存、標(biāo)志位等。一般采用讀寫存儲器:靜態(tài)/動態(tài)RAM。特點:片內(nèi)、片外分別編址;片內(nèi):00~FFH片外:0000H~FFFFH片外RAM用數(shù)據(jù)指針DPTR尋址,由管腳RD/WR控制RAM的讀出/寫入;片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū))2.數(shù)據(jù)存儲器作用:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩存、128
內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器在00H~7F范圍內(nèi)地址出現(xiàn)了重疊的現(xiàn)象,單片機通過不同的指令格式加以區(qū)分。訪問片內(nèi)RAM使用MOV指令,允許采用多種尋址方式。
例如:MOVA,@R0
MOV@R1,A片外RAM采用MOVX指令,若外部存儲單元的地址為8位,可選擇R0或R1作為間接尋址寄存器。
例如
MOVXA,@R0
MOVX@R1,A
若地址為16位,必須選DPTR寄存器地作為間接尋址寄存器。例如:MOVXA,@DPTR
MOVX@DPTR,A內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器在00H~7129MCS_51單片機內(nèi)部數(shù)據(jù)儲存器配置MCS_51單片機內(nèi)部數(shù)據(jù)儲存器配置130片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)和特殊功能寄存器區(qū))(1)工作寄存器區(qū)(00H-1FH)
該區(qū)32個單元分為4組,每組包含8個八位寄存器,均以R0~R7來命名,稱為通用寄存器。CPU當(dāng)前所使用的工作寄存器區(qū)是由程序狀態(tài)字PSW中的D3(RS0)和D4(RS1)位來選擇的。通過修改PSW中的RS0和RS1這兩位,就可選擇任一組工作寄存器,這有利于提高CPU的效率和響應(yīng)中斷的速度。片內(nèi)RAM分為四個區(qū)(工作寄存器區(qū)、位尋址區(qū)、數(shù)131
(2)位尋址區(qū)(20H-2FH)片內(nèi)RAM的20H—2FH單元為位尋址區(qū),它們既可作為一般單元用字節(jié)尋址,也可以對其中的某位進行尋址。位尋址區(qū)共16字節(jié),位地址00~7FH?!拔弧钡谋硎痉绞剑阂晕坏刂沸问剑?FH以存儲單元加位的形式,如2FH.7(2)位尋址區(qū)(20H-2FH)“位”的表示方式:132(3)用戶RAM區(qū)(30H-7FH)
該區(qū)用于存放用戶數(shù)據(jù),對這部分區(qū)域的使用不作任何規(guī)定和限制,堆棧一般開辟在這個區(qū)域。(4)特殊功能寄存器區(qū)(80H-FFH)
8051單片機有21個特殊功能寄存器,離散分布在片內(nèi)高128字節(jié)內(nèi),只能采用直接尋址方式,其中11個特殊功能寄存器還可位尋址,這11個字節(jié)地址都可被8整除,如ACC的字節(jié)地址為E0H,其位地址為E0H-E7H。
對此區(qū)空閑地址的操作是無意義的。常用的特殊功能寄存器:ACC、B、PSW、SP、DPTR等。(3)用戶RAM區(qū)(30H-7FH)133單片機基礎(chǔ)知識課件134①與ALU相關(guān)的(3個)
ACC累加器:最常用的專用寄存器用于存放操作數(shù),是ALU數(shù)據(jù)輸入的一個重要來源。大部分單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個操作數(shù)取自累加器,用于存放中間結(jié)果,加、減、乘、除算術(shù)運算指令的運算結(jié)果存放在累加器A或B寄存器中。累加器是數(shù)據(jù)傳送的中轉(zhuǎn)站。在變址尋址方式中,把累加器作為變址寄存器使用。B寄存器
:用于乘除運算或一般數(shù)據(jù)寄存器。
在乘除指令中用到了B寄存器,乘法指令的兩個操作數(shù)分別取自A和B,其結(jié)果存放在A和B寄存器對中。例如除法指令中,被除數(shù)取自A,除數(shù)取自B,商存放于A。余數(shù)存放于B。①與ALU相關(guān)的(3個)135①與ALU相關(guān)的(3個)
程序狀態(tài)字(PSW)
PSW是8位寄存器,用于作為程序運行狀態(tài)的標(biāo)志。里面存放了CPU工作時的很多狀態(tài),借此,我們可了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)處理。
CY—進位標(biāo)志位。功能有二:一是存放算術(shù)運算的進位標(biāo)志;二是在位操作中,作為累加位使用。AC—輔助進位標(biāo)志位。在加減運算中,當(dāng)有低4位向高4位進位或借位時,AC由硬件置位,否則被清零,用于調(diào)整BCD碼的運算結(jié)果。F0—用戶標(biāo)識位,用于控制程序的轉(zhuǎn)向。①與ALU相關(guān)的(3個)CY—進位標(biāo)志位。功能有二:一136RS1、RS0—工作寄存器組的選擇位。OV—溢出標(biāo)志位。P—奇偶校驗位。用來表示累加器A內(nèi)容中二進制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。RS1、RS0—工作寄存器組的選擇位。OV—溢出標(biāo)志位。P—137②與指針相關(guān)的(2個)數(shù)據(jù)指針(DPTR)—16位SFR,可分開為兩個8位:DPL和DPH。存放外部存儲器的地址。堆棧指針(SP)
SP是一個8位寄存器,指示堆棧頂部在內(nèi)部RAM中的位置,專門用來存放堆棧的棧頂?shù)刂?。入棧能自動?,出棧則自動減1。堆棧操作遵循先進后出的原則。
系統(tǒng)復(fù)位后初始化的值為07H,則堆棧由08H單元開始,占用了工作寄存器空間,可以改變SP的值,一般設(shè)在30H-7FH。②與指針相關(guān)的(2個)數(shù)據(jù)指針(DPTR)—16位SFR,138堆棧的作用:保護斷點:在調(diào)用子程序或中斷時,返回地址自動進棧。程序返回時,斷點自動彈回到PC。保護現(xiàn)場:使用專用堆棧操作指令POP與PUSH。如現(xiàn)場保護就是指令式的進棧操作;現(xiàn)場恢復(fù)就是出棧操作。堆棧的開辟:在內(nèi)部數(shù)據(jù)存儲器,容量有限;堆棧指示器SP:無論數(shù)據(jù)進棧還是出棧,都是對棧頂單元進行,即對棧頂單元的寫和讀操作。為了指示棧頂?shù)刂罚O(shè)置堆棧指針,SP的內(nèi)容就是堆棧棧頂?shù)拇鎯卧刂贰6褩n愋停合蛏仙L型(棧底是低地址單元)進棧操作:先SP加1,后寫入數(shù)據(jù);出棧操作:先讀出數(shù)據(jù),后SP減1。進棧出棧堆棧的作用:進棧出棧139單片機基礎(chǔ)知識課件140程序計數(shù)器PC是一個16位的計數(shù)器,是程序存儲器的字節(jié)地址計數(shù)器,它里面存放著將要執(zhí)行的下一條指令的地址。其特點如下:不可尋址的專用寄存器物理上是獨立的,不占據(jù)RAM單元;尋址范圍為64K字節(jié)程序計數(shù)器PC是一個16位的計數(shù)器,是程序存儲器的字節(jié)地1411.2.4單片機的時鐘電路和時序1.時鐘電路:
MCS-51的時鐘有2種方式:(1)內(nèi)部振蕩方式:利用單片機內(nèi)部的振蕩電路,產(chǎn)生時鐘信號,這種方式單片機的時鐘引腳上接石英晶體和振蕩電容;(2)外部時鐘方式:外部已有時鐘信號引入單片機。1.2.4單片機的時鐘電路和時序1.時鐘電路:1422.CPU的時序
時序是用定時單位來描述的。MCS-51時序單位有4個,從小到大依次為節(jié)拍、狀態(tài)、機器周期、指令周期。(1)節(jié)拍、狀態(tài)
一個時鐘周期定義為一個節(jié)拍(用P表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示),這兩個節(jié)拍中的前一拍稱為P1,后一拍為P2。(2)時鐘周期
也稱為振蕩周期,定義為時鐘脈沖的倒數(shù),它是計算機中最基本的、最小的時間單位。時鐘周期就是單片機外接晶振的倒數(shù),例如12M的晶振,它的時間周期就是1/12us。2.CPU的時序時序是用定時單位來描述的。MCS143(3)機器周期
CPU訪問存儲器一次所需的時間。例如,取指令、讀存儲器、寫存儲器等。51系列單片機的1個機器周期同6個狀態(tài)周期組成,也就是說1個機器周期等于6個狀態(tài)周期,即12個時鐘周期。(4)指令周期
執(zhí)行1條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期數(shù)也不同,有單周期指令、雙周期指令和四周期指令。(3)機器周期144典型指令時序典型指令時序1451.2.5單片機的復(fù)位和復(fù)位電路1.2.5單片機的復(fù)位和復(fù)位電路1461.3存儲器擴展
8051單片機一塊芯片就是一個完整的最小微機系統(tǒng),但片內(nèi)存儲器的容量、并行I/O端口、定時器等內(nèi)部資源都還是有限的??梢愿鶕?jù)實際需要,對其進行功能擴展,它包括數(shù)據(jù)存儲器和程序存儲器等的擴展。
系統(tǒng)的擴展是通過總線把單片機和擴展部分連接起來。根據(jù)總線傳送的信息可分為數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)。1.3存儲器擴展8051單片機一塊芯片147單片機基礎(chǔ)知識課件148單片機擴展總線的構(gòu)造
數(shù)據(jù)總線D0~D7:
數(shù)據(jù)總線的寬度為8位,由P0口提供。地址總線A0~A15
8051單片機的地址總線寬度為16位,P0提供低8位地址,P2提供高8位地址??蓪ぶ贩秶?4KB,。由于P0即作低8位地址線,又作數(shù)據(jù)線,所以它是分時復(fù)用的引腳,使用時需要加一個8位鎖存器,如74LS373??刂瓶偩€
P3提供的讀信號、寫信號,加上控制線、ALE、/EA、/PSEN等信號組成控制總線。/RD讀和/WR寫作為擴展數(shù)據(jù)存儲器讀、寫選通信號;/EA信號作為片內(nèi)、外ROM的選擇控制信號;ALE信號作為地址鎖存器的選通信號,實現(xiàn)對低8位地址的鎖存;/PSEN號作為擴展程序存儲器ROM的讀選通信號。單片機擴展總線的構(gòu)造149單片機擴展總線的構(gòu)造如圖
單片機擴展總線的構(gòu)造如圖
150
89S51單片機內(nèi)部有4KBFlashROM,當(dāng)程序大于4KB時,就需要擴展程序存儲器。1.常用程序存儲器芯片
程序存儲器有許多種,比如ROM(只讀存儲器)、PROM(可編程ROM)、EPROM(可擦除可編程ROM)、EEPROM(電可擦除可編程)和FlashROM(閃存存儲器)。最常見的芯片是紫外線可擦除的EPROM,主要是Intel公司生產(chǎn)的27XXX系列,如2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。1.3.1程序存儲器擴展89S51單片機內(nèi)部有4KBFlashROM,當(dāng)151圖1.12常用EPROM芯片的管腳和封裝(除了2716、2732(DIP24)外,其他均為DIP28的雙列直插式封裝。)圖1.12常用EPROM芯片的管腳和封裝152EPROM各引腳功能如下:
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蕪湖市繁昌區(qū)事業(yè)單位招聘真題
- 2023年上海市老年醫(yī)學(xué)中心招聘工作人員考試真題
- 2023年綿竹市綿竹市教育和體育局考核招聘教師考試真題
- 美育心得體會集合6篇
- 頂崗實習(xí)工作總結(jié)感想5篇
- 銷售講師工作總結(jié)5篇
- 日處理100噸餐廚垃圾項目可行性研究報告
- 教師年終考核班主任總結(jié)報告5篇
- 消費者對小型家庭汽車購買行為選擇因素調(diào)查問卷
- 塑料廠管井施工合同
- 空氣能室外機保養(yǎng)維護記錄表
- DB37∕T 5162-2020 裝配式混凝土結(jié)構(gòu)鋼筋套筒灌漿連接應(yīng)用技術(shù)規(guī)程
- 9-2 《第三方過程評估淋蓄水檢查內(nèi)容》(指引)
- 部編版七年級初一語文上冊《狼》公開課課件(定稿)
- 2015路面工程講義(墊層+底基層+基層+面層+聯(lián)合層+封層、透層與黏層)
- 信息安全保密控制措施資料
- 《現(xiàn)代漢語修辭》PPT課件(完整版)
- TTJCA 0007-2022 住宅室內(nèi)裝飾裝修工程施工驗收規(guī)范
- 構(gòu)造柱工程施工技術(shù)交底
- 讀《學(xué)校與社會明日之學(xué)?!酚懈?/a>
- 醫(yī)院科室質(zhì)量與安全管理小組工作記錄本目錄
評論
0/150
提交評論