第1章 单片机基础知识 1
1.1 单片机的概念及发展 2
项目任务1 一只会闪光的灯 2
1.1.1 单片机的定义 2
1.1.2 单片机的应用领域 3
1.1.3 单片机技术的发展阶段 4
1.2 单片机的结构 5
1.2.1 AT89S52单片机的内部构件 5
1.2.2 AT89S52单片机引脚功能 10
1.3 单片机最小应用系统 13
项目实施1 闪光灯电路的硬件与软件设计 15
项目训练1 设计一只会闪光的灯 18
1.4 熟悉Keil开发平台 19
项目任务2 数据传送后观察标志位和口地址的变化 19
1.4.1 单片机集成开发环境 19
1.4.2 ISP软件的使用 30
项目实施2 数据传输的实现 32
项目训练2 用单片机最小系统设计流水灯电路 34
练习题1 36
讨论题1 38
第2章 单片机寻址方式与指令系统 39
2.1 片内存储器及特殊功能寄存器 40
项目任务3 观察单片机存储器及寄存器的变化 40
2.1.1 单片机寻址方式 40
2.1.2 单片机指令寻址 40
2.1.3 单片机标志位 45
项目实施3 寄存器窗口功能的实现 46
项目训练3 单片机片内数据向片外传送 49
2.2 单片机指令系统的格式与功能 49
项目任务4 单片机片内数据向片内传送 49
2.2.1 单片机指令系统的格式 49
2.2.2 单片机指令系统的分类与使用方法 51
项目实施4 单片机片内数据从一个单元传到另一个单元 65
项目训练4 单片机片外数据向片内传送 66
练习题2 66
讨论题2 70
第3章 中断与定时 71
3.1 中断 72
项目任务5 控制流水灯的闪烁变化 72
3.1.1 中断的概念 72
3.1.2 中断源与中断向量地址 72
3.1.3 中断标志与控制 74
3.1.4 优先级结构 77
3.1.5 中断系统的初始化及应用 78
项目实施5 采用中断方式实现8个灯的闪烁变化 80
项目训练5 采用中断方式控制8个灯流水方向 83
3.2 定时器与计数器 83
项目任务6 采用定时方式实现流水灯的速度变化 83
3.2.1 定时器/计数器的结构与功能 83
3.2.2 定时器/计数器控制寄存器 84
3.2.3 定时器/计数器工作方式与程序设计 86
3.2.4 定时器/计数器2 94
项目实施6 用定时方式实现流水灯快慢闪烁 95
项目训练6 简易交通信号灯设计 99
练习题3 100
讨论题3 101
第4章 并行输入与输出 103
4.1 字符显示 104
项目任务7 用数码管显示多位数字 104
4.1.1 发光二极管及LED显示器 104
4.1.2 七段LED显示器的工作原理 106
项目实施7 在数码管上从左到右显示8个数字 108
项目训练7 一位密码锁电路设计与调试 111
4.2 矩阵式键盘电路设计 112
项目任务8 多位密码锁的开启与关闭 112
4.2.1 键盘工作原理 112
4.2.2 键盘接口的控制方式 115
项目实施8 每按一个按键在数码管上显示数字 117
项目训练8 电子钟设计与实现 122
练习题4 123
讨论题4 124
第5章 串行通信 125
5.1 单片机与PC之间通信 126
项目任务9 单片机与PC之间的数字传送显示 126
5.1.1 串行通信的概念与通信方式 126
5.1.2 串行通信总线标准及其接口 128
5.1.3 AT89S52串行口工作方式 132
项目实施9 将单片机显示的数字发送到PC 136
项目训练9 数字温度采集与显示 141
5.2 单片机与单片机之间的通信 142
项目任务10 单片机与单片机之间的数字传送显示 142
5.2.1 串行口通信 142
5.2.2 多机通信 144
项目实施10 将甲单片机显示的数据传送到乙单片机 145
项目训练10 门禁控制系统的设计 149
练习题5 172
讨论题5 172
第6章 A/D和D/A转换 174
6.1 A/D转换电路 175
项目任务11 水塔的水位检测 175
6.1.1 A/D转换的概念与技术指标 175
6.1.2 A/D转换典型芯片ADC0809 176
项目实施11 水塔液位高度的测试 179
项目训练11 简易数字电压表的制作 185
6.2 D/A转换电路 185
项目任务12 设计一个小功率直流电机驱动电路 186
6.2.1 D/A转换器的概念与性能指标 186
6.2.2 D/A转换典型芯片DAC0832 186
项目实施12 小功率直流电机电路的设计 189
项目训练12 简易波形发生器的设计与制作 191
练习题6 192
讨论题6 192
附录A AT89系列单片机指令集 194
附录B ASCII字符集 201
附录C 单片机最小系统开发平台部分模块图 202
参考文献 208