單片機(jī)復(fù)習(xí)材料_第1頁
單片機(jī)復(fù)習(xí)材料_第2頁
單片機(jī)復(fù)習(xí)材料_第3頁
單片機(jī)復(fù)習(xí)材料_第4頁
單片機(jī)復(fù)習(xí)材料_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/第8章系統(tǒng)擴(kuò)展結(jié)構(gòu)如下圖:存儲器擴(kuò)展的讀寫控制RAM芯片:讀寫控制引腳,記為OE*和WE*,與MCS—51的RD*和WR*相連。EPROM芯片:只能讀出,故只有讀出引腳,記為OE*,該引腳與MCS—51的PSEN*相連。存儲器地址空間分配常用的存儲器地址分配的方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法).1.線選法直接利用系統(tǒng)的高位地址線作為存儲器芯片(或I/O接口芯片)的片選信號。例如何進(jìn)行地址分配線選法特點:簡單明了,不需另外增加硬件電路.只適于外擴(kuò)芯片不多,規(guī)模不大的單片機(jī)系統(tǒng)。2。譯碼法最常用的譯碼器芯片:74LS138(3-8譯碼器)74LS139(雙2—4譯碼器)74LS154(4-16譯碼器)??筛鶕?jù)設(shè)計任務(wù)的要求,產(chǎn)生片選信號。全譯碼:全部高位地址線都參加譯碼;部分譯碼:僅部分高位地址線參加譯碼.例要擴(kuò)8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?外擴(kuò)存儲器電路的工作原理及軟件設(shè)計1.單片機(jī)片外程序區(qū)讀指令過程2.單片機(jī)片外數(shù)據(jù)區(qū)讀寫數(shù)據(jù)過程例如,把片外1000H單元的數(shù)送到片內(nèi)RAM50H單元,程序如下: MOVDPTR,#1000H ? MOVXA,@DPTR ??MOV50H,A例如,把片內(nèi)50H單元的數(shù)據(jù)送到片外1000H單元中,程序如下: ?MOVA,50H ? MOVDPTR,#1000H ??MOVX@DPTR,AMCS-51單片機(jī)讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用MOVXA,@DPTR和MOVX@DPTR,A外,還可使用MOVXA,@Ri和MOVX@Ri,A。這時通過P0口輸出Ri中的內(nèi)容(低8位地址),而把P2口原有的內(nèi)容作為高8位地址輸出。例8-4將程序存儲器中以TAB為首址的32個單元的內(nèi)容依次傳送到外部RAM以7000H為首地址的區(qū)域去。?DPTR指向標(biāo)號TAB的首地址.R0既指示外部RAM的地址,又表示數(shù)據(jù)標(biāo)號TAB的位移量。本程序的循環(huán)次數(shù)為32,R0的值:0~31,R0的值達(dá)到32就結(jié)束循環(huán).程序如下:??MOV?P2,#70H ?MOV DPTR,#TAB? MOV?R0,#0AGIN:?MOV?A,R0??MOVC A,@A+DPTR ?MOVX @R0,A ?INC?R0 ?CJNE?R0,#32,AGINHERE: SJMP?HERETAB: DB……?程序存儲器所占的地址空間,自己分析。使用多片EPROM的擴(kuò)展電路MCS—51擴(kuò)展4片27128.例8-1編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單元全部清零.方法1:用DPTR作為數(shù)據(jù)區(qū)地址指針,同時使用字節(jié)計數(shù)器。 MOVDPTR,#5000H;設(shè)置數(shù)據(jù)塊指針的初值?MOVR7,#00H??;設(shè)置塊長度計數(shù)器初值 CLRALOOP:MOVX@DPTR,A ?;把某一單元清零 INCDPTR ?;地址指針加1 ?DJNZR7,LOOP ?;數(shù)據(jù)塊長度減1,若不為?;0則繼續(xù)清零HERE:SJMPHERE ?;執(zhí)行完畢,原地踏步方法2:用DPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比較特征地址。MOVDPTR,#5000H ? CLRALOOP:?MOVX@DPTR,A ??INCDPTR?? MOVR7,DPL CJNER7,#0,LOOP;與末地址+1比較HERE: SJMPHERE第9章MCS-51擴(kuò)展I/O接口的設(shè)計I/O端口編址兩種方式:獨立編址與統(tǒng)一編址。(有考)1.獨立編址方式I/O寄存器地址空間和存儲器地址空間分開編址,但需專門讀寫I/O的指令和控制信號。2。統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲器單元同等對待,I/O接口共用存儲器的地址空間,每個I/O端口視為一個存儲單元。擴(kuò)展I/O接口使用片外數(shù)據(jù)存儲器地址空間:輸出指令:?輸入指令:片內(nèi)尋址:MOV?P1,A MOVA,P1片外尋址:MOVX@DPTR,AMOVXA,@DPTR?MOVX@R0,A MOVXA,@R0每一接口芯片中的一個功能寄存器(端口)的地址就相當(dāng)于一個RAM單元。I/O數(shù)據(jù)傳送的幾種傳送方式是:(1)同步傳送(2)異步傳送(3)中斷傳送。MCS-51單片機(jī)和8255A的接口1。硬件接口電路如圖9—10是8031擴(kuò)展1片8255A(chǔ)的電路圖.74LS373是地址鎖存器,P0.1、P0.0經(jīng)74LS373與8255A(chǔ)的地址線A1、A0連接;P0.7經(jīng)74LS373與片選端相連,其他地址線懸空。2.端口地址確定圖9—10中8255A(chǔ)各端口寄存器的地址為:A口:FF7CHB口:FF7DHC口:FF7EH控制寄存器:FF7FH3。軟件編程例9-1要求8255A工作在方式0,且A口作為輸入,B口、C口作為輸出,程序如下:MOV A,#90H ;A口方式0輸入,B口、;C口輸出,的控制字送AMOV DPTR,#0FF7FH;控制寄存器地址→DPTRMOVX@DPTR,A ;方式控制字→控制寄存器MOV?DPTR,#0FF7CH;A口地址→DPTRMOVXA,@DPTR?;從A口讀數(shù)據(jù)MOVDPTR,#0FF7DH;B口地址→DPTRMOV?A,#DATA1?;要輸出的數(shù)據(jù)DATA1→AMOVX@DPTR,A;將DATA1送B口輸出MOVDPTR,#0FF7EH;C口地址→DPTRMOVA,#DATA2?;DATA2→AMOVX@DPTR,A?;將數(shù)據(jù)DATA2送C口輸出第10章靜態(tài)顯示和動態(tài)顯示兩種顯示方式。1。靜態(tài)顯示方式各位的公共端連接在一起(接地或+5V)。每位的段碼線(a~dp)分別與一個8位的鎖存器輸出相連。顯示字符一確定,相應(yīng)鎖存器的段碼輸出將維持不變,直到送入另一個段碼為止。顯示的亮度高。2。動態(tài)顯示方式所有位的段碼線相應(yīng)段并在一起,由一個8位I/O口控制,形成段碼線的多路復(fù)用,各位的公共端分別由相應(yīng)的I/O線控制,形成各位的分時選通。3.按鍵的確認(rèn)檢測行線電平高電平:斷開;低電平:閉合,(1)如何消除抖動期?P1664.鍵盤接口的工作原理獨立式按鍵接口和行列式鍵盤接口。(考,二選一)1。獨立式鍵盤接口各鍵相互獨立,每個按鍵各接一根輸入線,通過檢測輸入線的電平狀態(tài)可很容易判斷那個鍵被按下。此種接口適于鍵數(shù)較少或操作速度較高的場合。圖10-7(a)為中斷方式的獨立式鍵盤工作電路.圖10-7(b)為查詢方式的獨立式鍵盤工作電路.2.行列式按鍵的識別方法識別鍵盤有無鍵被按下的方法,分兩步進(jìn)行:第1步:識別鍵盤有無鍵按下;第2步:如有鍵被按下,識別出具體的按鍵.把所有列線置0,檢查各行線電平是否有變化,如有變化,說明有鍵按下,如無變化,則無鍵按下。上述方法稱為掃描法,即先把某一列置低電平,其余各列為高電平,檢查各行線電平的變化,如果某行線電平為低,可確定此行列交叉點處的按鍵被按下。b。線反轉(zhuǎn)法只需兩步便能獲得此按鍵所在的行列值,線反轉(zhuǎn)法的原理如圖10—11。第1步:列線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。第2步:行線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列.結(jié)合上述兩步,可確定按鍵所在行和列。第11章2.DAC主要技術(shù)指標(biāo)分辨率輸入給DAC的單位數(shù)字量變化引起的模擬量輸出的變化,通常定義為輸出滿刻度值與2n之比。顯然,二進(jìn)制位數(shù)越多,分辨率越高。例如,若滿量程為10V,根據(jù)定義則分辨率為10V/2n。設(shè)8位D/A轉(zhuǎn)換,即n=8,分辨率為10V/2n=39.1mV,該值占滿量程的0.391%,用1LSB表示.同理:10位D/A:1LSB=9。77mV=0.1%滿量程?12位D/A:1LSB=2。44mV=0。024%滿量程根據(jù)對DAC分辨率的需要,來選定DAC的位數(shù).建立時間描述DAC轉(zhuǎn)換快慢的參數(shù),表明轉(zhuǎn)換速度.定義:為從輸入數(shù)字量到輸出達(dá)到終值誤差(1/2)LSB(最低有效位)時所需的時間。電流輸出時間較短,電壓輸出的,加上I-V轉(zhuǎn)換的時間,因此建立時間要長一些??焖伲腁C可達(dá)1ms以下.精度理想情況,精度與分辨率基本一致,位數(shù)越多精度越高。但由于電源電壓、參考電壓、電阻等各種因素存在著誤差,精度與分辨率并不完全一致.位數(shù)相同,分辨率則相同,但相同位數(shù)的不同轉(zhuǎn)換器精度會有所不同.例如,某型號的8位DAC精度為0.19%,另一型號的8位DAC精度為0。05%。3。MCS-51與DAC0832的單緩沖方式接口電路WR2*和XFER*接地,故DAC0832的“8位DAC寄存器"處于直通方式.“8位輸入寄存器”受CS*和WR1*端控制,鋸齒波的產(chǎn)生ORG2000HSTART:MOVR0,#0FEH?;DAC地址FEH→R0MOVA,#00H?;數(shù)字量→ALOOP:MOVX@R0,A ;數(shù)字量→D/A轉(zhuǎn)換器INCA??;數(shù)字量逐次加1SJMPLOOPMCS-51與ADC的接口目前使用較廣泛的有:逐次比較式轉(zhuǎn)換器、雙積分式轉(zhuǎn)換器、Σ-Δ式轉(zhuǎn)換器和V/F轉(zhuǎn)換器.逐次比較型:精度、速度和價格都適中,是最常用的A/D轉(zhuǎn)換器件。雙積分型:精度高、抗干擾性好、價格低廉,但轉(zhuǎn)換速度慢,得到廣泛應(yīng)用。Σ-Δ型:具有積分式與逐次比較式ADC的雙重優(yōu)點.對工業(yè)現(xiàn)場的串模干擾具有較強(qiáng)的抑制能力,不亞于雙積分ADC,但比雙積分ADC的轉(zhuǎn)換速度快,與逐次比較式ADC相比,有較高的信噪比,分辨率高,線性度好不需采樣保持電路。因此,Σ-Δ型得到重視。Σ—Δ型:具有積分式與逐次比較式ADC的雙重優(yōu)點。對工業(yè)現(xiàn)場的串模干擾具有較強(qiáng)的抑制能力,不亞于雙積分ADC,但比雙積分ADC的轉(zhuǎn)換速度快,與逐次比較式ADC相比,有較高的信噪比,分辨率高,線性度好不需采樣保持電路.因此,Σ-Δ型得到重視。2.A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)(1)轉(zhuǎn)換時間和轉(zhuǎn)換速率(2)分辨率(3)轉(zhuǎn)換精度3.MCS-51與ADC0809的接口單片機(jī)如何來控制ADC?首先用指令選擇0809的一個模擬輸入通道,當(dāng)執(zhí)行MOVX@DPTR,A?xí)r,單片機(jī)的WR*信號有效,產(chǎn)生一個啟動信號給0809的START腳,對選中通道轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,0809發(fā)出轉(zhuǎn)換結(jié)束EOC信號,該信號可供查詢,也可向單片機(jī)發(fā)出中斷請求;當(dāng)執(zhí)行指令:MOVXA,@DPTR,單片機(jī)發(fā)出RD*信號,加到OE端高電平,把轉(zhuǎn)換完畢的數(shù)字量讀到A中。查詢和中斷控制兩種工作方式.(1)查詢方式0809與8031單片機(jī)的接口如圖11-16.對8路模擬信號輪流采樣一次,采用軟件延時的方式,并依次把結(jié)果轉(zhuǎn)儲到數(shù)據(jù)存儲區(qū)。MAIN:?MOVR1,#data?;置數(shù)據(jù)區(qū)首地址MOV DPTR,#7FF8H;端口地址送DPTR,P2.7=0, ??;且指向通道IN0MOV R7,#08H ;置轉(zhuǎn)換的通道個數(shù)LOOP:MOVX?@DPTR,A ;啟動A/D轉(zhuǎn)換MOV R6,#0AH?;軟件延時,等待轉(zhuǎn)換結(jié)束DELAY:NOPNOPNOPDJNZ?R6,DELAYMOVX?A,@DPTR?;讀取轉(zhuǎn)換結(jié)果MOV?@R1,A ;存儲轉(zhuǎn)換結(jié)果INC DPTR??;指向下一個通道INC R1 ;修改數(shù)據(jù)區(qū)指針DJNZ?R7,LOOP?;8個通道全采樣完否?未完則繼續(xù)……(2)中斷方式將圖11-16中EOC腳經(jīng)一非門連接到8031的INT1*腳即可。轉(zhuǎn)換結(jié)束時,EOC發(fā)出一個脈沖向單片機(jī)提出中斷申請,單片機(jī)響應(yīng)中斷請求,在中斷服務(wù)程序讀A/D結(jié)果,并啟動0809的下一次轉(zhuǎn)換,外中斷1采用跳沿觸發(fā)。程序如下:INIT1:SETB?IT1 ;外部中斷1初始化編程SETB?EA?;CPU開中斷SETB?EX1 ;選擇外中斷為跳沿觸發(fā)方式MOV?DPTR,#7FF8H;端口地址送DPTRMOV?A,#00H;MOVX?@DPTR,A ;啟動0809對IN0通道轉(zhuǎn)換… ;完成其他的工作中斷服務(wù)程序:PINT1:MOVDPTR,#7FF8H;A/D結(jié)果送內(nèi)部RAM單元30HMOVX?A,@DPTRMOV?30H,AMOV?A,#00H ;啟動0809對IN0的轉(zhuǎn)換MOVX?@DPTR,A;RETI第12章單片機(jī)的串行擴(kuò)展技術(shù)與并行擴(kuò)展技術(shù)相比具有顯著的優(yōu)點,串行接口器件與單片機(jī)接口時需要的I/O口線很少(僅需1~4條),串行接口器件體積小,因而占用電路板的空間小,僅為并行接口器件的10%,明顯減少電路板空間和成本。 除上述優(yōu)點,還有工作電壓寬、抗干擾能力強(qiáng)、功耗低、數(shù)據(jù)不易丟失等特點。串行擴(kuò)展技術(shù)在IC卡、智能儀器儀表以及分布式控制系統(tǒng)等領(lǐng)域得到廣泛應(yīng)用。I2C系統(tǒng)允許多主器件,究竟哪一主器件控制總線要通過總線仲裁來決定.如何仲裁,可查閱I2C仲裁協(xié)議。但在實際應(yīng)用中,經(jīng)常遇到的是以單一單片機(jī)為主機(jī),其他外圍接口器件為從機(jī)情況.12。4.2I2C總線的數(shù)據(jù)傳送1.?dāng)?shù)據(jù)位的有效性規(guī)定?I2C總線在進(jìn)行數(shù)據(jù)傳送時,每一數(shù)據(jù)位的傳送都與時鐘脈沖相對應(yīng)。時鐘脈沖為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,在I2C總線上,只有在時鐘線為低電平期間,數(shù)據(jù)線上的電平狀態(tài)才允許變化,如圖12-8所示I2C系統(tǒng)允許多主器件,究竟哪一主器件控制總線要通過總線仲裁來決定。如何仲裁,可查閱I2C仲裁協(xié)議。但在實際應(yīng)用中,經(jīng)常遇到的是以單一單片機(jī)為主機(jī),其他外圍接口器件為從機(jī)情況。12.4.2I2C總線的數(shù)據(jù)傳送1。數(shù)據(jù)位的有效性規(guī)定?I2C總線在進(jìn)行數(shù)據(jù)傳送時,每一數(shù)據(jù)位的傳送都與時鐘脈沖相對應(yīng).時鐘脈沖為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,在I2C總線上,只有在時鐘線為低電平期間,數(shù)據(jù)線上的電平狀態(tài)才允許變化,如圖12-8所示2.起始和終止信號?據(jù)I2C總線協(xié)議,總線上數(shù)據(jù)信號傳送由起始信號(S)開始、由終止信號(P)結(jié)束.?起始信號和終止信號都由主機(jī)發(fā)出,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論