51微控制器c語言程式設計能給位賦值麼

2021-03-04 05:37:09 字數 928 閱讀 5681

1樓:追夢幽白

keil的話可以。開啟你的reg51(或reg52等)標頭檔案,你就會看到已經宣告的位變數,

格式是:sbit 位變數名=sfr名^位地址值 (p3也是標頭檔案中最開始部分宣告的)

標頭檔案中有

sbit wr=p3^6;

所以你直接寫 wr=1就行了

2樓:

c語言中不能直接給二進位制某一位賦值

但是可以通過按位操作來實現

如果你的p3是整型或者字元型的變數,可以通過「按位或」對某一位賦1,通過「按位與」對某一位賦0

p3=p3|0x40;//這樣就是在不改變其他位的同時給第6位賦10x40轉換成二進位制位01000000

假如:p3的值為10110010

10110010

| 01000000結果為 11110010

3樓:匿名使用者

是可以的 雙擊錯誤資訊 到那一行看看上下有沒有錯

51微控制器c語言程式設計能合併不同的io口來賦值嗎

4樓:

你有兩種方法可以達到這個目的,一種是用定義巨集的方式,另外一種就是寫一個賦值函式。我個人建議用函式的方法,巨集容易出錯誤。

在51微控制器c語言程式設計中如何用sbit建立陣列?

5樓:愛丶秋兒

首先申明一bai下、新手一du枚、我也遇到同zhi樣的問題、說

dao個比較笨的辦法、用的時候專直屬

接給p1賦值、微控制器初始時所有i/o口都為高電平,比如你想要floorled1=0;你就寫p1=0xfe;floorled2=0;你就寫p1=0xfd;floorled1=0;floorled2=0;你就寫p1=0xfb;個人見解、謝謝!!!

51微控制器程式設計時彙編和c語言如何結合

c語言和組合語言之間主要存在 相互呼叫 混合程式設計等關係,舉例來說吧 1 c語言呼叫匯編子程式 此時,彙編子程式需要申明為外部程式 include extern void delay void sbit pluse p1 0 main 彙編子程式 彙編部分需要做如此處理。public delay ...

c51微控制器 中斷,c51微控制器如何使用中斷

這個程式是有問題的,第一次中斷時,x先賦值0再加一,x為1,第二次中斷時,又給x賦值0,這樣每次中斷都為1,不可能為2,也就不可能執行到b,建議用全域性變數可以解決這個問題。還有一個問題,一直在執行中斷程式,下一次中斷來臨時,為同級中斷,同級中斷是否能觸發,這個問題要考慮。解決辦法 a和b放在主程式...

c51微控制器設計,c51微控制器函式宣告

我這裡有個00 99正計時的程式,你先看看。如果認為基本可以,我再幫你改成倒計時的,並且具有按鍵起動 停止的功能。c51微控制器函式宣告 主函式是起始位置,在主函式main後面的函式必須要有函式宣告另外,在main主函式之前的函式,雖然可以省略函式宣告但編寫順序是有先後的,就是你在主函式裡面呼叫函式a...