1樓:匿名使用者
1.把psw中的第二位用乙個名字a來表示,只要後面使用到a,就是使用psw的第二位。
2.sfr是用來給特殊暫存器區的乙個位址命名的,假設在特殊暫存器區有個位址0xac,將其命名為xaf暫存器,就用 sfr xaf=0xac。sbit是針對特殊暫存器區的位位址命名的。
因此sbit和sfr都是針對特殊暫存器區的命名使用的,不同的是sbit針對「位」(bit)位址,sfr針對「位元組」(byte)位址。
3.bit是針對ram區可位定址範圍(位元組位址20~2f區)128位的位命名的。sbit就是上面描述的。異同點你可以自己歸納了。
2樓:追女孩子的方法
問題1:
sbit a = psw^2;
這不是一條簡單的賦值語句,a也不是什麼變數,而是把他和psw的第二位關聯起來,相當於a是它的別名一樣,如果a變化的話psw的第二位會變,psw的第二位變化時a當然也會變(假設你叫李宇春,現在這條語句就是說把春哥也變成你的名字),其實是乙個東西,這麼做的原因是,在程式中(主函式)psw^2不能夠直接被編譯(如果直接引用,編譯不通過)只能在主函式之前或標頭檔案下方來這麼一句,你可以開啟reg52.h檔案看看其實裡面有很多這種定義,目的是為某個暫存器或io口(其實還是暫存器)的某一位起個別名,使程式設計時既可以位操作又使編譯能通過。
問題二:
sbit在問題1中說的很清楚了,就是為某一位起別名,sfr 這個關鍵字在reg52.h標頭檔案中出現很多
它是微控制器開發商把特殊功能暫存器的物理位址對映到乙個巨集上面,這樣的話就可以對暫存器操作了,你自己可以改動,比如reg52.h中的sfr p0 = 0x80;你改為sfr pp=0x80; 那麼微控制器上的p1口(起名p1口是一種習慣)變成了你的pp口了,sbit a=pp^2完全正確;
問題三:
bit 只是個位變數的關鍵字,和bool (微控制器不支援bool型別),char ,int 類似,為了進行2種狀態判斷有為了節省儲存空間所以有了bit ,你就把他理解為bool就行
3樓:匿名使用者
bit的意思是定義1個布林邏輯變數如:bit a;,sbit是按位定義sfr暫存器位址,如:
sbit add_key = p1.0;。而sfr是按位元組定義,如:sfr p1 = 0x90;。
sbit a = psw^2;
上面這條語句是宣告乙個sbit型別的變數a並給其賦以暫存器psw第二位的狀態值。如果後面psw第二位狀態值發生改變了,a的值會同樣發生改變。
4樓:匿名使用者
1、sbit a = psw^2;意思是psw的第二位的值賦給a,sbit是對位定義的變數,sfr是針對特殊暫存器定義變數的!多看看例子,就會明白咋回事啦!
在c51語言中如何嵌入組合語言
5樓:匿名使用者
右擊工程的資料夾 把庫檔案新增進去 像新增檔案一樣
c51微控制器控制12864程式(c語言),顯示幾個字,或一些簡單的**就行!先謝謝了!
6樓:匿名使用者
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit cs=p2^5; //片選訊號
sbit sid=p2^6; //資料訊號
sbit sclk=p2^7; //時鐘訊號
sbit rst=p2^2; //復位訊號
sbit ch = p2^4; //並行、序列選擇訊號
* 名稱 : delay()
* 功能 : 延時,延時時間為 100us * t。這是通過軟體延時,有一定誤差。
* 輸入 : t
* 輸出 : 無
void delay(unsigned int t)
* 名稱 : test()
* 功能 : 顯示子函式
* 輸入 : 無
* 輸出 : 無
void test()
* 名稱 : main()
* 功能 : 主函式
* 輸入 : 無
* 輸出 : 無
void main()}
給51微控制器程式設計用的c51與c語言有什麼區別?
7樓:商秀榮孝甲
其實區別不是太多。c語言中的所有運算子,在c51中都可以用。但是c51也有特有運算子,如sbit,還有特殊的暫存器名等可以直接寫。c語言中沒有相關的內容。
你對c51微控制器的看法,C51微控制器。XX!你怎麼看?
我認為初學者還是要從51開始。雖然很多人建議說不要再學51了,退出時代了。這話就像說有了c語言就別學彙編了一樣。我一直在學51,現在開始學430,雖然剛開始學,但是對430學習還是很有信心的,而且遇到的困難可以很快的解決,這都歸於學習51的透徹吧。別人說我怎麼學51這麼久,我給自己定的目標是,如果5...
51微控制器c語言程式注釋標註,51微控制器C語言程式注釋標註
四喜丸子 按鍵掃瞄顯示程式,這有什麼難的?自己每一句照著分析分析不就行了。微控制器c語言程式設計,中間幾段程式注釋不會寫,一些步驟看不懂,望講解 20 考試翻版 微控制器的東西要看晶元的資料手冊,裡面有很多講解,其實微控制器裡特定的位址代表了微控制器特定的功能,你賦特定的值就會啟動或關閉功能,微控制...
C51微控制器一鍵多功能
計數嘍,當沒按鍵時,計數為0,當按下按鍵時,計數自加即為1,然後進行判斷當滿足等於1時即p1.1閃爍並確保其他燈滅,當再次按下時,計數再自加即為2,然後進行判斷當滿足等於2時即p1.2閃爍並確保其他燈滅,以此類推。當到了p1.3時,即再次迴圈即可。 include define uchar unsi...