




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
汪霖西北大學(xué)信息學(xué)院Email:wanglin@單片機原理與應(yīng)用復(fù)習(xí)第一章計算機基礎(chǔ)知識第二章80C51單片機的硬件結(jié)構(gòu)第三章80C51單片機指令系統(tǒng)第四章80C51單片機匯編語言程序設(shè)計第五章80C51單片機的中斷和定時1復(fù)習(xí)第六章單片機并行存儲器擴展第七章單片機并行IO擴展第八章單片機串行通信第九章單片機串行擴展第十章單片機A/D及D/A轉(zhuǎn)換接口2第一章計算機基礎(chǔ)知識1.1二進制數(shù)及其在計算機中的使用1.2二進制數(shù)的算術(shù)運算和邏輯運算1.3供程序設(shè)計使用的其他進制數(shù)1.4
計算機中使用的編碼1.5
微型計算機概述3常用數(shù)制(十進制/二進制/十六進制)及其相互轉(zhuǎn)換符號數(shù)/無符號數(shù),原碼/反碼/補碼二進制的算術(shù)運算(加/減/乘/除)和邏輯運算(或/與/非/異或)計算機中使用的編碼:BCD碼/ASCII碼第一章計算機基礎(chǔ)知識4常用的進位計數(shù)制第一章計算機基礎(chǔ)知識進制符號集基數(shù)及規(guī)則一般表達式十進制ND{0,1,2,3,4,5,6,7,8,9}10(逢十進一)二進制NB{0,1}2(逢二進一)十六進制NH{0~9,A,B,C,D,E,F}16(逢十六進一)5不同數(shù)制間的轉(zhuǎn)換6
二進制/十六進制→十進制規(guī)則:先按權(quán)展開后,再按照十進制運算法則求和
二進制→十六進制(十六進制→二進制)規(guī)則:24=16,4位二進制數(shù)對應(yīng)1位十六進制數(shù)第一章計算機基礎(chǔ)知識7十進制→二進制/十六進制(1)整數(shù)轉(zhuǎn)換法:“除基取余”,將十進制整數(shù)不斷除以轉(zhuǎn)換進制基數(shù)(2或16),直至商為0。每除一次取一個余數(shù),從低位排向高位。25=11001B將25轉(zhuǎn)換為二進制數(shù)將156轉(zhuǎn)換為十六進制數(shù)156=9CH第一章計算機基礎(chǔ)知識8十進制→二進制/十六進制(2)小數(shù)轉(zhuǎn)換法:“乘基取整”:用轉(zhuǎn)換進制的基數(shù)(2或16)乘以小數(shù)部分,直至小數(shù)為0或達到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。將0.625轉(zhuǎn)換為二進制數(shù)將0.359375轉(zhuǎn)換為十六進制數(shù)0.625=0.101B0.359375=0.5CH第一章計算機基礎(chǔ)知識帶符號數(shù)的表示方法9
機器中,數(shù)的符號用“0”、“1”表示。最高位作符號位,“0”表示“+”,“1”表示“-”。在計算機中,所有有符號數(shù)都是以補碼形式存放的。第一章計算機基礎(chǔ)知識
無符號的8位二進制數(shù)沒有符號位,從D7~D0皆為數(shù)值位,所以8位無符號二進制數(shù)的表示范圍是0~+255。無符號數(shù)的表示方法原碼、反碼和補碼第一章計算機基礎(chǔ)知識表示方法符號數(shù)(最高位)數(shù)值位表示范圍(8位)正數(shù)負數(shù)正數(shù)負數(shù)原碼01與真值數(shù)值位相同與真值數(shù)值位相同-127~+127反碼原碼數(shù)值位逐位求反-127~+127補碼原碼數(shù)值求反加1-128~+12710二進制算術(shù)運算
加法、減法、乘法、除法
11第一章計算機基礎(chǔ)知識二進制邏輯運算
邏輯“或”運算
邏輯“與”運算
邏輯“非”運算
邏輯“異或”運算上述二進制邏輯運算均可按位進行,不同位之間不發(fā)生任何聯(lián)系。BCD碼(二-十進制編碼)12
BCD(BinaryCodedDecimal)碼是一種二進制形式的十進制碼,它用4位二進制數(shù)表示1位十進制數(shù),最常用的是8421BCD碼。第一章計算機基礎(chǔ)知識ASCII碼美國信息交換標(biāo)準(zhǔn)代碼(ASCII碼)由7位二進制數(shù)碼構(gòu)成,共有128個字符,它主要用于微機與外設(shè)通信?!癆”=41H“0”=30H“a”=61H第二章80C51單片機的硬件結(jié)構(gòu)2.1單片機的概念2.280C51單片機的邏輯結(jié)構(gòu)及信號引腳2.380C51單片機的內(nèi)部存儲器2.480C51單片機的并行I/O口2.580C51單片機的時鐘與定時2.6
80C51單片機的系統(tǒng)復(fù)位2.7
單片機低功耗工作模式1380C51邏輯結(jié)構(gòu)80C51的信號引腳及功能內(nèi)部存儲器:RAM/ROM并行I/O口(P0~P3)時鐘電路和定時單位復(fù)位方式和復(fù)位電路低功耗工作模式:待機模式、掉電模式14第二章80C51單片機的硬件結(jié)構(gòu)80C51單片機的內(nèi)部邏輯結(jié)構(gòu)15運算電路控制電路控制電路內(nèi)部數(shù)據(jù)存儲器內(nèi)部程序存儲器第二章80C51單片機的硬件結(jié)構(gòu)16第二章80C51單片機的硬件結(jié)構(gòu)
CPU:運算電路、控制電路
內(nèi)部數(shù)據(jù)存儲器(256B):低128位(寄存器區(qū)、位尋址區(qū)、用戶RAM區(qū))+高128位(專用寄存器區(qū))
內(nèi)部程序存儲器(4KB)
定時器/計數(shù)器(2個16位):工作方式
并行I/O口(4個):P0~P3
串行口(1個):工作方式
中斷控制電路:5個中斷源、中斷優(yōu)先級、中斷嵌套
時鐘電路、位處理器
內(nèi)部總線:地址總線、數(shù)據(jù)總線、控制總線80C51單片機的引腳及其功能1780C51芯片引腳及芯片邏輯符號(40腳DIP封裝)第二章80C51單片機的硬件結(jié)構(gòu)第二章80C51單片機的硬件結(jié)構(gòu)控制信號名稱功能描述RST復(fù)位信號用于單片機的復(fù)位操作ALE地址鎖存控制信號作為地址鎖存的選通信號,實現(xiàn)低8位地址鎖存PSEN外部程序存儲器讀選通信號=0:外部ROM讀操作EA訪問程序存儲器控制信號=0:外部ROM=1:內(nèi)部(0~4KB)外部RD外部RAM讀選通=0:讀外部RAMWR外部RAM寫選通=0:寫入外部RAM80C51單片機的控制信號1819單片程序存儲器擴展存儲器擴展:地址線、數(shù)據(jù)線和控制信號線連接存儲單元地址分析:8000H~87FFH(P2.6~P2.3均為0)P2.6~P2.3從0000~1111,則2716對應(yīng)著16個地址區(qū)間線選法存在地址重疊問題第二章80C51單片機的硬件結(jié)構(gòu)20數(shù)據(jù)存儲器擴展連接6116:2KB的數(shù)據(jù)存儲器芯片OE:數(shù)據(jù)輸出允許信號WE:寫選通信號第二章80C51單片機的硬件結(jié)構(gòu)80C51存儲器配置2180C51程序存儲器和數(shù)據(jù)存儲器配置圖第二章80C51單片機的硬件結(jié)構(gòu)內(nèi)部數(shù)據(jù)存儲器低128單元區(qū)2280C51內(nèi)部數(shù)據(jù)存儲器配置圖
通用寄存器區(qū)4組,每組8個寄存器(R7~R0)
位尋址區(qū)
用戶RAM區(qū)
供用戶使用的一般RAM區(qū),共80個單元。一般應(yīng)用中常把堆棧開辟在此區(qū)中。第二章80C51單片機的硬件結(jié)構(gòu)內(nèi)部數(shù)據(jù)存儲器高128單元區(qū)23
高128單元區(qū)供專用寄存器SFR使用,單元地址為80H~0FFH,用于存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)等。80C51共有21個專用寄存器。
累加器A(E0H):8位寄存器,最常用的專用寄存器B寄存器(F0H)8位寄存器,主要用于乘除運算;也可作為一般的數(shù)據(jù)寄存器使用。例如:(1)乘運算(MULAB):A與B相乘,高字節(jié)放在B中,低字節(jié)放在A中;(2)除運算(DIVAB):A除以B,商放在A中,余數(shù)放在B中。第二章80C51單片機的硬件結(jié)構(gòu)24
程序狀態(tài)字PSW(D0H)位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標(biāo)志CYACF0RS1RS0OV/P定義進位標(biāo)志輔助進位用戶標(biāo)志通用寄存器組選擇位溢出標(biāo)志奇偶用于寄存指令執(zhí)行的狀態(tài)信息。PSW的各位定義如下:
數(shù)據(jù)指針DPTR(83H:82H)16位寄存器,在訪問外部64K數(shù)據(jù)存儲器時作地址指針用。DPH和DPL分別為DPTR的高8位和低8位字節(jié)。例:假定(A)=80H,執(zhí)行指令“ADDA,#0F3H”后,(CY)=?(AC)=?(OV)=?(P)=?第二章80C51單片機的硬件結(jié)構(gòu)堆棧操作25
堆棧的功能堆棧主要是為子程序調(diào)用和中斷操作而設(shè)立的,對應(yīng)有兩項功能:保護斷點和保護現(xiàn)場。
堆棧的特點:后進先出
堆棧的定義及初始化堆棧指示器SP是一個8位寄存器,用來指示堆棧頂部在內(nèi)部RAM中的位置。系統(tǒng)復(fù)位后,SP的初始值為07H,使得堆棧實際上是從08H開始的。但08H~1FH隸屬1~3通用寄存器區(qū),因此必須對堆棧指針SP進行初始化,一般設(shè)在30H—1FH之間較為適宜。第二章80C51單片機的硬件結(jié)構(gòu)26
堆棧類型及使用方式兩種類型:向上生長型和向下生長型。80C51使用向上生長型堆棧。進棧操作:先SP加1,后寫入數(shù)據(jù);出棧操作:先讀出數(shù)據(jù),后SP減1。
堆棧使用方式:自動方式和指令方式。第二章80C51單片機的硬件結(jié)構(gòu)內(nèi)部程序存儲器27
功能:用于存放編好的程序和表格常數(shù)。
如何工作:程序計數(shù)器(PC),也叫PC指針,是取指地址。上電復(fù)位后PC內(nèi)容為0000H,即從0000H地址的指令順序執(zhí)行,最大為FFFFH,所以程序空間為64K。
程序存儲器配置:64K空間分為片內(nèi)ROM和片外ROM,但統(tǒng)一編址。第二章80C51單片機的硬件結(jié)構(gòu)并行口的分工80C51單片機共有4個8位雙向并行輸入/輸出(I/O)口,分別為:P0、P1、P2、P3。這4個口可以并行輸入或輸出8位數(shù)據(jù);也可以按位使用,即每一根輸入/輸出線都能獨立的用作輸入或輸出。
P0口:分時送出8位數(shù)據(jù)和低八位地址、I/O口28
P1口:I/O口
P2口:高八位地址、I/O口
P3口:I/O口、第二功能輸入輸出第二章80C51單片機的硬件結(jié)構(gòu)時鐘電路
為保證同步工作方式的實現(xiàn),單片機必須有時鐘信號,以使其系統(tǒng)在時鐘信號的控制下按時序協(xié)調(diào)工作。時鐘信號由時鐘電路產(chǎn)生,其中時鐘電路由振蕩電路和分頻電路兩部分所組成。29
振蕩電路
石英晶體作為感性元件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩所需的相移條件,從而構(gòu)成一個穩(wěn)定的自激振蕩器。第二章80C51單片機的硬件結(jié)構(gòu)30
分頻電路振蕩電路產(chǎn)生的振蕩信號并不直接為單片機所用,而要進行分頻,以得到單片機各種相關(guān)的時鐘信號。
時鐘信號;ALE;機器周期信號第二章80C51單片機的硬件結(jié)構(gòu)定時單位31拍節(jié)與狀態(tài)將振蕩脈沖的周期定義為拍節(jié)(P);將振蕩脈沖經(jīng)二分頻后的單片機時鐘信號的周期定義為狀態(tài)(S)。1S=2P機器周期規(guī)定一個機器周期的寬度為6個狀態(tài),S1~S6。指令周期執(zhí)行一條指令所需要的時間,可包含1個、2個或4個機器周期。第二章80C51單片機的硬件結(jié)構(gòu)復(fù)位方式32復(fù)位是單片機的硬件初始化操作,經(jīng)復(fù)位操作后,單片機系統(tǒng)才能開始正常工作。當(dāng)復(fù)位信號引腳RST保持2個機器周期以上的高電平輸入時,就可完成復(fù)位操作。加電復(fù)位開機加電時,通過專用的復(fù)位電路自動產(chǎn)生復(fù)位信號。手動復(fù)位若單片機遇到死機、死循環(huán)或程序“跑飛”等情況時,通過手動按鍵操作,使專用的復(fù)位電路產(chǎn)生復(fù)位信號。第二章80C51單片機的硬件結(jié)構(gòu)80C51基本復(fù)位電路33上電復(fù)位:通過電容充電來實現(xiàn)按鍵電平復(fù)位:復(fù)位端經(jīng)R1電阻與Vcc接通按鍵脈沖復(fù)位:RC微分電路產(chǎn)生正脈沖第二章80C51單片機的硬件結(jié)構(gòu)待機和掉電方式控制電路與門待機模式(IdleMode)34如何設(shè)置待機模式?電源控制寄存器PCON使用指令將電源控制寄存器PCON的IDL位(PCON.0)置1,80C51單片機就進入待機模式。
進入待機模式指令:MOVPCON#01H;IDL←1第二章80C51單片機的硬件結(jié)構(gòu)35待機模式主要特點(1)片內(nèi)振蕩器仍振蕩,但不向CPU提供時鐘;(2)工作電流降低;(3)與CPU有關(guān)的如SP、PC、PSW、ACC以及全部通用寄存器也都被“凍結(jié)”在原狀態(tài)。如何退出待機模式?(1)中斷——結(jié)束待機,IDL自動被硬件清除(2)復(fù)位——使RST保持兩個機器周期,“復(fù)位”也自動清除IDL第二章80C51單片機的硬件結(jié)構(gòu)掉電模式(PowerDownMode)36如何設(shè)置掉電模式?掉電模式主要特點(1)片內(nèi)振蕩器停振,單片機停止工作;(2)工作電流大大降低;(3)內(nèi)部RAM單元的內(nèi)容被保存。
PCON寄存器中的PD位置1,則進入掉電模式。
進入掉電模式指令:MOVPCON#02H;PD←1如何退出掉電模式?
只能通過硬件復(fù)位來退出掉電模式,并將重新定義所有的SFR,但不改變片內(nèi)RAM的值。第二章80C51單片機的硬件結(jié)構(gòu)第三章80C51單片機指令系統(tǒng)3.1單片機指令系統(tǒng)概述3.280C51單片機指令尋址方式3.380C51單片機指令分類介紹3780C51單片機的7種尋址方式80C51指令系統(tǒng)中各指令的格式及功能38第三章80C51單片機指令系統(tǒng)指令格式39標(biāo)號:程序員根據(jù)編程需要給指令設(shè)定的符號地址[標(biāo)號:]操作碼
[目的操作數(shù)][,源操作數(shù)][;注釋]例:LOOP:MOVA,#40H;取參數(shù)操作碼:表示指令的操作種類,如MOV為數(shù)據(jù)傳送操作操作數(shù):參加運算的數(shù)據(jù)或數(shù)據(jù)的有效地址注釋:對指令的解釋說明,用以提高程序的可讀性無操作數(shù)項:操作數(shù)隱含在操作碼中,如RET指令1個操作數(shù):如INCA2個操作數(shù):如MOVA,#00H3個操作數(shù):如CJNEA,#00H,rel第三章80C51單片機指令系統(tǒng)80C51的7種尋址方式40第三章80C51單片機指令系統(tǒng)寄存器尋址方式41特點:操作數(shù)在寄存器中,由指令指出的某個寄存器的內(nèi)容作為操作數(shù);尋址范圍:四組通用寄存器Rn(R0~R7)、部分專用寄存器(A,B,DPTR,CY)。例:INCR3;R3←(R3)+1第三章80C51單片機指令系統(tǒng)直接尋址方式42特點:指令中操作數(shù)直接以存儲單元地址的形式給出,該地址指出操作數(shù)所在的字節(jié)單元地址或位地址;尋址范圍:片內(nèi)RAM區(qū)(低128字節(jié))、專用寄存器。例:MOVA,70H
;A←(70H)第三章80C51單片機指令系統(tǒng)寄存器間接尋址方式43特點:指令給出的寄存器中存放的是操作數(shù)據(jù)的單元地址,寄存器前邊必須加前綴符號“@”;尋址范圍:內(nèi)部RAM低128B(R0或R1);外部RAM(DPTR);外部低256單元RAM(DPTR或R0或R1)例:MOVA,@R0;A←((R0))第三章80C51單片機指令系統(tǒng)立即尋址方式44特點:操作數(shù)在指令中直接給出,該操作數(shù)是8位立即數(shù)(#data)或16位立即數(shù)(#data16),在立即數(shù)前面加“#”標(biāo)志。例:MOVA,#20H
;A←20H第三章80C51單片機指令系統(tǒng)變址尋址方式45特點:操作數(shù)存放在變址寄存器(累加器A)和基址寄存器(DPTR或PC)相加形成的16位地址單元中;尋址范圍:程序存儲器(64K)例:MOVCA,@A+DPTR;A←((A)+(DPTR))第三章80C51單片機指令系統(tǒng)位尋址方式46特點:操作數(shù)為一個可單獨尋址的位地址;尋址范圍:片內(nèi)RAM低128B中位尋址區(qū)(20H~2FH,位地址為00H~7FH)、部分SFR(共83位可位尋址)。例:MOVC,P1.0
;進位位CY←(P1.0)第三章80C51單片機指令系統(tǒng)相對尋址方式47特點:目的地址=轉(zhuǎn)移指令地址+轉(zhuǎn)移指令字節(jié)數(shù)+地址偏移量(rel);尋址范圍:只能對程序存儲器ROM進行尋址,rel由帶符號的8位二進制補碼(-128~+127)表示。例:JZrel;累加器判零轉(zhuǎn)移:若(A)=0,跳轉(zhuǎn);否則,不跳轉(zhuǎn)轉(zhuǎn)移指令地址:1000H轉(zhuǎn)移指令字節(jié)數(shù):2(JZ)地址偏移量:75H目的地址:1000H+2H+75H=1077H第三章80C51單片機指令系統(tǒng)4880C51指令分類(按功能分)數(shù)據(jù)傳送類(29條):MOV,MOVX,MOVC,XCH/XCHD/SWAP,PUSH/POP算術(shù)運算類(24條):ADD,ADDC,SUBB,INC,DEC,MUL/DIV,DA邏輯運算及移位類(24條):ANL,ORL,XRL,CLR/CPL,RL/RR/RLC/RRC控制轉(zhuǎn)移類(17條):LJMP/AJMP/SJMP/JMP,JZ/CJNE/DJNZ,ACALL/LCALL/RET/RETI,NOP位操作類(17條):MOV,SETB/CLR,ANL/ORL/CPL,JC/JNC/JB/JNB/JBC第三章80C51單片機指令系統(tǒng)49數(shù)據(jù)傳送類指令助記符:MOV,MOVX,MOVC,XCH/XCHD/SWAP,PUSH/POP指令格式:助記符<目的操作數(shù)>,<源操作數(shù)>源操作數(shù)尋址方式(5種):立即尋址,直接尋址,寄存器尋址,寄存器間接尋址,變址尋址目的操作數(shù)尋址方式(3種):寄存器尋址,寄存器間接尋址,直接尋址對標(biāo)志位影響:除了目的操作數(shù)為ACC的指令影響奇偶標(biāo)志P外,一般不影響標(biāo)志位第三章80C51單片機指令系統(tǒng)50MOV/MOVX/MOVC指令MOV指令用于訪問片內(nèi)RAM和SFR
MOVX指令用于訪問片外RAM和外部I/OMOVC指令用于讀取ROM中的常數(shù)例:把內(nèi)(外)部RAM中起始地址為data,長度為N的數(shù)據(jù)串傳送到內(nèi)(外)部RAM以buffer為首地址的區(qū)域。如何編程實現(xiàn)?第三章80C51單片機指令系統(tǒng)51堆棧操作指令進棧指令,將內(nèi)部RAM單元內(nèi)容送入棧頂單元PUSHdirect;SP←(SP)+l,(SP)←(direct)出棧指令,將棧頂單元內(nèi)容取出傳送到內(nèi)部RAM單元POPdirect;direct←((SP))
,SP←(SP)-l例:MOVA,#20H
MOVB,#30H
PUSHA
PUSHB
POPA
POPB
執(zhí)行完上述指令后,(A)=?,(B)=?第三章80C51單片機指令系統(tǒng)52算術(shù)運算類指令助記符:ADD,ADDC,SUBB,INC,DEC,MUL/DIV,DA源操作數(shù)尋址方式(4種):立即尋址,直接尋址,寄存器間接尋址,寄存器尋址目的操作數(shù)主要尋址方式:寄存器尋址(累加器A)對標(biāo)志位影響:加、減、乘、除、加1、減1、十進制調(diào)整等運算指令影響PSW有關(guān)位(P,OV,AC,CY)第三章80C51單片機指令系統(tǒng)53乘除指令乘法指令MULAB;BA←(A)×(B),即乘積低8位→A,高8位→B除法指令DIVAB;A←(A)/(B)的商
,B←(A)/(B)的余數(shù)乘除指令執(zhí)行后,進位標(biāo)志位CY總是被清0乘法指令執(zhí)行后,若乘積大于255(FFH),則溢出標(biāo)志位OV置1,乘積分別存放在B與A中;否則OV=0,(B)=0除法指令執(zhí)行后,若除數(shù)為0,則OV置1,表明除法無意義;否則OV清0,除法可正常進行第三章80C51單片機指令系統(tǒng)54邏輯運算及移位類指令助記符:ANL,ORL,XRL,CLR/CPL,RL/RR/RLC/RRC指令格式:助記符<目的操作數(shù)>,<源操作數(shù)>源操作數(shù)尋址方式(4種):立即尋址,直接尋址,寄存器尋址,寄存器間接尋址目的操作數(shù)尋址方式(2種):直接尋址,寄存器尋址(累加器A)對標(biāo)志位影響:當(dāng)A作目的操作數(shù)時,影響P位;帶進位的移位指令影響CY位,其余都不影響PSW第三章80C51單片機指令系統(tǒng)55控制轉(zhuǎn)移類指令助記符:LJMP/AJMP/SJMP/JMP,JZ/CJNE/DJNZ,ACALL/LCALL/RET/RETI,NOP基本功能:利用控制轉(zhuǎn)移類指令可強迫修改PC值,從而改變程序的執(zhí)行順序?qū)?biāo)志位影響:此類指令不影響PSW種類:無條件轉(zhuǎn)移指令(4條)+條件轉(zhuǎn)移指令(8條)+子程序調(diào)用和返回指令(4條)+空操作指令(1條)第三章80C51單片機指令系統(tǒng)56控制轉(zhuǎn)移類指令無條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令子程序調(diào)用和返回指令空指令第三章80C51單片機指令系統(tǒng)57位操作類指令助記符:MOV,SETB/CLR,ANL/ORL/CPL,JC/JNC/JB/JNB/JBC基本功能:用于進行位的傳送、置1、清0、取反、位狀態(tài)判斷轉(zhuǎn)移、位邏輯運算及位輸入/輸出等供用戶使用的位處理硬件資源有:1)位累加器CY;2)內(nèi)部RAM位尋址區(qū)的128個可尋址位;3)專用寄存器的可尋址位(累加器位的表示應(yīng)使用ACC,而不能用A,如:ACC.0);4)I/O口的可尋址位第三章80C51單片機指令系統(tǒng)第四章80C51匯編語言程序設(shè)計4.1
單片機程序設(shè)計語言概述4.2
匯編語言程序的基本結(jié)構(gòu)形式4.380C51單片機匯編語言程序設(shè)計舉例4.4
單片機匯編語言源程序的編輯和匯編4.580C51單片機匯編語言偽指令58程序設(shè)計基本概念標(biāo)號、操作碼、操作數(shù)、注解偽指令:ORG、DB、DW、EQU等程序狀態(tài)字PSW常用程序結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序程序:直線程序分支程序:單重分支;多重分支(多次使用條件轉(zhuǎn)移指令,地址表法,轉(zhuǎn)移指令表法,通過堆棧操作)循環(huán)程序:由初始化、循環(huán)體、控制變量的修改、循環(huán)次數(shù)的控制4部分構(gòu)成。其中循環(huán)次數(shù)有記數(shù)控制和特征標(biāo)志控制兩種。59第四章80C51匯編語言程序設(shè)計順序結(jié)構(gòu)程序是最簡單的程序結(jié)構(gòu),也稱直線程序。程序既無分支、循環(huán),也不調(diào)用子程序,程序執(zhí)行時一條接一條地按順序執(zhí)行指令,沒有流程的轉(zhuǎn)移。順序結(jié)構(gòu)……MOVP1,#00HMOVP1,#0FFHMOVP1,#1CH60第四章80C51匯編語言程序設(shè)計程序的分支是通過條件轉(zhuǎn)移指令實現(xiàn)的。根據(jù)條件對程序執(zhí)行中的狀態(tài)進行判斷,滿足條件則進行轉(zhuǎn)移,否則按順序執(zhí)行。分支結(jié)構(gòu)也稱為選擇結(jié)構(gòu),它可分為單分支結(jié)構(gòu)和多分支結(jié)構(gòu)。分支結(jié)構(gòu)61多分支程序結(jié)構(gòu)單分支程序結(jié)構(gòu)第四章80C51匯編語言程序設(shè)計循環(huán)結(jié)構(gòu)62包含多次重復(fù)執(zhí)行的程序段,循環(huán)結(jié)構(gòu)使程序緊湊。程序循環(huán)是通過條件轉(zhuǎn)移指令進行控制的,根據(jù)條件是否成立控制循環(huán)是否進行。循環(huán)程序通常由四個部分組成:1)循環(huán)準(zhǔn)備:設(shè)置循環(huán)次數(shù)等參數(shù);2)循環(huán)體:是要求重復(fù)執(zhí)行的部分;3)循環(huán)修改:修改循環(huán)次數(shù)及有關(guān)變量參數(shù)等;4)循環(huán)控制部分:根據(jù)循環(huán)結(jié)束條件判斷是否結(jié)束循環(huán)。第四章80C51匯編語言程序設(shè)計63循環(huán)程序的兩種組織方式第四章80C51匯編語言程序設(shè)計64循環(huán)程序舉例(數(shù)據(jù)串傳送程序)把內(nèi)部RAM中起始地址為data的數(shù)據(jù)串傳送到外部RAM以buffer為首地址的區(qū)域,直到發(fā)現(xiàn)“$”字符的ASCII碼為止;同時規(guī)定數(shù)據(jù)串的最大長度為32字節(jié)。 MOVR0,#data;data數(shù)據(jù)區(qū)起始地址
MOVDPTR,#buffer;buffer數(shù)據(jù)區(qū)起始地址 MOVR1,#20H;最大串長LOOP: MOVA,@R0;取數(shù)據(jù) CLRC SUBBA,#24H;判斷是否為“$”字符 JZLOOP1 MOVA,@R0;重新取數(shù)據(jù) MOVX@DPTR,A;數(shù)據(jù)存入 INCDPTR INCR0 DJNZR1,LOOP;循環(huán)控制,(R1)-1R1,(R1)不為0轉(zhuǎn)LOOP1:RET第四章80C51匯編語言程序設(shè)計65
MOVR5,#TIME
;單機器周期指令LOOP:NOP;單機器周期指令
NOP
DJNZR5,LOOP;雙機器周期指令總延時時間(不計“MOVR5,#TIME”指令):4T機器×TIME
MOVR5,#TIME1LOOP2:MOVR4,#TIME2LOOP1:NOP NOP DJNZR4,LOOP1 DJNZR5,LOOP2 RET;雙機器周期內(nèi)循環(huán)LOOP1單次循環(huán)延時t1:4T機器外循環(huán)LOOP2單次循延時t2:T機器+
t1×TIME2+2T機器總延時(不計“MOVR5,#TIME1”):t2×TIME1+2T機器循環(huán)程序舉例2—定時程序第四章80C51匯編語言程序設(shè)計第五章80C51單片機的中斷與定時5.1
中斷概述5.280C51單片機的中斷系統(tǒng)5.380C51單片機的定時器/計數(shù)器665個中斷源及其對應(yīng)入口地址2個外部中斷INT0、INT12個定時器溢出中斷T0、T1串行中斷RI/TI中斷優(yōu)先原則、中斷嵌套分兩個優(yōu)先級(高級/低級)同級:INT0→T0→INT1→T1→RI/TI定時器/記數(shù)器的工作原理、4種工作方式及其應(yīng)用方式2能自動重裝初值方式0、1、3不能,必須需重裝67第五章80C51單片機的中斷與定時中斷源68外部中斷外部中斷請求0(INT0),由P3.2引腳引入外部中斷請求1(INT1),由P3.3引腳引入內(nèi)部中斷定時器/計數(shù)器T0溢出中斷請求定時器/計數(shù)器T1溢出中斷請求串行口發(fā)送/接收中斷請求第五章80C51單片機的中斷與定時中斷向量69中斷源中斷向量外部中斷0定時器0溢出外部中斷1定時器1溢出串行發(fā)送中斷串行接收中斷0003H000BH0013H001BH
0023H0023H第五章80C51單片機的中斷與定時中斷控制的內(nèi)容70(1)中斷允許控制(2)中斷請求控制(3)中斷優(yōu)先控制(4)外中斷觸發(fā)方式控制與中斷系統(tǒng)相關(guān)的SFR中斷允許控制寄存器IE:控制中斷是否被允許定時器控制寄存器TCON:控制外中斷的觸發(fā)方式、外中斷及定時器中斷的標(biāo)志位設(shè)置串行口控制寄存器SCON:控制串行口中斷的工作方式及其標(biāo)志設(shè)置中斷優(yōu)先級控制寄存器IP:控制各中斷源的中斷優(yōu)先級別第五章80C51單片機的中斷與定時中斷優(yōu)先級定義原則71(1)中斷的輕重緩急程序(2)中斷設(shè)備的工作速度(3)中斷處理的工作量(4)中斷請求發(fā)生的頻繁程度中斷響應(yīng)的優(yōu)先原則(1)低級中斷可被高級中斷所中斷,反之不能(2)若某中斷請求已被響應(yīng),則同級的中斷服務(wù)將被禁止(3)相同級別的中斷同時到來時,CPU按其中斷入口地址的先后次序依次響應(yīng):外部中斷0定時器0中斷外部中斷1定時器中斷1串行中斷例如:若設(shè)置IP=12H,則CPU響應(yīng)中斷的順序如何?第五章80C51單片機的中斷與定時二級中斷嵌套72高優(yōu)先級中斷請求可打斷低優(yōu)先級中斷服務(wù),進行中斷嵌套同優(yōu)先級的中斷不能嵌套低優(yōu)先級中斷請求不能對高優(yōu)先級的中斷進行嵌套第五章80C51單片機的中斷與定時中斷響應(yīng)條件73(1)有中斷請求;(2)CPU開放中斷,即EA=1;(3)對應(yīng)的中斷源允許中斷,即IE中相應(yīng)的中斷允許位為1;(4)無同級或高級中斷正在服務(wù);(5)現(xiàn)行指令執(zhí)行結(jié)束;(6)當(dāng)前執(zhí)行的不是RETI或訪問IE、IP的指令(這些指令執(zhí)行完后必須至少再執(zhí)行一條指令)。第五章80C51單片機的中斷與定時74定時器方式選擇寄存器TMOD(89H)
TMOD寄存器沒有位地址,不能進行位尋址,只能由字節(jié)傳送指令設(shè)置其內(nèi)容。第五章80C51單片機的中斷與定時75M1M0工作方式功能描述00方式013位計數(shù)器01方式116位計數(shù)器10方式2自動再裝入8位計數(shù)器11方式3定時器0:TL0用于8位計數(shù)或8位定時,TH0只能作8位定時器定時器1:停止計數(shù)M1和M0控制的4種工作方式第五章80C51單片機的中斷與定時工作方式0的主要特點7613位方式的定時或計數(shù);兩種啟停控制方法:(1)純軟件方法:GATE=0,由TRx控制運行;(2)軟硬件結(jié)合方法:GATE=1,由TRx和INTx引腳(高電平)共同控制運行;定時時間t、計數(shù)值N和計數(shù)初值X的關(guān)系:
N=213
-初值Xt=N×振蕩周期×12=N×機器周期Tcy
t=(213-初值X)×振蕩周期×12=(213-初值X)×機器周期Tcy最大計數(shù)值為:213=8192第五章80C51單片機的中斷與定時應(yīng)用舉例77設(shè)單片機晶振頻率為6MHz,使用定時器1以方式0產(chǎn)生周期為500μs的等寬正方波連續(xù)脈沖,并由P1.0輸出。解:500μs等寬正方波脈沖P1.0端以250μs為周期交替輸出等寬高低,故定時周期取為250μs。(1)TMOD寄存器初始化把定時器1設(shè)為方式0,則M1M0=00;為實現(xiàn)定時功能,應(yīng)使C/T=0;由TR1位控制定時的啟動和停止,應(yīng)使GATE=0;故TMOD初始化為00H。(2)計算計數(shù)初值X
(213–X)×2μs=250μsX=8067=1111110000011B
將X高8位0FCH放入TH1,低5位03H放入TL1。第五章80C51單片機的中斷與定時78(3)程序?qū)崿F(xiàn)(查詢方式)MOVTMOD,#00H;設(shè)置T1為工作方式0MOVTH1,#0FCH;設(shè)置計數(shù)初值MOVTL1,#03HMOVIE,#00H ;禁止中斷SETBTR1 ;啟動定時LOOP:JBCTF1,LOOP1;查詢計數(shù)溢出AJMPLOOPLOOP1:MOVTH1,#0FCH;重新設(shè)置計數(shù)初值MOVTL1,#03H
CPLP1.0 ;輸出取反AJMPLOOP ;重復(fù)循環(huán)
第五章80C51單片機的中斷與定時79(4)程序?qū)崿F(xiàn)(中斷方式)
ORG0000HAJMPMAIN
ORG001BH
;定時器1中斷的中斷向量
AJMPT1PRO
ORG0030H ;主程序MAIN:MOVTMOD,#00H;設(shè)置T1為工作方式0MOVTH1,#0FCH;設(shè)置計數(shù)初值MOVTL1,#03HMOVIE,#88H;僅允許定時器1中斷MOVIP,#00H;各中斷均設(shè)為低優(yōu)先級SETBTR1;啟動定時SJMP$;等待中斷T1PRO:MOVTH1,#0FCH;中斷程序MOVTL1,#03H
CPLP1.0;輸出取反RETI主程序中斷服務(wù)程序第五章80C51單片機的中斷與定時80(5)查詢方式與中斷方式的比較主程序中斷服務(wù)程序查詢方式中斷方式第五章80C51單片機的中斷與定時定時器工作方式1的電路邏輯結(jié)構(gòu)及功能81M1M0=01,16位定時/計數(shù)器(TH0的8位和TL0的8位)邏輯電路和工作情況與方式0完全相同計數(shù)值的范圍是1~65536(216)TL0(8位)第五章80C51單片機的中斷與定時定時器工作方式2的電路邏輯結(jié)構(gòu)82M1M0=10,自動重裝8位定時/計數(shù)器TL作為計數(shù)器使用;TH作為預(yù)置寄存器,保存TL初值計數(shù)范圍1~256(28)第五章80C51單片機的中斷與定時循環(huán)定時應(yīng)用83使用定時器0以工作方式2產(chǎn)生100μs定時,在P1.0輸出周期為200μs的連續(xù)正方波脈沖。已知晶振頻率為6MHz。(1)計算計數(shù)初值X
(28–X)×2μs=100μsX=206=0CEH
將0CEH分別裝入TH0和TL0。(2)TMOD寄存器初始化把定時器0設(shè)為方式2,則M1M0=10;為實現(xiàn)定時功能,應(yīng)使C/T=0;由TR0位控制定時的啟動和停止,應(yīng)使GATE=0;故TMOD初始化為02H。第五章80C51單片機的中斷與定時84(3)程序?qū)崿F(xiàn)(查詢方式)MOVIE,#00H;禁止中斷MOVTMOD,#02H;設(shè)置定時器0為方式2MOVTH0,#0CEH;保存計數(shù)初值MOVTL1,#0CEH;預(yù)置計數(shù)初值SETBTR0 ;啟動定時LOOP:JBCTF0,LOOP1;查詢計數(shù)溢出AJMPLOOPLOOP1:CPLP1.0 ;輸出取反AJMPLOOP ;重復(fù)循環(huán)
第五章80C51單片機的中斷與定時工作方式3下的定時器/計數(shù)器085TL0即可計數(shù)也可定時,與其它方式完全相同TH0只能定時,不能用外部控制門,且占用T1的資源TR1和TF1,有運行控制和溢出中斷請求第五章80C51單片機的中斷與定時工作方式3下的定時器/計數(shù)器186T1可以模式0~2定時或計數(shù),但溢出無中斷請求,且開關(guān)已經(jīng)接通。常以模式2工作,作為串口的波特率發(fā)生器。第五章80C51單片機的中斷與定時第六章單片機并行存儲器擴展6.1單片機并行外擴展系統(tǒng)6.2
存儲器分類6.3
存儲器并行擴展6.480C51存儲器系統(tǒng)的特點和使用方法87單片機并行擴展總線:AB、DB、CB并行擴展系統(tǒng)的芯片選?。壕€選法;譯碼法存儲器并行擴展程序存儲器并行擴展數(shù)據(jù)存儲器并行擴展80C51存儲器系統(tǒng)的特點4個物理存儲空間3個邏輯存儲空間80C51存儲器的區(qū)分和銜接88第六章單片機并行存儲器擴展80C51單片機并行擴展總線8980C51單片機并行擴展總線結(jié)構(gòu)圖以P0口的8位口線充當(dāng)?shù)?位地址線/數(shù)據(jù)線以P2口的口線作高8位地址線控制信號(ALE/PSEN/EA/RD/WR)16位地址總線第六章單片機并行存儲器擴展片選技術(shù)90線選法尋址直接以位地址信號作為芯片的片選信號結(jié)構(gòu)簡單,但只適用于規(guī)模較小的單片機系統(tǒng)譯碼法尋址使用譯碼器對高位地址進行譯碼,以其譯碼輸出作為擴展芯片的片選信號有效利用存儲空間,適用于大容量、多芯片系統(tǒng)擴展第六章單片機并行存儲器擴展91存儲器擴展:地址線、數(shù)據(jù)線和控制信號線連接存儲單元地址分析:8000H~87FFH(P2.6~P2.3均為0)P2.6~P2.3從0000~1111,則2716對應(yīng)著16個地址區(qū)間線選法存在地址重疊問題程序存儲器并行擴展第六章單片機并行存儲器擴展92兩片程序存儲器擴展80C51ALEPSEN74LS373GP2.2~P2.0CEA10~A8O7~O0OE2716P0CEA10~A8O7~O0OE2716P2.7A7~A0A7~A0第六章單片機并行存儲器擴展93數(shù)據(jù)存儲器并行擴展第六章單片機并行存儲器擴展80C51單片機存儲器系統(tǒng)的特點94程序存儲器和數(shù)據(jù)存儲器并存內(nèi)外存儲器并存:4個物理存儲空間;3個邏輯存儲空間程序存儲器地址具有連續(xù)性要求80C51存儲器的4個物理存儲空間和3個邏輯存儲空間第六章單片機并行存儲器擴展80C51單片機存儲器的使用95存儲空間的區(qū)分內(nèi)部ROM與內(nèi)部RAM的區(qū)分(MOVC/MOV)外部ROM與外部RAM的區(qū)分(MOVC/MOVX)內(nèi)外RAM的區(qū)分(MOV/MOVX)內(nèi)外程序存儲器的銜接出于連續(xù)執(zhí)行程序的需要,內(nèi)外ROM采用統(tǒng)一連續(xù)編址第六章單片機并行存儲器擴展第七章單片機并行I/O擴展7.1單片機I/O擴展基礎(chǔ)知識7.2可編程并行接口芯片82557.3鍵盤接口技術(shù)7.4
LED顯示器接口技術(shù)7.5打印機接口技術(shù)96接口的功能、編址方式、控制方式(無條件、查詢、中斷)通用并行接口芯片8255的結(jié)構(gòu)、工作方式、編程內(nèi)容和應(yīng)用鍵盤接口技術(shù)LED顯示器接口技術(shù)打印機接口技術(shù)97第七章單片機并行I/O擴展I/O接口電路的功能98速度協(xié)調(diào)外設(shè)間速度差異大,單片機以異步方式進行I/O操作利用接口電路產(chǎn)生狀態(tài)信號或中斷請求信號輸出數(shù)據(jù)鎖存數(shù)據(jù)總線隔離接口電路提供具有三態(tài)緩沖功能的三態(tài)緩沖電路數(shù)據(jù)轉(zhuǎn)換信號的類型(數(shù)字/模擬)、電平(高/低)、格式(串行/并行)等的轉(zhuǎn)換增強驅(qū)動能力第七章單片機并行I/O擴展I/O編址技術(shù)99統(tǒng)一編址方式I/O接口的寄存器與外擴展RAM存儲器的存儲單元同等對待,共同使用一個64KB的外擴展地址空間I/O也采用16位地址編址,使用RAM讀/寫指令進行I/O操作,增強了I/O操作功能大部分單片機(如80C51)采用該方式獨立編址方式I/O與存儲器分開進行編址存儲器地址空間與I/O地址空間相互獨立,增加了系統(tǒng)開銷第七章單片機并行I/O擴展單片機I/O控制方式100無條件方式(同步程序傳送)無需測試設(shè)備的狀態(tài),可根據(jù)需要隨時進行I/O操作適用設(shè)備:1)具有常駐的或變化緩慢的數(shù)據(jù)信號的設(shè)備,如機械開關(guān)、指示燈等;2)工作速度非???,足以和單片機同步工作的設(shè)備,如D/A轉(zhuǎn)換器查詢方式(有條件傳送方式)要檢測設(shè)備的狀態(tài),只有在確認(rèn)設(shè)備已“準(zhǔn)備好”的情況下,單片機才能執(zhí)行I/O操作中斷方式單片機等待通知(中斷請求)的被動行為第七章單片機并行I/O擴展101口電路(3個8位口)A/B口:數(shù)據(jù)口C口:數(shù)據(jù)/控制口總線接口電路數(shù)據(jù)總線緩沖器:D0~D7讀/寫控制邏輯:CS,RD,
WR,A0、A1,RESETA組和B組控制電路存放編程命令和實現(xiàn)各口操作控制中斷控制電路8255硬件邏輯結(jié)構(gòu)第七章單片機并行I/O擴展102方式0(基本輸入/輸出方式)適用于無條件數(shù)據(jù)傳送兩個8位口(A/B口),兩個4位口(C口高/低位部分)均可分別或同時設(shè)置為方式0方式0下4個口共有16種輸入/輸出組合方式1(選通輸入/輸出方式)適用于以查詢或中斷方式進行控制A/B口是數(shù)據(jù)口控制口C口用于傳送和保存數(shù)據(jù)口所需要的聯(lián)絡(luò)信號8255工作方式第七章單片機并行I/O擴展103方式2(雙向數(shù)據(jù)傳送方式)適用于查詢或中斷方式的雙向數(shù)據(jù)傳送A口既能輸入數(shù)據(jù),也能輸出數(shù)據(jù)A口為方式2,則B口只能工作于方式0C口位線方式1方式2輸入輸出輸入輸出PC7/OBFA/OBFAPC6/ACKA/ACKAPC5IBFAIBFAPC4/STBA/STBAPC3INTRAINTRAINTRAINTRAPC2/STBB/ACKBPC1IBFB/OBFBPC0INTRBINTRBC口聯(lián)絡(luò)信號定義第七章單片機并行I/O擴展鍵掃描和鍵碼生成1048行×4列的矩陣鍵盤舉例共有8條行線4條列線,在行線與列線交點處有1個鍵。鍵盤掃描示意圖第七章單片機并行I/O擴展105鍵盤掃描為了識別鍵盤上被按下的鍵(閉合鍵),有(行)掃描法和線反轉(zhuǎn)法兩種方法可供選用,單片機中常用前種方法。軟件方法鍵盤掃描是在掃描程序驅(qū)動下進行的,故掃描過程即掃描程序的執(zhí)行過程,具體過程如下:1)判斷有無閉合鍵:使行線輸出口輸出全0,若讀回列線狀態(tài)為全1,則沒鍵按下,否則,有鍵按下。2)鍵盤掃描過程:依次使行線中每一條輸出低電平,接著輸入列線狀態(tài)進行有無閉合鍵的判定。3)判斷有無多個鍵被同時按下第七章單片機并行I/O擴展第八章單片機串行通信8.1串行通信基礎(chǔ)知識8.280C51串行口8.380C51串行口工作方式8.4
串行通信數(shù)據(jù)傳輸速率8.5串行通信應(yīng)用106串行通信的基本原理和基本方式(同步和異步)串行數(shù)據(jù)的傳送方向:單工、半雙工和全雙工串行口控制寄存器SCON串行通信4種工作方式:傳送位數(shù)、波特率串行通信的應(yīng)用:雙機通信、多機通信107第八章單片機串行通信計算機的數(shù)據(jù)傳輸方式108并行數(shù)據(jù)傳輸串行數(shù)據(jù)傳輸(異步/同步)原理各數(shù)據(jù)位同時傳輸數(shù)據(jù)位按位順序進行優(yōu)點傳輸速度快,效率高最少只需一根傳輸線:成本低缺點數(shù)據(jù)位數(shù)傳輸線根數(shù):成本高速度慢應(yīng)用傳遞距離<30m,用于計算機內(nèi)部遠距離數(shù)據(jù)傳輸并行通信串行通信第八章單片機串行通信串行通信線路形式109單工通信(數(shù)據(jù)單向傳送)半雙工通信(數(shù)據(jù)可分時雙向傳送)全雙工通信(可同時進行發(fā)送和接收)第八章單片機串行通信異步串行通信110定義:以字符為單位的間歇傳輸形式信息的兩種狀態(tài):mark(邏輯1)/space(邏輯0)字符格式(幀格式):起始位(space狀態(tài))+數(shù)據(jù)位(5~8位)+奇偶校驗位(奇/偶校驗)+停止位(mark狀態(tài))連續(xù)/斷續(xù)的異步串行通信第八章單片機串行通信同步串行通信111定義:以一串字符為一個傳送單位,字符間不加標(biāo)識位,在一串字符開始用同步字符標(biāo)識,硬件要求高,通訊雙方須嚴(yán)格同步數(shù)據(jù)格式:1)僅在數(shù)據(jù)塊傳輸開始時使用同步字符串;2)數(shù)據(jù)字符間不允許有間隔;3)數(shù)據(jù)塊內(nèi)各字符的格式必須相同應(yīng)用場合:數(shù)據(jù)量大、對速度要求比較高的串行通信場合第八章單片機串行通信串行口控制機制112串行口控制寄存器SCON(98H)第八章單片機串行通信80C51串行口的4種工作方式113SM0/SM1方式功能簡述發(fā)送端接收端波特率0008位同步移位寄存器方式:接移位寄存器,擴充并口RXDRXDfOSC/1201110位異步串行通信方式:雙機通信TXDRXD可變10211位異步串行通信方式:多機通信TXDRXDfOSC/32或fOSC/6411311位異步串行通信方式:多機通信TXDRXD可變第八章單片機串行通信串行口工作方式的幀格式114方式0(8位數(shù)據(jù))方式1(1個起始位+8位數(shù)據(jù)+1個停止位)方式2和方式3(1個起始位+8位數(shù)據(jù)+1個附加第9位+1個停止位)第八章單片機串行通信傳輸速率的表示方法115與傳輸速率有關(guān)的術(shù)語波特(Baud):1波特=每秒1次的信號變化波特率(BaudRate):每秒事件發(fā)生的數(shù)目或信號變化次數(shù)比特率(BitRate):每秒傳輸?shù)亩M制數(shù)的位數(shù)單片機中使用的波特率
1波特=1b/s(位/秒)
RS-232-C中規(guī)定允許的波特率為50~19200b/s第八章單片機串行通信80C51的波特率設(shè)置116串行工作方式0的波特率=fOSC/12串行工作方式2的波特率=
fOSC×2smod/64
第八章單片機串行通信117串行工作方式1和方式3的波特率
假定定時器T1的計數(shù)初值為X,則計數(shù)器溢出周期(溢出率的倒數(shù))為:(12/fOSC)
×(256
-X),故
第八章單片機串行通信第九章單片機串行擴展9.1單片機串行擴展概述9.2I2C總線9.3單片機8×C552的I2C總線9.4單片機8×C552的串行擴展9.5單片機80C51的串行擴展118單片機串行擴展實現(xiàn)方法專用串行標(biāo)準(zhǔn)總線方法串行通信口UART方法軟件模擬方式I2C總線的結(jié)構(gòu)和數(shù)據(jù)傳輸方式(主發(fā)送方式、主接收方式、從發(fā)送方式、從接收方式)119第九章單片機串行擴展單片機串行擴展實現(xiàn)方法120專用串行標(biāo)準(zhǔn)總線方法SPI總線(Motorola)USB總線(Intel)ACCESS總線(DEC)I2C總線(Philips)串行通信口UART方法串行通信口UART的工作方式0軟件模擬方式通過對并行口線的軟件模擬第九章單片機串行擴展I2C總線結(jié)構(gòu)121I2C總線是一種具有自動尋址、高低速設(shè)備同步和仲裁等功能的高性能串行總線由串行時鐘線(SerialClockLine,SCL)和串行數(shù)據(jù)線(SerialDataLine,SDA)構(gòu)成的雙向數(shù)據(jù)傳輸通路第九章單片機串行擴展122基本數(shù)據(jù)傳輸格式(高位在前,低位在后)I2C總線數(shù)據(jù)傳輸方式總線空閑主控器件發(fā)出啟動信號啟動數(shù)據(jù)傳輸尋址字節(jié):7位從地址(SLA)+1位方向位(R/W)其他各器件比較從地址,若相同,則返回應(yīng)答信號數(shù)據(jù)傳輸:8位數(shù)據(jù)+1個應(yīng)答主控器件發(fā)出停止信號第九章單片機串行擴展123主發(fā)送方式主發(fā)送方式是指主控器件向被控的從器件發(fā)送數(shù)據(jù)。主發(fā)送方式的數(shù)據(jù)傳輸格式如下圖所示:第九章單片機串行擴展124主接收方式主接收方式是指主控器件接收被控從器件發(fā)送來的數(shù)據(jù),其數(shù)據(jù)傳輸格式如下圖所示:第九章單片機串行擴展第十章單片機A/D及D/A轉(zhuǎn)換接口10.1單片機測控系統(tǒng)與模擬輸入通道10.2A/D轉(zhuǎn)換器接口10.3D/A轉(zhuǎn)換器接口10.4A/D與D/A轉(zhuǎn)換器芯片的串行接口125單片機測控系統(tǒng)的組成A/D轉(zhuǎn)換原理ADC0809的內(nèi)部結(jié)構(gòu)及管腳、轉(zhuǎn)換數(shù)據(jù)傳送方式及對應(yīng)接口圖和程序DAC0832內(nèi)部結(jié)構(gòu)、管腳、3種數(shù)據(jù)輸入形式(雙鎖存、單級鎖存、直接輸入)126第十章單片機A/D及D/A轉(zhuǎn)換接口單片機測控系統(tǒng)12710.1單片機測控系統(tǒng)與模擬輸入通道“測”:實時采集被控對象的物理參量(溫度、壓力、流量、速度和轉(zhuǎn)速等)“控”:把采集的數(shù)據(jù)經(jīng)單片機計算、比較等處理后得出結(jié)論,以對被控對象實施校正控制模擬輸入通道12810.1單片機測控系統(tǒng)與模擬輸入通道信號流程:采集信號放大采樣/保持濾波傳感器、放大器、采樣/保持電路、濾波器和多路開關(guān)的功能A/D轉(zhuǎn)換芯片類型(按轉(zhuǎn)換原理分)12910.2A/D轉(zhuǎn)換器接口積分型A/D轉(zhuǎn)換器(雙斜率或多斜率A/D轉(zhuǎn)換器)精度高、抗干擾能力強應(yīng)用場合:轉(zhuǎn)換速度要求不高,環(huán)境惡劣逐次逼近型A/D轉(zhuǎn)換器原理簡單、便于實現(xiàn),不存在時間延遲問題應(yīng)用場合:中等速度,分辨率要求較高閃爍型A/D轉(zhuǎn)換器速度快、功耗大、電路復(fù)雜、芯片尺寸較大∑-△型A/D轉(zhuǎn)換器(過采樣A/D轉(zhuǎn)換器)分辨率高、價格便宜、抗干擾能力強輸入電壓信號形式13010.2A/D轉(zhuǎn)換器接口單極性電壓信號允許電壓變化范圍:0~+5V或0~+10V或0~+20V雙極性電壓信號輸入電壓可正可負差分信號(VIN+和VIN-)電壓變化范圍:±2V、±4V、±5V、±10V等A/D轉(zhuǎn)換器分辨率定義:對輸入電壓信號變化的分辨能力影響因素:A/D轉(zhuǎn)換器位數(shù)越多,分辨率越小,分辨能力越強輸出二進制代碼形式13110.2A/D轉(zhuǎn)換器接口二進制碼A/D轉(zhuǎn)換芯片位數(shù):8位、10位、12位、14位、16位、20位、24位等BCD碼A/D轉(zhuǎn)換芯片典型應(yīng)用:數(shù)字電壓表位數(shù):3位半()、4位半()和5位半()等3位半的含義4組BCD碼(每組4位)分別表示十進制的千位、百位、十位和個位(百/十/個位能表示0~9)千位只用最低位二進制數(shù)表示數(shù)字(0或1),剩余的高3位用來表示正負或欠量程/過量程等標(biāo)志轉(zhuǎn)換結(jié)束和數(shù)據(jù)讀取13210.2A/D轉(zhuǎn)換器接口定時等待方式某A/D轉(zhuǎn)換芯片,其轉(zhuǎn)換時間是已知且固定的用延時方法等待轉(zhuǎn)換結(jié)束查詢方式A/D轉(zhuǎn)換芯片提供表明轉(zhuǎn)換完成的狀態(tài)信號中斷方式表明轉(zhuǎn)換是否完成的狀態(tài)信號都可作為中斷請求信號使用8位A/D轉(zhuǎn)換芯片與80C51接口13310.2A/D轉(zhuǎn)換器接口ADC0809逐次逼近型A/D轉(zhuǎn)換芯片內(nèi)部邏輯結(jié)構(gòu)134ADC0809與80C51接口10.2A/D轉(zhuǎn)換器接口ADC0809與80C51的連接8路模擬通道選擇模擬通道選擇信號A、B、C分別接最低三位地址A0~A2(P0.0~P0.2),地址鎖存允許信號ALE由P2.0控制;8路模擬通道地址為FEF8H~FEFFH;通道地址選擇以WR作寫選通信號。13510.2A/D轉(zhuǎn)換器接口ADC0809信號的時間配合ADC0809信號的時間配合執(zhí)行一條“MOVX@DPTR,A”指令,產(chǎn)生WR信號;ALE信號與START信號連接在一起,前沿寫入(鎖存)通道地址,后沿就啟動轉(zhuǎn)換。轉(zhuǎn)換數(shù)據(jù)的傳送方式1)定時傳送方式
2)查詢方式(查詢轉(zhuǎn)換結(jié)束信號EOC的狀態(tài))
3)中斷方式:以EOC作為中斷請求信號
汪霖西北大學(xué)信息學(xué)院Email:wanglin@單片機原理與應(yīng)用復(fù)習(xí)第一章計算機基礎(chǔ)知識第二章80C51單片機的硬件結(jié)構(gòu)第三章80C51單片機指令系統(tǒng)第四章80C51單片機匯編語言程序設(shè)計第五章80C51單片機的中斷和定時1復(fù)習(xí)第六章單片機并行存儲器擴展第七章單片機并行IO擴展第八章單片機串行通信第九章單片機串行擴展第十章單片機A/D及D/A轉(zhuǎn)換接口2第一章計算機基礎(chǔ)知識1.1二進制數(shù)及其在計算機中的使用1.2二進制數(shù)的算術(shù)運算和邏輯運算1.3供程序設(shè)計使用的其他進制數(shù)1.4
計算機中使用的編碼1.5
微型計算機概述3常用數(shù)制(十進制/二進制/十六進制)及其相互轉(zhuǎn)換符號數(shù)/無符號數(shù),原碼/反碼/補碼二進制的算術(shù)運算(加/減/乘/除)和邏輯運算(或/與/非/異或)計算機中使用的編碼:BCD碼/ASCII碼第一章計算機基礎(chǔ)知識4常用的進位計數(shù)制第一章計算機基礎(chǔ)知識進制符號集基數(shù)及規(guī)則一般表達式十進制ND{0,1,2,3,4,5,6,7,8,9}10(逢十進一)二進制NB{0,1}2(逢二進一)十六進制NH{0~9,A,B,C,D,E,F}16(逢十六進一)5不同數(shù)制間的轉(zhuǎn)換6
二進制/十六進制→十進制規(guī)則:先按權(quán)展開后,再按照十進制運算法則求和
二進制→十六進制(十六進制→二進制)規(guī)則:24=16,4位二進制數(shù)對應(yīng)1位十六進制數(shù)第一章計算機基礎(chǔ)知識7十進制→二進制/十六進制(1)整數(shù)轉(zhuǎn)換法:“除基取余”,將十進制整數(shù)不斷除以轉(zhuǎn)換進制基數(shù)(2或16),直至商為0。每除一次取一個余數(shù),從低位排向高位。25=11001B將25轉(zhuǎn)換為二進制數(shù)將156轉(zhuǎn)換為十六進制數(shù)156=9CH第一章計算機基礎(chǔ)知識8十進制→二進制/十六進制(2)小數(shù)轉(zhuǎn)換法:“乘基取整”:用轉(zhuǎn)換進制的基數(shù)(2或16)乘以小數(shù)部分,直至小數(shù)為0或達到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。將0.625轉(zhuǎn)換為二進制數(shù)將0.359375轉(zhuǎn)換為十六進制數(shù)0.625=0.101B0.359375=0.5CH第一章計算機基礎(chǔ)知識帶符號數(shù)的表示方法9
機器中,數(shù)的符號用“0”、“1”表示。最高位作符號位,“0”表示“+”,“1”表示“-”。在計算機中,所有有符號數(shù)都是以補碼形式存放的。第一章計算機基礎(chǔ)知識
無符號的8位二進制數(shù)沒有符號位,從D7~D0皆為數(shù)值位,所以8位無符號二進制數(shù)的表示范圍是0~+255。無符號數(shù)的表示方法原碼、反碼和補碼第一章計算機基礎(chǔ)知識表示方法符號數(shù)(最高位)數(shù)值位表示范圍(8位)正數(shù)負數(shù)正數(shù)負數(shù)原碼01與真值數(shù)值位相同與真值數(shù)值位相同-127~+127反碼原碼數(shù)值位逐位求反-127~+127補碼原碼數(shù)值求反加1-128~+12710二進制算術(shù)運算
加法、減法、乘法、除法
11第一章計算機基礎(chǔ)知識二進制邏輯運算
邏輯“或”運算
邏輯“與”運算
邏輯“非”運算
邏輯“異或”運算上述二進制邏輯運算均可按位進行,不同位之間不發(fā)生任何聯(lián)系。BCD碼(二-十進制編碼)12
BCD(BinaryCodedDecimal)碼是一種二進制形式的十進制碼,它用4位二進制數(shù)表示1位十進制數(shù),最常用的是8421BCD碼。第一章計算機基礎(chǔ)知識ASCII碼美國信息交換標(biāo)準(zhǔn)代碼(ASCII碼)由7位二進制數(shù)碼構(gòu)成,共有128個字符,它主要用于微機與外設(shè)通信?!癆”=41H“0”=30H“a”=61H第二章80C51單片機的硬件結(jié)構(gòu)2.1單片機的概念2.280C51單片機的邏輯結(jié)構(gòu)及信號引腳2.380C51單片機的內(nèi)部存儲器2.480C51單片機的并行I/O口2.580C51單片機的時鐘與定時2.6
80C51單片機的系統(tǒng)復(fù)位2.7
單片機
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年CFA考試行業(yè)監(jiān)管分析試題及答案
- 站內(nèi)公共服務(wù)設(shè)施優(yōu)化考核試卷
- 關(guān)注市場變化的證券從業(yè)資格證試題及答案
- 烘焙食品企業(yè)生產(chǎn)設(shè)備升級考核試卷
- 玻璃保溫容器市場營銷渠道拓展考核試卷
- 電池制造與戶外廣告屏考核試卷
- 銀行從業(yè)資格證的復(fù)習(xí)建議試題及答案
- 出租資產(chǎn)招商方案范本
- 微生物樣本管理中的生態(tài)道德審視試題及答案
- 2024年項目管理考試知識點提煉試題及答案
- 滁州定遠縣中鹽東興鹽化股份有限公司招聘筆試題庫2025
- 宗教政策法規(guī)知識課件
- 山東省威海市乳山市銀灘高級中學(xué)2024-2025學(xué)年高一下學(xué)期4月月考地理試題(原卷版+解析版)
- 信息技術(shù)在商業(yè)中的應(yīng)用研究試題及答案
- 2025-2030中國味精行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報告
- 2025建筑信息模型技術(shù)員(初級)技能鑒定精練考試題庫及答案
- 2024-2025學(xué)年七年級語文下學(xué)期期中模擬卷05
- 2025年中國儲能檢測認(rèn)證行業(yè)市場運行態(tài)勢及發(fā)展趨勢預(yù)測報告-智研咨詢發(fā)布
- 診斷與評估課件 第十二節(jié) 資賦優(yōu)異兒童特征及學(xué)習(xí)資料
- 政治薪火相傳的傳統(tǒng)美德+教案-2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 生物泌尿系統(tǒng)的組成課件-+2024-2025學(xué)年冀少版生物七年級下冊
評論
0/150
提交評論