图书目录

目    录

项目一  认识单片机 1

1.1  任务一  了解单片机 1

    1.1.1  单片机概述 1

    1.1.2  AT89S51单片机结构 8

    1.1.3  AT89S51单片机引脚功能 10

    1.1.4  并行I/O端口电路 12

    1.1.5  AT89S52单片机最小系统 15

    1.1.6  MCS-51系列单片机的分类 20

1.2  任务二  MCS-51单片机的

内存空间 21

    1.2.1  数据存储器 22

    1.2.2  特殊功能寄存器(SFR) 23

    1.2.3  “头文件包含”处理 25

    1.2.4  程序存储器 26

关键知识点小结 27

课后习题 28

项目二  单片机系统常用的开发工具 29

2.1  任务一 单片机常用的硬件

开发工具 29

2.1.1  面包板、万用板和印制

电路板 29

    2.1.2  万用板和印制电路板 30

    2.1.3  常用的焊接工具 32

2.2  任务二  单片机常用的软件

开发工具 34

    2.2.1  Proteus软件的使用方法 34

    2.2.2  Keil软件的使用方法 39

2.3  任务三  单片机系统设计

流程 46

    2.3.1  需求分析 46

    2.3.2  电路设计 46

    2.3.3  程序设计 47

    2.3.4  系统调试和仿真 47

关键知识点小结 48

课后习题 48

项目三  单片机实现对LED灯控制 49

3.1  任务一  点亮一个LED 49

    3.1.1  单片机最小系统应用 49

    3.1.2  C语言程序的基本构成 51

    3.1.3  C语言基本语句 52

3.2  任务二  LED闪烁控制与

实现 53

3.3  任务三  LED循环点亮控制

与实现 56

3.4  任务四  技能拓展训练 58

    3.4.1  显示花式一 58

    3.4.2  显示花式二 59

    3.4.3  显示花式三 60

关键知识点小结 61

课后习题 61

项目四  数码管显示控制 62

4.1  任务一  认识数码管 62

    4.1.1  数码管应用 62

    4.1.2  数码管的分类 62

    4.1.3  数码管的结构和工作原理 63

    4.1.4  数码管的显示方法 65

4.2  任务二  C语言语句结构 66

4.3  任务三  数码管循环显示

0~F 78

    4.3.1  需求分析 78

    4.3.2  电路设计 78

    4.3.3  软件设计 79

    4.3.4  系统调试和仿真 80

4.4  任务四  多个数码管动态

扫描显示 81

    4.4.1  需求分析 81

    4.4.2  电路设计 81

    4.4.3  程序设计 82

    4.4.4  系统调试和仿真 84

    4.4.5  C语言数组 84

4.5  任务五  数码管静态扫描

显示——0~99计数显示 88

    4.5.1  需求分析 88

    4.5.2  电路设计 89

    4.5.3  软件设计 90

    4.5.4  系统调试和仿真 91

    4.5.5  C语言函数 91

4.6  任务六  七段字型译码器

74LS47的应用 93

    4.6.1  认识74LS47 93

    4.6.2  74LS47引脚功能 94

4.6.3  应用74LS47实现0~20计数

显示 94

关键知识点小结 95

课后习题 96

项目五  键盘的设计与实现 97

5.1  任务一  认识键盘 97

    5.1.1  键盘分类 97

    5.1.2  键盘工作原理 98

    5.1.3  键盘防抖动措施 100

5.2  任务二  独立式键盘设计与

实现 101

    5.2.1  需求分析 101

    5.2.2  电路设计 101

    5.2.3  软件设计 102

    5.2.4  系统调试和仿真 103

5.3  任务三  矩阵式键盘设计与

实现 104

    5.3.1  矩阵式键盘结构与原理 104

    5.3.2  矩阵式键盘设计与实现 105

5.4  任务四  51单片机的中断系统与

中断方式的矩阵键盘 109

5.4.1  MCS-51单片机的中断

系统 109

5.4.2  MCS-51单片机的中断方式的

矩阵键盘 118

关键知识点小结 120

课后习题 121

项目六  定时器/计数器 122

6.1  任务一  认识定时器/

计数器 123

    6.1.1  定时器/计数器结构 123

    6.1.2  定时器/计数器的工作原理 124

    6.1.3  定时器/计数器结构 125

    6.1.4  定时器/计数器的主要应用 125

    6.1.5  定时器/计数器的工作方式 126

    6.1.6  定时器/计数器相关寄存器 128

6.2  任务二  霓虹灯设计与

实现 129

    6.2.1  需求分析 129

    6.2.2  电路设计 130

    6.2.3  软件设计 131

6.3  任务三  制药厂装药丸

生产线 132

    6.3.1  需求分析 132

    6.3.2  电路设计 133

    6.3.3  程序设计 134

    6.3.4  系统调试和仿真 134

6.4  任务四  设计简易时钟 136

    6.4.1  需求分析 136

    6.4.2  电路设计 136

    6.4.3  程序设计 136

    6.4.4  系统调试和仿真 139

关键知识点小结 139

课后习题 140

项目七  模拟量输入/输出设计与

实现 141

7.1  任务一  认识ADC0808/

ADC0809模数转换器 141

7.1.1  ADC0808/ADC0809结构及

引脚 142

7.1.2  ADC0808/ADC0809工作过程及

编程方法 144

7.2  任务二  模数转换LED

显示 145

    7.2.1  需求分析 145

    7.2.2  电路设计 145

    7.2.3  程序设计 146

    7.2.4  系统调试和仿真 147

7.3  任务三  数字电压表设计与

实现 147

    7.3.1  需求分析 148

    7.3.2  电路设计 148

    7.3.3  程序设计 149

    7.3.4  系统调试和仿真 150

7.4  任务四  认识DAC0832数模

转换器 151

    7.4.1  DAC0832的主要特性 151

    7.4.2  DAC0832引脚功能 152

    7.4.3  DAC0832工作方式 153

    7.4.4  DAC转换器的性能参数 154

7.5  任务五  锯齿波发生器设计与

实现 155

    7.5.1  需求分析 155

    7.5.2  电路设计 155

    7.5.3  软件设计 156

    7.5.4  系统调试和仿真 157

关键知识点小结 157

课后习题 158

项目八  单片机串行通信设计与

实现 159

8.1  任务一  初识串行通信 159

8.2  任务二  认识AT89S52单片机

串行口 161

    8.2.1  单片机串行口结构 162

    8.2.2  串行口通信设置 163

    8.2.3  串行接口的波特率设计 165

8.3  任务三  使用AT89S52串行

口——串行口工作方式0 166

    8.3.1  需求分析 166

    8.3.2  电路设计 166

    8.3.3  程序设计 167

    8.3.4  系统调试和仿真 168

8.4  任务四  使用AT89S52串行

口——串行口工作方式1 168

    8.4.1  需求分析 168

    8.4.2  电路设计 169

    8.4.3  程序设计 170

    8.4.4  系统调试和仿真 171

8.5  任务五  使用AT89S52串行

口——串行口工作方式3 171

    8.5.1  需求分析 171

    8.5.2  电路设计 171

    8.5.3  程序设计 172

    8.5.4  系统调试和仿真 175

8.6  任务六  双机串行通信的

实现 176

    8.6.1  RS-232C基础知识 176

    8.6.2  MAX232 176

    8.6.3  双机串行通信的实现 177

关键知识点小结 180

课后习题 181

项目九  LCD液晶和LED点阵显示

实现 182

9.1  任务一  认识1602LCD

液晶 182

    9.1.1  液晶显示方式 182

    9.1.2  1602字符型LCD简介 183

9.2  任务二  使用1602液晶显示屏

显示 187

    9.2.1  需求分析 187

    9.2.2  电路设计 188

    9.2.3  程序设计 188

    9.2.4  系统调试和仿真 191

9.3  任务三  认识12864LCD

液晶 191

    9.3.1  12864LCD液晶简介 191

    9.3.2  字模软件的使用 195

9.4  任务四  使用12864LCD液晶

显示屏显示 197

    9.4.1  需求分析 197

    9.4.2  电路设计 197

    9.4.3  程序设计 198

    9.4.4  系统调试和仿真 206

9.5  任务五  认识LED点阵 206

    9.5.1  LED点阵结构 206

    9.5.2  点阵显示方式 207

9.6  任务六  使用8×8LED点阵

显示 208

    9.6.1  需求分析 208

    9.6.2  电路设计 209

    9.6.3  程序设计 209

    9.6.4  系统调试和仿真 211

  

9.7  任务七  使用8×8LED点阵

拓展提高 211

    9.7.1  需求分析 211

    9.7.2  程序设计 212

关键知识点小结 213

课后习题 214

项目十  单片机综合项目设计与

实现 215

10.1  任务一  简易音乐盒设计 215

    10.1.1  乐曲的基本知识 215

    10.1.2  需求分析 218

    10.1.3  电路设计 218

    10.1.4  程序设计 219

    10.1.5  系统调试和仿真 221

10.2  任务二  液晶电子钟电路设计

与实现 222

10.3  任务三  4路温度采集显示

电路的设计与实现 236

参考文献 252

  

51单片机应用技术项目教程(C语言版)

  

目    录

  

VI

  

  

V