内容发布更新时间 : 2024/11/10 3:21:49星期一 下面是文章的全部内容请认真阅读。
51单片机符号作用
编程中常用符号的意义
一、注释符:单行注释 “//” 、多行注释 “” 程序不执行注释,注释内容仅供阅读或保留不用的语句 在 MQ 语言编辑器中,注释内容以灰色显示 二、分号 “ ; ” 表示一个语句结束
三、逗号 “ , ” 表示一个语句内部间隔,不结束语句。
四、等于号 “=” 赋值语句,把等号后面的值赋给等号前的变量中
五、加号 “+” 整数或小数,则表示值相加;字符串,则表示前后连接。 六、加加 “++” 表示把符号前的变量值加 1 ,例如: “i++;” 这实际上就是: “i=i+1;” 的简写,表示 i 的值加 1 七、加等于 “+=” 表示把符号后的值加到符号前的变量中。例如 “i+=2;” ,实际 上就是 “i=i+2;” 的简写,表示 i 的值加 2
八、双等号 “==” 等于号。 用于逻辑判断, 双等号前后值相等, 则返回逻辑值 “ 真 true” ;双等号前后值不相等,则返回逻辑值 “ 假 false” 九、叹号等号 “!=” 不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值“真true”;不等号前后值相等,则返回逻辑值“假false” 十、“&&” 逻辑符“并且” 十一、“||” 逻辑符“或者” 十二、大括号“{}” 表示函数体。
VCC 是电路的供电电压: C=circuit 表示电路的意思,即接入电路的电压, VDD 是芯片的工作电压; D=device 表示器件的意思,即器件内部的工作电压, 在普通的电子电路中,一般 Vcc>Vdd
VSS : S=series 表示公共连接的意思,也就是负极。
VEE :负电压供电;场效应管的源极( S ), VEE 和 VSS 为电源负正或者地
一、&是取地址符,这同*是相对应的,*是取地址中的内容,而&是去该内容的地址;
二、&是按位取与,1&1=1;1&0=0;0&0=0; 这与是相对应的,是按位取或:1
C语言符号全集合——运算符的种类
C语言的运算符可分为以下几类:
1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
在8051系列单片机中,数据存储区可以分为内部数据存储区以及外部数据存储区。
内部数据存储区又有几个区别:data、idata、bdata; 外部数据存储区又有:xdata、pdata;
data: RAM的低128字节,可在一个周期直接寻址(89C51里面的128字节RAM就是data);
bdata: Data区可字节、位混合寻址的16字节区;
Idata: RAM区的高128字节,必须采用间接寻址,注意89C51是没有idata区的,89C52就有,倘若你的程序用到的内存超过了128字节,那么你需要将某些变量声明在idata区,否则将会报错。
自由口编程数据通讯格式
数据通讯格式:
遥测:主站发:7E、81、00、站号、255-站号、AA。
从站答:7E、81、00、站号、255-站号、B1、B2、、、Bn、55、AA。
(其中B1到Bn为N个Byte数据,顺序为模拟量、开关量、数字量。每个模拟量占两个字节,每个开关量占一位、每个数字量占两个字节。注意原码的高低Byte的位置安排)。
遥控:主发:7E、81、88、站号、255-站号、原码、255-原码。 从不答。 7E 81 88 01 FE 08 F7
原码=(遥控路号-1)+1开(或0停)*8;遥控路号自1到8.
51单片机串口通讯如何发送格式为AA 55 02 F3 00 F5的命令
//c语言
void senddat(){ unsigned char dat[6]={0xaa,0x55,0x02,0xf3,0x00,0xf5}; unsigned char i;
for(i=0;i<6;i++) { TI=0; SBUF=dat[i]; while(!TI); TI=0; } }