项目一 认识单片机 1
任务一 单片机基础知识概述 1
一、什么是单片机 1
二、单片机的发展过程 2
三、单片机的分类 3
四、单片机的特点与应用范围 3
五、典型单片机的产品介绍 4
任务二 MCS-51系列单片机的基本结构 5
一、89C51引脚功能 6
二、89C51的内部结构 7
三、89C51单片机存储器的配置 9
任务三 单片机最小系统 15
一、电源电路 15
二、时钟电路 15
三、复位电路 17
四 输入/输出接口 19
思考题与习题 22
项目二 Keil软件与PROTEUS软件基础知识 23
任务一 认识Keil软件 23
一、任务目标 23
二、相关知识 23
任务二 了解PROTEUS软件 41
一、任务目标 41
二、相关知识 41
思考题与习题 56
项目三 C语言基础知识 57
任务一 数制与逻辑 57
一、常见的数制 57
二、不同数制间的转换 58
三、数据在单片机中的表示方法 60
四、常见的信息编码 61
任务二 C语言的基础知识 62
一、Keil C51. 63
二、C51的数据类型 64
三、常量 67
四、变量 68
五、C51数据与运算 71
六、C51程序结构与控制语句 78
思考题与习题 85
项目四 流水灯及数码管的显示设计 87
任务一 点亮一个闪烁的LED灯 87
一、任务目标 87
二、硬件电路设计 87
三、相关知识 87
四、本任务知识要点 88
五、程序设计分析 89
六、源程序 90
任务二 点亮8个闪烁的LED灯 91
一、任务目标 91
二、硬件电路设计 91
三、相关知识 92
四、本任务知识要点 92
五、程序设计分析 93
六、源程序 94
任务三 任意流水灯的设计 95
一、任务目标 95
二、硬件电路设计 95
三、相关知识 95
四、本任务知识要点 96
五、程序设计分析 96
六、源程序 98
任务四 一个数码管的静态显示 98
一、任务目标 98
二、硬件电路设计 99
三、相关知识 99
四、本任务知识要点 101
五、程序设计分析 102
六、源程序 103
任务五 两个数码管的动态显示 104
一、任务目标 104
二、硬件电路设计 104
三、相关知识 105
四、本任务知识要点 105
五、程序设计分析 105
六、源程序 106
任务六 6个数码管的动态显示 107
一、任务目标 107
二、硬件电路设计 107
三、相关知识 107
四、本任务知识要点 108
五、程序设计分析 109
六、源程序 110
思考题与习题 111
项目五 键盘控制原理及检测设计 112
任务一 独立键盘检测 112
一、任务目标 112
二、硬件电路设计 112
三、相关知识 112
四、本任务知识要点 112
五、程序设计分析 113
六、源程序 115
任务二 矩阵键盘检测 115
一、任务目标 115
二、硬件电路设计 116
三、相关知识 116
四、本任务知识要点 117
五、程序设计分析 118
六、源程序 121
任务三 简易计算器的设计 124
一、任务目标 124
二、硬件电路设计 124
三、相关知识 125
四、本任务知识要点 126
五、程序设计分析 126
六、源程序 129
思考题与习题 134
项目六 中断与定时/计数器应用 135
任务一 键控LED秒闪烁 135
一、任务目标 135
二、硬件电路设计 135
三、相关知识 136
四、本任务知识要点 139
五、程序设计分析 139
六、源程序 140
任务二 输出1000Hz的方波 140
一、任务目标 140
二、电路设计 141
三、相关知识 141
四、本任务知识要点 143
五、程序设计分析 144
六、源程序 145
任务三 歌曲演奏 146
一、任务目标 146
二、电路设计 146
三、相关知识 147
四、本任务知识要点 149
五、程序设计分析 150
六、源程序 151
任务四 数码管电子钟的设计 153
一、任务目标 153
二、电路设计 153
三、相关知识 154
四、本任务知识要点 154
五、程序设计分析 155
六、源程序 156
思考题与习题 159
项目七 A/D与D/A转换方法 160
任务一 使用DAC0832生成锯齿波 160
一、任务目标 160
二、电路设计 160
三、相关知识 161
四、本任务知识要点 164
五、程序设计分析 164
六、源程序 165
任务二 用DAC0808设计直流电动机调速器 166
一、任务目标 166
二、电路设计 166
三、相关知识 167
四、程序设计分析 167
五、源程序 168
任务三 利用ADC0808设计调温报警器 169
一、任务目标 169
二、电路设计 170
三、相关知识 171
四、程序设计分析 174
五、源程序 175
任务四 用ADC0809实现简易数字电压表 177
一、任务目标 177
二、电路设计 178
三、相关知识 178
四、程序设计分析 180
五、源程序 180
思考题与习题 182
项目八 串口通信原理与基本方法 183
一、单片机串口通信基础知识 183
二、MCS-51单片机的串行口 185
任务一 基于工作方式0的扩展并行输出控制流水灯 188
一、任务目标 188
二、电路设计 188
三、程序设计分析 189
四、源程序 190
任务二 基于工作方式0的扩展并行输入控制流水灯 191
一、任务目标 191
二、电路设计 191
三、程序设计分析 192
四、源程序 193
任务三 基于工作方式1的单工通信控制流水灯 194
一、任务目标 194
二、电路设计 194
三、程序设计分析 198
四、源程序 198
任务四 基于工作方式2/3的单工通信控制流水灯 199
一、任务目标 199
二、电路设计 200
三、程序设计分析 201
四、源程序 202
思考题与习题 203
项目九 多机通信 204
任务一 单片机的双机通信 204
一、任务目标 204
二、电路设计 204
三、程序设计分析 207
四、源程序 208
任务二 单片机的多机通信 210
一、任务目标 210
二、电路设计 211
三、程序设计分析 213
四、源程序 214
任务三 单片机和PC串口通信 217
一、任务目标 217
二、电路设计 217
三、程序设计分析 220
四、源程序 221
五、运行与调试 222
思考题与习题 225
项目十 通用液晶显示设计 226
任务一 字符式液晶LM016L显示方法 226
一、任务目标 226
二、电路设计 226
三、程序设计分析 234
四、源程序 234
任务二 LCD 12864点阵图形液晶显示 237
一、任务目标 237
二、电路设计 238
三、程序设计分析 248
四、源程序 248
任务三 电子万年历 259
一、任务目标 259
二、电路设计 259
三、程序设计分析 265
四、源程序 266
思考题与习题 276