项目1单片机及应用开发环境初探 1
1.1 项目总述 1
1.2 项目实施 1
1.2.1 任务一:认识MCS-51单片机 1
1.2.2 任务二:Proteus的使用 2
1.2.3 任务三:Keil的使用 7
1.2.4 任务四:单片机开发板初探 11
1.3 知识库 12
1.3.1 单片机 12
1.3.2 单片机的应用领域 12
1.3.3 MCS-51系列单片机 13
1.3.4 MCS-51单片机内部结构 13
1.3.5 MCS-51单片机的封装及引脚功能 17
1.3.6 MCS-51单片机的存储器结构 19
1.3.7 时钟电路与复位电路 21
1.3.8 单片机的最小系统 23
1.3.9 单片机应用开发语言与环境 23
1.3.1 0开发流程 24
1.4 项目总结 25
习题 25
项目2 LED花样灯设计 26
2.1 项目总述 26
2.2 项目实施 26
2.2.1 任务一:用单片机点亮一个LED 26
2.2.2 任务二:用单片机控制一个LED闪烁 28
2.2.3 任务三:设计LED花样灯 30
2.3 知识库 32
2.3.1 MCS-51单片机的I/O口 32
2.3.2 LED 36
2.3.3 程序部分相关知识 37
2.4 项目总结 40
习题 40
项目3数字电子钟设计 42
3.1 项目总述 42
3.2 项目实施 42
3.2.1 任务一:用1位LED数码管循环显示数字 42
3.2.2 任务二:用4位数码管显示4位不同数字 46
3.2.3 任务三:设计0~99秒计时器 49
3.2.4 任务四:设计简易数字电子钟 51
3.3 知识库 55
3.3.1 MCS-51单片机定时器/计数器结构与工作原理 55
3.3.2 MCS-51单片机定时器/计数器的工作方式 57
3.3.3 定时器/计数器的使用方法 59
3.3.4 LED数码管的结构与原理 60
3.3.5 LED数码管的显示方式 62
3.3.6 程序部分相关知识 63
3.4 项目总结 64
习题 64
项目4电子记分牌设计 66
4.1 项目总述 66
4.2 项目实施 66
4.2.1 任务一:矩形波信号负跳变计数 66
4.2.2 任务二:按键控制1位数码管循环显示数字 69
4.2.3 任务三:设计电子记分牌 71
4.3 知识库 75
4.3.1 中断的基本概念 75
4.3.2 MCS-51单片机的中断系统 75
4.3.3 独立按键与键盘 80
4.4 项目总结 81
习题 81
项目5门禁密码锁设计 83
5.1 项目总述 83
5.2 项目实施 83
5.2.1 任务一:单片机双机串口通信 83
5.2.2 任务二:单片机向PC发送信息 86
5.2.3 任务三:单片机接收PC发送的信息 91
5.2.4 任务四:矩阵键盘按键识别 95
5.2.5 任务五:设计门禁密码锁 98
5.3 知识库 104
5.3.1 MCS-51单片机串行接口 104
5.3.2 MAX232芯片 111
5.3.3 矩阵式键盘及按键识别 112
5.4 项目总结 114
习题 114
项目6点阵显示屏设计 115
6.1 项目总述 115
6.2 项目实施 115
6.2.1 任务一:逐行点亮LED点阵显示器 115
6.2.2 任务二:用LED点阵显示器显示数字 117
6.2.3 任务三:用LED点阵显示器显示汉字 119
6.3 知识库 121
6.4 项目总结 123
习题 123
项目7波形发生器设计 124
7.1 项目总述 124
7.2 项目实施 124
7.2.1 任务一:用I/O口产生指定宽度的方波 124
7.2.2 任务二:用数模转换器产生指定宽的方波 128
7.2.3 任务三:设计锯齿波发生器 130
7.2.4 任务四:设计正弦波发生器 132
7.3 知识库 136
7.3.1 波形发生器 136
7.3.2 模拟量与数字量 136
7.3.3 模拟量与数字量的转换 136
7.3.4 D/A转换 137
7.3.5 常用D/ A转换器的性能及应用 138
7.4 项目总结 140
习题 140
项目8数字显示温度计设计 142
8.1 项目总述 142
8.2 项目实施 142
8.2.1 任务一:用1602 LCD屏显示字符串 142
8.2.2 任务二:设计数字显示温度计 146
8.3 知识库 155
8.3.1 1602 LCD屏 155
8.3.2 DS18B20温度传感器 159
8.4 项目总结 162
习题 162
附录A C51语言 164
A.1 C51语言简介 164
A.2 C51基本数据类型 164
A.2.1 常量 164
A.2.2 变量 165
A.3 运算符与表达式 167
A.3.1 赋值运算 167
A.3.2 算术运算 167
A.3.3 关系运算 168
A.3.4 逻辑运算 169
A.3.5 位运算 169
A.3.6 自增减运算及复合运算 170
A.3.7 条件运算符 170
A.3.8 逗号运算符 171
A.4 程序结构与程序语句 171
A.4.1 程序的基本结构与语句 171
A.4.2 常用重要语句说明 172
A.5 数组 175
A.5.1 一维数组 175
A.5.2 二维数组 176
A.5.3 字符数组 177
A.6 指针 178
A.7 函数与变量的作用域 179
A.7.1 主函数 180
A.7.2 其他函数 180
A.7.3 变量的作用域 182
A.8 编译预处理 182
A.8.1 宏定义 182
A.8.2 文件包含处理 183
A.9 C51的注释 184
附录B MCS-51单片机指令表 185
附录C ASCII码表 190
参考文献 192