/*
点亮第一个led灯
sbit 变量名=地址值;
*/
#include <reg52.h>
sbit led=P2^0; //即定义led为P2口的第0位,以便进行位操作.(sbit是定义特殊功能寄存器的位变量)
void main()
{
led=0; //须知LED灯低电平有效,当LED电压为0时,LED灯被点亮亮
}
预备知识
- 电平特性
- 2进制与16进制的表示及转换
- 二进制数的逻辑运算
- 8051单片机介绍
- C51基础知识
(1) 电平特性:
数字电路中两种电平:高/低
TTL电平:高 +5V 低 0V
RS232电平(计算机串口):
高 -12V 低 +12V
(2) 二进制: 十进制与二进制转换
十六进制:0-15: 10 11 12 13 14 15
A-F: A B C D E F
十六进制与二进制对应关系:
0 1 2 3 4
0000 0001 0010 0011 0100
5 6 7 8 9
0101 0110 0111 1000 1001
A B C D E F
1010 1000 1100 1101 1110 1111
字母 H 后缀表示 BH->十六进制的11
16进制表示法{
0x前缀表示 0x23->十六进制的23
23
00 10 0011 = 35 十进制
3216 8 4 2 1
(3) 二进制逻辑运算:“与”,“或”,“非”,“异或”(相同为0,不同为1);
(4) 80C51介绍
(5) C51知识:
0x00 数据类型扩充定义:
- sfr:特殊功能寄存器说明
- sfr16:sfr 的 16 位数据声明
- sbit:特殊功能位声明
- bit:位变量声明
0x01 C51数据的存储类型:与C基本相同
0x02 C51包含的头文件:
常用:<reg52.h>,<math.h>
0x03 C51运算符:与C基本相同
>> << (位右移,位左移,缺位补0)
& | (按位与,按位或)
**^ ~ (按位异或,按位取反)**
0x04 C51基本语句:与C基本相同
MCU开发流程
1. 编写程序。编译所有工程文件(Rebuild)
2. 生成.hex文件。
3. 编译所有工程文件。
4. 烧录软件。(冷启动之后再打开单片机电源)