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...