微控制器彙編程式讀引腳問題,剛學微控制器,組合語言中,MOVP1,0FFH與MOVP1,0F0H都是什麼意思啊,求指教

2021-03-04 09:22:05 字數 1349 閱讀 8484

1樓:匿名使用者

mov p0,#ffh 這條指令是來向p0的鎖存器寫源高電平bai! 同時給p0引腳也輸du出高電平了!但是如果p0 埠zhi被強負載拉低,則引

dao腳就為低(如我們外部接一個開關,被按下的時候),即p0的引腳電平與外部負載有直接關係的!

如果我們要讀取外表資料(讀引腳),則我們必須先執行這條指令mov p0,#ffh,否則有可能你讀不到外部的真實資料的(比如p0的鎖存器為 「0」,你不執行 mov p0,#ffh ,你讀到的值一直為 「0」,因為內部鎖存器把引腳拉低了)!即如果我們把 p0 作為輸入,則先執行一條 mov p0,#ffh,這樣就可以讀引腳了!

2樓:匿名使用者

如果你來p0口沒接外部電路,源或者外部電路給p0口高電平或者高阻太,當然會都改變,本來mov p0,#0ffh就是要讓p0全部置位,但是你要想一下,知道,低電平可以把高電平拉低。所以你將p0口置高位,並不會影響外接埠的資料

用組合語言編寫51微控制器程式時候,讀引腳要先寫mov p1,#0ffh,才能讀引腳而不是鎖存器。那

3樓:匿名使用者

mov p1,#0ffh

這就是鎖存了,p1的8個腳全為高電平了。也就是置高了,置低也是這麼寫,只是立即數要有0,例如

mov p1,#0fh,這是就是高四位置低電平,低四位置高電平。

讀引腳是:mov a,p1,這是讀8位

也可以只讀一位

沒有那麼多的麻煩,別聽網上或書上亂講一通,就是兩條mov指令搞定了。

只不過,就是讀引腳時,要先輸出高電平。其餘就沒有什麼了。

4樓:匿名使用者

想對引腳置高或低就寫p1口為1或0。但想讀引腳必須要先寫mov p1,#0ffh才能讀到引腳的正確電平,如果寫p1口某一位=0,那引腳就強制=0。讀到的就是0.

這是由引腳的電路連線決定的,多看看書。

5樓:匿名使用者

寫的時候直接寫就可以了。在寫鎖存器的時候也會寫管腳。

剛學微控制器,組合語言中,mov p1,0ffh與mov p1,0f0h都是什麼意思啊,求指教

6樓:匿名使用者

前面一個指令是讀引腳埠置1,在讀引腳之前必須先向埠寫1,是t2截止,才能正確讀到引腳內容;後面一個指令是保留p1埠高四位的資訊

7樓:匿名使用者

將ff和f0轉為2進位制看看。也就是11111111,11110000,那麼分別對應p1.0~p1.7你就知道是什麼狀態了

8樓:匿名使用者

靠 那個是天書 牛人啊

微控制器組合語言的程式設計問題

首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...

微控制器組合語言中是什麼意思,在微控制器組合語言中c是什麼意思

原地踏步的意思 等價於loop sjmp loop 代指本指令的 地址。如果sjmp 的起始地址是1010h,則在編譯的時候編譯器把 編譯為這專個起始地址屬1010h,就等於sjmp 1010h,執行完這指令後還跳到這個地址再執行它。無限迴圈直到微控制器沒電。指當前地址,可以有多種應用。比如 got...

在微控制器組合語言中c是什麼意思,微控制器組合語言中 CY AC OV 分別是什麼意思?

進位標誌位cy或布林處理器中的累加器。c為進借位標誌位bai,就是ducy 意思是兩數相加zhi addc指令 有進位就置c為1,兩數減dao subb指令 有借內位就置c為1,上面兩種請況c的置容1是系統自動的。另外還可以自己對c進行操作 指令如下 mov c,bit 將bit位地址中的值送psw...