第一课:理解二进制 - 从"0"和"1"到计算机世界
📌 学习目标
- 理解什么是二进制
- 掌握十进制与二进制的转换
- 理解二进制在单片机中的作用
- 通过小实验感受二进制的实际应用
🎯 什么是二进制?
十进制回顾
我们日常生活中使用的是十进制(Decimal),有10个数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。
规则:满10进1
15
+ 8
----
23
二进制介绍
而计算机使用的是二进制(Binary),只有2个数字:0 和 1。
规则:满2进1
101
+ 1
----
110
🔄 十进制 ↔ 二进制转换
十进制 → 二进制:除2取余法
例子:把十进制的 13 转换为二进制
13 ÷ 2 = 6 余 1 ← 最低位
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1 ← 最高位
结果:1101
二进制 → 十进制:加权求和
例子:把二进制的 1011 转换为十进制
1 0 1 1
↓ ↓ ↓ ↓
2³ 2² 2¹ 2⁰
8 4 2 1
8 + 0 + 2 + 1 = 11
💡 二进制在单片机中的意义
1. 表示开关状态
0= 关闭(OFF)1= 开启(ON)
2. 表示逻辑
0= 假(False)1= 真(True)
3. 寄存器存储
单片机的寄存器就是用二进制来存储数据的!
🔬 课堂演示实验:二进制灯阵
实验目标
用4个LED灯表示4位二进制数,从0数到15。
硬件连接
| LED | 连接 | 二进制位 |
|---|---|---|
| LED1 | 输出口0 | 2⁰ (1) |
| LED2 | 输出口1 | 2¹ (2) |
| LED3 | 输出口2 | 2² (4) |
| LED4 | 输出口3 | 2³ (8) |
程序代码示例
; 从0数到15,用LED显示二进制
000 01 0000 0000 ; 0 (0000)
001 02 03E8 0000 ; 延时
002 01 0001 0000 ; 1 (0001)
003 02 03E8 0000 ; 延时
004 01 0002 0000 ; 2 (0010)
005 02 03E8 0000 ; 延时
006 01 0003 0000 ; 3 (0011)
007 02 03E8 0000 ; 延时
008 0E 0000 0000 ; 循环
教学建议
可以让学生猜猜下一个数字是什么,或者让学生自己设计一段计数程序。
📊 常用十进制与二进制对照表
| 十进制 | 二进制 | 十六进制 |
|---|---|---|
| 0 | 0000 | 0x00 |
| 1 | 0001 | 0x01 |
| 2 | 0010 | 0x02 |
| 3 | 0011 | 0x03 |
| 4 | 0100 | 0x04 |
| 5 | 0101 | 0x05 |
| 8 | 1000 | 0x08 |
| 10 | 1010 | 0x0A |
| 15 | 1111 | 0x0F |
| 16 | 0001 0000 | 0x10 |
| 255 | 1111 1111 | 0xFF |
✅ 课后小测验
- 十进制的 7 等于二进制的什么?
- 二进制的 1101 等于十进制的什么?
- 8位二进制数最大能表示多少?(答案:255)
🎉 小结
今天我们学到了:
- ✅ 二进制只有 0 和 1
- ✅ 可以使用除2取余法和加权求和法进行转换
- ✅ 二进制表示开关状态和逻辑值
- ✅ LED灯阵可以直观展示二进制
下一课我们将学习寄存器,看看二进制是如何在单片机中存储的!