《单片机应用技术项目教程 C语言版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郭志勇主编;王韦伟副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2014
  • ISBN:9787517027089
  • 页数:313 页
图书介绍:本书由本校骨干教师、项目研发人员和高新企业的工程师共同编写。全书采用“项目驱动”的编写思路,从职业岗位技能出发,分为技能基础篇和技能提高篇,共有11个项目、28个工作模块以及两个课程设计范例。在技能基础篇中,注重职业岗位的基本技能训练,主要介绍单片机硬件系统、单片机开发系统、单片机并行端口应用、定时与中断系统、显示与键盘接口技术、A/D与D/A转换接口、串行接口通信技术以及单片机应用系统设计方法等内容;在技能提高篇中,注重职业岗位的开发技能训练,主要介绍键盘控制电机运转方向和转速、多路温度采集监控系统、按键设置液晶电子钟、16×32 LED点阵显示设计与实现等单片机产品开发方法、关键知识以及这些项目的设计与实现,可以作为学生的课程设计。两个课程设计范例分别是双向四车道交通灯控制和出租车计价器。本书适合作为高职高专院校计算机应用技术、电子信息、机电等相关专业单片机技术课程的教材,也可作为广大电子制作爱好者的自学用书。其中技能提高篇中的部分项目,可作为“中级嵌入式系统硬件设计工程师(单片机)”认证的参考范例。本书配有电子教学课件、习题参考答案、C语言源程序代码和Proteus仿真电路等。读

项目1 发光二极管LED控制 1

1.1 工作模块1 点亮一个LED 1

1.1.1 用Proteus设计第一个LED控制电路 2

1.1.2 用KeilC51设计第一个C语言LED控制程序 6

1.1.3 用Proteus仿真运行调试 9

1.2 认识单片机 10

1.2.1 单片机概述 10

1.2.2 AT89S52单片机结构 14

1.2.3 AT89S52单片机引脚功能 16

1.2.4 AT89S52单片机最小系统 18

【技能训练1-1】单片机最小系统应用——开关控制LED点亮 19

1.3 工作模块2 LED闪烁控制 21

1.3.1 LED闪烁控制设计与实现 21

1.3.2 LED闪烁控制电路焊接制作 24

1.3.3 C语言程序的基本构成 26

1.3.4 C语言基本语句 27

1.4 技能拓展 音频控制应用 29

1.4.1 音频控制电路 29

1.4.2 音频控制程序 29

【技能训练1-2】报警产生器 30

关键知识点小结 30

问题与讨论 32

项目2 LED循环点亮控制 34

2.1 工作模块3 LED循环点亮控制 34

2.1.1 LED循环点亮电路设计 35

2.1.2 LED循环点亮电路的PCB设计 35

2.1.3 LED循环点亮程序设计 37

2.1.4 LED循环点亮控制电路焊接制作 38

2.1.5 并行I/O端口电路 39

【技能训练2-1】P0口外接上拉电阻 43

2.2 MCS-51单片机内存空间 44

2.2.1 数据存储器 45

2.2.2 特殊功能寄存器 47

2.2.3 “头文件包含”处理 50

2.2.4 程序存储器 51

2.3 工作模块4开关控制LED循环点亮 53

2.3.1 开关控制LED循环点亮电路设计 53

2.3.2 开关控制LED循环点亮程序设计 53

2.3.3 C51数据类型 54

2.3.4 C语言常量与变量 58

2.4 工作模块5 步进电机控制 60

2.4.1 认识步进电机 60

2.4.2 步进电机控制电路设计 62

2.4.3 步进电机控制程序设计 62

2.5 技能拓展 ULN2003A驱动器应用 64

2.5.1 ULN2003A特点 64

2.5.2 ULN2003A引脚功能 64

【技能训练2-2】单片机驱动继电器电路设计 65

关键知识点小结 65

问题与讨论 66

项目3 数码管显示控制 69

3.1 工作模块6 数码管循环显示0~9 69

3.1.1 认识数码管 70

3.1.2 数码管循环显示0~9电路设计 72

3.1.3 数码管显示程序设计 73

3.1.4 数码管循环显示0~9电路焊接制作 74

【技能训练3-1】共阳极LED数码管应用 75

3.2 C语言语句结构 76

3.2.1 关系运算符和关系表达式 76

3.2.2 逻辑运算符和逻辑表达式 77

3.2.3 if语句 78

3.2.4 switch语句 80

3.2.5 循环结构控制语句 81

3.2.6 break语句和continue语句 83

3.3 工作模块7 多个数码管动态扫描显示 84

3.3.1 多个数码管动态显示电路设计 84

3.3.2 多个数码管动态显示程序设计 85

3.3.3 C语言数组 86

3.4 工作模块8 0~99计数器显示(静态显示) 89

3.4.1 0~99计数显示电路设计 89

3.4.2 0~99计数显示程序设计 90

3.4.3 C语言函数 91

3.5 技能拓展 七段字形译码器74LS47应用 93

3.5.1 认识74LS47 93

3.5.2 74LS47引脚功能 94

【技能训练3-2】使用74LS47实现0~99计数显示 94

关键知识点小结 95

问题与讨论 96

项目4 键盘的设计与实现 99

4.1 工作模块9 独立式键盘设计与实现 99

4.1.1 认识键盘 100

4.1.2 独立式键盘电路设计 100

4.1.3 独立式键盘程序设计 101

4.1.4 独立式键盘电路焊接制作 102

4.1.5 键盘防抖动措施 103

【技能训练4-1】一键多功能按键识别设计与实现 104

4.2 工作模块10 矩阵式键盘设计与实现 106

4.2.1 矩阵式键盘的结构与原理 106

4.2.2 矩阵式键盘电路设计 108

4.2.3 矩阵式键盘程序设计 109

4.3 工作模块11 中断方式矩阵键盘 111

4.3.1 中断概念 111

4.3.2 中断方式矩阵键盘电路设计 112

4.3.3 中断方式矩阵键盘程序设计 112

4.4 MCS-51单片机中断系统 114

4.4.1 单片机中断源 114

4.4.2 中断系统结构 115

4.4.3 中断有关的4个特殊功能寄存器 116

4.4.4 中断处理过程 119

4.4.5 C语言中断服务函数 122

4.5 技能拓展 外部中断源的扩展 123

4.5.1 用定时器扩展外部中断源 123

4.5.2 中断加查询的扩展方法 123

【技能训练4-2】利用外部中断0扩展4个外部中断 124

关键知识点小结 125

问题与讨论 126

项目5 定时器/计数器综合应用 128

5.1 工作模块12 生产线自动打包系统 128

5.1.1 认识定时器/计数器 129

5.1.2 生产线自动打包控制电路 130

5.1.3 生产线自动打包控制程序 131

5.2 工作模块13 霓虹灯控制系统 132

5.2.1 定时器/计数器工作方式 133

5.2.2 定时器/计数器有关寄存器 135

5.2.3 霓虹灯控制系统设计与实现 137

【技能训练5-1】0~59秒数码显示(定时器) 139

5.3 工作模块14 电子钟设计与实现 140

5.3.1 电子钟电路设计 141

5.3.2 电子钟程序设计 142

5.3.3 电子钟电路焊接制作 144

5.4 技能拓展 INTRINS.H头文件的应用 145

5.4.1 crol、irol和lrol函数 145

5.4.2 crot、iror和lror函数 145

5.4.3 nop函数 146

5.4.4 testbit函数 146

【技能训练5-2】用crol函数实现LED循环点亮 146

关键知识点小结 147

问题与讨论 148

项目6 模拟量输入输出设计与实现 150

6.1 工作模块15 模/数转换LED显示 150

6.1.1 模拟量输入输出概述 151

6.1.2 模/数转换LED显示电路 151

6.1.3 模/数转换LED显示程序 152

6.1.4 模/数转换LED显示电路焊接制作 153

6.2 ADC0808/ADC0809模数转换器 154

6.2.1 认识ADC0808/ADC0809模数转换器 154

6.2.2 ADC0808/ADC0809结构及引脚 154

6.2.3 ADC0808/ADC0809工作过程及编程方法 156

【技能训练6-1】采用中断方式完成模/数转换LED显示 157

6.3 工作模块16 数字电压表设计与实现 159

6.3.1 数字电压表电路设计 159

6.3.2 数字电压表程序设计 160

6.3.3 C语言结构体类型 162

6.3.4 结构体数组 164

【技能训练6-2】结构体数组应用 164

6.4 工作模块17 信号发生器设计与实现 165

6.4.1 认识DAC0832数模转换器 166

6.4.2 信号发生器电路设计 169

6.4.3 信号发生器程序设计 170

6.5 技能拓展 直流电机转速控制 171

6.5.1 什么是PWM 171

6.5.2 占空比 172

6.5.3 直流电机转速控制 172

【技能训练6-3】基于ADC0808/0809的直流电机转速控制 172

关键知识点小结 174

问题与讨论 175

项目7 单片机串行通信设计与实现 176

7.1 工作模块18 单片机点对点数据传输 176

7.1.1 串行通信基本知识 177

7.1.2 单片机点对点数据传输电路设计 179

7.1.3 单片机点对点数据传输程序设计 181

7.2 工作模块19 水塔水位单片机远程监控系统 182

7.2.1 单片机串行口结构 182

7.2.2 串行通信设置 185

7.2.3 水塔水位单片机远程监控系统设计 187

7.2.4 水塔水位单片机远程监控系统焊接制作 191

7.3 工作模块20 单片机点对多数据传输 192

7.3.1 MCS-51多机通信技术 192

7.3.2 单片机点对多数据传输电路设计 193

7.3.3 单片机点对多数据传输程序设计 195

【技能训练7-1】单片机串行口扩展I/O口电路设计 197

7.4 技能拓展 RS-485串行接口应用 199

【技能训练7-2】全双工RS-485连接电路设计与实现 201

关键知识点小结 201

问题与讨论 203

项目8 键盘控制电机方向和转速 204

8.1 单片机产品开发 204

8.1.1 单片机产品的结构 205

8.1.2 单片机产品开发流程 205

8.2 工作模块21 步进电机控制系统设计与实现 208

8.2.1 步进电机控制技术 208

8.2.2 步进电机控制系统电路设计 209

8.2.3 步进电机控制系统程序设计 210

8.3 工作模块22 直流电机控制系统设计与实现 213

8.3.1 直流电机控制技术 213

8.3.2 直流电机控制系统电路设计 215

8.3.3 直流电机控制系统程序设计 216

8.4 技能拓展 步进电机智能控制 219

8.4.1 步进电机智能控制思路 219

8.4.2 步进电机智能控制组成 219

【技能训练8-1】步进电机智能控制设计 220

关键知识点小结 221

问题与讨论 222

项目9 按键设置液晶电子钟 223

9.1 RT12864阵型液晶显示模块 223

9.1.1 认识RT12864液晶屏 223

9.1.2 RT12864液晶显示模块内部结构 225

9.1.3 控制指令及相应代码 227

9.2 工作模块23 液晶电子钟电路设计与实现 230

9.2.1 按键设置电路设计 230

9.2.2 液晶显示电路设计 231

9.2.3 按键设置液晶电子钟电路设计 231

9.3 工作模块24 液晶电子钟程序设计与实现 232

9.3.1 按键设置程序设计 232

9.3.2 时间程序设计 235

9.3.3 液晶显示程序设计 237

9.4 技能拓展 DS1302时钟芯片的应用 243

9.4.1 认识DS1302 243

9.4.2 DS1302寄存器 244

【技能训练9-1】使用DS1302芯片实现液晶电子钟电路设计 244

关键知识点小结 245

问题与讨论 247

项目10 8路温度采集监控系统 248

10.1 DS18B20温度传感器 248

10.1.1 认识DS18B20 249

10.1.2 DS18B20内部结构及功能 251

10.1.3 DS18B20通信协议 253

10.2 工作模块25 8路温度采集监控电路设计 256

10.2.1 温度采集电路设计 256

10.2.2 监控电路设计 257

10.2.3 8路温度采集监控电路设计与实现 257

10.3 工作模块26 8路温度采集监控程序设计 259

10.3.1 键盘处理程序设计 259

10.3.2 8路温度采集程序设计 260

10.3.3 8路温度显示程序设计 261

10.4 技能拓展12C串行扩展 264

10.4.1 I2C总线接口电路 264

10.4.2 12C总线数据传送操作 264

【技能训练10-1】基于AT24C1024片外程序存储器扩展 267

关键知识点小结 268

问题与讨论 269

项目11 点阵显示设计与实现 270

11.1 工作模块27 8×8LED点阵显示设计 270

11.1.1 认识LED点阵显示屏 271

11.1.2 8×8LED点阵显示电路设计 272

11.1.3 8×8LED点阵显示程序设计 274

11.2 工作模块28 16×32 LED点阵显示电路设计 276

11.2.1 16×32LED点阵显示电路设计 276

11.2.2 16×32LED点阵汉字显示程序设计 279

【技能训练11-1】采用逐行扫描方式完成16×32LED点阵汉字显示设计 286

11.3 技能拓展 并行I/O接口扩展 289

11.3.1 并行I/O口扩展特性 289

11.3.2 I/O接口扩展常用芯片 290

【技能训练11-2】P0口扩展I/O接口设计与实现 292

课程设计范例1 双向四车道交通灯控制 295

课程设计范例2 出租车计价器 306

参考文献 313