單片機(jī)原理及應(yīng)用(高職培訓(xùn))_第1頁(yè)
單片機(jī)原理及應(yīng)用(高職培訓(xùn))_第2頁(yè)
單片機(jī)原理及應(yīng)用(高職培訓(xùn))_第3頁(yè)
單片機(jī)原理及應(yīng)用(高職培訓(xùn))_第4頁(yè)
單片機(jī)原理及應(yīng)用(高職培訓(xùn))_第5頁(yè)
已閱讀5頁(yè),還剩140頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)高職骨干教師暑期培訓(xùn)

——單片機(jī)原理及應(yīng)用電子實(shí)驗(yàn)中心習(xí)友寶2007.7.12主要內(nèi)容:1、單片機(jī)的概述2、8051的基本原理3、基本匯編及編程4、c語(yǔ)言編程基本方法5、C8051F020簡(jiǎn)介6、單片機(jī)應(yīng)用舉例1、微型計(jì)算機(jī)概述

微處理器——CPU芯片微處理器的硬件結(jié)構(gòu)微處理器的體系結(jié)構(gòu)運(yùn)算器、控制器、寄存器、總線接口單元復(fù)雜指令集——CISC(ComplexInstructionSetComputer)以Intel公司為代表的CPU,例MCS-51芯片精簡(jiǎn)指令集——RISC(ReducedInstructionSetComputer)以IBM公司為代表的CPU,例POWERPC芯片1、微型計(jì)算機(jī)概述

單板微型計(jì)算機(jī)單片微型計(jì)算機(jī)微型計(jì)算機(jī)系統(tǒng)

CPU、存儲(chǔ)器、I/O接口集成在一個(gè)芯片上應(yīng)用廣泛,重點(diǎn)講解MCS–51的原理

CPU、存儲(chǔ)器、I/O接口集成在一張印刷板上用于工業(yè)控制器、家用電器、手機(jī)等更完備CPU、存儲(chǔ)器、I/O接口

PC機(jī)——微型計(jì)算機(jī)的驕傲

單片微型計(jì)算機(jī)、微控制器單片微型計(jì)算機(jī)——SCM(SingleChipMicrocomputer)微控制器——MCU(MicroControlUnit)

注:稱呼不同、功能一樣單片微型計(jì)算機(jī)、微控制器

CPU——MCUCPUROMRAMI/O接口外部設(shè)備CBDBABMCU單片微型計(jì)算機(jī)微控制器(MCU)單片機(jī)的特點(diǎn)片內(nèi)存儲(chǔ)器的類型特點(diǎn)存儲(chǔ)器系統(tǒng)的可擴(kuò)展性片內(nèi)ROM——程序指令機(jī)器碼存放區(qū)片內(nèi)RAM——運(yùn)行中隨機(jī)數(shù)據(jù)存放區(qū)

I/O接口引腳功能的多樣性位尋址和位處理功能

單片微型計(jì)算機(jī)微控制器(MCU)通用型單片機(jī)硬件電路設(shè)計(jì)簡(jiǎn)單,軟件開(kāi)發(fā)容易用芯片就可完成系統(tǒng)設(shè)計(jì),調(diào)試及應(yīng)用

設(shè)計(jì)參考資料豐富如IntelMCS-51系列單片微型計(jì)算機(jī)微控制器(MCU)專用型單片機(jī)根據(jù)特殊要求而設(shè)計(jì)的單片機(jī)在單片中加入更強(qiáng)的數(shù)據(jù)處理能力(如DSP)常用芯片

TI公司用于信號(hào)處理單片機(jī)TMS320系列

AD公司用于信號(hào)處理單片機(jī)ADSP2106系列

單片微型計(jì)算機(jī)微控制器(MCU)單片機(jī)的應(yīng)用機(jī)電一體化設(shè)備的控制核心數(shù)據(jù)采集系統(tǒng)的前端采集單元分布式控制系統(tǒng)的前端控制單元智能化儀器儀表的控制機(jī)芯家電及消費(fèi)類電子產(chǎn)品的控制機(jī)芯終端及外部設(shè)備的控制機(jī)芯

常用的單片機(jī)目前,國(guó)內(nèi)單片機(jī)應(yīng)用呈現(xiàn)百花齊放之勢(shì),很多不同類型的單片機(jī)逐漸進(jìn)入中國(guó),這給我們?cè)黾恿诉x擇余地。因此,可首先選擇主流單片機(jī)進(jìn)行學(xué)習(xí),在熟悉以后,愛(ài)好者可以根據(jù)實(shí)際情況,選擇進(jìn)一步學(xué)習(xí)另一種或多種單片機(jī)。8051類單片機(jī)最早由Intel公司推出的8051/31類單片機(jī),也是世界上用量最大的幾種單片機(jī)之一。由于Intel公司在嵌入式應(yīng)用方面將重點(diǎn)放在X86、奔騰等與PC類兼容的高檔芯片的開(kāi)發(fā)上,8051類單片機(jī)主要由Philips、三星、華邦等公司接產(chǎn)。這些公司都在保持與8051單片機(jī)兼容的基礎(chǔ)上改善了8051許多特性(如時(shí)序特性)。提高了速度、降低了時(shí)鐘頻率,放寬了電源電壓的動(dòng)態(tài)范圍,降低了產(chǎn)品價(jià)格。發(fā)展動(dòng)態(tài):1、以8051內(nèi)核發(fā)展出各種系列 ——ATMELAT89CXX;——WINBOND51系列;——PHILIPS

80C51系列單片機(jī)2.發(fā)展成為SOC(如:LCD控制,A/D,D/A,USB,網(wǎng)絡(luò)接口等)3.低功耗:如TIMSP430系列等4.高速和DSP結(jié)合。。嵌入式處理器ARM系列基于51內(nèi)核的單片機(jī)依然是國(guó)內(nèi)使用最多的,目前國(guó)內(nèi)較常見(jiàn)的有以下幾種:PHILIPS:(1)基于80C51內(nèi)核的微控制器,每個(gè)機(jī)器周期只需6個(gè)時(shí)鐘周期,比標(biāo)準(zhǔn)51快一倍。(2)該系列芯片適用于大批量、低成本、低功耗的應(yīng)用,如電子門(mén)禁系統(tǒng)、倒車?yán)走_(dá)、里程表等。(3)主要型號(hào):如P89C51,P89C52,P89C54,P89C58等ATMEL公司ATMEL單片機(jī):(1)ATMEL公司目前的產(chǎn)品主要FLASH,EEPROM,還有可編邏輯器件PLD,門(mén)陣列,場(chǎng)可編門(mén)陣列FPGA,8051兼容的閃速單片機(jī)(FLASHMicrocontroller),以及智能卡(SmartCard)。(2)為了介入單片機(jī)市場(chǎng),ATMEL公司以EEPROM技術(shù)和Inte1公司的8031單片機(jī)核心技術(shù)進(jìn)行交換,從而取得8031核的使用權(quán)。ATMEL公司把自身的優(yōu)勢(shì)即先進(jìn)的Flash技術(shù)和8031核相結(jié)合,從而生產(chǎn)出了Flash單片機(jī)89C51等系列。(3)主要型號(hào):AT89C51,AT89C52,AT89C1051,AT89C2051Motorola單片機(jī)Motorola是世界上最大的單片機(jī)廠商。品種全、選擇余地大、新產(chǎn)品多是其特點(diǎn),在8位機(jī)方面有68HC05和升級(jí)產(chǎn)品68HC08,8位增強(qiáng)型單片機(jī)68HC11。升級(jí)產(chǎn)品有68HC12,16位機(jī)68HC16。Motorola單片機(jī)特點(diǎn)之一是在同樣速度下所用的時(shí)鐘頻率較Intel類單片機(jī)低很多,因而使得高頻噪聲低,抗干擾能力強(qiáng),更適合用于工控領(lǐng)域及惡劣的環(huán)境。InfineonXC800系列XC866基于與工業(yè)標(biāo)準(zhǔn)8051兼容的內(nèi)核,每個(gè)機(jī)器周期只需2個(gè)時(shí)鐘周期,標(biāo)準(zhǔn)51需12個(gè)時(shí)鐘周期。高度集成片內(nèi)器件,例如片內(nèi)振蕩器、嵌入式電壓調(diào)節(jié)器(可由3.3V或5.0V的單電源供電),有許多增強(qiáng)功能。存儲(chǔ)器保護(hù)策略為用戶知識(shí)產(chǎn)權(quán)(IP)提供讀保護(hù),同時(shí)Flash編程和擦除保護(hù)用來(lái)防止數(shù)據(jù)破壞。多閃存組(FlashBank)結(jié)構(gòu)支持在應(yīng)用編程(IAP),運(yùn)行某bank中的用戶程序可編程擦除另一BANK中的內(nèi)容??蛇M(jìn)行在系統(tǒng)編程ISP,通過(guò)PC對(duì)嵌入式FLASH方便的編程或擦除。具有用來(lái)產(chǎn)生脈寬調(diào)制信號(hào)、帶有電機(jī)控制專用模式的捕獲/比較單元功能擴(kuò)展的10位模數(shù)轉(zhuǎn)換器ADC,具有如自動(dòng)掃描和結(jié)果累加(用于抗混迭濾波或結(jié)果平均)等特性;功能擴(kuò)展的通用異步收發(fā)器UART,支持本地互連網(wǎng)絡(luò)(LIN)應(yīng)用,為許多器件提供LIN的底層驅(qū)動(dòng)軟件;

LIN是一種機(jī)動(dòng)車內(nèi)部網(wǎng)絡(luò)互連的整體通信概念。提供不同的省電模式選擇,以滿足低功耗應(yīng)用擴(kuò)展了控制片內(nèi)外設(shè)功能的特殊功能寄存器(SFR)的地址范圍。內(nèi)部結(jié)構(gòu)Cygnal公司C8051F系列該系列單片機(jī)大部份指令只需一個(gè)時(shí)鐘周期即可完成(89C51的一條指令最少為12個(gè)時(shí)鐘周期),因而該系列單片機(jī)的運(yùn)行速度大大加快。其余改進(jìn)包括加多了中斷源、復(fù)位源,帶有JTAG接口,可在系統(tǒng)編程調(diào)試,可實(shí)現(xiàn)捕捉、高速輸出、PWM功能等,是51系列單片機(jī)中的高端產(chǎn)品。該系列單片機(jī)由新華龍電子代理,MicrochipMicrochip單片機(jī)是市場(chǎng)份額增長(zhǎng)最快的單片機(jī),抗干擾能力強(qiáng),系列品種齊全,其OTP(一次性可編程)產(chǎn)品大批量用于家電控制等場(chǎng)合,某些內(nèi)置FLASHROM的型號(hào)用于工業(yè)控制也很合適。主要產(chǎn)品是16C系列8位單片機(jī),CPU采用RISC結(jié)構(gòu),僅33條指令,Microchip強(qiáng)調(diào)節(jié)約成本的最優(yōu)化設(shè)計(jì),適于用量大、檔次低、價(jià)格敏感的產(chǎn)品。初檔8位單片機(jī):PIC12C5XXX/16C5X系列中檔8位單片機(jī):PIC12C6XX/PIC16CXXX系列高檔8位單片機(jī):PIC17CXX系列

中文網(wǎng)站德州儀器公司TIMSP430系列通用型單片機(jī),1996年推向市場(chǎng).MSP430系列單片機(jī)均為工業(yè)級(jí)器件,運(yùn)行溫度-40~+85攝氏度。該單片機(jī)最大的特點(diǎn)是用電極省。該系列單片機(jī)主要用于各種智能儀表、測(cè)試測(cè)量系統(tǒng),便攜的設(shè)備如U盤(pán),MP3播放器,手持式儀表,玩具等。MSP430系列特點(diǎn)16位的RISC(精簡(jiǎn)指令集)結(jié)構(gòu),1時(shí)鐘周期/機(jī)器周期(傳統(tǒng)MCS51為12時(shí)鐘周期/機(jī)器周期),所以在8M的主頻的情況下,其性能遠(yuǎn)遠(yuǎn)優(yōu)于12M主頻的傳統(tǒng)MCS51單片機(jī)。某些型號(hào)具有類似于DSP內(nèi)的硬件乘法器,硬件乘-加功能,DMA等,便于快速的實(shí)現(xiàn)數(shù)字信號(hào)處理的一些算法。開(kāi)發(fā)環(huán)境:PC+集成開(kāi)發(fā)環(huán)境的軟件(IARWorkbenchV2.10)+JTAG下載線+使用者硬件Epson單片機(jī)Epson公司以擅長(zhǎng)制造液晶顯示器著稱,故Epson單片機(jī)主要為該公司生產(chǎn)的LCD配套。其單片機(jī)的特點(diǎn)是LCD驅(qū)動(dòng)部分做得特別好。在低電壓、低功耗方面也很有特點(diǎn)。國(guó)家半導(dǎo)體公司NS單片機(jī)

COP8單片機(jī)是美國(guó)國(guó)家半導(dǎo)體公司的產(chǎn)品,該公司以生產(chǎn)先進(jìn)的模擬電路著稱。能生產(chǎn)高水平的數(shù)字模擬混合電路。COP8單片機(jī)片內(nèi)集成了16位A/D,這是單片機(jī)中不多見(jiàn)的。COP8單片機(jī),在看門(mén)狗電路以及STOP方式下單片機(jī)的喚醒方式上都有獨(dú)到之處。此外,COP8的程序加密控制也做得比較好。SST公司的SST89C54,SST89C58等具有在應(yīng)用中編程(IAP)功能、在系統(tǒng)可編程(ISP)功能,不占用戶資源,串口下載,無(wú)需編程器、仿真機(jī),芯片可具有仿真機(jī)的功能。AD公司的AduC812,AduC824AD公司是著名的模擬器件生產(chǎn)公司,這兩款單片機(jī)是AD公司結(jié)合其模擬技術(shù)特長(zhǎng)而推出的基于51內(nèi)核的單片機(jī)。Aduc812內(nèi)部集成有8KFLASHROM,640字節(jié)EEPROM,256字節(jié)RAM,8通道12位A/D,2通道12位D/A,另有監(jiān)控電路、溫度傳感器、SPI和I2C總線接口等豐富資源。Aduc824內(nèi)部更是集成了兩路24位/16位A/D,這是另一類51高端芯片,該芯片適合用于各類智能儀表、智能傳感器、變送器和便攜式儀器等領(lǐng)域。資料及網(wǎng)上討論網(wǎng)上交流

1、21icbbs()

中國(guó)電子工程師網(wǎng)站:是目前國(guó)內(nèi)最熱門(mén)的電子技術(shù)社區(qū),注冊(cè)工程師超過(guò)7萬(wàn)人,同時(shí)該站也是電子類網(wǎng)站中關(guān)注單片機(jī)最多的一個(gè)論壇,該論壇設(shè)有綜合技術(shù)交流、嵌入式系統(tǒng)等數(shù)十個(gè)欄目。2、C51bbs()

是國(guó)內(nèi)最為成功的單片機(jī)類個(gè)人網(wǎng)站之一,人氣旺盛,提出的各類問(wèn)題會(huì)得到及時(shí)的回答,尤其是KeilC方面的問(wèn)題,是目前國(guó)內(nèi)關(guān)于KeilC方面的權(quán)威網(wǎng)站。3、水木清華是國(guó)內(nèi)著名的BBS站點(diǎn)之一,該站設(shè)有許多欄目,其中電路設(shè)計(jì)與調(diào)試、嵌入式系統(tǒng)等與單片機(jī)應(yīng)用與開(kāi)發(fā)有關(guān)有一些有實(shí)用價(jià)值的貼子。其它一些BBS如電子愛(ài)好者網(wǎng)站電子報(bào)網(wǎng)絡(luò)版周立功網(wǎng)站網(wǎng)上找資料1、力源網(wǎng)站

該網(wǎng)站目前錄入有全球92家IC廠商的器件可供查詢;錄入有39543個(gè)PDF文件可供下載;全球671家IC廠商可查詢其網(wǎng)址及分支機(jī)構(gòu)等情況;316個(gè)IC媒體及網(wǎng)址可供查詢。該站的特點(diǎn)是提供了大量中文資料,分類查詢也設(shè)計(jì)得非常周到。2、中國(guó)電子網(wǎng)(21ic)該網(wǎng)站提供了各大公司數(shù)萬(wàn)份器件資料,通常用到的集成電路資料都可以在這里找到3、……………..2、MCS-51系列單片機(jī)的結(jié)構(gòu)

MCS-51單片機(jī)的基本組成

組成單元

CPU及控制線內(nèi)部ROM和內(nèi)部RAM4個(gè)8位I/O口——P0、P1、P2、P3AT89C51結(jié)構(gòu)圖

MCS-51系列單片機(jī)的結(jié)構(gòu)RAM結(jié)構(gòu)圖ROM結(jié)構(gòu)圖00HFFH0000HFFFFH內(nèi)部RAM外部RAM0FFFH0000H1000HFFFFH0000HFFFFH/EA=1內(nèi)外ROM/EA=0僅外ROM

8051的系統(tǒng)RAM、ROM結(jié)構(gòu)圖MCS-51系列單片機(jī)的結(jié)構(gòu)

8051的系統(tǒng)RAM、ROM結(jié)構(gòu)總結(jié)訪問(wèn)片內(nèi)外RAM用不同指令識(shí)別訪問(wèn)片內(nèi)外ROM用控制線/EA識(shí)別

訪問(wèn)片內(nèi)RAM用——MOV

訪問(wèn)片外RAM用——MOVX

訪問(wèn)片內(nèi)外ROM使——/EA=1

僅訪問(wèn)片外ROM使——/EA=0MCS-51系列單片機(jī)的結(jié)構(gòu)

8051片內(nèi)RAM的分配00H1FH20H2FH30H7FH80HFFH3組工作寄存器R0~R72組工作寄存器R0~R71組工作寄存器R0~R70組工作寄存器R0~R700H1FH工作寄存器組可位尋址區(qū)僅字節(jié)尋址區(qū)寄存器借用區(qū)00HFFHMCS-51系列單片機(jī)的結(jié)構(gòu)

PSW——程序狀態(tài)字(寄存器)b7b6b5b4b3b2b1b0CYACF0RS1RS0OVF1P

CY——無(wú)符號(hào)數(shù)加減法運(yùn)算的進(jìn)位、借位標(biāo)志

AC——半字節(jié)進(jìn)位、借位標(biāo)志

OV——有符號(hào)數(shù)加減法運(yùn)算的溢出標(biāo)志

P——奇偶校驗(yàn)標(biāo)志

F0、F1——用戶自定義標(biāo)志位

RS0、RS1——工作寄存器組選擇控制注:對(duì)應(yīng)于8086CPU的CF、AF、OF、PF,但無(wú)SF、ZF。沒(méi)有控制標(biāo)志位。MCS-51系列單片機(jī)的結(jié)構(gòu)

SP——堆棧棧頂指針寄存器

8位堆棧棧頂指針寄存器SP

SP的使用特點(diǎn)

最多能定義堆棧深度為256個(gè)字節(jié)堆棧區(qū)地址為片內(nèi)RAM的00H~7FH(8051)

或00H~FFH(8052)之間堆棧棧頂指針SP的初值為07H

MCS-51的堆棧為地址增長(zhǎng)型堆棧(與8086相反)數(shù)據(jù)入棧時(shí),堆頂指針SP自動(dòng)加1,即SP=SP+1

數(shù)據(jù)出棧時(shí),堆頂指針SP自動(dòng)減1,即SP=SP–1MCS-51系列單片機(jī)的結(jié)構(gòu)

P0、P1、P2、P3口的功能和特點(diǎn)可作4個(gè)8位并行I/O口使用可對(duì)各口中的某一位進(jìn)行位操作存儲(chǔ)器擴(kuò)展時(shí)P0、P2口具有AB/DB第二功能

P3口的第二功能為外部中斷、定時(shí)、串口、R/WMCS-51系列單片機(jī)的結(jié)構(gòu)

P0~P3口的硬件電路特點(diǎn)(作一般I/O口使用時(shí))作輸出口使用時(shí)內(nèi)部帶鎖存器作輸入口使用時(shí)內(nèi)部帶緩沖器均具有讀端口和讀引腳功能MCS-51系列單片機(jī)的結(jié)構(gòu)

P1口的位硬件電路

VCCGND讀引腳控制讀端口控制外引腳內(nèi)總線DQ/Q8051單片機(jī)的引腳及其功能雙列直插式40腳DIP封裝GNDVCC芯片封裝類型8051單片機(jī)的引腳及其功能8051單片機(jī)的電路邏輯圖

8051單片機(jī)的引腳及其功能

引腳——I/O口

P0——8條I/O引線 (8位數(shù)據(jù)線或低8位地址線)

P1——8條I/O引線

P2——8條I/O引線(高8位地址線)

P3——8條I/O引線(特殊定義)注:共32條引腳8051單片機(jī)的引腳及其功能

引腳——控制線

復(fù)位線——RST(輸入、高有效)外部存儲(chǔ)器選擇控制線——/EA(輸入)

當(dāng)RST端獲得兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)的高電平時(shí),8051單片機(jī)系統(tǒng)將進(jìn)入復(fù)位狀態(tài)。即高復(fù)位低工作。

/EA=H時(shí),8051單片機(jī)系統(tǒng)用片內(nèi)外ROM/EA=L時(shí),8051單片機(jī)系統(tǒng)僅用片外ROM注:VPD為第二功能,提供編程電壓8051單片機(jī)的引腳及其功能

引腳——控制線(續(xù))

地址鎖存允許線——ALE(輸出、高有效)

當(dāng)8051單片機(jī)系統(tǒng)具有外部存儲(chǔ)器時(shí),用于對(duì)P0口輸出的數(shù)據(jù)/地址信息的低

8位地址進(jìn)行鎖存當(dāng)8051單片機(jī)系統(tǒng)無(wú)外部存儲(chǔ)器時(shí),

輸出1/6主頻的定時(shí)信號(hào)注:PROG為第二功能,提供編程脈沖8051單片機(jī)的引腳及其功能

引腳——控制線(續(xù))

外部ROM讀選通線——/PSEN(輸出、低有效)

僅用于外部ROM中信息的讀取控制注:外部RAM的讀/寫(xiě)控制線為/RD和/WR(P3口的第二功能)

當(dāng)使用MOVC類指令時(shí),/PSEN輸出低電平注:MCS-51僅單獨(dú)提供4條控制線RST、/EA、ALE、/PSEN8051單片機(jī)的引腳及其功能

引腳——時(shí)鐘輸入線

XTAL1和XTAL2由外部晶體和內(nèi)部振蕩電路獲得主頻,系統(tǒng)常用由外部直接輸入時(shí)鐘獲得主頻,特殊系統(tǒng)用8051單片機(jī)的引腳及其功能

引腳——電源線

VCC和GND引腳——總結(jié)

I/O口線——32條

控制線——4條時(shí)鐘線——2條電源線——2條共計(jì)40條MCS-51單片機(jī)的工作方式

MCS-51單片機(jī)的復(fù)位方式復(fù)位時(shí)各芯片寄存器的初值復(fù)位時(shí)程序指針PC的特點(diǎn)

PSW=0000H

初始化時(shí)使用通用寄存器0組的R0~R7SP=07H

初始化時(shí)棧頂在0組R7,入棧從1組的R0開(kāi)始

P0~P3=FFH

初始化時(shí)并口輸出為高電平其余寄存器為00HPC=0000H注:8086CPU復(fù)位時(shí)CS:IP=FFFF0HMCS-51單片機(jī)的工作方式

MCS-51單片機(jī)的上電復(fù)位電路保持復(fù)位端RESET高電平兩個(gè)機(jī)器周期常用上電復(fù)位電路上電時(shí)電容C兩端電壓不能突變,Vcc加在RESET端。

經(jīng)RC充電電路,穩(wěn)態(tài)時(shí)C兩端電壓為Vcc,RESET=0V。

根據(jù)主頻選擇R、C值,一般R=10K、C=10uFMCS-51單片機(jī)的工作方式

MCS-51單片機(jī)的程序執(zhí)行方式程序指針PC從初始值0000H處執(zhí)行指令

在PC=0000H處通常有直接跳轉(zhuǎn)指令

LJMPmain;將PC轉(zhuǎn)移到主程序main處執(zhí)行程序指針PC執(zhí)行指令時(shí)會(huì)完成自動(dòng)加1操作注:程序執(zhí)行時(shí)PC值的變化特點(diǎn)是學(xué)習(xí)的重點(diǎn)MCS-51單片機(jī)的工作時(shí)序

時(shí)鐘周期、機(jī)器周期、指令周期的概念

取指令、執(zhí)行指令的概念

取指令時(shí)序、執(zhí)行指令時(shí)序的概念

指令字節(jié)數(shù)與指令周期數(shù)的概念

時(shí)序與控制線ALE的關(guān)系MCS-51單片機(jī)的工作時(shí)序

訪問(wèn)外部ROM(取指令)的時(shí)序圖ALE/PSENA8~A15P2A0~A7A0~A7指令指令P0MCS-51單片機(jī)的工作時(shí)序

訪問(wèn)外部RAM的時(shí)序圖

ALE/RDA8~A15P2A0~A7數(shù)據(jù)P0I/O接口電路的作用高速CPU與低速外設(shè)的速度匹配主機(jī)與外設(shè)間信號(hào)電平、邏輯的轉(zhuǎn)換信號(hào)串/并、并/串方式的轉(zhuǎn)換

CPU外設(shè)數(shù)據(jù)端口狀態(tài)端口控制端口總線驅(qū)動(dòng)地址譯碼邏輯控制DBABCB

I/O接口電路連接

I/O接口電路接口與端口

I/O接口電路原理圖

與CPU——三總線連接與外設(shè)——三信息連接輸入/輸出傳送方式無(wú)條件傳送方式條件傳送方式(查詢方式)中斷傳送方式DMA方式(存儲(chǔ)器直接存取方式)MCS-51的中斷和中斷接口

§中斷概述§中斷處理過(guò)程§MCS-51的中斷系統(tǒng)及其控制§MCS-51外部中斷源的擴(kuò)展中斷概述中斷源硬件中斷的分類中斷允許與中斷屏蔽中斷優(yōu)先級(jí)中斷源

發(fā)出中斷請(qǐng)求的來(lái)源稱為——中斷源軟件中斷源硬件中斷源由中斷指令引起中斷,例如8086CPU的INTn指令MCS-51無(wú)軟件中斷指令由外設(shè)發(fā)出中斷請(qǐng)求信號(hào)給CPU稱硬件中斷源PC/XT微機(jī)外設(shè)向CPU發(fā)中斷請(qǐng)求信號(hào)控制系統(tǒng)各種傳感器發(fā)出的中斷請(qǐng)求信號(hào)

硬件中斷的分類

可屏蔽中斷非屏蔽中斷中斷請(qǐng)求─→(中斷允許)─→中斷響應(yīng)中斷請(qǐng)求─→(中斷屏蔽)─X→不響應(yīng)中斷中斷請(qǐng)求─→中斷響應(yīng)注:MCS-51有此種方式注:MCS-51無(wú)此種方式中斷優(yōu)先級(jí)

單中斷源多中斷源無(wú)需討論中斷優(yōu)先級(jí)問(wèn)題必需討論中斷優(yōu)先級(jí)問(wèn)題優(yōu)先級(jí)解決方法軟件查詢法專用芯片(專用中斷優(yōu)先級(jí)管理芯片)寄存器控制法(對(duì)中斷優(yōu)先級(jí)寄存器編程)中斷處理過(guò)程

中斷請(qǐng)求中斷允許(可屏蔽中斷)中斷響應(yīng)中斷處理(中斷服務(wù)程序)中斷返回在計(jì)算機(jī)應(yīng)用系統(tǒng)中,一個(gè)完整的中斷處理過(guò)程應(yīng)包括如下五個(gè)步驟MCS-51中斷服務(wù)程序的入口地址

中斷入口地址表中斷源

中斷入口地址

/INT0PC=0003HT0PC=000BH/INT1PC=0013HT1PC=001BH串行口

PC=0023H有中斷的完整程序結(jié)構(gòu)

中斷入口表程序

主程序

中斷服務(wù)程序(其它子程序)源程序匯編結(jié)束偽指令有中斷的完整程序結(jié)構(gòu)

ORG0000HLJMPMAIN;跳到主程序入口ORG0003HLJMPRINT0;跳到/INT0中服程序入口

……MAIN:SETBEA;主程序入口……SJMP$;主程序結(jié)束RINT0:PUSHACC;中斷服務(wù)程序入口……RETI;退出中斷服務(wù)程序……

END;結(jié)束匯編表程序主程序中服程序并行口應(yīng)用(單片機(jī)顯示/鍵盤(pán)系統(tǒng))7段LED數(shù)碼顯示器的控制與編程

8155與LED數(shù)碼管的接口電路

LED數(shù)碼管的掃描控制

LED顯示符號(hào)與段碼數(shù)據(jù)行列矩陣非編碼鍵盤(pán)的控制與編程

8155與矩陣非編碼鍵盤(pán)的接口電路矩陣非編碼鍵盤(pán)的特點(diǎn)鍵操作檢測(cè)分析7段LED數(shù)碼顯示器的控制與編程

8031與1位LED數(shù)碼管的接口(靜態(tài)顯示方式)7段LED數(shù)碼顯示器的控制與編程

8031923588P1P2hgfedcba543210

8031與多位LED數(shù)碼管的接口(動(dòng)態(tài)掃描方式)行列矩陣非編碼鍵盤(pán)的控制與編程

線性鍵盤(pán)電路與矩陣鍵盤(pán)電路線性鍵盤(pán)電路8031VCCGND輸入口行列矩陣非編碼鍵盤(pán)的控制與編程

線性鍵盤(pán)電路與矩陣鍵盤(pán)電路(續(xù))矩陣鍵盤(pán)電路8031VCC行線列線輸出口輸入口行列矩陣非編碼鍵盤(pán)的控制與編程

多鍵同時(shí)按下的處理給出按鍵優(yōu)先序重新掃描確定按鍵操作消除按鍵抖動(dòng)的方法硬件法軟件法使用單穩(wěn)電路消除按鍵抖動(dòng)使用傍路電容消除按鍵抖動(dòng)查詢到按鍵信息后調(diào)用延時(shí)程序按鍵為中斷請(qǐng)求后關(guān)中斷MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器及其應(yīng)用

MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器的工作方式

MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器的控制方法

MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器的應(yīng)用編程定時(shí)——在系統(tǒng)時(shí)鐘的控制下完成定時(shí)操作計(jì)數(shù)——在外部脈沖的控制下完成計(jì)數(shù)操作MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器的工作方式

定時(shí)/計(jì)數(shù)器T0、T1的工作方式定時(shí)/計(jì)數(shù)器T0、T1的16位初值寄存器方式0——初值寄存器按13位計(jì)數(shù)的工作方式方式1——初值寄存器按16位計(jì)數(shù)的工作方式方式2——初值可重裝入的8位計(jì)數(shù)的工作方式方式3——T0、T1為不同工作方式

T0——TL0(低8位)、TH0(高8位)

T1——TL1(低8位)、TH1(高8位)注:使用T0、T1前,必須向寄存器中寫(xiě)入計(jì)數(shù)初值,16位初值經(jīng)8位數(shù)據(jù)線寫(xiě)2次獲得。MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器的控制方法方式控制寄存器——TMOD啟動(dòng)控制寄存器——TCON中斷允許/屏蔽控制寄存器——IE中斷優(yōu)先級(jí)控制寄存器——IP討論與定時(shí)/計(jì)數(shù)器有關(guān)的專用寄存器定時(shí)初值、計(jì)數(shù)初值的計(jì)算

定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器工作方式

減1計(jì)數(shù)器

加1計(jì)數(shù)器初值+1→全1+1→全0,產(chǎn)生溢出中斷初值-1→全0-1→全1,產(chǎn)生溢出中斷注:8253用此方式。注:MCS-51用此方式。注:MCS-51需根據(jù)定時(shí)、計(jì)數(shù)值求定時(shí)初值、計(jì)數(shù)初值。定時(shí)初值、計(jì)數(shù)初值的計(jì)算

計(jì)數(shù)初值的計(jì)算計(jì)算公式:X=M–N

其中:M——計(jì)數(shù)最大值,即28、213、216N——實(shí)際計(jì)數(shù)值定時(shí)初值的計(jì)算計(jì)算公式:X(us)=(M–N)T

其中:M——計(jì)數(shù)最大值,即28、213、216N——實(shí)際定時(shí)值T——時(shí)鐘周期的12倍定時(shí)/計(jì)數(shù)器的應(yīng)用

在P1.1輸出周期為2ms的方波。1ms1mstv定時(shí)器選用——T1

工作方式——方式0

主頻選用——12M定時(shí)初值計(jì)算(定時(shí)1ms,設(shè)時(shí)鐘12MHz)X=(M–N)T=(213–1000)1us=1110000011000B串行通信的基本知識(shí)串行通信的基本通信方式串行通信中的數(shù)據(jù)傳送方式并行/串行變換及串行接口串行通信的基本通信方式

串行通信協(xié)議

異步協(xié)議

同步協(xié)議數(shù)據(jù)可順次地出現(xiàn)在數(shù)據(jù)流中,數(shù)據(jù)間的相對(duì)延遲沒(méi)有專門(mén)的時(shí)鐘來(lái)控制。數(shù)據(jù)流中順次出現(xiàn)的數(shù)據(jù)由一個(gè)主數(shù)據(jù)時(shí)鐘來(lái)管理,以一定的時(shí)間間隔出現(xiàn)。串行通信的基本通信方式

異步串行通信協(xié)議中的位定義同步串行通信協(xié)議中的字節(jié)定義010/1起始位停止位數(shù)據(jù)位(位同步)0/10/1同步字節(jié)數(shù)據(jù)字節(jié)(字節(jié)同步)串行通信的基本通信方式

異步傳送方式異步傳送的特點(diǎn)異步傳送的格式數(shù)據(jù)在線路上的傳送不是連續(xù)的收發(fā)雙方各用自已的時(shí)鐘源控制接收和發(fā)送起始位——1bit,0電平數(shù)據(jù)位——Nbit,有效電平校驗(yàn)位——1bit,與數(shù)據(jù)位中的值有關(guān),可不用停止位——1~2bit,1電平注:傳送字符由4部分組成串行通信的基本通信方式

異步傳送方式(續(xù))異步傳送中的數(shù)據(jù)位收發(fā)端必順采用相同的異步傳送格式收發(fā)端必順采用相近的速率(波特率)收發(fā)端的一致性特點(diǎn)

7bit數(shù)據(jù)位格式

8bit數(shù)據(jù)位格式注:數(shù)據(jù)位格式由工作方式確定串行通信的基本通信方式

同步傳送方式同步傳送的特點(diǎn)同步傳送的格式數(shù)據(jù)在線路上的傳送是連續(xù)的同步字符塊——由N字節(jié)數(shù)據(jù)組成數(shù)據(jù)塊——由M長(zhǎng)度的字節(jié)數(shù)據(jù)組成注:同步字符和數(shù)據(jù)塊由協(xié)議確定串行通信的基本通信方式

異步、同步傳送比較異步同步用位作為收發(fā)字符的同步信號(hào)相對(duì)效率低用字節(jié)作為收發(fā)數(shù)據(jù)塊的同步信號(hào),

相對(duì)效率高注:傳送數(shù)據(jù)量少時(shí)用串行異步方式傳送數(shù)據(jù)量多時(shí)用串行同步方式MCS-51單片機(jī)的指令系統(tǒng)§1:指令和指令程序§2:尋址方式§3:數(shù)據(jù)傳送指令§4:算術(shù)運(yùn)算指令§5:邏輯運(yùn)算及移位指令§6:控制轉(zhuǎn)移指令§7:布爾變量操作指令(位操作)3、基本的匯編MCS-51單片機(jī)的尋址方式尋址——尋找操作數(shù)存放的地方寄存器尋址方式

立即尋址方式存儲(chǔ)器尋址方式位尋址方式直接尋址方式寄存器間接尋址方式變址尋址方式相對(duì)尋址方式內(nèi)部RAM單元之間的數(shù)據(jù)傳送指令MOV

MOV指令的操作數(shù)傳送原則累加器A尋址@Ri間接尋址direct直接尋址Rn工作寄存器尋址#data立即數(shù)尋址內(nèi)部RAM單元之間的數(shù)據(jù)傳送指令MOV

MOV指令應(yīng)用中的問(wèn)題(累加器A作橋粱)MOVRn,Rn

MOV@Ri,Rn

MOV@Ri,@RiMOVA,RnMOVRn,AMOVA,RnMOV@Ri,A

MOVRn,@RiMOVA,@RiMOVRn,AMOVA,@RiMOV@Ri,A錯(cuò)誤正確外部存儲(chǔ)器(RAM、ROM)的數(shù)據(jù)傳送指令

MOV、MOVC、MOVX

外部存儲(chǔ)器16位地址值傳送指令(1條)訪問(wèn)外部ROM存儲(chǔ)器的指令(2條)MOVDPTR,#data16

;DPTR←外部RAM、ROM的16位地址值MOVCA,@A+DPTR;A←(A+DPTR)數(shù)據(jù)指針MOVCA,@A+PC;PC←PC+1、A←(A+PC)程序指針MOVCA,@A+PC指令的應(yīng)用

程序

1000H:MOVA,#10H

;A=10H1002H:MOVCA,@A+PC表項(xiàng)1010H:02H1011H:04H1012H:06H1013H:08HA←(A+PC)、A=08H結(jié)果;PC←PC+1、PC=1003H、A+PC=1013H注:表項(xiàng)地址范圍為1003H~1003H+FFHMOVCA,@A+DPTR指令的應(yīng)用

程序

1000H:MOVA,#01H

;A=01H1002H:MOVDPTR,#6000H;DPTR=6000H1005H:MOVCA,@A+DPTR;A+DPTR=6001H

表項(xiàng)6000H:0AH6001H:0BH6002H:0CHA←(A+DPTR)、A=0BH結(jié)果注:表項(xiàng)地址范圍為0000H~FFFFH控制轉(zhuǎn)移指令無(wú)條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令子程序調(diào)用及返回指令空操作指令無(wú)條件長(zhǎng)轉(zhuǎn)移指令——LJMP

格式特點(diǎn)應(yīng)用LJMPaddr16;PC目的←addr16程序計(jì)數(shù)器PC的目的地址為16位立即數(shù)為3字節(jié)指令,02H、addr高8位、addr低8位指令中用符號(hào)地址表示,匯編時(shí)獲得16位真值可轉(zhuǎn)移PC的64KB范圍,即可訪問(wèn)片外ROM無(wú)條件絕對(duì)轉(zhuǎn)移指令——AJMP

格式特點(diǎn)應(yīng)用AJMPaddr11;PC←PC+2、PC10~0←addr11PC目的為16位,即高5位原數(shù)及低11位立即數(shù)PC的目的地址的獲得先:PC←PC+2有:PC15~11,a10~a0←addr11為2字節(jié)指令,a10a9a800001、a7~a0

可轉(zhuǎn)移程序存儲(chǔ)器的2KB范圍(211=2K)LJMP、AJMP指令比較

指令字節(jié)數(shù)指令尋址范圍AJMP——2字節(jié)指令LJMP——3字節(jié)指令A(yù)JMP——2KB尋址范圍LJMP——64KB尋址范圍指令操作碼AJMP——a10a9a800001LJMP——00000010無(wú)條件短轉(zhuǎn)移指令——SJMP

格式特點(diǎn)應(yīng)用SJMPrel;PC←PC+2、PC←PC+rel

rel為1字節(jié)相對(duì)增量地址,范圍為–128~+127SJMP為2字節(jié)指令,80H(碼)、rel(數(shù))PC目的=PC源+2+relPC目的=PC當(dāng)前+rel無(wú)條件變址轉(zhuǎn)移指令——JMP

格式特點(diǎn)應(yīng)用JMP@A+DPTR;PC目的←A+DPTR

稱DPTR中的值為基址,A中的值為變址PC目的為16位地址值多用于多路分支程序,各分支程序有等優(yōu)先權(quán),同C語(yǔ)言中的swich語(yǔ)句MOVCA,@A+DPTR

JMP@A+DPTR

指令比較MOVCA,@A+DPTR;A=(A+DPTR)查表指令跳轉(zhuǎn)指令JMP@A+DPTR;PC目的=A+DPTR注:指令的應(yīng)用在程序設(shè)計(jì)中講匯編語(yǔ)言中的偽指令

偽指令對(duì)匯編源程序進(jìn)行管理是必須的,但匯編后不產(chǎn)生機(jī)器碼,主要有如下偽指令。

ORG——匯編起始地址偽指令

END——匯編結(jié)束偽指令

EQU——等值定義偽指令

DATA——地址數(shù)據(jù)賦值偽指令

DB——程序存儲(chǔ)器字節(jié)數(shù)據(jù)類型定義偽指令

DW——程序存儲(chǔ)器字?jǐn)?shù)據(jù)類型定義偽指令

DS——程序存儲(chǔ)器地址保留量定義偽指令

BIT——位地址符號(hào)定義偽指令分支程序設(shè)計(jì)

N路分支程序,根據(jù)工作寄存器R3中的值確定執(zhí)行分支功能程序段。

分析用比較條件轉(zhuǎn)換指令CJNER3,#data,rel,當(dāng)R3≠#data時(shí)轉(zhuǎn)移,此法編程簡(jiǎn)單,但問(wèn)題是誰(shuí)先比較誰(shuí)快,誰(shuí)后比較誰(shuí)就慢。為解決判斷時(shí)間不一致問(wèn)題,可采用轉(zhuǎn)移地址查表法用變址尋址轉(zhuǎn)移指令JMP@A+DPTR,即將R3的值放入A,將R3值所對(duì)應(yīng)的功能程序段指針?lè)湃隓PTR單元,這樣解決快慢不均問(wèn)題。

R3≠0R3≠1R3≠2R3≠NNNNN轉(zhuǎn)向BR0轉(zhuǎn)向BR1轉(zhuǎn)向BR2轉(zhuǎn)向BRNYYYYA=R3DPTR=表首地址JMP@A+DPTRMOVCA,@A+DPTRBR0BR1BR2BRN流程分支程序設(shè)計(jì)N路分支程序設(shè)計(jì)討論

問(wèn)題全部分支程序總機(jī)器碼字節(jié)數(shù)小于256全部分支程序總機(jī)器碼字節(jié)數(shù)大于255轉(zhuǎn)移地址表BRTAB:DBBR0–BRTAB.DBBRn-BRTAB轉(zhuǎn)移地址BRTAB:AJMPBR0.AJMPBRnN路分支程序設(shè)計(jì)討論

128分支程序設(shè)計(jì)MOVA,R3RLA;A=A*2MOVDPTR,#BRTABJMP@A+DPTRBRTAB:AJMPBR0;為2字節(jié)指令A(yù)JMPBR1.AJMPBR127問(wèn):若分支程序的入口地址在64K范圍內(nèi)分布最多能完成多少路分支循環(huán)程序設(shè)計(jì)

程序計(jì)數(shù)器特點(diǎn)根據(jù)循環(huán)計(jì)數(shù)器中的值確定PC轉(zhuǎn)向從BLOCK單元開(kāi)始存放一組無(wú)符號(hào)數(shù)據(jù),數(shù)據(jù)塊長(zhǎng)度放在LEN單元中,編寫(xiě)一個(gè)求和程序,將和存入SUM單元,設(shè)和不超過(guò)一字節(jié)。分析在循環(huán)體中,存放數(shù)據(jù)塊的地址用間址表示,根據(jù)減1計(jì)數(shù)器中值是否為0作退出循環(huán)體的條件。

A=0R2=(20H)R1=#22HA=A+(R1)R2=R2-1R2=0(21H)=A塊首地址累加和塊長(zhǎng)度值20H21H22H塊長(zhǎng)度NR1=R1+1流程循環(huán)程序設(shè)計(jì)LENSUM循環(huán)程序設(shè)計(jì)

編程LENDATA20H;20H單元存放數(shù)據(jù)塊長(zhǎng)度值SUMDATA21H;21H單元存放數(shù)據(jù)累加和BLOCKDATA22H;22H單元為數(shù)據(jù)塊首址

CLRA;A存放累加和,先清0MOVR2,LEN;R2為數(shù)據(jù)塊長(zhǎng)度計(jì)數(shù)器MOVR1,#BLOCK;R1為數(shù)據(jù)塊指針LOOP:ADDA,@R1;循環(huán)累加INCR1;修改數(shù)據(jù)塊指針DJNZR2,LOOP;若計(jì)數(shù)器不為0,循環(huán)MOVSUM,A;若計(jì)數(shù)器為0,存累加和

查表程序設(shè)計(jì)

將16進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼,設(shè)16進(jìn)制數(shù)存放在R0的低4位,轉(zhuǎn)換后的ASCII碼放入R0中。分析應(yīng)用專用查表指令MOVCA,@A+DPTR,表首地址賦給DPTR,表項(xiàng)賦給A,查表結(jié)果賦給A。應(yīng)用專用查表指令MOVCA,@A+PC,表首地址賦給PC,表項(xiàng)賦給A,查表結(jié)果賦給A。注:@A+DPTR和@A+PC的應(yīng)用特點(diǎn)查表程序設(shè)計(jì)

編程1(MOVCA,@A+PC)MOVA,R0ANLA,#0FH;表項(xiàng)位置從0~15

ADDA,#1;PC影響的地址調(diào)整MOVCA,@A+PCMOVR0,A;該指令為1字節(jié)指令A(yù)SCTB:DB“0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F”

注:由于PC=PC+1的自動(dòng)性,很難掌握地址調(diào)整4、單片機(jī)c語(yǔ)言編程基本C語(yǔ)言考慮單片機(jī)資源硬件化的C語(yǔ)言C與匯編的聯(lián)合編程在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)#include<AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P1.3voidmain(void) //void表示沒(méi)有輸入?yún)?shù),也沒(méi)有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口{ P1^3=1; //給P1^3賦值1,引腳P1.3就能輸出高電平VCC While(1); //死循環(huán),相當(dāng)LOOP:gotoLOOP;}注意:P0的每個(gè)引腳要輸出高電平時(shí),必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出方波編程方法:(比如P3.1引腳)#include<AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P3.1voidmain(void) //void

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論