《MCS51单片机实践与应用 基于C语言》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:祁红岩,冯丽媛,景维鹏等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111393498
  • 页数:314 页
图书介绍:本书从实践的角度详细阐述了51单片机的接口模块及其应用实例。全书共分3篇,共16章,分别介绍了单片机C51基础知识、Keil C51应用技巧、单片机基础知识、定时器/计数器模块与应用、中断系统模块与应用、键盘及显示模块与应用、A/D与D/A转换模块与应用、串行通信模块与应用、单片机系统扩展以及7个具体应用实例等内容。

第一篇 基础篇 2

第1章C51单片机基础知识 2

1.1单片机C语言与汇编语言 2

1.1.1单片机汇编语言与C语言程序设计对照 2

1.1.2汇编语言和C语言混合编程 3

1.2 C51单片机对标淮C语言的扩展 4

1.2.1数据类型 4

1.2.2存储类型及存储区 5

1.2.3存储器模式 6

1.2.4特殊功能寄存器 7

1.2.5 C51指针 9

1.2.6函数 10

1.2.7重入函数 14

1.2.8中断函数 15

1.2.9绝对地址访问 17

1.2.10动态存储分配 17

1.3 C51使用规范 18

1.4思考与练习 21

第2章Keil C51应用技巧 22

2.1关于开发环境 22

2.2菜单条、工具栏和快捷键 24

2.3创建项目实例 27

2.4 μVision2功能 30

2.4.1全文查找 30

2.4.2资源浏览器 31

2.4.3使用工具菜单 33

2.5编写优化代码 34

2.6使用技巧 35

2.6.1将μVisionl的项目导入到μVision2 35

2.6.2 Build后运行外部程序 36

2.6.3为列表文件和目标文件设置单独的文件夹 36

2.6.4使用μVision2元器件库中没有列出的微控制器 37

2.6.5复制工具设置到一个新的目标中 38

2.6.6文件和文件组的特定选项——属性对话框 38

2.7思考与练习 39

第3章51单片机基础知识 41

3.1单片机引脚及功能 41

3.1.1电源引脚及时钟引脚 41

3.1.2控制引脚 42

3.1.3 I/O引脚 42

3.2存储器的结构 43

3.2.1程序存储器 44

3.2.2内部数据存储器 44

3.2.3特殊功能寄存器 46

3.2.4位地址空间 51

3.2.5外部数据存储器 51

3.3并行I/O口 52

3.3.1 I/O的内部结构 52

3.3.2 I/O的读操作 55

3.3.3 I/O的写操作及负载能力 57

3.4复位电路 58

3.4.1复位时各寄存器的状态 58

3.4.2常用复位控制芯片 59

3.5时钟电路 60

3.5.1内部时钟 60

3.5.2外部时钟 61

3.5.3时钟信号输出 61

3.6思考与练习 62

第二篇 实践篇 64

第4章 定时器/计数器模块与应用 64

4.1定时器/计数器概述 64

4.1.1定时的方法 64

4.1.2定时器的两种工作模式 64

4.2定时器/计数器的结构 65

4.2.1结构 65

4.2.2方式寄存器 66

4.2.3控制寄存器 66

4.3定时器/计数器的工作方式 67

4.3.1方式0 67

4.3.2方式1 67

4.3.3方式2 68

4.3.4方式3 68

4.4定时器/计数器编程与应用 69

4.4.1初始化步骤 69

4.4.2定时器/计数器工作模式0及其程序设计 69

4.4.3定时器/计数器工作模式1及其程序设计 70

4.4.4定时器/计数器工作模式2及其程序设计 73

4.4.5定时器/计数器工作模式3及其程序设计 75

4.5综合实例 76

4.5.1用AT89C51单片机产生报警声 76

4.5.2电压/频率转换 77

4.6思考与练习 79

第5章 中断系统模块与应用 80

5.1中断系统概述 80

5.1.1中断的定义 80

5.1.2中断的作用 80

5.2 MCS51的中断源及分类 81

5.2.1 MCS51中断源的名称 81

5.2.2中断的分类 82

5.3中断标志与控制 82

5.4中断的响应过程 86

5.4.1中断响应 86

5.4.2中断返回过程 86

5.4.3中断响应时间 86

5.4.4中断请求的撤除 87

5.5外部中断的方式选择 87

5.5.1电平触发方式 87

5.5.2边沿触发方式 87

5.6中断源程序设计 88

5.6.1中断系统初始化 88

5.6.2中断服务程序的写法 88

5.6.3外部中断及其程序设计 88

5.6.4定时中断及其程序设计 90

5.6.5串行中断及其程序设计 91

5.7综合实例 92

5.8思考与练习 94

第6章 键盘及显示模块与应用 95

6.1显示接口技术 95

6.1.1 LED结构与原理 95

6.1.2 LCD结构与原理 98

6.1.3液晶显示模块举例 99

6.2键盘接口技术 106

6.2.1键盘的种类 106

6.2.2按键的识别 106

6.2.3键盘结构及其应用 107

6.3典型程序设计实例 109

6.4思考与练习 119

第7章A/D和D/A转换模块与应用 120

7.1 A/D转换模块 120

7.1.1 A/D转换器概述 120

7.1.2转换器的性能指标 121

7.1.3 ADC0809 121

7.1.4 TLC2543 123

7.2 D/A转换模块 125

7.2.1 D/A转换器的性能指标 125

7.2.2 DAC0832 126

7.2.3 TLC5617 129

7.3典型实例 131

7.4思考与练习 137

第8章 串行通信模块与应用 138

8.1串行通信的基本概念 138

8.2串行通信口的结构 140

8.2.1串行通信口的控制 141

8.2.2串行控制寄存器SCON 141

8.2.3电源控制寄存器PCON 143

8.2.4四种工作方式与波特率的设置 143

8.3串行接口工作方式原理及应用 144

8.3.1串行接口方式0及其程序设计 144

8.3.2串行接口方式1及其程序设计 147

8.3.3串行接口方式2及其程序设计 148

8.3.4串行接口方式3及其程序设计 150

8.4综合实例——单片机通信系统 152

8.4.1硬件设计 152

8.4.2软件设计 156

8.5思考与练习 162

第9章 单片机系统扩展 163

9.1外部总线扩展 163

9.2程序存储器扩展 164

9.2.1工作原理 164

9.2.2程序存储器扩展类型 165

9.2.3程序存储器扩展举例 167

9.3数据存储器扩展 169

9.3.1工作原理 169

9.3.2数据存储器扩展类型 169

9.3.3数据存储器扩展举例 171

9.4并行1/O口扩展 172

9.4.1 74LS系列扩展1/O口 172

9.4.2 8155扩展1/O口 177

9.5看门狗技术扩展 180

9.5.1工作原理 180

9.5.2软件看门狗 181

9.5.3硬件看门狗 181

9.6思考与练习 183

第三篇 应用篇 186

第10章 五子棋游戏设计 186

10.1概述 186

10.2设计思路分析 186

10.3硬件电路设计 187

10.3.1最小系统设计 187

10.3.2双色LED阵列 189

10.3.3键盘设计 190

10.3.4点阵驱动电路 190

10.4软件设计 192

10.4.1主程序设计 192

10.4.2程序初始化 192

10.4.3键盘扫描及棋子扫描 193

10.4.4判断胜负 195

10.4.5胜利后棋盘清零 197

10.4.6驱动子程序设计 198

10.4.7示例程序 198

10.5综合调试 209

10.6小结 210

第11章 数控直流电源设计 211

11.1概述 211

11.2设计思路分析 212

11.3系统硬件设计 213

11.3.1最小系统 213

11.3.2 D/A电路 216

11.3.3数码管显示 218

11.3.4按键控制 219

11.4软件部分设计 220

11.4.1主程序设计 220

11.4.2手动步进 221

11.4.3自动步进 221

11.4.4固定值输出 222

11.4.5按键锁定 223

11.4.6三角波 223

11.4.7超负荷报警 223

11.4.8示例程序 224

11.5系统调试与检测 227

11.5.1系统调试 227

11.5.2系统检测 229

11.5.3误差分析 229

11.6小结 230

第12章 数字温度计设计 231

12.1概述 231

12.2设计思路分析 231

12.2.1技术指标 231

12.2.2设计原理 231

12.3硬件电路设计 232

12.3.1晶振电路 232

12.3.2复位电路 232

12.3.3电源电路 233

12.3.4温度检测电路 233

12.3.5报警电路 234

12.3.6串行通信电路 235

12.4软件设计 235

12.4.1主程序 235

12.4.2温度检测 235

12.4.3报警 236

12.4.4串行通信 237

12.4.5示例程序 237

12.5综合调试 242

12.5.1硬件调试 242

12.5.2软件调试 243

12.6小结 244

第13章 太阳能热水温控上水系统设计 245

13.1概述 245

13.2设计思路分析 245

13.2.1系统概述 246

13.2.2方案设计 246

13.3硬件电路设计 247

13.3.1单片机最小系统 247

13.3.2显示电路 248

13.3.3水位测量电路 248

13.3.4水温测量电路 249

13.3.5控制电路 250

13.3.6其他外围电路 251

13.4软件设计 251

13.4.1主程序设计 252

13.4.2水温/水位设置 253

13.4.3显示设计 255

13.5综合调试 257

13.6小结 257

第14章 智能抢答器系统设计 258

14.1概述 258

14.2设计思路分析 258

14.3系统硬件设计 260

14.3.1最小系统设计 260

14.3.2抢答识别模块 262

14.3.3主控台显示模块 262

14.3.4分数显示模块 262

14.3.5报警模块 264

14.4系统软件设计 264

14.4.1总体程序流程图 264

14.4.2示例程序 265

14.5综合调试 272

14.5.1硬件调试 272

14.5.2软件调试 273

14.6小结 273

第15章 教室灯光控制器系统设计 274

15.1概述 274

15.2设计思路分析 274

15.3教室灯光控制器的硬件设计 275

15.3.1电源电路设计 275

15.3.2数码管显示电路设计 276

15.3.3 A/D转换电路设计 277

15.3.4感光电路设计 278

15.3.5人体感应电路设计 279

15.3.6复位电路设计 282

15.3.7时钟电路设计 282

15.3.8灯光驱动电路设计 282

15.4教室灯光控制器的软件设计 283

15.4.1主程序流程图 283

15.4.2主要程序 283

15.5综合调试 286

15.6小结 287

第16章 数字万用表设计 288

16.1概述 288

16.2设计思路分析 289

16.3硬件电路设计 289

16.3.1按键控制模块及量程自动选择模块设计 290

16.3.2 A/D转换模块设计 292

16.3.3动态显示模块设计 295

16.3.4直流电压模块设计 296

16.3.5直流电流模块设计 297

16.3.6交流电压模块设计 298

16.3.7电容与电感模块设计 300

16.3.8电阻模块设计 302

16.3.9电源模块设计 303

16.4系统软件设计 304

16.4.1系统主程序设计 304

16.4.2系统按键扫描子程序设计 305

16.4.3系统采样平均值子程序设计 305

16.4.4系统动态显示子程序设计 306

16.4.5测试模块数据处理子程序设计 307

16.4.6示例程序 308

16.5综合调试 313

16.5.1系统硬件调试故障分析和解决办法 313

16.5.2系统软件调试中的问题 314

16.6小结 314