讀引腳和讀暫存器有什麼區別 為什麼要區分

2022-09-10 09:25:19 字數 1269 閱讀 7054

1樓:城長征養俏

要搞清這個問題,就要明白p0口的內部結構。p0口是由鎖存器經兩個驅動場效電晶體和外部引腳相連的。

讀引腳的意思就是直接讀p0外部引腳的電位,而讀埠(鎖存器)讀的是內部與資料匯流排連結的鎖存器的電位。

兩者不同。一般來說,讀取p0的資料,都是讀引腳,目的是獲取與p0相連的外部電路的狀態。而讀埠是在執行下述語句時由cpu自行完成的:

incp0;給p0加1

執行這個語句時

,採用「讀-改-寫」的過程,先讀取p0的埠資料,再加1,然後送到p0鎖存器裡。注意這個埠資料跟p0的引腳狀態不一樣,比如你事先給p0寫進69h,p0裡資料就是69h,而引腳上的狀態因為你沒有執行mov

a,p0之類的指令,它是不會進到p0的鎖存器裡去的。由此可見,所謂的讀埠,不是讀取p0的狀態,而是在執行inc之類的指令時由cpu自行完成的,

讀引腳就是讀取p0口狀態了。讀引腳時要注意:先要給p0寫ffh,使它的場效電晶體t2和地斷開。

因為p0口的場效電晶體t2一端接地,一端與外部引腳相連,由p0的鎖存器控制,當給鎖存器寫1時,它和地斷開,寫0時和地相連,所以寫零時讀到的總是低電平。

試想你現在要讀p0引腳,按理說p0與外部電路相連,外部電路的是什麼狀態,就應該讀到什麼,但如果p0口的場效電晶體t2一端接地的話,它會把p0口電位拉低,你讀到的總是低電平0,所以要先給p0寫ffh,把p0的場效電晶體t2和地斷開,再讀數時就是真實狀態了。當外部電路斷開,再讀時讀到的就是p0埠(鎖存器)的真實狀態了。

還不明白給hychyc_2008發訊息,或給[email protected]發郵件。

2樓:諫青芬青靜

對於cpu來說引腳其實也可以看做一種特殊暫存器,你可以在reg25.h這個標頭檔案找中找到p0~p3各個引腳的地址。總體而言cpu的讀操作目的都是一樣的——不管是讀引腳還是暫存器基本都是為了獲取資料或者是控制訊號。

一般在工程實際中,讀引腳是為了取得微控制器和外設之間的通訊訊號或者獲取資料傳輸的內容,比方說:在51微控制器和adc0809的通訊中有一種是中斷式連線,微控制器的cpu可以通過讀取和ad的eoc引腳相連的引腳的高地電平判定ad是否轉換完成,進而進行下一步工作。這僅僅是簡單的例子,實際中可能比這複雜得多。

另外,由於微控制器引腳一般和外設相連,所以有可能獨處的資料會變化(取決於你是否有采樣保持電路或者程式中的讀取方式等等因素)。所以體現在程式中就有一個讀引腳的時間問題。這個情況太多,只能具體問題具體分析。

最後,如果你用的是c語言程式設計,讀引腳和讀暫存器的指令是一樣的。如果你用的是彙編,讀引腳是有專門的指令的,這點要注意。

讀不讀大學有什麼區別,讀大學跟沒讀大學有什麼區別?

念薇來說說我想一個體會吧。我們這工資不高,當年中專畢業,剛做設計300塊錢一個月,還不論是不是實習生。大學實習生是1600左右。所以我選擇回去深造 後來大專畢業領這麼多薪水的時候,現在中專的工資幾乎也平等了。讀大學的工資確實高一些,每個層次的人不一樣。而現在的公司更注重能力。但很多公司只收大專以上。...

讀預科和復讀有什麼區別?預科和大學又有什麼區別

預科即大學基礎課程 university foundation year 或橋樑課程 bridging course 屬大學前的預備教育,一般都要求海外高中畢業生讀1年左右的預科,以適應國外的學習方式。國外大學一般都有預科課程或指定學院教授預科課程,留學生完成1年預科後,根據成績決定能否升入原先選擇...

逍遙和快活,有什麼區別?為什麼

快活更多的是指心態,開心快樂,逍遙更多代表的是自由自在的生活狀態。oo 體現武俠元素的和 快活 逍遙 類似的詞有哪些?體現武俠元素的和 快活 逍遙 類似的詞有瀟灑 灑脫 自在 無拘無束 俊逸。1 瀟灑 xi o s 形容神情舉止自然大方,不呆板,不拘束 不拘謹的或無拘束的。又形容雨落的樣子,或形容景...