1樓:匿名使用者
&是按位『與』。即只保留是1的位。
後邊實際上就是
if()
else if
else if
else if
的功用相同
2樓:匿名使用者
c裡&就是按位與,就是兩個變數位都為1,就是1,如果不同時是1,就為0
temp=temp&0xf0;就是高四位有效,第四位被遮蔽了,不管temp的低四位是什麼,輸出都是0.
而高四位,和你按鍵狀態有關。
3樓:點點曉娜
&就是按位與,就是兩個變數位都為1,就是1,如果不同時是1,就為0;
微控制器c語言程式設計是可不可以直接用小數去運算
4樓:匿名使用者
可以用小數運算,不過你的變數型別需要定義成浮點型float w;
float x;
w=251;
x=w * 2.06;
5樓:匿名使用者
得看微控制器是否支援浮點運算
6樓:匿名使用者
嗯,這個例子舉得好,形象
7樓:匿名使用者
例子確實比較詳細,補充得也很到位。
c51微控制器怎麼用c語言實現數值的開方和平凡運算?
8樓:
首先,樓bai主要明白,c51是基於標準du的c語言擴充套件zhi而來的,所dao以,標準c語言能做的內東西,c51也可以容。
平方運算,自不必說,就是兩個數相乘:
例如:float a,b,c; c = a*b;
開方,則需要用到庫函式:
標準c語言裡用的是 sqrt()函式,這個函式包含在math.h檔案中。
所以:#include
c = sqrt(a);
就可以了
請問微控制器c語言程式設計與微控制器c51程式設計的區別是什麼?
9樓:匿名使用者
51是微控制器的一種。基於不同核心(cpu)的微控制器,其指令系統不同,所以編譯器不同。
c51將c編譯成51彙編,而微控制器c語言應該通指,不過國內常把51與微控制器等同起來。
10樓:
沒什麼區別。c51微控制器可以用組合語言程式設計,也可以用c語言程式設計!
11樓:匿名使用者
你可以用c語言或者組合語言程式設計,c51微控制器是指乙個系列的微控制器。
請問微控制器c語言程式設計中那些進製數是什麼意思啊? 下面舉例:
12樓:匿名使用者
這些資料是根據io口輸入輸出的數值來確定的,至於是什麼數值,就看這個io口接什麼電路或者啟動微控制器內部的什麼功能模組,一般都是8位的,例如在微控制器的計時/定時器,中斷等都有說明的,至於你提到的we_*** = 0x40,就是在we_*** 這個口輸入或者輸出二進位製數01000000,把這個數轉化為十六進位制就是0x40了。再舉個例,如果我要點亮8個led燈中的單數字,要在微控制器的p1口輸出,那麼就是輸出01010101到p1口中,指令就是p1=0x55了。
13樓:匿名使用者
0x表示16進製製數。 0x40等於十進位制的 4 * 16 + 0 * 16的0次方 = 64.
同理可以算出相應的16進製製數對應的10進製數的值。 可以找一些微控制器的書看看,或者看計算機組成原理這些書。
微控制器和計算機通常使用二進位制,不過二進位制書寫麻煩,十六進位制比較方便些。 we_*** = 0x40 看起來像是設定***的寫使能操作。如果是的話,把0x40寫成二進位制,看1和0與之對應的硬體訊號線就可以明白其操作。
不過要參考硬體晶元手冊。
14樓:蟑兒螂
這些是是表示微控制器開發板的引腳的儲存位置,we-***=0x40意思就是定義這個變數的位址為0x40,微控制器是通過改變引腳的高低電平來傳輸訊號的。 大學裡應該都有這門課,你可以選
15樓:匿名使用者
找《數位電路》,你說的那個是16進製制。分別是0-9-abcdef,a代表10,以此類推
微控制器c語言裡的取反怎麼用?
16樓:yty隨意
1、首du先開啟桌面上的keil軟體,在進行zhi對51微控制器進行程式設計時最常用的就是keil軟體。
dao內
2、然後
編寫容相應的**。
3、在編寫完成以後,要進行編譯,確保程式沒有錯誤。同時生成hex檔案,並進行儲存。
4、開啟燒寫軟體(也可以使用stc的)。點選【開啟檔案】,尋找剛剛編寫的程式。
17樓:文化廚子
c語言中取反bai
運算子是「~du」 , 「~」是一元運算子zhi,用來對乙個dao二進位制整數按位取反版
,即權將0變1,將1變0。
1、"~"運算子可以對整型常量直接操作,比如int a = ~0 - 1; //在微控制器程式設計中經常看到這樣的**。
2、"~"運算子也可以操作變數
int a = 2;
int b = ~a;
a = ~a; //因為~運算是一元運算子,所以沒有復合賦值運算。
18樓:用著追她
^1、首bai
先開啟桌面上的keil軟體du,在進行對51微控制器進行程式設計zhi。
2、編寫相應的代dao碼:#include//定義單內片機的頭文容件sbit led=p2^0; //定義微控制器的管腳,void main(void) //主函式{ while(1) //無限迴圈 { led=0x1f; //點亮前面三個燈。這裡是十六進位制的換算。
3、在編寫完成以後,要進行編譯,確保程式沒有錯誤。同時生成hex檔案,並進行儲存。
4、找到相應的資料夾以後,尋找hex檔案。這是所能燒寫軟體識別的程式。
19樓:匿名使用者
對乙個數取反用符號:~ 比如對變數x取反:~x;
對一「位」取反用符號:! 比如對位變數flag取反:!flag;
20樓:匿名使用者
i=~i;您這樣是對的;
21樓:風之_鏡花水月
就是這樣,或者i~=i;
22樓:
可以用,但是不推薦。
最好用i = (1 << 32) - i;
c語言程式設計中運算子%(求餘運算子)怎樣使用?
23樓:胡說八道小鬼
%是求餘運算子,來也叫模除運算子,用自于求餘數。
%要求兩個bai
運算元均為整數
du(或可以隱式轉換成zhi整dao數的型別)。
標準規定:
如果%左邊的運算元為負數時,則模除的結果為負數或者0,如果%左邊的運算元為正數時,則模除的結構為正數或者0。
示例**:
c 為字元型別,其235對應二進位制位0xfd,也就是-3的補碼形式。則c變換為int 為-3;
下表顯示了c語言支援的所有算術運算子。假設變數a的值為10,變數b的值為 20,則:
例項當上面的**被編譯和執行時,它會產生下列結果:
24樓:匿名使用者
求餘bai運算子(%)
兩邊的運算量必
du須為整型,zhi
且%後面的運算量不能為dao0。
內例如:
7 % 4 商為1 餘數值為容3;
7 % 4 餘數值為3;
4 % 7 餘數值為4
10 % 5 餘數值為0
25樓:匿名使用者
由於/與%的運算優先順序比+-優先順序高,所以先運算/%,5/2=2, 5%2=1(%此符號意思就是5除以2然後取餘數), 然後運算加減運算,結果是:3.8
26樓:
5/2是整除,就是做除法後不要餘數,結果為2;5%2是取餘,就是做除法後不要整數部分,只要餘數,結果是1。歸根結底就是5除以2的結果是:2餘1。明白了嗎?
27樓:匿名使用者
應該是3.3吧。%你知道商吧 乙個數除以另乙個數 上邊就商,最下邊就是餘數了 5%2去取餘
商2餘1麼,餘數是1 所以5%2 =1.
28樓:匿名使用者
5%2結果是1
6%2結果是0
**裡直接寫a%b就可以了
微控制器程式設計和平時c語言程式設計的區別
29樓:匿名使用者
1、微控制器中c的語抄
法一般襲都對 ansi c有些擴充套件,及一些特殊寫法 如c51擴充套件的 data xdata bit sbit 一類的,還有一些中斷程式寫法 void int() interrput 1 一類的。
2、c是一門語言,由對應平台的編譯器編譯成對應平台彙編的程式,各平台的彙編不一樣,當然編譯器也不一樣 dos上的tc2 tc3 windows上的vc 8051的c51都有自已的編譯器 具體區別是由編譯器決的,只能參考對應的編譯手冊,即使同種平台不同的編譯器對c的擴充套件也有不同。
30樓:匿名使用者
微控制器的主程式要在乙個迴圈體內才可以保證微控制器穩定的執行,內所以禁止出現return這個東東的容
在主程式中,你可能看過很多微控制器程式,如果之前一直前行,到最後至少都會有乙個while(1);來結束,就是將程式穩定在這個地方,以保證之前程式的「成果」。如果沒有這個,程式就從此不受控而亂了。
申明變數時並不是都宣告為外部變數,只有需要時才會如此宣告的。
31樓:匿名使用者
void main 這種寫法很常copy見,但是在有些編譯器上通不過,它要求必須有返回值,但有些編譯器沒之歌要求,大家就用void了, 在微控制器的main函式裡,一般會有乙個大的死迴圈,初始化完成後就在這個死迴圈裡執行,所以一般不會到return這
至於宣告外部變數,這個我認為你的意思是定義變數吧,而不是宣告變數。定義區域性變數和外部變數根據需要而定,這個不是死的
其實 只有外部變數需要宣告,區域性變數不需要的,注意這裡的宣告不是定義,要能區分變數宣告和變數定義的區別
32樓:fly王彪
在main主函式中都有乙個while語句進行迴圈,結果表現在微控制器上,比如流水燈。微控制器程式設計主要是與硬體結合,一般不需要返回值
至於宣告變數的時候都是宣告的外部變數,我同意樓上說法,根據需要去寫。
c語言中?:和!是什麼意思,怎麼運用在程式設計中
33樓:匿名使用者
?: 是條件運算子,使用的格式如下 (條件)?a:b ,如果條件成立,表示式的值就是a,否則是b
!是用來取非運算的,!true的結果就是 false !false 的結果是 true
寫程式中,?:用的比較少,!主要永愛條件判斷中
34樓:匿名使用者
?:條件運算子
類似於if else , 例如 x等於a,b中較大的那個 , ( a > b ) ? (x = a ): (x = b) 或者 x = (a > b) ? a : b
!是非運算子
邏輯取反的意思,例如 if (!( x = 5 )) 等同 if ( x != 5 ) 這個意思,不知明白沒
35樓:超級餅餅乾
?:的意思是條件運算子,使用的格式如下(條件)?a:b,如果條件成立,表示式的值就是a,否則是b。
!的意思是用來取非運算的,!true的結果就是 false !false 的結果是 true。
寫程式中,?:用的比較少,!主要用在條件判斷中。
延展回答:
1、c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
2、儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。
3、c語言一共只有32個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語言的基本結構和語句與低階語言的實用性結合起來。c 語言可以像組合語言一樣對位、位元組和位址進行操作,而這三者是計算機最基本的工作單元。
在C51微控制器的程式設計中,怎樣把組合語言嵌入到C語言中
建議 用c語言做個框架,編譯後改為彙編框架,填入匯程式設計序,一般可以保證和c語言相容.注意格式 a 把a 作關鍵字,其後的彙編用大括號闊起 如 void set time void 或 void set time void 還有編譯器的設定問題 keilc51中是可以直接嵌入彙編,方法為 prag...
如何拿微控制器用C語言程式設計做鬧鐘,如何拿微控制器用C語言程式設計做乙個鬧鐘
按鍵,顯示屏,喇叭或蜂鳴器,電源,微控制器及外圍器件.這個是硬體必須的.你要根據要求來選擇硬體,如果用led顯示,就比較耗電,用乾電池做電源肯定不行.如果用lcd顯示,那麼就要選擇帶lcd驅動的微控制器.軟體實現很簡單,時間的準確性,和省電這塊可能會比較棘手.我們自己研發的多定時多錄音鬧鐘已經賣了很...
PIC微控制器c語音變成組合語言,微控制器大神進,如何將C語言變
有個組合語言轉換器 你自己找找 這個轉化也不是很精確 很容易是自己迷糊,建議還是用c好,現在還用彙編 out了 如何用keil uvision2把c語言的微控制器程式轉換為組合語言 彙編是不可能用軟體自動轉成c語言的,想轉成c就自己寫,反正是自己的程式,程式流程內是不用變容的。keil uvisio...