實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)IO口控制實(shí)驗(yàn)_第1頁(yè)
實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)IO口控制實(shí)驗(yàn)_第2頁(yè)
實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)IO口控制實(shí)驗(yàn)_第3頁(yè)
實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)IO口控制實(shí)驗(yàn)_第4頁(yè)
實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)IO口控制實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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)介

1、實(shí)驗(yàn)名稱:?jiǎn)纹瑱C(jī)I/O 口控制實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模豪脝纹瑱C(jī)的P1 口作為 I/O 口,學(xué)會(huì)利用P1 口作為輸入和輸出口。實(shí)驗(yàn)原理:1、 C51 的 IO 口系統(tǒng):P0P3端口功能總結(jié):(1) P0P3 口都是并行I/O 口,但P0 口和P2 口,還可用來(lái)構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地 址總線,所以在電路中有一個(gè)MUX ,以進(jìn)行轉(zhuǎn)換。而 P1 口和 P3 口無(wú)構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,無(wú)MUX 。 P0 口的MUX 的一個(gè)輸入端為“地址/數(shù)據(jù)”信號(hào)。P2 口的 MUX 的一個(gè)輸入信號(hào)為“地址”信號(hào)。(2)在4個(gè)口中只有 P0 口是一個(gè)真正的雙向口,P1P3 口都是準(zhǔn)雙向口。原因 :P0 口作

2、數(shù)據(jù)總線使用時(shí),需解決芯片內(nèi)外的隔離問(wèn)題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳送時(shí),芯片內(nèi)外應(yīng)處于隔離狀態(tài)。為此,P0 口的輸出緩沖器應(yīng)為三態(tài)門。P0 口中輸出三態(tài)門是由兩只場(chǎng)效應(yīng)管( FET) 組成, 所以是一個(gè)真正的雙向口。P1P3 口,上拉電阻代替 P0 口中的場(chǎng)效應(yīng)管,輸出緩沖器不是三態(tài)的一準(zhǔn)雙向口。( 3) P3 口的口線具有第二功能,為系統(tǒng)提供一些控制信號(hào)。因此 P3 口增加了第二功能控制邏輯。這是P3 口與其它各口的不同之處。2、 C51 的中斷系統(tǒng)單片機(jī)能及時(shí)地響應(yīng)和處理單片機(jī)外部事件或內(nèi)部事件所提出的中斷請(qǐng)求。1五個(gè)中斷請(qǐng)求源:(1) INT0*外部中斷請(qǐng)求 0,由

3、引腳INT0*輸入,中斷請(qǐng)求標(biāo)志為 IE0o(2) INT1*外部中斷請(qǐng)求1,由引腳INT1*輸入,中斷請(qǐng)求標(biāo)志為 IE1。( 3)定時(shí)器/計(jì)數(shù)器T0 溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF0。( 4)定時(shí)器/計(jì)數(shù)器T1 溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF1。(5)串行口中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TI或RI。由特殊功能寄存器 TCON和SCON的相應(yīng)位鎖存。2中斷控制:中斷允許寄存器IE: CPU對(duì)中斷源的開放或屏蔽,由片內(nèi)的中斷允許寄存器IE控制。字節(jié)地址為A8H,可位尋址。IE對(duì)中斷的開放和關(guān)閉為兩級(jí)控制??偟拈_關(guān)中斷控制位 EA (IE.7位):EA=Q所有中斷請(qǐng)求被屏蔽。EA=1, CPU 開放

4、中斷,但五個(gè)中斷源的中斷請(qǐng)求是否允許,還要由IE 中的 5 個(gè)中斷請(qǐng)求允許控制位決定。IE中各位的功能如下:(1) EA:中斷允許總控制位0: CPU屏蔽所有的中斷請(qǐng)求(CPU關(guān)中斷);(1) CPU開放所有中斷(CPU開中斷)。(2) ES:串行口中斷允許位0:禁止串行口中斷;1:允許串行口中斷。(3) ET1:定時(shí)器/計(jì)數(shù)器T1的溢出中斷允許位(4) EX1:外部中斷1中斷允許位(5) ET0:定日器/計(jì)數(shù)器T0的溢出中斷允許位(6) EXO:外部中斷0中斷允許位。中斷優(yōu)先級(jí)寄存器:兩條基本規(guī)則:( 1)低優(yōu)先級(jí)可被高優(yōu)先級(jí)中斷,反之則不能。( 2)同級(jí)中斷不會(huì)被它的同級(jí)中斷源所中斷。IP

5、各個(gè)位的含義:(1) PS-一串行口中斷優(yōu)先級(jí)控制位1 :高優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。(2) PT1定時(shí)器T1中斷優(yōu)先級(jí)控制位1 :高優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。(3) PX1外部中斷1中斷優(yōu)先級(jí)控制位1 :高優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。(4) PT0-一定時(shí)器T0中斷優(yōu)先級(jí)控制位1 :高優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。(5) PX0-外部中斷0中斷優(yōu)先級(jí)控制位1 :高優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。由軟件可改變各中斷源的中斷優(yōu)先級(jí)。IT0/IT1 觸發(fā)方式選擇位:0:低電平觸發(fā)方式,-INT0/1 低電平時(shí)IE0/IE1=0, -INT0/1 高電平時(shí)IE0/IE1=1。1:下降沿觸發(fā)方

6、式,檢測(cè)到下降沿,則使IE0/IE1=1, CPU 相 應(yīng) 中 斷 后 自 動(dòng) 清 除IE0/IE1。實(shí)驗(yàn)內(nèi)容:1、編寫程序,用 P1.0-P1.2 口連接LED,查詢撥鍵開關(guān) SW1的狀態(tài)來(lái)控制 LED的亮和 滅(P1.7 接 SW1)。2、編寫程序,用P1.0-P1.2 口連接LED,用按鍵開關(guān)KEY1作為外部中斷輸入INT0控制 LED的亮和滅(按一次按鍵 LED狀態(tài)取反一次)。實(shí)驗(yàn) 1:采用查詢方式,流程圖如下所示:開始代碼及注釋:ORG 8000H;硬件仿真調(diào)試程序LJMP MAINMAIN:SETBP1.0;給LED一個(gè)初態(tài),熄滅SETBP1.1SETBP1.2BACK:SETBP

7、1.7;對(duì)輸入位P1.7置1JB跳轉(zhuǎn)至 BACK1P1.7,BACK1,刀大必刀)CLRP1.0;開關(guān)閉合,所有LED燈亮CLRP1.1CLRP1.2SJMPBACK;返回繼續(xù)查詢BACK1:SETBP1.0LED燈熄滅,力天方力)所倡SETBP1.1SETBP1.2SJMPBACK;返回繼續(xù)查詢ENDORG 8100H;硬件仿真調(diào)試程序電路圖:LED燈的初始狀態(tài)為熄滅狀態(tài),當(dāng)閉合撥鍵開關(guān)時(shí),三個(gè)LED燈同時(shí)點(diǎn)亮,當(dāng)斷開撥鍵開關(guān)時(shí),三個(gè)LED燈同時(shí)熄滅。在這個(gè)實(shí)驗(yàn)中是通過(guò)軟件不斷查詢P1.7 口的狀態(tài)來(lái)控制 LED燈的亮滅,實(shí)驗(yàn)前應(yīng)注意先設(shè)置LED燈的狀態(tài)??赏ㄟ^(guò)將 LED燈與電源或地線直接相

8、連來(lái)觀測(cè)LED是共陰極還是共陽(yáng)極。實(shí)驗(yàn)時(shí)將LED燈和電源直接相連時(shí), 燈亮,說(shuō)明此LED燈為共陰極的,即低電平點(diǎn)亮, 故初始化時(shí)將LED燈置1為熄滅狀態(tài)。當(dāng)開關(guān)斷開時(shí), P1.7為高電平,P1.0P1.2輸出高電 平,LED燈熄滅;當(dāng)開關(guān)閉合時(shí), P1.7為低電平,P1.0P1.2輸出低電平,LED燈亮。由此便 可通過(guò)JB跳轉(zhuǎn)指令對(duì)開關(guān)狀態(tài)進(jìn)行檢測(cè)后,來(lái)確定 P1.0P1.2的輸出狀態(tài)。預(yù)習(xí)報(bào)告中的電路圖只畫了LED燈和開關(guān)的連接,不太完整。修改后的電路圖將晶振部分和復(fù)位部分的電路圖也畫上了,如上圖所示。實(shí)驗(yàn)2:采用中斷方式,流程圖如下所示:開始I結(jié)束代碼及注釋:ORG 8000H;硬件仿真調(diào)

9、試程序LJMP MAINORG 8003H;硬件仿真調(diào)試程序LJMP INTT0;INT0中斷服務(wù)程序跳轉(zhuǎn)程序ORG 8100HMAIN: CLRP1.0;設(shè)置LED燈的初態(tài)CLRP1.1CLRP1.2SETBP3.2;P3.2鎖存器置1, INT0中斷輸入SETBIT0;指定into為辿沿觸發(fā)方式SETBEX0;開放INT0中斷SETBEA;開放CPU的中斷SJMP$;等待中斷ORG 8200H ;INT0中斷服務(wù)程序INTT0: CLREA;關(guān)中斷CPLP1.0;所有LED燈的狀態(tài)取反CPL P1.1CPL P1.2MOV R0,#10000 涎時(shí)部分DJNZ R0,$SETB EA ;開

10、中斷RETIEND電路圖:實(shí)驗(yàn)結(jié)果及分析:LED燈的初始狀態(tài)為點(diǎn)亮,當(dāng)按下按鍵開關(guān)時(shí),三個(gè)LED燈同時(shí)熄滅,再次按下按鍵開關(guān)時(shí),三個(gè)LED燈同時(shí)點(diǎn)亮,如此反復(fù)。實(shí)驗(yàn)時(shí)也應(yīng)先設(shè)置 LED燈的初始狀態(tài),而后設(shè)置中斷的方式。 按鍵開關(guān)與P3.2 口相連, 每按一次按鍵開關(guān),INTO中斷輸入,程序跳轉(zhuǎn)至中斷服務(wù)程序,通過(guò)對(duì)LED燈狀態(tài)取反來(lái)控制LED燈的亮滅。實(shí)驗(yàn)過(guò)程中反復(fù)按下按鍵開關(guān),觀察LED燈的亮滅狀態(tài),發(fā)現(xiàn)LED燈在亮滅過(guò)程中會(huì)偶有閃爍現(xiàn)象。這是因?yàn)榘存I開關(guān)容易產(chǎn)生抖動(dòng),需要增加防抖動(dòng)的措施。因此,我對(duì)預(yù)習(xí)報(bào) 告中的代碼做了一些修改,在LED燈狀態(tài)取反后添加了一個(gè)延時(shí)程序,即:MOVR0,#10000涎時(shí)部分DJNZR0,$因?yàn)閷?shí)驗(yàn)中所用的晶振振蕩頻率為12MHz,周期為1/12us,而每個(gè)機(jī)器周期占用12個(gè)振蕩周期,故每個(gè)機(jī)器周期正好為1us。查表可知DJNZ指令占用2個(gè)機(jī)器周期,所以延時(shí)部分的

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論