51单片机及其C语言程序开发实例

51单片机及其C语言程序开发实例"

作者:戴仙金
ISBN:9787302167174
定价:¥46
字数:千字
页数:
出版时间:2008.02.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书首先简单介绍了51系列单片机的基础知识,然后从工程应用的角度出发,详细地介绍了51系列单片机常用的电路模块,主要包括键盘、LCD显示、A/D转换、D/A转换、I2C总线应用、语音、实时时钟、红外、USB、步进电机、数字锁相环、串口通信、DDS等,同时列举了4个典型的实际工程,包括语音存储与回放系统、数控直流恒流源、简易数字逻辑分析仪、智能电动小车等,目的在于使读者能够迅速地掌握51系列单片机的开发与实现。本书深入浅出,力求既能使单片机的初学者迅速入门,又能使中高级开发人员在原来的基础上进一步提高实际项目开发能力。

本书以实用为宗旨,以系统的开发为思想,实例内容丰富,涉及范围广,具有较强的实用性和参考性,非常适合各类高等学校自动控制、电气工程、工业自动化、机电一体化、机械电子等专业的高年级学生学习,同时也可供从事单片机系统应用与开发的广大技术人员阅读。

前言

前    言

51系列单片机自Intel公司20世纪80年代研制出来后,已经有几十年的历史,在国内的应用也有二十几年,人们的应用水平有了大幅度的提高,同时也积累了极其丰富的经验。

随着计算机应用技术以及嵌入式系统的飞速发展,如何提高工作效率,如何降低产品的成本是当前人们普遍关心的问题。而单片机作为最基本的微控制器,如何缩短其应用系统的研发周期和提高工作效率,是人们迫切需要解决的问题。

鉴于目前大多数书籍介绍理论以及基本知识较多,而介绍实际项目开发较少,本书以实用为宗旨,以模块化设计为思想,以工程开发为主线,同时列举大量实际项目来达到理论联系实际的目的,使读者能够迅速开发出实际应用系统。

本书结构新颖,层次清晰,实例内容丰富,涉及范围广,具有较强的实用性和参考性,非常适合各类高等学校自动控制、测试技术、电气工程、工业自动化、机电一体化、机械电子等专业的高年级学生学习,尤其在做实际单片机应用系统开发时是一本很好的参考资料。

全书分3篇,共22章。

上篇,单片机设计基础。包括第1~5章,介绍51系列单片机的基础知识,目的是使初次接触51单片机的读者能够了解相关的基础知识以及基本术语。

中篇,基于51单片机的模块设计。包括第6~18章,介绍了51单片机常用的模块电路设计与实现,主要模块有键盘、LCD显示、A/D转换、D/A转换、I2C总线应用、语音、实时时钟、红外、USB、步进电机、数字锁相环、串口通信、DDS等。

下篇,综合系统设计。包括第19~22章,列举了4个综合的51单片机应用系统设计与实现,包括语音存储与回放系统、数控直流恒流源、简易数字逻辑分析仪、智能电动小车等。

本书由戴仙金主编,冼进审校。其中戴仙金负责编写第6~10章、第12章、第13章、第14章、第18章、第20章和第22章,白治锦负责编写第1~5章,潘懿萱编写第11章、第15章,骆辉亮负责编写第16和17章,崔生科负责编写第19和21章。同时,王强、郭海潮以及精密测控技术研究室的同仁们为本书提供了不少资料,在此向他们表示衷心的感谢!另外,参与编写工作的还有邹素琼、赵秋云、赵继军、彭艺、曲辉辉、周章、蒋波、徐留旺、曹振宇、张婷、温凌霜、鲁得翠、蒋泽平、魏乐、韩翔、程小英、谭小丽、卢丽娟、李小琼等,在此一并表示感谢!

另外,在本书的编写过程中,得到了父母以及朋友与同事的支持与鼓励,在此一并表示衷心的感谢!

为充分展现本书编写特点,帮助读者深刻理解本书编写意图与内涵,进一步提高本书的使用效率,我们建立了本书使用指导的联络方式,是读者与编者之间交流沟通的直通车。欢迎读者将图书使用过程中的问题与各种探讨、建议反馈给我们,本书编者竭诚为您服务。我们的联系方式E-mail:china_54@tom.com。

编    者     

目录

目    录

上篇  单片机设计基础

第1章  绪论 1

1.1  单片机简介 1

1.1.1  单片机的发展史 1

1.1.2  单片机的内部结构 2

1.1.3  单片机应用系统 2

1.1.4  单片机发展趋势 3

1.2  单片机编程语言概述 4

1.3  单片机开发环境概述 5

第2章  51单片机基础知识 6

2.1  MCS-51系列单片机CPU及存储器 6

2.1.1  中央处理器CPU 6

2.1.2  存储器 7

2.2  中断系统 8

2.2.1  中断源 8

2.2.2  中断控制 9

2.2.3  中断响应 11

2.3  定时/计时器 11

2.3.1  T/C0与T/C1 11

2.3.2  T/C2 14

2.3.3  定时/计数器的方式与控制寄存器 15

2.4  并行I/O接口 16

2.4.1  并行I/O端口的内部结构 17

2.4.2  并行I/O端口的应用 20

2.5  51单片机指令系统 20

2.5.1  寻址方式 20

2.5.2  指令系统表 21

第3章  51单片机C程序设计基础 26

3.1  标识符与关键字 26

3.2  数据的基本类型 28

3.3  常量与变量 29

3.4  运算符 31

3.5  函数 35

3.5.1  函数的分类及定义 35

3.5.2  函数的调用 36

3.5.3  中断服务函数 37

3.6  μVision2使用入门……….…………………………………………………………………..?38

第4章  单片机系统资源扩展 42

4.1  51单片机存储器及其扩展 42

4.1.1  程序存储器的扩展 42

4.1.2  数据存储器的扩展 43

4.2  51单片机的并行I/O扩展 43

4.2.1  采用8255芯片扩展I/O接口 44

4.2.2  采用串并转换芯片74HC165扩展I/O接口 44

4.3  外部中断源的扩展 45

4.3.1  采用定时器溢出中断扩展外部中断源 45

4.3.2  采用一个中断源查询法扩展多个外部中断源 45

4.3.3  采用专用芯片8259扩展外部中断源 46

第5章  51单片机的最小系统 49

5.1  最小系统的功能与结构 49

5.1.1  单片机最小系统的功能简介 49

5.1.2  单片机最小系统的系统结构 49

5.2  最小系统的电路原理图设计 51

中篇  基于51单片机的模块设计

第6章  键盘和数码管 52

6.1  普通键盘及数码管 52

6.1.1  单片机与普通键盘及数码管接口电路设计 52

6.1.2  单片机与普通键盘及数码管程序设计 57

6.2  键盘与LED控制芯片ZLG7289 63

6.2.1  键盘与LED控制芯片ZLG7289简介 63

6.2.2  单片机与ZLG7289接口电路设计 70

6.2.3  单片机与ZLG7289应用程序设计 71

第7章  液晶显示模块 81

7.1  1602液晶模块JHD162A 81

7.1.1  1602液晶模块JHD162A简介 81

7.1.2  单片机与1602液晶模块JHD162A接口电路设计 85

7.1.3  单片机与1602液晶模块JHD162A应用程序设计 86

7.2  FYD12864液晶显示模块 96

7.2.1  FYD12864液晶显示模块简介 96

7.2.2  单片机与FYD12864液晶显示模块接口电路设计 103

7.2.3  单片机与FYD12864液晶显示模块应用程序设计 104

第8章  A/D转换器 116

8.1  典型8位A/D转换ADC0809 116

8.1.1  ADC0809简介 116

8.1.2  单片机与ADC0809应用电路设计 118

8.1.3  单片机与ADC0809应用程序设计 119

8.2  典型12位A/D转换MAX196 123

8.2.1  MAX196简介 123

8.2.2  单片机与MAX196应用电路设计 126

8.2.3  单片机与MAX196应用程序设计 127

8.3  典型16位A/D转换AD977A 135

8.3.1  AD977A简介 135

8.3.2  单片机与AD977A应用电路设计 137

8.3.3  单片机与AD977A应用程序设计 138

第9章  D/A转换器 150

9.1  典型8位D/A转换DAC0832 150

9.1.1  DAC0832简介 150

9.1.2  单片机与DAC0832接口电路设计 152

9.1.3  单片机与DAC0832应用程序设计 154

9.2  典型12位D/A转换TLV5638 158

9.2.1  TLV5638简介 158

9.2.2  单片机与TLV5638接口电路设计 160

9.2.3  单片机与TLV5638应用程序设计 161

9.3  典型16位D/A转换MAX541/MAX542 166

9.3.1  MAX541/MAX542简介 166

9.3.2  单片机与MAX541/MAX542应用电路设计 169

9.3.3  单片机与MAX541应用程序设计 171

第10章  I2C总线接口设计 176

10.1  I2C总线简介 176

10.1.1  I2C总线概述 176

10.1.2  I2C总线的基本工作原理 177

10.2  带I2C总线的EEPROM存储器芯片24C02 185

10.2.1  EEPROM芯片24C02简介 185

10.2.2  单片机与24C02应用电路设计 187

10.2.3  单片机与24C02应用程序设计 187

第11章  语音IC及应用 201

11.1  语音芯片ISD1420简介 201

11.2  单片机与ISD1420 205

11.2.1  单片机与ISD1420应用电路设计 205

11.2.2  单片机与ISD1420应用程序设计 207

第12章  时钟IC及应用 210

12.1  时钟芯片HT1380/HT1381简介 210

12.2  单片机与HT1380/HT1381 215

12.2.1  单片机与HT1380/HT1381接口电路设计 215

12.2.2  单片机与HT1380/HT1381应用程序设计 216

第13章  红外通信模块 226

13.1  红外通信简介 226

13.1.1  红外通信技术的发展概况 226

13.1.2  IrDA红外通信技术 227

13.1.3  典型的红外数据传输模型 228

13.2  单片机与红外收发模块ZHX1010 228

13.2.1  红外收发模块ZHX1010简介 228

13.2.2  单片机与ZHX1010应用电路设计 229

13.2.3  单片机与ZHX1010应用程序设计 232

第14章  USB总线接口设计 243

14.1  USB简介 243

14.1.1  USB的发展概况 243

14.1.2  USB的技术规范 244

14.2  USB 接口芯片PDIUSBD12简介 247

14.2.1  PDIUSBD12的电气特性 247

14.2.2  PDIUSBD12结构与功能简介 249

14.3  单片机与PDIUSBD12的接口设计 255

14.3.1  PDIUSBD12外围电路 255

14.3.2  PDIUSBD12与单片机的接口电路设计 256

第15章  单片机与脉冲驱动控制 257

15.1  步进电机基础 257

15.1.1  步进电机的分类与工作原理 257

15.1.2  步进电机的驱动与控制 258

15.2  单片机与35BY48S03型步进电机 262

15.2.1  35BY48S03型步进电机简介 262

15.2.2  35BY48S03型步进电机与单片机的应用电路设计 263

15.2.3  35BY48S03型步进电机与单片机应用程序设计 263

第16章  单片机串行通信 268

16.1  串行通信基础 268

16.1.1  数据通信简介 268

16.1.2  串行通信协议 269

16.2  51单片机串行口 270

16.2.1  与串行口有关的寄存器 270

16.2.2  串行口的工作方式 271

16.2.3  串行口的波特率设置 274

16.3  单片机与单片机通信 275

16.3.1  通信协议以及波特率设置 275

16.3.2  通信程序设计 275

16.4  单片机与PC机通信 279

16.4.1  单片机与PC机通信的接口电路设计 279

16.4.2  单片机与PC机通信的应用程序设计 281

第17章  单片机与数字锁相环 283

17.1  数字锁相环的基本原理 283

17.1.1  数字锁相环简介 283

17.1.2  典型数字锁相环MC145152 285

17.2  单片机与MC145152应用电路设计 287

17.2.1  MC145152的常用电路设计 287

17.2.2  单片机与MC145152的应用电路设计 288

17.3  单片机与MC145152应用程序设计 288

17.3.1  程序流程 288

17.3.2  C51源代码 290

第18章  单片机与DDS 291

18.1  DDS的基本原理 291

18.1.1  DDS简介 291

18.1.2  典型DDS芯片AD9954 292

18.2  单片机与AD9954应用电路设计 306

18.2.1  AD9954的常用电路设计 306

18.2.2  单片机与AD9954的应用电路设计 309

18.3  单片机与AD9954应用程序设计 311

18.3.1  AD9954的控制时序 311

18.3.2  应用系统流程与C51源代码 313

下篇  综合系统设计

第19章  语音存储与回放系统 323

19.1  系统描述 323

19.1.1  系统功能简介 323

19.1.2  系统总体设计 323

19.2  系统硬件设计 326

19.2.1  主控制器设计 327

19.2.2  系统供电电源电路设计 327

19.2.3  基于ZLG7289的键盘电路设计 328

19.2.4  前置放大电路设计 329

19.2.5  带通滤波器设计 329

19.2.6  A/D采样电路设计 330

19.2.7  数据存取电路设计 331

19.2.8  D/A转换电路设计 333

19.2.9  后置功率放大电路设计 333

19.2.10  状态指示电路设计 334

19.3  系统软件设计 334

19.3.1  软件结构设计 334

19.3.2  程序设计 336

第20章  数控直流恒流源 350

20.1  系统描述 350

20.1.1  系统功能简介 350

20.1.2  系统总体设计 351

20.2  系统硬件设计 354

20.2.1  主控电路设计 355

20.2.2  供电电源设计 355

20.2.3  恒流源电路设计 359

20.2.4  D/A转换电路设计 359

20.2.5  电流检测电路设计 360

20.2.6  键盘电路设计 360

20.2.7  显示电路设计 361

20.2.8  语音电路设计 362

20.3  系统软件设计 362

20.3.1  软件结构设计 362

20.3.2  程序设计 363

第21章  简易数字逻辑分析仪 388

21.1  系统描述 388

21.1.1  系统功能简介 388

21.1.2  系统总体设计 389

21.2  系统硬件设计 394

21.2.1  电源电路 395

21.2.2  8路输入处理电路 396

21.2.3  AT89S8252主控制器电路 399

21.2.4  ZLG7289键盘电路 400

21.2.5  FYD12864点阵LCD显示电路 401

21.2.6  LED状态指示电路 402

21.2.7  外扩RAM电路 403

21.2.8  AT89S51从控制器电路 403

21.2.9  TLC7528输出电路 404

21.2.10  模拟示波器 406

21.3  系统软件设计 407

21.3.1  软件结构设计 407

21.3.2  程序设计 409

第22章  智能电动小车 429

22.1  系统描述 429

22.1.1  系统功能简介 429

22.1.2  系统总体设计 430

22.2  系统硬件设计 434

22.2.1  主控制器设计 434

22.2.2  电机驱动与步进电机 435

22.2.3  供电电源设计 435

22.2.4  寻线电路设计 436

22.2.5  金属检测电路设计 437

22.2.6  障碍物检测电路设计 437

22.2.7  光源检测电路设计 438

22.2.8  声光报警电路设计 439

22.2.9  显示电路设计 439

22.3  系统软件设计 440

22.3.1  软件结构设计 440

22.3.2  程序设计 442

参考文献 452

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个