51单片机学习笔记3 C51数据类型
- 一、 C51数据类型
- 1. 基本类型
- 2. C51扩充数据类型
- 3. C51运算量
- (1)常量
- (2)变量
- (3)位运算符
- (4)逗号运算符
- 4. 数组
- 二、51 最小系统构成
- 1. 晶振电路
- 2. 复位电路
- (1)上电复位运行过程
- (2)按键复位
- 3. 电源电路
- 4. 下载电路
一、 C51数据类型
1. 基本类型
- 数值类型:整型(hort,int,long)、浮点型(float,double)
- 字符类型 char
- 构造类型:数组、结构体、共用体、枚举
- 指针
- 空类型 void
数据类型 | 关键字 | 位数 | 数范围 |
无符号字符型 | unsigned char | 8 | 0~255 |
有符号字符型 | char | 8 | -128~127 |
无符号整型 | unsigned int | 16 | 0~65535 |
有符号整型 | int | 16 | -32768~32767 |
无符号长整型 | unsigned long | 32 | 0~ |
有符号长整型 | long | 32 | ~ |
单精度浮点型 | float | 32 | 3.4e-38~3.4e38 |
双精度浮点型 | double | 64 | 1.7e-308~1.7e308 |
2. C51扩充数据类型
类型 | 长度 | 值域 | 说明 |
bit | 位 | 0/1 | 位变量声明 |
sbit | 位 | 0/1 | 特殊功能位声明 |
sfr | 8位=1字节 | 0~255 | 特殊功能寄存器声明 |
Sfr16 | 16位=2字节 | 0-65535 | Srf的16位数据声明 |
* | 1~3字节 | 对象的地址 |
示例:
3. C51运算量
(1)常量
- 整型常量,如 长整型:L结尾;
- 浮点型常量
- 字符型常量:单引号定义,如
'a'
; - 字符串型常量:双引号定义,如: “DA”,字符串结尾处会有
\0
;
(2)变量
略……
(3)位运算符
-
&
按位与 -
|
按位或 -
^
按位异或 -
~
按位取反 -
<<
左移 -
>>
右移
(4)逗号运算符
表达式1, 表达式2, ……表达式n
表达式从左到右运算,返回最右边一个表达式的值。
4. 数组
二、51 最小系统构成
1. 晶振电路
晶振一般选择12M或11.0592Mhz,
- 12M更容易计算机器周期,
- 串口通讯中使用11.0592MHz更适合,在串行通信设置波特率时误差为0.
晶振起振时一瞬间会产生电感,2端加无极性旁路电容,用来消除起振电感,容量一般选择 10-33p。
2. 复位电路
复位条件:在RST/VPD引脚端出现 >=10ms时间的高电平时复位。 高电平要>=3V。
一般有两种实现方式;
- 上电复位
- 手动按键复位
(1)上电复位运行过程
上电时,电容通交流、断直流,rst会直连5V高电平。
然后电容开始充电,充电完成后,电容对直流隔断,rst通过r2连到地低电平。
(2)按键复位
按下开关时,电容放电,放电过程电容通交流,RST相当于连5V高电平。由于R1的阻值很小(有的电路设计里不用这个R1,但直接对电容短接放电可能不太好),rst也可以通过这个通路连接高电平。
3. 电源电路
4. 下载电路
供电脑使用USB转TTL连接电路板。这里使用CH340C芯片,它自带晶阵,芯片7、8脚是空的。
如果使用CH340G需要外接晶振。
CH340C的13、14脚要对应普中开发板下载程序使用,通过Q5三极管控制Q3MOS的通断。
当DTR高电平、RTS低电平,三极管导通,MOS会导通,VCC通电。
当DTR低电平、RTS高电平,三极管截止,Q3的G脚被R20拉低,MOS管截止,VCC没有电源。
这个电路可以在使用普中开发板的下载程序省掉冷启动的过程。