《单片机原理及接口技术 C语言版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:陈连坤编著
  • 出 版 社:北京交通大学出版社;清华大学出版社
  • 出版年份:2010
  • ISBN:9787811238341
  • 页数:486 页
图书介绍:本书采用最新的μVision4集成开发环境和Cx51编程语言,充分利用μVision4的软件仿真功能(如逻辑分析仪、信号函数、硬件配置向导、各种硬件状态观测窗)和C8051F单片机的硬件配置向导,不仅可使学生能更容易地理解和掌握程序实例,而且能在学习的过程中逐步掌握开发工具的使用,为今后的学习和实际应用打下基础。书中例举的程序实例均为作者实际开发工作经验的总结和精炼,所有硬件电路和程序均通过测试,可供读者作为实际应用的参考。

1 单片机原理及单片机系统的开发方法 1

1.1 计算机系统的组成 1

1.1.1 计算机的硬件系统 1

1.1.2 CPU、微处理器及单片机 2

1.1.3 指令系统与寻址方式 3

1.2 嵌入式系统与单片机系统 5

1.2.1 嵌入式系统 5

1.2.2 单片机系统 6

习题与思考题 16

2 51内核单片机的应用基础 18

2.1 MCS-51单片机简介 18

2.2 MCS-51单片机的组成 19

2.3 MCS-51单片机的存储器体系结构与寻址方式 22

2.3.1 MCS-51单片机的存储器体系结构 22

2.3.2 MCS-51单片机的寻址方式 24

2.4 MCS-51单片机的指令系统 25

2.5 C8051F单片机简介 26

2.5.1 C8051F单片机的主要特点 26

2.5.2 C8051F单片机的特殊功能寄存器SFR 29

2.5.3 C8051F单片机的外部数据存储器 30

2.5.4 C8051F单片机的外部数据存储器接口 31

2.5.5 C8051F单片机的程序存储器 32

2.5.6 C8051F单片机的硬件配置向导(Configuration Wizard) 35

2.6 51内核单片机常用的编程语言和方法 37

2.6.1 51内核单片机常用的编程语言 37

2.6.2 51内核单片机常用的编程方法 37

2.7 监视定时器 39

习题与思考题 40

3 C语言开发51内核单片机的范例 42

3.1 通过UART输出“Hello World!” 43

3.1.1 程序解析 44

3.1.2 程序的编译、链接与运行 45

3.1.3 程序在μVision4集成开发环境下的仿真 47

3.2 Keil Software公司的单片机开发工具简介 49

3.2.1 Keil Software公司的51内核单片机开发工具 50

3.2.2 μVision4集成开发环境建立 51

3.2.3 μVision4集成开发环境的使用方法 52

3.2.4 μVision4集成开发环境的配置向导 61

3.2.5 利用μVision4集成开发环境开发C8051F单片机 64

习题与思考题 66

4 51内核单片机通用I/O端口的应用编程 68

4.1 利用单片机通用I/O端口控制LED 68

4.1.1 背景知识——MCS-51单片机通用I/O端口的特性 69

4.1.2 背景知识——μVision4集成开发环境的逻辑分析仪 70

4.1.3 程序解析 74

4.1.4 程序的调试 75

4.2 利用单片机通用I/O端口的推挽输出方式控制LED 77

4.2.1 背景知识——C8051F320单片机通用I/O端口的特性 79

4.2.2 程序解析 81

4.2.3 程序的调试 82

4.3 利用单片机通用I/O端口控制电控锁 82

4.3.1 背景知识——μVision4集成开发环境的调试函数 85

4.3.2 程序解析 85

4.3.3 程序的调试 86

4.4 利用单片机通用输入/输出接口扩展并行输出接口 89

4.4.1 背景知识——单片机输入/输出接口的扩展原理 89

4.4.2 程序解析 92

4.4.3 程序的调试 93

4.5 利用单片机通用输入/输出接口扩展并行输入接口 94

4.5.1 程序解析 95

4.5.2 程序的调试 96

习题与思考题 97

5 51内核单片机中断系统的应用编程 99

5.1 MCS-51单片机外部中断的应用编程 100

5.1.1 背景知识——MCS-51单片机的中断系统 102

5.1.2 程序解析 106

5.1.3 程序的调试 107

5.2 C8051F单片机的外部中断 108

5.2.1 独立于交叉开关的外部中断的应用编程 108

5.2.2 程序解析 111

5.2.3 程序的调试 111

5.2.4 通过交叉开关配置的外部中断的应用编程 112

5.2.5 程序解析 117

5.2.6 程序的调试 117

习题与思考题 118

6 51内核单片机定时器/计数器的应用编程 120

6.1 MCS-51单片机定时器/计数器0实现的定时控制 120

6.1.1 背景知识——MCS-51单片机定时器/计时器0的特性 121

6.1.2 程序解析 124

6.1.3 程序的调试 125

6.2 C8051F单片机定时器/计数器0实现的定时控制 126

6.2.1 背景知识——C8051F单片机定时器/计时器0的特性 126

6.2.2 程序解析 129

6.2.3 程序的调试 129

6.3 MCS-51单片机定时器/计数器2实现的定时控制 130

6.3.1 背景知识——MCS-51单片机定时器/计时器2的特性 130

6.3.2 程序解析 132

6.3.3 程序的调试 133

6.4 C8051F单片机定时器/计数器2实现的定时控制 134

6.4.1 背景知识——C8051F单片机定时器/计时器2的特性 134

6.4.2 程序解析 136

6.4.3 程序的调试 137

6.5 MCS-51单片机定时器/计数器0实现的信号分频 138

6.5.1 程序解析 139

6.5.2 程序的调试 139

6.6 C8051F单片机定时器/计数器2实现的信号分频 140

6.6.1 利用硬件配置向导获取C8051F120单片机相关程序代码 141

6.6.2 程序解析 142

6.6.3 程序的调试 143

6.7 51内核单片机定时器/计数器实现的频率测量 144

6.7.1 背景知识——频率测量和测量周期的原理 145

6.7.2 程序解析 146

6.7.3 程序的调试 147

6.8 51内核单片机定时器/计数器实现的周期测量 147

6.8.1 MCS-51单片机定时器/计数器0完成周期测量 147

6.8.2 MCS-51单片机定时器/计数器2完成周期测量 150

6.9 MCS-51单片机定时器/计数器的硬件配置向导 152

6.9.1 程序解析 156

6.9.2 程序的调试 157

习题与思考题 160

7 C8051F单片机时钟系统的应用编程 162

7.1 C8051F320单片机时钟系统的应用编程 162

7.1.1 C8051F320单片机内部振荡器的应用编程 162

7.1.2 C8051F320单片机时钟乘法器的应用编程 165

7.2 C8051F120单片机时钟系统的应用编程 169

7.2.1 C8051F120单片机内部振荡器的应用编程 169

7.2.2 C8051F120单片机锁相环的应用编程(一) 172

7.2.3 C8051F120单片机锁相环的应用编程(二) 177

习题与思考题 180

8 C8051F单片机WDT的应用编程 182

8.1 C8051F320单片机WDT的应用编程 182

8.1.1 背景知识——C8051F单片机PCA的特性 183

8.1.2 背景知识——C8051F320单片机WDT的特性 187

8.1.3 程序解析和调试 189

8.2 C8051F120单片机WDT的应用编程 190

8.2.1 背景知识——C8051F120单片机WDT的特性 191

8.2.2 程序解析和调试 192

习题与思考题 192

9 51内核单片机UART的应用编程 193

9.1 MCS-51单片机UART的应用编程 193

9.1.1 背景知识——MCS-51单片机UART的特性 194

9.1.2 程序解析 201

9.1.3 程序的调试 202

9.2 C8051F320单片机UART的应用编程 202

9.2.1 背景知识——C8051F320单片机UART的特性 203

9.2.2 利用硬件配置向导获取相关程序代码 205

9.2.3 程序解析 206

9.2.4 程序的调试 207

9.3 C8051F120单片机UART的应用编程 208

9.3.1 背景知识——C8051F120单片机UART的特性 210

9.3.2 利用硬件配置向导获取相关程序代码 214

9.3.3 程序解析 217

9.3.4 程序的调试 218

9.4 MCS-51单片机UART的硬件配置向导 219

9.4.1 程序解析 222

9.4.2 程序的调试 222

9.5 MCS-51单片机的硬件配置向导 223

习题与思考题 230

10 C8051F单片机SMBus的应用编程 232

10.1 查询方式实现的SMBus应用编程 233

10.1.1 背景知识——C8051F320单片机SMBus的特性 235

10.1.2 背景知识——FM24CL64的特性 244

10.1.3 背景知识——AT24C0×B的特性 247

10.1.4 背景知识——C8051F单片机的调试接口及电压调整器 250

10.1.5 利用硬件配置向导获取C8051F320单片机相关程序代码 251

10.1.6 程序解析 253

10.1.7 程序的调试 255

10.2 部分中断方式实现的SMBus应用编程 257

10.2.1 程序解析 261

10.2.2 程序的调试 263

习题与思考题 267

11 C8051F单片机SPI0的应用编程 268

11.1 背景知识——C8051F320单片机SPI0的特性 274

11.1.1 四线SPI0的引脚说明 274

11.1.2 SPI0中断源和时序特性 275

11.1.3 SPI0主方式 275

11.1.4 SPI0从方式 276

11.1.5 SPI0的特殊功能寄存器 277

11.2 背景知识——AT45DB161B的特性 278

11.2.1 AT45DB××××简介 278

11.2.2 AT45DB161B简介 279

11.2.3 AT45DB161B的读操作 283

11.2.4 AT45DB161B的写和擦除操作 283

11.2.5 AT45DB161B的命令格式 284

11.3 利用硬件配置向导获取C8051F320单片机相关程序代码 284

11.4 程序解析 287

11.5 程序的调试 288

习题与思考题 289

12 软件实现UART、I2C和SPI的应用编程 291

12.1 定时器实现软件UART 291

12.1.1 实现原理 291

12.1.2 程序解析 294

12.1.3 程序的调试 294

12.2 定时器实现具有波特率自动识别功能的软件UART 296

12.2.1 实现原理 296

12.2.2 程序解析 299

12.2.3 程序的调试 300

12.3 I2C的软件实现 302

12.3.1 实现原理 302

12.3.2 程序解析与调试 305

12.4 SPI的软件实现 306

12.4.1 实现原理 306

12.4.2 程序解析与调试 311

习题与思考题 311

13 C8051F320单片机FLASH的应用编程 314

13.1 C8051F320单片机FLASH的基本特性 314

13.2 C8051F320单片机FLASH的加密操作 315

13.2.1 背景知识——C8051F320单片机FLASH的写操作 315

13.2.2 程序的调试 317

13.3 C8051F320单片机FLASH的数据存储操作 319

13.3.1 程序解析 320

13.3.2 程序的调试 320

习题与思考题 323

14 C8051F单片机模拟功能模块的应用编程 324

14.1 C8051F320单片机的ADC的应用编程 324

14.1.1 背景知识——光发送和接收器件 328

14.1.2 背景知识——C8051F320单片机的ADC0 330

14.1.3 背景知识——C8051F320单片机的基准电压 335

14.1.4 利用硬件配置向导获取C8051F320单片机相关程序代码 336

14.1.5 程序解析 336

14.1.6 程序的调试 339

14.2 C8051F410单片机的DAC的应用编程 339

14.2.1 背景知识——C8051F410单片机的DAC 341

14.2.2 背景知识——C8051F410单片机的时钟系统 343

14.2.3 利用硬件配置向导获取C8051F410单片机相关程序代码 346

14.2.4 程序解析 346

14.2.5 程序的调试 348

14.3 C8051F120单片机的DAC的应用编程 350

14.3.1 背景知识——C8051F120单片机的DAC 352

14.3.2 背景知识——C8051F120单片机的基准电压 354

14.3.3 利用硬件配置向导获取C8051F120单片机相关程序代码 355

14.3.4 程序解析 355

14.3.5 程序的调试 357

14.4 C8051F410单片机的电压比较器的应用编程 358

14.4.1 背景知识——C8051F410单片机的电压比较器 359

14.4.2 利用硬件配置向导获取C8051F410单片机相关程序代码 362

14.4.3 程序解析 362

14.4.4 程序的调试 363

习题与思考题 364

15 单片机系统常用显示设备的应用编程 366

15.1 7段LED数码管的应用编程 366

15.1.1 程序解析 370

15.1.2 程序的调试 371

15.2 LED点阵屏的应用编程 371

15.2.1 背景知识——LED屏的基本原理 376

15.2.2 背景知识——专用汉字库的建立 380

15.2.3 程序解析 381

15.2.4 程序的调试 382

15.3 单色LCM的应用编程 382

15.3.1 并行总线接口的单色LCM的应用编程 382

15.3.2 串行接口的单色LCM的应用编程 393

15.4 并行总线接口的彩色LCM的应用编程 397

15.4.1 背景知识——YM280T-017AT彩色LCM的基本原理 410

15.4.2 程序解析 414

15.4.3 程序的调试 415

习题与思考题 416

16 单片机系统常用输入设备的应用编程 417

16.1 矩阵式键盘的应用编程 417

16.1.1 背景知识——键盘设计的主要问题 419

16.1.2 程序解析 420

16.1.3 程序的调试 421

16.2 串行移位寄存器扩展键盘的应用编程 422

16.2.1 背景知识——串行控制的并行输入端口的扩展 425

16.2.2 程序解析 427

16.2.3 程序的调试 428

16.3 微机标准键盘的应用编程 428

16.3.1 背景知识——微机键盘的主要特性 443

16.3.2 程序解析及调试 449

16.4 四线电阻式触摸屏的应用编程 451

16.4.1 背景知识——触摸屏的主要特性 456

16.4.2 背景知识——单片机系统常用的通信接口 460

16.4.3 程序解析及调试 466

习题与思考题 468

17 C8051F单片机USB接口和RS_485接口的应用编程 469

17.1 背景知识——C8051F320单片机的USB接口 480

17.2 背景知识——USBXpress开发套件 480

17.3 背景知识——只读型感应卡读卡器 481

17.4 程序解析 482

17.5 程序的调试 484

习题与思考题 485

参考文献 486