⑴ 單片機常用的二進制邏輯運算
二進制數(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個位元組。
⑵ 單片機C程序中二進制數的加一運算
不管什麼進制的數,C語言中只要運行
++
操作,就是加一運算。
⑶ 單片機計算題:設X=5AH,Y=36H,求X與Y「或」運算和X與Y「與」運算(要詳細過程以及掌握的方法)
XY相與為12H,XY相或為7EH,首先把X和Y轉成二進制數,X=5AH=01011010B,Y=36H=00110110B,後從右到左一位一位進行邏輯運算;與運算方法:全1出1,有0出0,以上與值00010010B=12H。或運算方法:全0出0,有1出1,如上或值01111110B=7EH。
⑷ 單片機的題目 X1=17,X2=25,求X1-X2,二進制的題目,可以用補碼,反碼運算,答案是88D嗎求過程
這才是答案!
⑸ 單片機編程將累加器A中的二進制數變成BCD碼,並將百、十、個位數分別寫入內部RAM中的50H、51H、52H中。
這程序也寫的太復雜了!既然51單片機有div指令,並且只是把a中的數字轉變為bcd,那就用div直接運算:
mov
a,#0fdh
mov
b,#100
div
ab
mov
50h,a
mov
a,b
mob
b,#10
div
ab
mov
51h,a
mov
52h,b
計算完成,這樣50h就是百位數,51h是十位數,52h是個位數
⑹ 關於單片機題目:編一個多位元組二進制減法運算程序,已知被減數從內部RAM 30H單元開始,長度為4個位元組,其
;
MOV R0, #30H
MOV R1, #40H
MOV R2, #4
CLR C
LOOP:
MOV A, @R0
SUBB A, @R1
MOV @R0, A
INC R0
INC R1
DJNZ R2, LOOP
CLR A
SUBB A, #0
MOV @R0, A
END
⑺ PIC單片機···兩個十六位二進制數求和. (30H)(31H)+(32H)(33H)=(34H)(35H)(36H)
CLRF 35H
CLRF 34H
MOVF 31H
ADDWF 33H,W
MOVWF 36H
BTFSC STATUS,C
INCF 35H
MOVF 30H
ADDWF 32H,W
BTFSC STATUS,C
INCF 34H
ADDWF 35H,F
BTFSC STATUS,C
INCF 34H
⑻ 單片機作業 x是8位帶符號二進制數x大於0 y等於x加2 x等於0 y等於x x小於0 y等於
你沒有說明白 你的0 是什麼進制 ?
假設0 是進制 給你解題思路
先把8位的2進制轉化為10進制
在判斷就可以了~
你可以用itoa函數進行轉換,這是C語言內置的一個函數。
char *itoa( int value, char *string,int radix);
原型說明:
value:欲轉換的數據。
string:目標字元串的地址。
radix:轉換後的進制數,可以是10進制、16進制等。
⑼ 用單片機控制八個LED燈實現二進制加法(程序沒搞懂,請大神幫忙)
去掉void delay(unsigned int c) 這句話是不能編譯的,因為 delay() 在主函數 main() 裡面調用,但是 delay() 的函數實體是在 main() 函數之後的,編譯器在編譯 main() 函數的時候找不到 delay() 的函數實體,
所以就無法通過編譯,解決方法是在文件頭「聲明」 一下,讓編譯器知道在本文件中搜索 delay() 這個函數,從而成功調用。
八段LED數碼管顯示器由8個發光二極體組成。基中7個長條形的發光管排列成「日」字形,另一個賀點形的發光管在數碼管顯示器的右下角作為顯示小數點用,它能顯示各種數字及部份英文字母。
LED數碼管顯示器有兩種不一樣的形式:一種是8個發光二極體的陽極都連在一起的,稱之為共陽極LED數碼管顯示器;另一種是8個發光二極體的陰極都連在一起的,稱之為共陰極LED數碼管顯示器。
(9)二進制單片機計算題擴展閱讀:
當數碼管特定的段加上電壓後,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個「2」字,那麼應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。
小尺寸數碼管的顯示筆畫常用一個發光二極體組成,而大尺寸的數碼管由二個或多個發光二極體組成,一般情況下,單個發光二極體的管壓降為1.8V左右,電流不超過30mA。
發光二極體的陽極連接到一起連接到電源正極的稱為共陽數碼管,發光二極體的陰極連接到一起連接到電源負極的稱為共陰數碼管。常用LED數碼管顯示的數字和字元是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。