1. STC單片機51單片機有A版,B版,C 版之分,怎麼區別啊
如何識別A,B,C,D版見單片機表面文字最下面一行最後一個字母,
例如有一款STC單片機上的文字如下
89LE52RC
40C-PLCC
0632CT6908 00D
最後一個字為D即為D版
2. 51單片機 MOV A,B 這個是什麼意思啊
B是特殊寄存器,A是累加器,這條指令是將B中的內容傳送到A中。
3. 在51單片機中,A和ACC的具體的關系是什麼呢
累加器A與ACC區別
累加器寫成A或ACC在51匯編語言指令中是有區別的。
ACC在匯編後的機器碼必有一個位元組的操作數,是累加器的位元組地址E0H,A在匯編後則隱含在指令操作碼中。
所以在指令中A不能用ACC來替代,而對A的特殊功能寄存器直接定址和累加器某一位的定址要用ACC,而不能寫成A。
例如,指令INCA的機器碼是04H,屬於寄存器定址,寫成ACC後則成了INCDIRECT的格式,對應機器碼為05E0H。
A和ACC都表示累加器,但A是累加器的代號,在指令中默認是無地址的,而ACC是累加器在中的直接地址(OEH),可出現在用直接定址的任何地方,例如:
PUSHACC POPACC
類似:工作寄存器R0~R7在指令中也有兩種不同的寫法,生成的機器碼也不同,如:
MOV40H,R0,
MOV40H,00H
假設當前工作寄存器為0組,前者屬於寄存器定址,後者屬於存儲器直接定址。但R0和00H的級別不同,00H只是RAM區的一個普通單元,其讀寫速度要比慢得多。微型計算機內部通常設置工作寄存器組,運算的結果可以放在寄存器中而不必每次都放到存儲器里,可以提高機器的工作速度。其實寄存器也是一種存儲器,只不過它是CPU中的部件,速度最快而已。
寄存器和一般的存儲器是混疊的,同一單元用不同的指令,它就會執行不同的功能。
一般的說法:A表示了累加器中的內容【寄存器定址】;ACC表示了累加器的地址【直接定址】。
A和ACC的實質是一樣的,對應地址都是0E0H,只是匯編在使用時,在格式上取了兩個名字。使用有一定的規律:
當其要進行位表示時,必須用ACC,比如要寫成ACC.7,而不能寫成A.7;
但當其作為8位二進制數時,ACC和A都能用,但還是有區別:比如INCACC和INCA都能用,還有PUSHACC,POPACC不可以寫成PUSHA和POPA
在KeilC中用了這樣一個命令:PUSHA,匯編時提示錯誤,後來我把PUSHA改為PUSHACC就可以通過了,請問這是什麼回事?A與ACC是同一個寄存器嗎?
所謂「A」是相關指令對累加器A的預設指定(不佔操作數指令),而PUSH和POP沒有預設指定累加器,要訪問累加器就必須採用其所允許的直接定址方式,「ACC」就是累加器A的地址。PUSH是直接定址,後面一定跟的是直接地址。你可以看到reg51.h中ACC的直接地址是0xe0;也可以PUSHE0h;累加器有A、ACC和E0H三種表示形式,分屬兩種不同的定址方法,使用A時,為寄存器定址,指令碼為04H,使用ACC和E0H時,為直接定址,指令碼為05E0H。可A的位7,為什麼非得用ACC.7而不用A.7。這與位定址有關系,位地址有四種:直接位地址;位元組地址加位序號;位名稱;特殊寄存器加位序號。
為什麼pushacc必須用acc,而不能用a,相反movx@dptr,a只能用a,而不能用ac?acc和a有什麼區別?ACCisregister。Aisaunseparatablepartofopcode。
在mov指令中可通用,用"a"時為2位元組1周期;用"acc"時為3位元組2周期。
盡管物理地址相同,但push是對寄存器操作,而movx是對累加器操作。
匯編結果:"inca"為"04h"運行時間1周期;"incacc"為"05h,e0h"運行時間2周期。
通俗的解釋為:acc是地址為E0H的寄存器,A是標準的無地址的累加器,自然後者便捷,但兩者在值上互為鏡像
4. 在51單片機中 什麼是AD/DA
a 模擬量 d數字量 模擬量轉化為數字量ad 數字量轉化為模擬量da,單片機上一般只有ad
5. 51單片機,A裡面最後是什麼啊謝謝
MOV A,#10H ( A)=10H
MOV DPTR,#2020H ( A)=10H
MOVX @DPTR,A ( A)=10H
MOV 20H,#30H ( A)=10H
MOV R0,#20H ( A)=10H
MOVX A,@R0 ( A)=30H
因此最後A裡面是#30H
手打不易,如有幫助請採納,謝謝!
6. 51單片機SWAP A是什麼意思
51單片機中SWAP A是將A的高四位和低四位互換。
7. 51單片機C語言中<<=和|=的意思是什麼
這兩個都是特殊的賦值運算符。這類運算符的形式為OP=,為雙目運算符,即需要左右都有操作表達式。其中左側必須為可改變值的變數,右側可以為任意表達式。
對於OP=的運算符,其含義為:
aOP=b; 等同於a = a OP b;
對於題目中涉及的兩個運算符,分別為:
a <<= b; 等效於a = a << b; 即a左移b位後賦值給a。
左移操作的規則為,高b位捨去,其它依次向高位(左側)移動b位,低b位添加0。
a|=b;等效於a=a|b;即a與b執行按位或操作,結果賦值給a。
或操作的規則為,按位執行,只有相同位上的值均為0時,結果的對應位上為0,否則結果對應位上為1。
8. 51單片機片內硬體結構中的a是什麼意思
51單片機片內硬體結構中的a指的是運算器或累加器,同時也是儲存運算結果的寄存器.
9. A51單片機程序
這個程序應該是數碼管動態顯示!但是不知道你要問什麼問題
10. 為何在51單片機中寫A=SBUF;SBUF=A;串口不會將收到的A重新發回去呢
發送需要專門一個發送子函數,要對寄存器操作;而不是賦值,SBUF只是一個存放數據的地方,它不會自動發送,也不會自動接受。你找找看有沒有receive或者send之類的函數。