上篇 基础篇 3
第1章 绪论 3
一、什么是单片机 3
二、单片机的特点 3
三、单片机的应用领域 4
四、单片机的分类 5
五、51系列单片机简介 6
六、单片机的发展现状 6
七、单片机应用系统的开发过程 6
八、本课程的学习目标和学习方法 7
思考与练习 9
第2章 51单片机基础 10
一、51单片机封装形式与引脚功能 10
二、51单片机的内部结构 13
三、51单片机的存储器 14
四、51单片机的指令系统与寻址方式 21
五、51单片机的定时器/计数器 22
六、51单片机的中断系统 27
七、51单片机的串口 33
八、增强型51单片机简介 37
思考与练习 38
第3章 硬件设计与仿真工具 39
一、Proteus ISIS介绍 39
二、用Proteus ISIS设计单片机电路的基本步骤 42
思考与练习 48
第4章 程序设计与开发工具 49
一、单片机的程序设计语言 49
二、单片机程序开发工具Keil 50
三、单片机C程序设计基础 51
四、分支(选择)结构程序设计 71
五、循环结构程序设计 74
思考与练习 76
第5章 单片机的接口技术 77
一、单片机接口技术概述 77
二、单片机的人机交互接口 77
三、外围芯片接口 80
四、单片机的功率接口 82
思考与练习 88
下篇 项目篇 91
项目1 彩灯控制器 91
任务1 用程序控制LED彩灯的亮灭 91
任务2 LED彩灯滚动控制 93
任务3 LED彩灯花样控制 95
思考与练习 97
项目2 通过LED数码管显示数字 98
任务1 1位LED数码管的静态显示 98
任务2 多位LED数码管动态扫描显示 103
思考与练习 108
项目3 电子表决器 109
任务1 简单的三输入端电子表决器 109
任务2 具有多输入端和票数显示功能的电子表决器 111
思考与练习 114
项目4 顺序控制 115
任务1 按钮式人行横道交通灯控制 115
任务2 十字路口交通信号灯控制与实现 122
思考与练习 128
项目5 电子计数器 129
任务 利用定时器/计数器实现计数 129
思考与练习 132
项目6 方波信号发生器 133
任务1 利用定时器溢出查询实现的方波信号发生器 133
任务2 利用定时器中断实现的方波信号发生器 136
任务3 频率可调方波信号发生器的设计 137
思考与练习 141
项目7 数字频率计 142
任务 用单片机测量外部信号的频率 142
思考与练习 145
项目8 单片机系统中的按键处理 146
任务1 独立按键的识别 146
任务2 行列矩阵键盘 149
任务3 与LED数字显示共用端口扫描的键盘 153
思考与练习 156
项目9 电路板设计与制作 157
任务1 印刷电路板设计 157
任务2 单片机应用电路板的安装和焊接 168
任务3 程序移植与下载 173
思考与练习 175
项目10 超声波测距 176
任务1 在仿真电路中模拟超声测距 176
任务2 制作实际的超声波测距装置 181
思考与练习 182
项目11 单片机串行口的应用 183
任务1 通过串行口发送数据块 183
任务2 通过串行口输出扩展I/O口 188
任务3 单片机远程通讯 192
思考与练习 195
项目12 液晶显示器的应用 196
任务 用LCD显示字符 196
思考与练习 203
项目13 数字时钟与定时控制器 204
任务1 利用单片机定时器中断实现的数字时钟 204
任务2 利用RTC芯片实现的数字时钟 209
任务3 作息时间定时控制器 214
思考与练习 217
项目14 模拟量采集 218
任务1 A/D转换芯片的应用 218
任务2 温度与水位的采集与控制 222
任务3 利用单片机内置ADC进行模拟量的采集 226
思考与练习 229
项目15 语音电路的应用 230
任务 制作语音报时时钟 230
思考与练习 236
项目16 LED点阵的显示驱动 237
任务1 4位8×8LED点阵的显示 237
任务2 16×16点阵汉字的滚动显示 240
思考与练习 246
附录 247
附录1 Proteus ISIS中的虚拟仪器(VM) 247
附录2 本书实验用IC电路符号和引脚 248
附录3 Keil C51库函数 249
附录4 本书C51自定义函数源代码 255
附录5 常见内置ADC的51内核单片机简介 258
附录6 课程设计与实训环节要求 265
参考文献 267