微控制器第六課微控制器的內外部結構分析四

2021-03-04 00:31:16 字數 1908 閱讀 9054

二、第四個實驗

除了可以作為輸出外,這32個引腳還可以做什麼呢?下面再來做乙個實驗,程式如下:

main: mov p3,#0ffh

loop: mov a,p3

mov p1,a

ljmp loop

先看一下實驗的結果:所有燈全部不亮,然後我按下乙個按鈕,第()個燈亮了,再按下另乙個按鈕,第()個燈亮了,鬆開按鈕燈就滅了。從這個實驗現象結合電路來分析一下程式。

從硬體電路的連線可以看出,有四個按鈕被接入到p3口的p32,p33,p34,p35。第一條指令的用途我們可以猜到:使p3口全部為高電平。

第二條指令是mov a,p3,其中 mov已經見,是送數的意思,這條指令的意思就是將p3口的數送到a中去,我們可以把a當成是乙個中間單元(看圖3),第三句話是將a中的數又送到p1口去,第四句話是迴圈,就是不斷地重複這個過程,這我們已見過。當我們按下第乙個按鈕時,第(3)只燈亮了,所以p12口應當輸出是低電平,為什麼p12口會輸出低電平呢?我們看一下有什麼被送到了p1口,只有從p3口進來的數送到a,又被送到了p1口,所以,肯定是p3口進來的數使得p12位輸出電平的。

p3口的p32位的按鈕被按下,使得p32位的電平為低,通過程式,又使p12口輸出低電平,所以p3口起來了乙個輸入的作用。驗證:按第

二、三、四個按鈕,同時按下2個、3個、4個按鈕都可以得到同樣的結論,所以p3口確實起到了輸入作用,這樣,我們可以看到,以p字開頭的管腳,不僅可以用作輸出,還可以用作輸入,其它的管腳是否可以呢?是的,都可以。這32個引腳就稱之為並行口,下面我們就對並行口的結構作乙個分析,看一下它是怎樣實現輸入和輸出的。

3. 並行口結構分析:

1、輸出結構

先看p1口的一位的結構示意圖(只畫出了輸出部份):從圖中可以看出,開關的開啟和合上代表了引腳輸出的高和低,如果開關合上了,則引腳輸出就是低,如果開關開啟了,則輸出高電平,這個開關是由一根線來控制的,這根資料匯流排是出自於cpu,讓我們回想一下,資料匯流排是一根大家公用的線,很多的器件和它連在一起,在不同的時候,不同的器件當然需要不同的訊號,如某一時刻我們讓這個引腳輸出高電平,並要求保持若干時間,在這段時間裡,計算機當然在忙個不停,在與其它器件進行聯絡,這根控制線上的電平未必能保持原來的值不變,輸出就會發生變化了。怎麼解決這個問題呢?

我們在儲存器一節中學過,儲存器中是可以存放電荷的,我們不妨也加乙個小的儲存器的單元,並在它的前面加乙個開關,要讓這一位輸出時,就把開關開啟,訊號就進入儲存器的單元,然後馬上關閉開關,這樣這一位的狀態就被儲存下來,直到下一次命令讓它把開關再開啟為止。這樣就能使這一位的狀態與別的器件無關了,這麼乙個小單元,我們給它乙個很形象的名字,稱之為「鎖存器」。

2、輸入結構

這是並行口的一位的輸出結構示意圖,再看,除了輸出之外,還有兩根線,一根從外部引腳接入,另一根從鎖存器的輸出接出,分別標明讀引腳和讀鎖存器。這兩根線是用於從外部接收訊號的,為什麼要兩根呢?原來,在51微控制器中輸入有兩種方式,分別稱為『讀引腳』和『讀鎖存器』,第一種方式是將引腳作為輸入,那是真正地從外部引腳讀進輸入的值,第二種方式是該引腳處於輸出狀態時,有時需要改變這一位的狀態,則並不需要真正地讀引腳狀態,而只是讀入鎖存器的狀態,然後作某種變換後再輸出。

請注意輸入結構圖,如果將這一根引線作為輸入口使用,我們並不能保證在任何時刻都能得到正確的結果(為什麼?)參考圖2輸入示意圖。接在外部的開關如果開啟,則應當是輸入1,而如果閉合開關,則輸入0,但是,如果微控制器內部的開關是閉合的,那麼不管外部的開關是開還是閉,微控制器接受到的資料都是0。

可見,要讓這一埠作為輸入使用,要先做乙個『準備工作』,就是先讓內部的開關斷開,也就是讓埠輸出『1』才行。正因為要先做這麼乙個準備工作,所以我們稱之為「準雙向i/o口」。

以上是p1口的一位的結構,p1口其它各位的結構與之相同,而其它三個口:p0、p2、p3則除入作為輸入輸出口之外還有其它用途,所以結構要稍複雜一些,但其用於輸入、輸出的結構是相同的。看圖()。

對我們來說,這些附加的功能不必由我們來控制,所以我們就不去關心它了。

微控制器第六章答案

6 8利用8051微控制器和dac0832產生的梯形波 如圖6 16所示,梯形波的斜邊採用步幅為1的線性波形,幅度從00h 80h,水平段呼叫延遲程式維持 編寫梯形波產生的程式。若水平段由8051的內部定時器 計數器來維持,程式應怎樣編制?org 0000h tixing mov a,00h mov...

第6課 微控制器並行口結構

上兩次我們做過兩個實驗,都是讓p1.0這個管腳使燈亮,我們能設想 既然p1.0能讓燈亮,那麼其它的管腳可不能呢?看一下圖1,它是8031微控制器管腳的說明,在p1.0旁邊有p1.1,p1.2 p1.7,它們是否都能讓燈亮呢?除了以p1開頭的外,還有以p0,p2,p3開頭的,數一下,一共是32個管腳,...

AT89C51微控制器的基本結構

at89c51微控制器的主要工作特性 內含4kb的flash儲存器,擦寫次數1000次 內含28位元組的ram 具有32根可程式設計i o線 具有2個16位可程式設計定時器 具有6個中斷源 5個中斷向量 2級優先權的中斷結構 具有1個全雙工的可程式設計序列通訊介面 具有乙個資料指標dptr 兩種低功...