1. 單片機中的位定址誰能詳細的給講解一下啊
在單片機中集成有一位處理器,而不同的CPU有屬於自己不同的指令,所以在單片機中有部分專門的位處理指令,其中部分位處理指令採用的定址方式就為位定址方式.
而所謂的位定址和一般的存儲單元定址本質上是一樣的,只不過它的每個單元只能存儲一個二進制位,每個位單元有一個位地址,要訪問某個位單元,必須先找到該單元的位地址,找它的方式就叫位定址方式了.
比如在MCS51單片機里,它把內部RAM區的20H~2FH的16個位元組作為位定址區,每個位元組8位,共有128個位單元,從20H位元組單元的最低位開始位編址,而一般的起始地址都是從0開始,所以位地址為00~7FH.具體指令如MOVC,04H中的源操作數
為位定址方式,訪問的是位元組單元20H的D4位也就是20H.4
2. 單片機中 直接定址與位定址怎麼判斷
是的,C是一個特殊寄存器---程序狀態寄存器(PSW)---中的一位Cy---進位標記位;
既然 C只是一位,那麼 mov c,20h 語句就是位定址了;
在單片機指令集中,能夠位定址的傳輸指令就只有包含 C 的指令,這個好記,自然也好判斷了;
3. 51單片機的位定址區問題
51單片機的位定址區問題書上寫著位定址區是20H-2FH,位地址00H-7FH,這不是超過這個位定址區了嘛,這兩個區域是什麼意思的?
是這樣的,請你參考:
「51單片機的位定址區問題書上寫著位定址區是20H-2FH」,這里的20H~2FH指的是片內RAM低128位元組的「20H存儲單元~2FH存儲單元」,每個單元是一個位元組,所以這里是16個位元組,每個單元的地址分別是20H~2FH;
「位地址00H-7FH」,上面的16個位元組,每個位元組8位,總共128位,對這128各位又進行了編址,每個位的地址分別是00H~7FH;
位地址和單元地址雖然在數字上有所重復(00H~7FH包含有20H~·FH),但是在匯編指令上是能去分開的;比如:CLR20H 這條指令是對位20H進行清零,不會對20H單元清零,因為對位元組清零的匯編指令只有一條 CLRA,這是對累加器A進行清零。
所有的指令都能把位地址和單元地址去分開,上邊只是個例子,不必擔心。
希望對你有所幫助!!!!!
4. 51單片機內部數據存儲器有幾個可定址位其地址范圍是多少
51單片機內部數據存儲器有幾個可定址位?
--在位元組地址 20H~2FH,稱為「位定址區」。
--在位定址區,共有 16 位元組,形成 128 個可定址位。
其地址范圍是多少?
--位地址的范圍是:00H~7FH。
======================
另外,在特殊功能寄存器中,還有一些可定址位。
但是,這些,不屬於本題目的范圍。
所以,樓主採納的回答,有錯。
5. 單片機位定址區的作用
答:位定址區位於數據存儲器20F至2FH區間。此區間的寄存器可以位定址,可以對它們進行位操作、位運算。
主要是要注意寄存器「本身」的地址與該寄存器「每一位」對應的位地址的關系,此是最易發生錯誤之處。20H對應的位地址為20H到27H。即:20H的第零位位地址是20H,第一位位地址是21H,以此類推。21H(我指的是寄存器,不是20H的第一位位地址)的位地址是從28H到2FH;22H(寄存器)對應的位地址 30H到37H;以此類推。
明白否?
可見,某寄存器某一位的位地址有可能和另一個寄存器的直接地址重合,但在使用時對位地址操作的指令與對直接地址的操作是不同的,所以不會混淆。
在使用上可以用位地址存儲某個開關量(只有0,1兩個值),將位地址數值做邏輯運算,或傳遞給特殊功能寄存器等等。
特殊功能寄存器里有許多也可位運算。置位,置零等等。這就可以僅對該位操作而不影響其他位。