⑴ 单片机和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。