㈠ 單片機中的邏輯運算怎麼算的
在邏輯代數中,有與、或、非三種基本邏輯運算。表示邏輯運算的方法有多種,如語句描述、邏輯代數式、真值表、卡諾圖等。邏輯運算通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
累加器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。
(1)單片機or指令怎麼用擴展閱讀:
邏輯運算組成部分
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(拷貝)兩種屬性。這樣進入了布爾運算的物體仍可以被釋放到場景中。只有從其上方的列表框中選擇一個操作對象後才能激活該按鈕。
㈡ 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功能:執行「與」操作,但不保存結果,只根據結果置條件標志位。
㈢ c51單片機AND,OR,XOR邏輯運算是什麼意思能舉例說明嗎
在邏輯信號中,只有兩種情況,分別是「1」還有「0」。
1與1=1,1與0=0,0與1=0,0與0=0,相當於要兩個都是1結果才是1
1或1=1,1或0=1,0或1=1,0或0=0,相當於只需要一個是1結果就是1
1異或1=0,1異或0=1,0異或1=1,0異或0=0,相當於兩個不同結果是1,兩個相同結果是0,就是 所謂的「異」嘛
ANL表示「與」,如某工作寄存器內容和累加器內容相與指令:ANL A,Ri,並將結果放回累加器A中
ORL表示「或」,如某工作寄存器內容和累加器內容相或指令:ORL A,Ri,並將結果放回累加器中
XRL表示「異或」,如某工作寄存器內容和累加器內容相異或指令:XRL A,Ri,並將結果放回累加 器A
㈣ OR、ORL、ORB三個指令有什麼區別
主要區別如下:
OR:或(常開攔碼並聯);
ORI:或反(常閉並猜漏聯);簡兆哪
ORB:塊並聯。
參看下圖示例
㈤ 單片機或ORL指令有什麼作用
ORL能將某些位置一,對於想置一的位與1進行「或」邏輯,對於想保持原來的位與0進行「或」邏輯。
例如:(A) = 1001 1100B = 9CH,(E1) = DFH,(DFH) = 2DH,(R0) = E1H
ORL A, R1意思就是將累加器A中的數枯譽檔據或上R1中的數據,數據保存在A中。
ORL就是或的意思,是寄存器或到累加器中。
例如:(R1)=38H,(A)=26H,則結果是(A)=3EH.
注沒亂意事項
ORL為邏輯或指令
ORL A, Rn ;(A) ∨(Rn)→A ,n=0~7
ORL A, direct ;(A) ∨(direct)→A
ORL A, #data ;(A) ∨data→A
ORL A, @Ri ;(A) ∨((Ri))→A,i=0,1
ORL direct, A ;(direct) ∨(A)→direct
ORL direct, #data ;(direct) ∨#data→虛槐direct
㈥ 匯編中OR與AND指令詳細意義
匯編中OR的指令為邏輯或運算,該指令會置CF=OF=0,其結果影響SF、ZF、PF。指令格式為OR r/m,r/m/i。例如:mov al,01100011B(換行符)oral,00111011B的執行結果為al=01111011B。
匯編中AND的指令為邏輯與運算,該指令會置CF=OF=0,其結果影響SF、ZF、PF。指令格式為AND r/m, r/m/i。例如:mov al,01100011B(換行符)and al,00111011B的執行結果為al=00100011B。
OR EAX,80008000H和AND CH,80H的邏輯與或運算,執行需要參考對應邏輯常量與變數之間的數值才宴臘能得出執行結果。
匯編中出了OR與AND的邏輯運算之外,還有XOR、NOT和TEST指令。該五個指令構成了最基本的匯編邏輯運算,通過指令之間的靈活配合使用進而實現程序員的編程目的。
XOR為邏輯異或操作,異或指令的格式為XOR OPRD1 OPRD2。標志位同與運算指令,某個操作數自身異或,值不變,可使進位標志CF=0。而與0異或,不變,與1異或,取反。
NOT為邏輯否操作,否指令的格式為NOT OPRD。把OPRD取反,再回送給OPRD。該操作對標志位沒有影響。某個操作數自身或,值不變,可使進位標志CF=0。
TEST為測試操作,測試指令的格舉猜式為TEST OPRD1 OPRD2,該指令與AND類似,但正祥型結果不回送。該指令執行後,ZF,PF,SF反映運算結果,CF=OF=0
㈦ 單片機中的邏輯運算怎麼算的
在邏輯代數中,有與、或、非三種基本邏輯運算。表示邏輯運算的方法有多種,如語句描述、邏輯代數式、真值表、卡諾圖等。邏輯運算通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
累加器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。
(7)單片機or指令怎麼用擴展閱讀:
邏輯運算組成部分
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(拷貝)兩種屬性。這樣進入了布爾運算的物體仍可以被釋放到場景中。只有從其上方的列表框中選擇一個操作對象後才能激活該按鈕。
㈧ 單片機邏輯或指令在現實中的用法
找個例子程序看看,
逐句分析一下
㈨ 51單片機指令
TF1是定時器1溢出標志位,$是取地址。JNB TF1,$ 實現的功能是查詢定時器1溢出標志位,如果為0,跳轉到本條指令繼續執行(即繼續查詢)直到定時時間到,TF1置位,才執行下一條指令。
給你注釋一下:
MOV TMOD,#10H //設置定時器工作方式(定時器1,工作方式2)
SETB TR1 //開啟定時器1
LOOP: MOV TH1,#0D8H //裝初值D8F0H 即55536,定時10mS(晶振12M)時間隨晶振改變
MOV TL1,#0F0H
JNB TF1,$ //查詢等待定時器1中斷
CLR TF1 //定時器溢出標志位清0(定時時間到後硬體自動給TF1置位,需軟體清0)
CPL P1.1 //P1.1取反
SJMP LOOP //跳到LOOP處循環(是個死循環)
該段程序實現的功能是:每隔10mS對P1.1取反一次。(10mS當然是晶振為12M的情況下)