Ⅰ 單片機C語言里的取反怎麼用
對一個數取反用符號:~ 比如對變數x取反:~x;
對一「位」取反用符號:! 比如對位變數flag取反:!flag;
Ⅱ 單片機取反符號~和!的區別,求教。
他們的區別如下:
1、!它返回的值只有兩種狀態0或者1;
2、~是按二進制位取反它的返回值有多種,具體取決於具體數值。
如果在單片機上一個位元組8位分別控制8個埠,假設無符號數初始值為1,第1個埠開其它全關。!後埠就全關了,而~後是第1個埠關,其它全開。
Ⅲ pic單片機怎麼用戶匯編語言實現位取反
用COMF指令。
例如對於一個自定義的變數TEMP
PIC10、PIC12、PIC16系列單片機用 COMF TEMP,1
PIC18系列單片機用 COMF TEMP,1,0
PIC24、dsPIC系列單片機用 COM TEMP (注意這兩個系列的單片機用的匯編的不是COMF,而是COM)
另外PIC32系列單片機沒用過其匯編,所以沒法說是怎麼寫。
Ⅳ 怎麼樣使單片機引腳輸出為反邏輯用程序怎麼實現不用程序的話,用電子器件怎麼實現詳細點,謝謝!
1、程序實現:在輸出語句前加「~」(取反符號)即可。例如:led0為驅動發光二極體亮滅的邏輯信號,正常的語句為P1_0=led0;若要負邏輯,語句為P1_0=~led0;2、硬體實現:使用74ls00或74ls04(非門、與非門),即可輸出反邏輯。Ⅳ 單片機c語言位變數取反
a=~a,
取反有兩種「!」「~」
!符號是位取反(是「位」),只針對位變數。
~符號是按位取反(是「按位」),針對位元組變數
但在C中可以互換,
Ⅵ 單片機取反
while(1)
{
if(kg==0)
{
yanshi(5);
if(kg==0)
while(!kg);
TR0=~TR0;這步到底是什麼 意思。通俗易懂的語言解釋
}
這個就是看kg是不是等於0,如果是先調用延時(帶入參數5),後再判斷kg是否還是等於0,如果是就一直等到kg變為1然後把TR0取反
Ⅶ 單片機中如何將寄存器R2中的數據奇數位取反,偶數位不變
MOV A #AAH ;將累加器賦值10101010
ORG A R2 ;將R2或到累加器中得R2奇數位(偶數位為1)
CPL A ;將累加器取反,即R2奇數位取反(偶數位為0)
MOV R3 A ;將累加器內容放入R3
MOV A #0AAH 將累加器賦值10101010
ANL A R2 ;將R2與到累加器中R2偶數位(奇數位為0)
ORG A R3 ;將R3或到累加器中,即R2奇數位的反與R2偶數位求或
MOV R2 A ;將結果賦到R2中