⑴ 單片機和C語言有什麼關系嗎
語法、運算符和變數規則都一樣,由於CPU不同,所以庫函數都不一樣。在普通C中常用的頭文件是stdio.h,在單片機(51為例)常用的頭文件是reg51.h或reg52.h。單片機面向的是硬體環境更多一些。常用函數printf,普通C中輸出到屏幕,單片機中輸出到串口。等等,具體的需要自己去挖掘。
⑵ 單片機C語言中的%是表示什麼
是求余的,但不能說是代表a/b以後的余數...
/也是一個運算符,但它是整除
⑶ 單片機c語言中P3=P3|0x3c是什麼意思具體點,尤其是「|」這個符號
「|」是一個按位或邏輯運算符。
P3=P3|0x3c
就是將P3口按位和0x3c邏輯或一遍,然後將得到的值賦給P3。
例:
//假設
P3
=
0XC3;//(11000011)
//執行
P3=P3|0x3c;//(11000011
或
00111100)
//所以
P3
=
0XFF;(11111111)
//P3口全部輸出高電平
⑷ 單片機c語言編程中常用的關系運算符有哪些
單片機c語言編程中常用的關系運算符主要包括:
大於:>
小於:<
等於:==
大於等於:>=
小於等於:<=
不等於:!=
⑸ 誰有 單片機C語言運算符 詳解、
關鍵字 用途 說明
auto 存儲種類說明 用以說明局部變數,預設值為此
break 程序語句 退出最內層循環
case 程序語句 Switch語句中的選擇項
char 數據類型說明 單位元組整型數或字元型數據
const 存儲類型說明 在程序執行過程中不可更改的常量值
continue 程序語句 轉向下一次循環
default 程序語句 Switch語句中的失敗選擇項
do 程序語句 構成do..while循環結構
double 數據類型說明 雙精度浮點數
else 程序語句 構成if..else選擇結構
enum 數據類型說明 枚舉
extern 存儲種類說明 在其他程序模塊中說明了的全局變數
flost 數據類型說明 單精度浮點數
for 程序語句 構成for循環結構
goto 程序語句 構成goto轉移結構
if 程序語句 構成if..else選擇結構
int 數據類型說明 基本整型數
long 數據類型說明 長整型數
register 存儲種類說明 使用CPU內部寄存的變數
return 程序語句 函數返回
short 數據類型說明 短整型數
signed 數據類型說明 有符號數,二進制數據的最高位為符號位
sizeof 運算符 計算表達式或數據類型的位元組數
static 存儲種類說明 靜態變數
struct 數據類型說明 結構類型數據
swicth 程序語句 構成switch選擇結構
typedef 數據類型說明 重新進行數據類型定義
union 數據類型說明 聯合類型數據
unsigned 數據類型說明 無符號數數據
void 數據類型說明 無類型數據
volatile 數據類型說明 該變數在程序執行中可被隱含地改變
while 程序語句 構成while和do..while循環結構
附表1-1ANSIC標准關鍵字
關鍵字 用途 說明
bit 位標量聲明 聲明一個位標量或位類型的函數
sbit 位標量聲明 聲明一個可位定址變數
Sfr 特殊功能寄存器聲明 聲明一個特殊功能寄存器
Sfr16 特殊功能寄存器聲明 聲明一個16位的特殊功能寄存器
data 存儲器類型說明 直接定址的內部數據存儲器
bdata 存儲器類型說明 可位定址的內部數據存儲器
idata 存儲器類型說明 間接定址的內部數據存儲器
pdata 存儲器類型說明 分頁定址的外部數據存儲器
xdata 存儲器類型說明 外部數據存儲器
code 存儲器類型說明 程序存儲器
interrupt 中斷函數說明 定義一個中斷函數
reentrant 再入函數說明 定義一個再入函數
using 寄存器組定義 定義晶元的工作寄存器
附錄二AT89C51特殊功能寄存器列表(適用於同一架構的晶元)
帶*號的特殊功能寄存器都是可以位定址的寄存器
符號 地址 注釋
*ACC E0H 累加器
*B F0H 乘法寄存器
*PSW D0H 程序狀態字
SP 81H 堆棧指針
DPL 82H 數據存儲器指針低8位
DPH 83H 數據存儲器指針高8位
*IE A8H 中斷允許控制器
*IP D8H 中斷優先控制器
*P0 80H 埠0
*P1 90H 埠1
*P2 A0H 埠2
*P3 B0H 埠3
PCON 87H 電源控制及波特率選擇
*SCON 98H 串列口控制器
SBUF 99H 串列數據緩沖器
*TCON 88H 定時器控制
TMOD 89H 定時器方式選擇
TL0 8AH 定時器0低8位
TL1 8BH 定時器1低8位
TH0 8CH 定時器0低8位
TH1 8DH 定時器1高8位
附錄三運算符優先順序和結合性
級別 類別 名稱 運算符 結合性
1 強制轉換、數組、
結構、聯合 強制類型轉換 ( ) 右結合
下標 [ ]
存取結構或聯合成員 ->或.
2 邏輯 邏輯非 ! 左結合
字位 按位取反 ~
增量 加一 ++
減量 減一 --
指針 取地址 &
取內容 *
算術 單目減 -
長度計算 長度計算 sizeof
3 算術 乘 * 右結合
除 /
取模 %
4 算術和指針運算 加 +
減 -
5 字位 左移 <<
右移 >>
6 關系 大於等於 >=
大於 >
小於等於 <=
小於 <
7 恆等於 ==
不等於 !=
8 字位 按位與 &
9 按位異或 ^
10 按位或 |
11 邏輯 邏輯與 && 左結合
12 邏輯或 ||
13 條件 條件運算 ?:
14 賦值 賦值 =
復合賦值 Op=
15 逗號 逗號運算 , 右結合
更多文章轉到:http://hi..com/wqb_lmkj/blog 文章分類下的單片機
⑹ 單片機C語言中x[0]=x[0]|0x01什麼意思
x[0]=x[0] | 0x01是讓x[0]這個數的第0位為1,其它為保持不變,然後賦值回給x[0]。
|是c語言中的或運算符,是二進制位運算符,兩個數要計算的位都為0結果是0,只要有一個數計算位是1結果為1。
⑺ ">>>"在單片機C語言中什麼運算符號
在C語言中<<,>>表示二進制移位
其這<<表示左移>>表示右移
(沒有>>>的,是>>)
如
div_src2<<=1;
表示將div_src2左移一位
x=y<<2;
表示將y左移2位後賦給x
⑻ 單片機C語言中P1=P1<<4啥意思
=:是賦值運算符
<<:是整數位操作運算符中的左移運算符
p1=p1<<4:將p1的二進制位數向左移動四位,將運算結果賦值給變數p1。
⑼ 單片機C語言中比如led=~led,波浪線什麼意思
~在這里是按位取反的意思。
按位取反是C語言位操作的一種,其操作符為~。該操作為單目操作,即只有一個操作數。
~與其後的數值或變數相結合,執行取反計算。
取反是按照二進制位進行計算的,當原操作數的第i位為0時,結果的第i位為1;否則該位值為0。
比如,char a = 0x12;
0x12轉為二進制位 B0001 0010
其按位取反的結果為B1110 1101
於是 ~a = 0xED。
⑽ 51單片機C語言中<<=和|=的意思是什麼
這兩個都是特殊的賦值運算符。這類運算符的形式為OP=,為雙目運算符,即需要左右都有操作表達式。其中左側必須為可改變值的變數,右側可以為任意表達式。
對於OP=的運算符,其含義為:
aOP=b; 等同於a = a OP b;
對於題目中涉及的兩個運算符,分別為:
a <<= b; 等效於a = a << b; 即a左移b位後賦值給a。
左移操作的規則為,高b位捨去,其它依次向高位(左側)移動b位,低b位添加0。
a|=b;等效於a=a|b;即a與b執行按位或操作,結果賦值給a。
或操作的規則為,按位執行,只有相同位上的值均為0時,結果的對應位上為0,否則結果對應位上為1。