版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機原理與應用電子第1頁/共138頁第1章
單片機概述第2章
MCS-51系列單片機結構第3章MSC-51指令系統(tǒng)第6章存儲器與存儲器擴展第4章
MCS-51匯編語言程序設計第7章
單片機接口技術第5章
MCS-51定時/計數(shù)器和中斷系統(tǒng)第9章
MCS-51單片機應用系統(tǒng)設計單片機原理及應用第8章
串行口通信技術第2頁/共138頁第1章
單片機概述本章主要介紹單片機的發(fā)展,基本的結構和特點,單片機的應用模式和領域,單片機的供應狀態(tài)等。單片微型計算機就是將CPU、RAM、ROM、定時/計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此,一塊芯片就構成了一臺計算機。它已成為工業(yè)控制領域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。第3頁/共138頁1.1單片機的發(fā)展歷史我們可以把單片機的發(fā)展歷史劃分為四階段:第一階段(1976~1978年):低性能單片機的探索階段。以Intel公司的MCS-48為代表,采用了單片結構,即在一塊芯片內(nèi)含有8位CPU、定時/計數(shù)器、并行I/O口、RAM和ROM等。主要用于工業(yè)領域。第二階段(1978~1982年):高性能單片機階段,這一類單片機帶有串行I/O口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片機的應用范圍較廣,并在不斷的改進和發(fā)展。第三階段(1982~1990年):16位單片機階段。16位單片機除CPU為16位外,片內(nèi)RAM和ROM容量進一步增大,實時處理能力更強,體現(xiàn)了微控制器的特征。例如Intel公司的MCS-96主振頻率為12M,片內(nèi)RAM為232字節(jié),ROM為8K字節(jié),中斷處理能力為8級,片內(nèi)帶有10位A/D轉換器和高速輸入/輸出部件等。第四階段(1990年~):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時,向高速、強運算能力、尋址范圍大以及小型廉價方面發(fā)展。第4頁/共138頁硬件系統(tǒng)是指構成微機系統(tǒng)的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設備、輸出接口電路和輸出設備等組成。其中,運算器和控制器一般做在一個集成芯片上,統(tǒng)稱中央處理單元(CentralProcessingUnit),簡稱CPU,是微機的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設備即構成微機的硬件系統(tǒng)。1.2單片機的軟硬件系統(tǒng)1.2.1單片機的硬件系統(tǒng)第5頁/共138頁圖1-1微型計算機硬件系統(tǒng)組成示意圖第6頁/共138頁下面把組成計算機的5個基本部件作簡單說明。1)運算器運算器是計算機的運算部件,用于實現(xiàn)算術和邏輯運算。計算機的數(shù)據(jù)運算和處理都在這里進行。2)控制器控制器是計算機的指揮控制部件,它控制計算機各部分自動、協(xié)調(diào)地工作。運算器和控制器是計算機的核心部分,常把它們合在一起稱之為中央處理器,簡稱CPU。第7頁/共138頁3)存儲器存儲器是計算機的記憶部件,用于存放程序和數(shù)據(jù)。存儲器又分為內(nèi)存儲器和外存儲器。實訓中使用的EPROM2764便是存貯器。4)輸入設備輸入設備用于將程序和數(shù)據(jù)輸入到計算機中,如鍵盤等。5)輸出設備輸出設備用于把計算機數(shù)據(jù)計算或加工的結果,以用戶需要的形式顯示或打印出來,如顯示器、打印機等。通常把外存儲器、輸入設備和輸出設備合在一起稱之為計算機的外部設備,簡稱“外設”。第8頁/共138頁單片微型計算機是指集成在一個芯片上的微型計算機,也就是把組成微型計算機的各種功能部件,包括CPU(CentralProcessingUnit)、隨機存取存儲器RAM(RandomAccessMemory)、只讀存儲器ROM(Read-onlyMemory)、基本輸入/輸出(Input/Output)接口電路、定時器/計數(shù)器等部件都制作在一塊集成芯片上,構成一個完整的微型計算機,從而實現(xiàn)微型計算機的基本功能。單片機內(nèi)部結構示意圖如圖1-2所示。第9頁/共138頁圖1-2單片機內(nèi)部結構示意圖第10頁/共138頁軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱。人們通過它對整機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的意圖完成預定的任務。軟件系統(tǒng)與硬件系統(tǒng)共同構成完整的微機系統(tǒng),兩者輔相成,缺一不可。微型計算機系統(tǒng)組成示意圖如圖所示。1.2.2單片機的軟件系統(tǒng)第11頁/共138頁微型計算機系統(tǒng)組成示意圖第12頁/共138頁1.3MCS-51系列單片機盡管各類單片機很多,但無論是從世界范圍或是從全國范圍來看,使用最為廣泛的應屬MCS-51單片機。
MCS-51單片機系列共有十幾種芯片,如表1-1所示。第13頁/共138頁表1-1MCS-51系列單片機分類表子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量尋址范圍I/O特性中斷源無ROMEPROM計數(shù)器并行口串行口51子系列8031805187514KB128B2×64KB2×164×81580C3180C5187C514KB128B2×64KB2×164×81552子系統(tǒng)8032805287528KB256B2×64KB3×164×81680C3280C5287C528KB256B2×64KB3×164×816第14頁/共138頁MCS-51系列又分為51和52兩個子系列,并以芯片型號的最末位數(shù)字作為標志。其中,51子系列是基本型,而52子系列則屬增強型。52子系列功能增強的具體方面,從表1-1所列內(nèi)容中可以看出:(1)片內(nèi)ROM從4KB增加到8KB。(2)片內(nèi)RAM從128B增加到256B。(3)定時/計數(shù)器從2個增加到3個。(4)中斷源從5個增加到6個。1.3.151子系列和52子系列第15頁/共138頁MCS-51系列單片機采用兩種半導體工藝生產(chǎn)。一種是HMOS工藝,即高速度、高密度、短溝道MOS工藝。另外一種是CHMOS工藝,即互補金屬氧化物的HMOS工藝。表1.1中,芯片型號中帶有字母“C”的,為CHMOS芯片,其余均為一般的HMOS芯片。
CHMOS是CMOS和HMOS的結合,除保持了HMOS高速度和高密度的特點之外,還具有CMOS低功耗的特點。在便攜式、手提式或野外作業(yè)儀器設備上,低功耗是非常有意義的,因此,在這些產(chǎn)品中必須使用CHMOS的單片機芯片。1.3.2單片機芯片半導體工藝第16頁/共138頁MCS-51單片機片內(nèi)程序存儲器有三種配置形式,即掩膜ROM、EPROM和無ROM。這三種配置形式對應三種不同的單片機芯片,它們各有特點,也各有其適用場合,在使用時應根據(jù)需要進行選擇。一般情況下,片內(nèi)帶掩膜型ROM適用于定型大批量應用產(chǎn)品的生產(chǎn);片內(nèi)帶EPROM適合于研制產(chǎn)品樣機;外接EPROM的方式適用于研制新產(chǎn)品。最近,Intel公司又推出片內(nèi)帶EEPROM型的單片機,可以在線寫入程序。1.3.3片內(nèi)ROM存儲器配置形式第17頁/共138頁
第2章
MCS-51單片機結構本章主要介紹MCS-51系列的8051的基本結構、工作原理、存儲器結構、P0、P1、P2、P3四個I/O口的基本工作原理和操作特點。單片機的各種工作方式、單片機的時序等。第18頁/共138頁2.1MCS-51單片機的內(nèi)部組成及信號引腳MCS-51單片機的典型芯片是8031、8051、8751。8051內(nèi)部有4KBROM,8751內(nèi)部有4KBEPROM,8031內(nèi)部無ROM;除此之外,三者的內(nèi)部結構及引腳完全相同。因此,以8051為例,說明本系列單片機的內(nèi)部組成及信號引腳。8051單片機的基本組成請參見圖2-1。下面介紹各部分的基本情況。2.1.18051單片機的基本組成第19頁/共138頁圖2-1
MCS-51單片機結構框圖第20頁/共138頁1)中央處理器(CPU)
中央處理器是單片機的核心,完成運算和控制功能。MCS-51的CPU能處理8位二進制數(shù)或代碼。2)內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)8051芯片中共有256個RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫的數(shù)據(jù)。因此通常所說的內(nèi)部數(shù)據(jù)存儲器就是指前128單元,簡稱內(nèi)部RAM。第21頁/共138頁3)內(nèi)部程序存儲器(內(nèi)部ROM)8051共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此,稱之為程序存儲器,簡稱內(nèi)部ROM。4)定時/計數(shù)器8051共有兩個16位的定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結果對計算機進行控制。5)并行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入/輸出。第22頁/共138頁6)串行口
MCS-51單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。7)中斷控制系統(tǒng)
MCS-51單片機的中斷功能較強,以滿足控制應用的需要。8051共有5個中斷源,即外中斷兩個,定時/計數(shù)中斷兩個,串行中斷一個。全部中斷分為高級和低級共兩個優(yōu)先級別。8)時鐘電路
MCS-51芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6MHz和12MHz。第23頁/共138頁
MCS-51是標準的40引腳雙列直插式集成電路芯片,引腳排列請參見圖2-2。1)信號引腳介紹
P0.0~P0.7:P0口8位雙向口線。
P1.0~P1.7:P1口8位雙向口線。
P2.0~P2.7:P2口8位雙向口線。
P3.0~P3.7:P3口8位雙向口線。2.1.2MCS-51的信號引腳第24頁/共138頁圖2-2MCS-51引腳圖第25頁/共138頁表2?1P3口的第二功能表2)信號引腳介紹第26頁/共138頁2.28051的內(nèi)部存儲器圖2-3片內(nèi)RAM的配置2.2.1內(nèi)部數(shù)據(jù)存儲器低128單元第27頁/共138頁字節(jié)地址位地址
2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H圖2?48051內(nèi)部RAM位地址區(qū)表2?2片內(nèi)RAM位尋址區(qū)的位地址第28頁/共138頁表格2?2特殊功能寄存器表符號單元地址名稱位地址符號地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序狀態(tài)字PSW.7~PSW.0D7H~D0H
SP81H堆棧指針
DPL82H數(shù)據(jù)存儲器指針(低8位)
DPH83H數(shù)據(jù)存儲器指針(高8位)
*IEA8H中斷允許控制器IE.7~IE.0AFH~A8H*IPB8H中斷優(yōu)先控制器IP.7~IP.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0H
PCON87H電源控制及波特率選擇
*SCON98H串行口控制SCON.7~SCON.09FH~98H
SBUF99H串行數(shù)據(jù)緩沖器
*TCON88H定時控制TCON.7~TCON.08FH~88H
TMOD89H定時器方式選擇
TL08AH定時器0低8位
TL18BH定時器1低8位
TH08CH定時器0高8位
TH18DH定時器1高8位
*:可位尋址的特殊功能寄存器2.2.2內(nèi)部數(shù)據(jù)存儲器高128單元表2?3MCS-51專用寄存器一覽表第29頁/共138頁圖2?5P0口的口線邏輯電路圖2.3.1P0口2.3并行輸入/輸出口電路結構第30頁/共138頁2.3.2P1口圖2?6P1口的口線邏輯電路圖第31頁/共138頁2.3.3P2口圖2?7P2口的口線邏輯電路圖第32頁/共138頁2.3.4P3口圖2?8P3口的口線邏輯電路圖第33頁/共138頁2.4.1時鐘電路與時序基本定時時序關系2.4MCS-51單片機的時序第34頁/共138頁1.時鐘信號的產(chǎn)生圖2-9時鐘振蕩電路和圖2-10外部時鐘源接法第35頁/共138頁(1)節(jié)拍與狀態(tài)圖2?11MCS-51的取指/執(zhí)行時序(2)機器周期4.MCS-51指令時序(3)指令周期
第36頁/共138頁1.復位操作
表格2?4各專用寄存器的復位值專用寄存器復位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B2.4.2單片機的復位電路第37頁/共138頁2.復位信號及其產(chǎn)生圖2?12復位電路邏輯圖第38頁/共138頁3.復位方式圖2?13各種復位電路第39頁/共138頁
第3章MSC-51指令系統(tǒng)3.1MCS-51指令系統(tǒng)概述3.1.1指令格式匯編語言格式為:[標號:]操作碼助記符[目的操作數(shù),][源操作數(shù)][;注釋]其中,標號是該語句的符號地址,可根據(jù)需要而設置。當匯編程序對匯編語言源程序進行匯編時,再以該指令所在的地址值來代替標號。在編程的過程中,適當?shù)氖褂脴颂?,使程序便于查詢、修改以及轉移指令的編程。標號通常用于轉移指令所需的轉移地址。標號一般由1~6個字符組成,但第一個字符必須是字母,其余的可以是字母也可以是其他符號或數(shù)字。標號和操作碼之間用冒號“:”分開。第40頁/共138頁功能助記符又稱為操作碼。操作碼和操作數(shù)(源操作數(shù)和目的操作數(shù))是指令的核心部分。操作碼使用MCS-51系列單片機所規(guī)定的助記符來表示,其功能在于告訴單片機的CPU做何種操作。操作數(shù)分為目的操作數(shù)和源操作數(shù),采用符號(如寄存器、標號等)或者常量(如立即數(shù)、地址值等)表示。操作碼和目的操作數(shù)之間用空格分隔,而目的操作數(shù)和源操作數(shù)之間用逗號“,”隔開。在某些指令中可以沒有操作數(shù)。注釋是對指令的功能或作用的說明,但是注釋不是一個指令的必要組成部分,可有可無。注釋的主要作用是對程序段或者某條指令在整個程序中的作用進行解釋和說明,以幫助閱讀、理解和使用源程序。有無注釋對源程序并無影響,但是如果使用注釋的話,注釋部分一定要用分號“;”隔開。第41頁/共138頁3.1.2尋址方式1.寄存器尋址2.直接尋址4.立即尋址3.寄存器間接尋址6.變址尋址7.相對尋址5.位尋址第42頁/共138頁MSC-51單片機的指令系統(tǒng)按照指令的功能,可以把MSC-51的111條指令分成五類:l
數(shù)據(jù)傳送類指令(29條)l
算術運算類指令(24條)l
邏輯操作類指令(24條)l
控制轉移類指令(17條)l
位操作類指令(17條)第43頁/共138頁第4章MCS-51匯編語言程序設計基本程序結構
第44頁/共138頁4.1匯編語言及匯編語言程序設計機器語言(MachineLanguage)是指直接用機器碼編寫程序、能夠為計算機直接執(zhí)行的機器級語言。機器碼是一串由二進制代碼“0”和“1”組成的二進制數(shù)據(jù),其執(zhí)行速度快,但是可讀性極差。機器語言一般只在簡單的開發(fā)裝置中使用,程序的設計、輸入、修改和調(diào)試都很麻煩。匯編語言(AssemblyLanguage)是指用指令助記符代替機器碼的編程語言。匯編語言程序結構簡單,執(zhí)行速度快,程序易優(yōu)化,編譯后占用存儲空間小,是單片機應用系統(tǒng)開發(fā)中最常用的程序設計語言。匯編語言的缺點是可讀性比較差,只有熟悉單片機的指令系統(tǒng),并具有一定的程序設計經(jīng)驗,才能研制出功能復雜的應用程序。第45頁/共138頁高級語言(High-LevelLanguage)是在匯編語言的基礎上用自然語言的語句來編寫程序,例如PL/M-51、FranklinC51、MBASIC51等,程序可讀性強,通用性好,適用于不熟悉單片機指令系統(tǒng)的的用戶。高級語言編寫程序的缺點是實時性不高,結構不緊湊,編譯后占用存儲空間比較大,這一點在存儲器有限的單片機應用系統(tǒng)中沒有優(yōu)勢。第46頁/共138頁4.1.3簡單程序設計簡單程序也就是順序程序,是最簡單、最基本的程序結構,其特點是按指令的排列順序一條條地執(zhí)行,直到全部指令執(zhí)行完畢為止。不管多么復雜的程序,總是由若干順序程序段所組成的。
【例4.1】雙字節(jié)二進制數(shù)求補。本程序對R3(高)、R2(低)中的二進制定點數(shù)取反加1,便得到其補碼,程序流程圖如圖4-1所示。第47頁/共138頁圖4-1雙字節(jié)二進制數(shù)求補程序流程圖第48頁/共138頁程序清單如下:BINPL:MOV A,R2 CPL A ADD A,#01H MOV R2,A ;低位字節(jié)補碼送R2 MOV A,R3 CPL A ADDCA,#00H ;高位加進位位 MOV R3,A ;高位字節(jié)補碼送R3 RET第49頁/共138頁4.1.4分支程序設計在一個實際的應用程序中,程序不可能始終都是直線執(zhí)行的。要用計算機解決某個實際問題,往往要求計算機能夠做出一些判斷,并根據(jù)不同的判斷結果做出不同的處理,即產(chǎn)生不同的分支結構。分支結構程序可根據(jù)程序要求無條件或有條件地改變程序執(zhí)行的順序,選擇新的程序流向。編寫分支結構程序主要在于正確使用轉移指令,即無條件轉移和條件轉移指令?!纠?.2】設變量X存在VAR單元之中,函數(shù)值y存放在FUNC中,按以下的表達式給變量y賦值:
第50頁/共138頁圖4-2分支程序流程圖程序流程圖如圖4-2所示。第51頁/共138頁程序清單如下:VAR EQU 30HFUNC EQU 31HSTART:MOV A,VAR JZ COMP JNB ACC.7,POSI MOV A,#0FFH SJMP COMPPOSI: MOV A,#01HCOMP:MOV FUNC,A第52頁/共138頁在程序設計過程中,常常遇到反復執(zhí)行某一段程序的情況,這種情況下采用循環(huán)程序結構,構,可以縮短程序代碼的長度,提高程序的質(zhì)量和運行效率。循環(huán)的這四個部分有兩種情況,如圖4-3所示。4.1.5循環(huán)結構程序圖4-3循環(huán)結構程序流程圖第53頁/共138頁循環(huán)結構程序一般包括以下幾個部分:(1)置初值。置初值是設置用于循環(huán)過程工作單元的初始值,例如設置循環(huán)次數(shù)計數(shù)器、地址指針初值、存放變量的單元的初值。(2)循環(huán)體。重復執(zhí)行的程序段。(3)循環(huán)修改。在單片機中,一般用一個工作寄存器Rn作為計數(shù)器,并給這個計數(shù)器賦初值作為循環(huán)的次數(shù),運行程序時,每循環(huán)一次,則對該計數(shù)器進行修改。(4)循環(huán)控制。判斷循環(huán)控制變量(保存循環(huán)次數(shù)的變量)是否滿足終止值的條件,如果滿足則結束循環(huán),順序執(zhí)行循環(huán)短一些的程序;如果不滿足,則繼續(xù)重復執(zhí)行循環(huán)的工作部分,直到達到循環(huán)結束條件(死循環(huán)除外)。第54頁/共138頁【例4.3】求1、2、3…N之和(N<256)。這是一個簡單的重復相加的問題。設R2為加數(shù)指針,R5為循環(huán)次數(shù)計數(shù)器,R6為加數(shù)總和的高位字節(jié)寄存器,N保存在內(nèi)部RAM的23H當中,加數(shù)總和的高位字節(jié)和低位字節(jié)分別存入23H和24H中。程序流程圖如圖4-4所示。第55頁/共138頁圖4-4例4.3程序流程圖第56頁/共138頁程序清單如下: ORG 0100H MOV R5,23H ;R5←N CLR A ;A清零 MOV R6,#00H ;R6清零 MOV R4,#01H ;R4賦值LOOP:ADDA,@R4 ;求和 JNC NEXT ;CY=0即總和小于256,則轉移 INC R6 ;總和高位加工NEXT:INC R4 ;修改指針 DJNZ R5,LOOP ;未完,重復加 MOV 23H,R6 ;保存總和的高位 MOV 24H,A ;保存總和的低位 END第57頁/共138頁【例4.4】延時10ms子程序(設晶振的頻率為6MHz)。在知道系統(tǒng)的晶振頻率之后,延時時間主要與兩個因素有關:一是內(nèi)循環(huán)中指令的執(zhí)行時間;二是外循環(huán)時間常數(shù)(內(nèi)循環(huán)的循環(huán)次數(shù))的設置。在本例中,已知晶振頻率為6MHz,則可得一個機器周期為0.5μs,執(zhí)行一條DJNZRn,rel的指令的時間為兩個機器周期即1μs,10ms的延時子程序設計如下:DELAY: MOV R5,#100DELAY0: MOV R4,#100DELAY1: DJNZ R4,DELAY1 DJNZ R5,DELAY0 RET第58頁/共138頁第5章MCS-51定時/計數(shù)器和中斷系統(tǒng)5.1MCS-51定時/計數(shù)器5.1.18051單片機定時/計數(shù)器的結構與工作原理定時/計數(shù)器邏輯結構圖5?18051定時/計數(shù)器邏輯結構第59頁/共138頁5.1.2定時/計數(shù)器方式寄存器和控制寄存器表5?1方式選擇位意義M1M0工作方式功能說明00方式013位計數(shù)器01方式116位計數(shù)器10方式2自動再裝入8位計數(shù)器11方式3定時器0:分成兩個8位計數(shù)器定時器1:停止計數(shù)TMOD格式如下:第60頁/共138頁TCON的格式如下
TCON8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0第61頁/共138頁5.1.3定時/計數(shù)器的4種工作方式1.方式0當M1M0兩位為00時,定時/計數(shù)器被選為工作方式0,其邏輯結構如圖5?2所示。圖5?2T0(或T1)方式0的邏輯電路結構第62頁/共138頁2.方式1T0(或T1)方式1的邏輯電路結構第63頁/共138頁3.方式2圖5?3T0(或T1)方式2的邏輯電路結構第64頁/共138頁4.方式3圖5?4T0方式3的邏輯電路結構和T1結構第65頁/共138頁由于定時/計數(shù)器是可編程的,因此在定時或計數(shù)之前要用程序初始化,初始化一般有以下幾個步驟:(1)確定工作方式—對方式寄存器TMOD賦值。(2)預置定時或計數(shù)初值,直接將初值寫入TL0、TH0或TL1、TH1中。(3)根據(jù)需要對中斷允許寄存器有關位賦值,以開放或禁止定時/計數(shù)器中斷。(4)啟動定時/計數(shù)器,使TCON中的TR1或TR0置“1”,計數(shù)器計按既定的工作方式和初值技術或定時。5.定時/計數(shù)器的初始化第66頁/共138頁在初始化過程中,要置入定時或計數(shù)的初值,要做一點計算。由于計數(shù)器是加“1”計數(shù)器,并在溢出時產(chǎn)生中斷請求,因此不能直接將計數(shù)初值置入計數(shù)器,而應送計數(shù)初值的補碼數(shù)。設計數(shù)器最大計數(shù)值為M,選擇不同的工作方式最大計數(shù)值不同。方式0:M=213=8192方式1:M=216=65536方式2:M=28=256方式3:M=28=256置入計數(shù)初值X可這樣計算:計數(shù)方式時:X=M-計數(shù)值(X即為計數(shù)值的補碼)定時方式時:(M-X)*T=定時值,故X=M-定時值/T其中T為計數(shù)周期,是單片機時鐘的12分頻,即單片機機器周期。當晶振為6MHz時,t=2μs;當晶振12MHz時,T=1μs。第67頁/共138頁【例5.1】若單片機晶振為12MHz,要求產(chǎn)生500μs的定時,試計算X的初值。解:由于T=1μs,產(chǎn)生500μs定時,則需要“+1”500次,定時器方能產(chǎn)生溢出。采用方式0:X=213-(500*10-6/10-6)=7692=1E0CH但方式0的TL0高3位是不用的,都設為“0”,這1E0CH應寫成:F00CH=1111000001100B實際上,我們可以看出F00CH去掉了3個不用的位后,就是1E0CH,即將F0H裝入TH0,0CH裝入TL0。采用方式1:X=216-(500*10-6/10-6)=65536=FE0CH即將FEH裝入TH1,0CH裝入TL1。第68頁/共138頁【例5.2】用定時器1,方式0實現(xiàn)1s的延時。解:因方式0采用13位計數(shù)器,其最大定時時間為:8192*1μs=8192μs,因此,定時時間可選擇為8ms,再循環(huán)125次;或者定時時間選擇為5ms,再循環(huán)200次。本例我們選擇前者。定時時間選定后,再確定計數(shù)值為5000,則定時器1的初值為X=M-計數(shù)值=8192-5000=3192=C78H=0110001111000B因13位計數(shù)器中TL1的高3位未用,應填寫0,TH1占高8位,所以,X的實際填寫值應為X=0110001100011000B=6318H即TH1=63H,TL1=18H,又因采用方式0定時,故TMOD=00H。第69頁/共138頁1s延時子程序如下:DELAY:MOV R0,#200 ;置5ms計數(shù)循環(huán)初值MOVTMOD,#00H ;設定時器1為方式0MOVTH1,#63H ;置定時器初值MOVTL1,#18HSETBTR1 ;啟動T1LP1: JBCTF1,LP2 ;查詢計數(shù)溢出SJMPLP1 ;未到5ms繼續(xù)計數(shù)LP2: MOVTH1,#63H ;重新置定時器初值MOVTL1,#18HDJNZR0,LP1 ;未到1s繼續(xù)循環(huán)RET ;返回主程序第70頁/共138頁【例5.3】用定時器1,方式1實現(xiàn)1s的延時。DELAY:MOVR0,#20 ;置50ms計數(shù)循環(huán)初值MOVTMOD,#10H ;設定時器1為方式1MOVTH1,#3CH ;置定時器初值MOVTL1,#0B0HSETBTR1 ;啟動T1LP1: JBCTF1,LP2 ;查詢計數(shù)溢出SJMPLP1 ;未到50ms繼續(xù)計數(shù)LP2:MOVTH1,#3CH ;重新置定時器初值MOVTL1,#0B0HDJNZR0,LP1 ;未到1s繼續(xù)循環(huán)RET ;返回主程序第71頁/共138頁【例5.4】用定時器1,方式2實現(xiàn)1s的延時。解:因方式2是8位計數(shù)器,其最大定時時間為:256*1μs=256μs,為實現(xiàn)1s的延時,可選擇定時時間為250μs,再循環(huán)4000次。定時時間選定后,可確定計數(shù)值為250,則定時器1的初值為:X=M-計數(shù)值=256-250=6=6H。采用定時器1,方式2工作,因此,TMOD=20H。DELAY:MOVR7,#40 ;置25ms計數(shù)循環(huán)初值MOVR6,#100 ;置250μs計數(shù)循環(huán)初值MOVTMOD,#20H ;設定時器1為方式2MOVTH1,#06H ;置定時器初值MOVTL1,#06HSETBTR1 ;啟動T1LP1: JBCTF1,LP2 ;查詢計數(shù)溢出SJMPLP1 ;無溢出則繼續(xù)計數(shù)LP2: DJNZR6,LP1 ;未到25ms繼續(xù)循環(huán)MOVR6,#100DJNZR7,LP1 ;未到1s繼續(xù)循環(huán)RET ;返回主程序第72頁/共138頁5.2MCS-51單片機的中斷系統(tǒng)圖5-5MCS-51中斷系統(tǒng)內(nèi)部結構示意圖第73頁/共138頁1、中斷源及中斷入口中斷源入口地址外部中斷00003H定時器T0中斷000BH外部中斷10013H定時器T1中斷001BH串行口中斷0023H第74頁/共138頁2、外部中斷請求標志2.SCON的中斷標志
1.TCON中的中斷標志3、中斷允許控制4、中斷源優(yōu)先級的設定5、中斷響應處理過程2.中斷處理1.中斷響應的過程
3.中斷返回4.外部中斷響應時間第75頁/共138頁5.2.4外部中斷源的擴展1.用定時器作外部中斷源MCS-51單片機有兩個定時器,具有兩個內(nèi)中斷標志和外計數(shù)引腳,如在某些應用中不被使用,則它們定時器中斷可作為外部中斷請求使用。此時,可將定時器設置成計數(shù)方式,計數(shù)初值可設為滿量程,則它們的計數(shù)輸入端T0(P3.4)或T1(P3.5)引腳上發(fā)生負跳變時,計數(shù)器加1產(chǎn)生溢出甲斷。利用此特性,可把T0腳或T1腳作為外部中斷請求輸入線,而計數(shù)器的溢出中斷作為外部中斷請求標志?!纠?.5】將定時器0擴展為外部中斷源n解:將定時器0設定為方式2(自動恢復計數(shù)初值),TH0和TFO的初值均設置為FFH,允許定時器0中斷,CPU開放中斷。源程序如下:第76頁/共138頁MOV TMOD,#06HMOV TH0,#0FFHMOV TL0,#0FFHSETB TR0SETB ET0SETB EA…當連接在T0(P3.4)引腳上的外部中斷請求輸入線發(fā)生負跳變時,TL0加1溢出,TF0置1,向CPU發(fā)出中斷申請,同時,TH0的內(nèi)容自動送至TL0使TL0恢復初值。這樣,T0引腳每輸入一個負跳變,TF0都會置1,向CPU請求中斷。此時,T0腳相當于邊沿觸發(fā)的外部中斷源輸入線。同樣,也可將定時器1擴展為外部中斷源。第77頁/共138頁2.中斷和查詢相結合圖5-8一個外中斷擴展成多個外中斷的原理圖
第78頁/共138頁由圖可知,4個外部擴展中斷源通過4個OC門電路組成線或取非后再與(P3.2)相連;4個外部擴展中斷源EXINT0~EXINT3中有一個或幾個出現(xiàn)高電平則輸出為0,使腳為低電平,從而發(fā)出中斷請求。因此,這些擴充的外部中斷源都是電平觸發(fā)方式(高電平有效)。CPU執(zhí)行中斷服務程序時,先依次查詢P1口的中斷源輸入狀態(tài),然后,轉入到相應的中斷服務程序,4個擴展中斷源的優(yōu)先級順序由軟件查詢順序決定,即最先查詢的優(yōu)先級最高,最后查詢的優(yōu)先級最低。第79頁/共138頁中斷服務程序如下:
ORG 0003H ;外部中斷0入口
AJMP INT0 ;轉向中斷服務程序入口
…
INT0: PUSH PSW ;保護現(xiàn)場
PUSH ACC
JB P1.0,EXT0 ;中斷源查詢并轉相應中斷服務程序
JB P1.1,EXT1
JB P1.2,EXT2
JB P1.3,EXT3
EXIT: POP ACC ;恢復現(xiàn)場
POP PSW
RETI
…
EXT0: … ;EXINT0中斷服務程序
AJMP EXIT
EXT1: … ;EXINT1中斷服務程序
AJMP EXIT
EXT2: … ;EXINT2中斷服務程序
AJMP EXIT
EXT3: … ;EXINT3中斷服務程序
AJMP EXIT
同樣,外部中斷1也可作相應的擴展。第80頁/共138頁第6章
存儲器與存儲器擴展6.1單片機存儲器概述8051的引腳定義及功能MCS-51的引腳圖及功能分類圖第81頁/共138頁圖6-1單片機擴展構造總線結構框圖第82頁/共138頁6.2程序存儲器擴展技術外部程序存儲器的擴展及取指過程外部程序存儲器一般連接方法第83頁/共138頁EPROM程序存儲器擴展實例圖6-8單片程序存儲器擴展連接
第84頁/共138頁用譯碼法擴展多片E2PROM圖6-10E2PROM程序存儲器擴展電路連接圖第85頁/共138頁擴展2KB數(shù)據(jù)存儲器的線路圖6.3數(shù)據(jù)存儲器擴展技術第86頁/共138頁圖6-12線選法擴展1片6264電路圖第87頁/共138頁綜合擴展實例擴展16KBRAM和16KBEPROM第88頁/共138頁7.2并行I/O口擴展7.2.1并行I/O口的簡單擴展
第7章
單片機接口技術圖7-2簡單I/O口擴展第89頁/共138頁7.2.2采用8255擴展I/O口圖7-38255內(nèi)部結構1.8255的內(nèi)部結構和引腳功能。第90頁/共138頁圖7-48255A引腳圖第91頁/共138頁2.MCS-51與8255A的連接方法圖7-58031與8255A的連接方法第92頁/共138頁3.8255的方式控制字圖7-68255A方式選擇控制字(1)方式選擇控制字第93頁/共138頁圖7-7C口按位復位/置位控制寄存器(2)C口按位復位/置位控制字第94頁/共138頁7.2.3可編程RAMI/O接口芯片8155及其擴展I/O口技術1.8155內(nèi)部結構及引腳8155內(nèi)部結構 (b)8155引腳配置圖圖7-128155內(nèi)部結構及引腳圖第95頁/共138頁表7?38155口地址分布AD0~AD7選中寄存器A7A6A5A4A3A2A1A0×××××000內(nèi)部命令寄存器×××××001通用I/O口A寄存器×××××010通用I/O口B寄存器×××××011口C:通用I/O口或控制口×××××100定時/計數(shù)器的低8位寄存器×××××101定時/計數(shù)器的高8位寄存器2.8155的RAM和I/O口地址編碼第96頁/共138頁3.8155的工作方式與基本操作第97頁/共138頁圖7-138155命令狀態(tài)寄存器格式第98頁/共138頁表7-48155定時器編程方式及相應的輸出波形M2M1方式定時器輸出波形00110101單方波連續(xù)方波單脈沖連續(xù)脈沖第99頁/共138頁表7?28155的RAM和I/O口地址分配P2.4P2.3選擇地址00RAME700H~E7FFH(256B)01I/O口EF00H命令口/狀態(tài)口EF01H通用I/O口AEF02H通用I/O口BEF03H口CEF04H計數(shù)值低8位EF05H計數(shù)值高8位和計數(shù)方式圖7?158155和8031單片機接口第100頁/共138頁7.3MCS-51單片機鍵盤接口技術7.3.2獨立式按鍵1.獨立式按鍵結構圖7-17獨立式鍵盤第101頁/共138頁圖7-18獨立鍵盤與單片機接口第102頁/共138頁7.3.3矩陣鍵盤接口技術1.矩陣式鍵盤的結構及工作原理圖7-19矩陣鍵盤結構第103頁/共138頁2.矩陣鍵盤工作方式圖7-20定時鍵盤掃描程序框圖第104頁/共138頁7.4.1LED顯示器的接口技術7.4MCS-51單片機顯示器接口技術 (a)管腳圖 (b)共陰極 (c)共陽極圖7-21LED顯示器與通用I/O口的連線1.LED數(shù)碼顯示器結構和工作原理第105頁/共138頁圖7-22通過8255A連接的3位LED靜態(tài)顯示器3.靜態(tài)LED顯示器接口第106頁/共138頁4.動態(tài)LED顯示器接口圖7-23通過8155連接的6位LED動態(tài)顯示電路第107頁/共138頁圖7-24動態(tài)顯示子程序流程圖第108頁/共138頁7.4.2可編程鍵盤/顯示器接口芯片Intel82791.8279的內(nèi)部結構圖7-278279內(nèi)部結構第109頁/共138頁2.8279引腳功能圖7-288279管腳及引線功能第110頁/共138頁5.8279與單片機的接口圖7-298279鍵盤、顯示器接口電路第111頁/共138頁圖7-308×8鍵盤的鍵值與鍵號第112頁/共138頁7.5模/數(shù)(A/D)轉換器與單片機接口及應用7.5.2常用A/D轉換器及其接口設計圖7-32ADC0809的邏輯框圖第113頁/共138頁圖7-33ADC0809引腳圖第114頁/共138頁圖7-348031與ADC0809的接口第115頁/共138頁7.6.2常用D/A轉換器DAC0832及其接口技術7.6數(shù)/模(D/A)轉換器與單片機接口及應用圖7-37DAC0832引腳圖第116頁/共138頁DAC0832的引腳排列 DAC0832結構圖第117頁/共138頁3.DAC0832與MCS-51的接口設計(1)單緩沖工作方式圖7-38單極性單緩沖器電路接口圖第118頁/共138頁(2)雙緩沖工作方式圖7-40工作于雙緩沖方式時DAC0832與8031的連接第119頁/共138頁第8章
串行口通信技術8.1串行通信基礎8.1.1串行通信的分類1.同步通信圖8-2同步通信的格式第120頁/共138頁2.異步通信圖8-3異步通信的格式第121頁/共138頁8.1.2串行通信的制式圖8-4串行通信的數(shù)據(jù)傳送方向第122頁/共138頁8.2串行通信總線標準及其接口8.2.1RS-232C接口圖8-5PC與外設的RS-232直接連接第123頁/共138頁表8-1PC常用的RS-232C接口信號定義(9針)引腳號符號IO方向功能描述1DCDI數(shù)據(jù)載波檢測2RXDI接收數(shù)據(jù)3TXDO發(fā)送數(shù)據(jù)4DTRO數(shù)據(jù)終端就緒5GNG-信號地6DSRI數(shù)據(jù)設備就緒7RTSO請求發(fā)送8CTSI允許發(fā)送9RII振鈴指示第124頁/共138頁表8-2PC常用的RS-232C接口信號定義(25針)引腳號符號IO方向功能描述2TXDO發(fā)送數(shù)據(jù)3RXDI接收數(shù)據(jù)4RTSO請求發(fā)送5CTSI允許發(fā)送6DSRI數(shù)據(jù)設備就緒7GND-信號地8DCDI數(shù)據(jù)載波檢測20DTRO數(shù)據(jù)終端就緒22RII振鈴指示第125頁/共138頁8.2.2RS-449、RS-422、RS-423及RS-485接口表格7-4幾種串行接口標準的比較特性參數(shù)RS-232CRS-423RS-422RS-485工作模式單端發(fā)單端收單端發(fā)雙端收雙端發(fā)雙端收雙端發(fā)雙端收
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開放式基金交易服務合同
- 2024簡單銷售代理合同樣本
- 合同范本:委托招商引資協(xié)議書
- 二手車購車合同協(xié)議樣本
- 2024照明購銷合同
- 企業(yè)與高校就業(yè)實習協(xié)議書參考
- 代理公司注冊登記協(xié)議書
- 培訓機構老師合作協(xié)議示例
- 正規(guī)版房屋租賃合同協(xié)議范本
- 全面聘用合同范本匯編
- 浙江省紹興市諸暨市2023-2024學年七年級上學期期末語文試題
- 酒精性肝硬化查房
- 2024年學校禁毒安全工作計劃
- 透析中合并心衰護理課件
- 初中數(shù)學因式分解練習題100題附詳解
- 新生兒臍疝與護理課件
- 提升班組學習能力的組織與培訓方法
- 2024屆高考語文復習:小說敘述特色專題復習 課件
- 慢性病的心理預防及調(diào)適護理課件
- 2024年銀行考試-招商銀行歷年考試高頻考點試題附帶答案
- 2024肺栓塞指南解讀2024
評論
0/150
提交評論