⑴ 51單片機邏輯運算
都不行,要幾行來配合才行
MOV A,P1 ;將P1的值傳入A
MOV R3,A
CPL A ;將A按位取反
ANL A,#0FH
MOV R4,A
MOV A,R3
ANL A,#0F0H
ORL A,R4
MOV P1,A
⑵ 單片機邏輯或指令在現實中的用法
找個例子程序看看,
逐句分析一下
⑶ 單片機邏輯運算
第一步:
ANL是邏輯與運算
就是說第一步是A與47H里的內容34H進行與運算。 A=10000011 34H=00110100
與運算特點是有「0」則0 運算結果為00000000=00H 此時累加器A中內容為00H
第二步:
ORL是邏輯或運算
這部分是第一部分運算出來的A與47H地址里的34H進行或運算,得出的結果存放在47H單元中。 A=00H=00000000 47H=00110100 或運算特點是有「1」則1
所以運算結果為00110100=34H運算後47H地址中的內容為34H
第三步:
XRL是邏輯異或指令
R0前面的@說明定址方式是寄存器定址。特點是將R0中的內容作為地址,在從此地址中尋找出對應的內容作為R0的內容。題干中說到(R0)=47H 就是R0中的內容為47H @R0就是以R0中的內容47H為地址,找出對應的內容。上一部分已經知道了47H里的內容為34H。回到第三步來,就相當於XRL A,34H A=00H=00000000 34H=00110100 邏輯異或運算的特點是相同則為0,不同則為1,所以結果為00110100=34H 此時累加器A中的內容為34H
第四步:
SWAP是高低四位數據值互換(如果是8位的話) 就是將00110100前四位與後四位互換,換完後還是01000011=43H 最後A中內容為43H
參照下面那位大哥,改過來了,要不誤導人咯~~呵呵
⑷ 用單片機實現位邏輯運算
這個邏輯表達式,可以化簡,就是:Q = XYZ + XYF + XZF
假設,各個變數對應的引腳如下:
X: P1.0
Y: P1.1
Z: P1.2
F: P1.3
Q: P1.7
程序如下:
MOV C, P1.0
ANL C, P1.1
ANL C, P1.2
MOV F0, C
MOV C, P1.0
ANL C, P1.1
ANL C, P1.3
ORL C, F0
MOV F0, C
MOV C, P1.0
ANL C, P1.2
ANL C, P1.3
ORL C, F0
MOV P1.7, C
END
⑸ 單片機中的邏輯運算怎麼算的
在邏輯代數中,有與、或、非三種基本邏輯運算。表示邏輯運算的方法有多種,如語句描述、邏輯代數式、真值表、卡諾圖等。邏輯運算通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
累加器A清0指令。
CLR A;單片機軟體指令功能是將累加器A中的內容清0。影響單片機標志寄存器PSW中的奇偶標志位P。
累加器A取反指令。
CPL A;單片機軟體指令功能是將累加器A中的內容全部取反,結果送回A中。影響單片機標志寄存器PSW中的奇偶標志位P。
常用於單片機某個存儲器單元或某個存儲器區域中帶符號數的求補。
RL A;左循環移位指令:
單片機軟體指令功能是將累加器A的8位二進制數向左移動1位,累加器A中最左邊1位(即最高位A.7)移至最右邊1位(即最低位A.0)。不影響單片機標志寄存器PSW中的標志位。
RR A;右循環移位指令:
單片機軟體指令功能是將累加器A的8位二進制數向右移動1位,累加器A中最右邊1位(即最低位A.0)移至最左邊1位(即最高位A.7)。不影響單片機標志寄存器PSW中的標志位。
RLC A;帶進位左循環移位指令:
單片機軟體指令功能是將累加器A的8位二進制數和進位CY向左移動1位,累加器A中最左邊1位(即最高位A.7)移至CY,CY原內容移至累加器A的最右邊1位(即最低位A.0)。影響單片機標志寄存器PSW中的進位標志位CY。
RRC A;帶進位右循環移位指令:
單片機軟體指令功能是將累加器A的8位二進制數和進位CY向右移動1位,累加器A中最右邊1位(即最低位A.0)移至CY,CY原內容移至累加器A的最左邊1位(即最高位A.7)。影響單片機標志寄存器PSW中的進位標志位CY。
(5)單片機邏輯運算擴展閱讀:
邏輯運算組成部分
Boolean(布爾運算)的參數面板可分成三部分。
布爾運算練習模型:骰子
Pick Boolean(拾取布爾運算對象)卷展欄
該卷展欄用來拾取運算對象B,如圖所示。
在布爾運算中,兩個原始對象被稱為運算對象,一個叫運算對象A,另一個叫運算對象B。在建立布爾運算前,首先要在視圖中選擇一個原始對象,這時Boolean按鈕才可以使用。進入布爾運算命令面板後,單擊Pick Operand B命令按鈕來選擇第二個運算對象。
· Pick Operand B(拾取運算對象B):單擊該按鈕,在場景中選擇另一個物體完成布爾合成。其下的4個選項用來控制運算對象B的屬性,它們要在拾取運算對象B之前確定。
· Reference(參考):將原始對象的參考復製品作為運算對象B,以後改變原始對象,也會同時改變布爾物體中的運算對象B,但改變運算對象B,不會改變原始對象。
· Copy(復制):將原始對象復制一個作為運算對象B,而不改變原始對象。當原始對象還要作其他之用時選用該方式。
· Move(移動):將原始對象直接作為運算對象B,它本身將不再存在。當原始對象無其他用途時選該用方式。該方式為默認方式。
· Instance(關聯):將原始對象的關聯復製品作為運算對象B,以後對兩者中之一進行修改時都會同時影響另一個。
Parameters(參數)卷展欄
該卷展欄參數可分為三個區域,如圖所示。
Operands(操作對象)選項組
該組參數用來顯示所有的運算對象的名稱,並可對它們作相關的操作。
Operands List(操作對象列表):該列表框中列出所有的運算對象,供編輯操作時選擇使用。
Name(名稱):顯示列表框中選中的操作對象的名稱。可對其進行編輯。
Extract Operand(提取運算對象):它將當前指定的運算對象重新提取到場景中,作為一個新的可用對象,包括Instance(關聯)和Copy(拷貝)兩種屬性。這樣進入了布爾運算的物體仍可以被釋放到場景中。只有從其上方的列表框中選擇一個操作對象後才能激活該按鈕。
⑹ 單片機常用的二進制邏輯運算
二進制數(binaries)是逢2進位的進位制,0、1是基本算符[2];計算機運算基礎採用二進制。電腦的基礎是二進制。在早期設計的常用的進制主要是十進制(因為我們有十個手指,所以十進制是比較合理的選擇,用手指可以表示十個數字,0的概念直到很久以後才出現,所以是1-10而不是0-9)。電子計算機出現以後,使用電子管來表示十種狀態過於復雜,所以所有的電子計算機中只有兩種基本的狀態,開和關。也就是說,電子管的兩種狀態決定了以電子管為基礎的電子計算機採用二進制來表示數字和數據。常用的進制還有8進制和16進制,在電腦科學中,經常會用到16進制,而十進制的使用非常少,這是因為16進制和二進制有天然的聯系:4個二進制位可以表示從0到15的數字,這剛好是1個16進制位可以表示的數據,也就是說,將二進制轉換成16進制只要每4位進行轉換就可以了。
二進制的「00101000」直接可以轉換成16進制的「28」。位元組是電腦中的基本存儲單位,根據計算機字長的不同,字具有不同的位數,現代電腦的字長一般是32位的,也就是說,一個字的位數是32。位元組是8位的數據單元,一個位元組可以表示0-255的十進制數據。對於32位字長的現代電腦,一個字等於4個位元組,對於早期的16位的電腦,一個字等於2個位元組。
⑺ 單片機邏輯運算
1. 「與」運算
「與」運算是實現「必須都有,否則就沒有」這種邏輯關系的一種運算。運算符為「· 」, 其運算規則如下:
0·0=0, 0·1=1·0=0, 1·1=1
2. 「或」運算
「或」運算是實現「只要其中之一有,就有」這種邏輯關系的一種運算, 其運算符為「+」。 「或」運算規則如下:
0+0=0, 0+1=1+0=1, 1+1=1
3. 「非」運算
「非」運算是實現「求反」這種邏輯的一種運算,如變數A的「非」運算記作 。 其運算規則如下:
4. 「異或」運算
「異或」運算是實現「必須不同, 否則就沒有」這種邏輯的一種運算, 運算符為「」。其運算規則是:
請採納答案,支持我一下。
⑻ 單片機指令邏輯運算
那條指令的意思是將A的內容與R0內容相或,結果保存在A中!
將C3H和55H寫成二進制形式,然後各對應位相「或」
C3H: 11000011
55H: 01010101
相或結果:11010111 ,再將此結果寫成十六進制,就是D7H
希望對你有幫助!
⑼ 單片機的邏輯運算
看這就知道是大學匯編語言課程里的題目。好好看看書,學點東西吧。真的不喜歡這個行業,趁早轉學
⑽ c51單片機AND,OR,XOR邏輯運算是什麼意思,能舉例說明嗎
1)邏輯與and
ANDReg/Mem, Reg/Mem/Imm受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
特點: XAND0------0用於將某位清0
XAND1------X用於某位保持不變
2)邏輯或or
ORReg/Mem, Reg/Mem/Imm受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
或操作特點:XOR0------X某位保持不變
XOR1------1某位置1
3)邏輯非not
NOTReg/Mem指令的執行不影響任何標志位
4)異或指令xor
XORReg/Mem, Reg/Mem/Imm受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
特點:XXOR0 -------X 某位保持不變
XXOR1-------~X ,某位取反
5)測試指令test
TEST OPR1,OPR2功能:執行「與」操作,但不保存結果,只根據結果置條件標志位。