标题：51单片机应用开发从入门到精通
内容简介
本书是一本MCS-51单片机从入门到精通的教程。本书基于一个综合实例介绍了MCS-51单片机的基础知识，包括MCS-51单片机的内部结构、指令系统、C语言以及开发环境等；还介绍了如何在MCS-51单片机的应用系统中使用MCS-51单片机的内部资源和外围器件，这些资源和器件包括I/O引脚、外部中断、定时计数器、串行接口、人机交互通道、数据采集和输出通道、存储器模块、通信模块等。
本书详细讲解了MCS-51单片机的基础知识，同时又包括丰富的单片机内部资源和外围模块的应用实例，既可以作为MCS-51单片机的入门教程，也可以作为一本MCS-51单片机应用手册。本书适合于具有初步单片机基础的单片机工程师，以及高等院校电子类专业的学生和单片机爱好者参考阅读。
目录
目　录
第1章　单片机系统设计基础　
1.1　单片机和单片机系统简介　
1.1.1　单片机的分类　
1.1.2　单片机系统　
1.2　单片机系统开发流程　
1.3　有毒气体监控系统的系统分析与设计　
1.3.1　PGMS的需求分析　
1.3.2　PGMS的总体设计以及处理器选择　
第2章　MCS-51单片机内部结构和指令系统介绍　
2.1　MCS-51单片机体系结构　
2.1.1　 MCS-51单片机的8位中央处理器　
2.1.2　MCS-51单片机的存储器　
2.1.3　MCS-51单片机的外部引脚　
2.1.4　MCS-51单片机的时钟模块　
2.1.5　MCS-51单片机的其他资源　2.2　MCS-51单片机的寻址方式　2.2.1　立即寻址　2.2.2　直接寻址　2.2.3　寄存器寻址　2.2.4　寄存器间接寻址　2.2.5　变址间接寻址　2.2.6　相对寻址　2.3　MCS-51单片机的指令系统　2.3.1　数据传送指令　2.3.2　算术运算指令　2.3.3　逻辑操作指令　2.3.4　位操作指令　2.3.5　控制转移类指令　2.3.6　伪指令和汇编程序　 
第3章　MCS-51单片机软件开发环境　3.1　Keil mVision软件简介　3.2　Keil mVision软件的使用方法　3.3　Keil mVision的库函数　3.3.1　C51的库函数文件及其分类　3.3.2　C51的部分常用库函数　3.4　使用Keil mVision建立PGMS工程项目　3.4.1　使用Keil mVision建立工程项目的流程　3.4.2　建立PGMS工程项目　
第4章　MCS-51单片机系统硬件开发环境　4.1　MCS-51单片机系统硬件部分开发流程　4.2　编程器、仿真器以及其他开发工具　4.2.1　编程器　4.2.2　仿真器　4.2.3　其他开发工具　4.3　MCS-51单片机系统硬件调试技巧　4.3.1　静态调试　4.3.2　上电调试　
第5章　MCS-51单片机的C51语言　5.1　C51的数据类型、运算符和表达式　5.1.1　C51的数据类型　5.1.2　C51的常量和变量　5.1.3　C51存储器和寄存器定义　5.1.4　C51的算术运算、赋值、逻辑运算以及关系运算　5.1.5　C51的位操作　5.1.6　运算符的优先级　5.2　C51的程序结构　5.2.1　顺序结构　5.2.2　选择结构　5.2.3　循环结构　5.2.4　break语句、continue语句和goto语句　5.3　C51的函数　5.3.1　函数的分类　5.3.2　函数的定义　5.3.3　函数的调用　5.3.4　内部函数和外部函数　5.3.5　变量类型以及存储方式　5.4　C51的数组和指针　5.4.1　数组　5.4.2　指针　5.4.3　数组和指针　5.4.4　字符串和指针　5.4.5　数组、指针和函数的联系　5.4.6　指针数组和指向指针的指针　5.5　C51中的自定义数据类型　5.5.1　结构体　5.5.2　联合体(共用体)　5.5.3　枚举　5.6　C51程序设计技巧　5.6.1　养成好的编程习惯　5.6.2　宏定义　5.6.3　条件编译　5.6.4　具体指针的应用　5.6.5　一些关键字的使用　
第6章　MCS-51单片机的内部资源　6.1　MCS-51单片机的并行输入输出端口　6.1.1　数据地址端口P0和P2　6.1.2　普通IO端口P1　6.1.3　复用端口P3　6.1.4　PGMS中的IO口应用　6.2　MCS-51单片机的中断系统　6.2.1　MCS-51单片机的中断向量地址和中断标志位　6.2.2　MCS-51单片机的中断控制　6.2.3　MCS-51的中断响应和处理　6.2.4　在Keil mVision2中编写MCS-51中断服务子程序　6.3　MCS-51单片机的外部中断　6.4　MCS-51单片机的定时计数器　6.4.1　定时计数器的工作方式和控制寄存器　6.4.2　定时计数器的使用　6.5　MCS-51单片机的串行口　6.5.1　串行口的寄存器　6.5.2　串行口的工作方式　6.5.3　串行口的使用技巧　
第7章　MCS-51单片机的外部资源扩展方法　7.1　MCS-51单片机的外部资源扩展方法综述　7.2　并行扩展　7.2.1　数据、地址总线扩展　7.2.2　并行IO扩展　7.3　串行扩展　7.3.1　串行口扩展　7.3.2　I2C总线扩展　7.3.3　SPI总线扩展　7.3.4　1-wire总线扩展　7.4　PGMS的外部资源扩展综述　
第8章　MCS-51单片机系统的电源模块和复位模块设计　8.1　电源模块设计　8.1.1　交流电压调理——变压器　8.1.2　整流——整流桥　8.1.3　直流电压调理　8.1.4　PGMS系统的电源模块设计　8.2　复位模块设计　8.2.1　RC复位方式　8.2.2　专用复位芯片　8.2.3　CAT1161——带看门狗的复位芯片　8.2.4　PMGS的复位模块　8.3　振荡电路　8.4　一个最小的PMGS系统　
第9章　MCS-51单片机的信号采集模块设计　9.1　MCS-51单片机系统信号采集方法　9.1.1　数字信号采集　9.1.2　模拟信号采集　9.1.3　PGMS中的信号采集　9.2　温度信号采集　9.2.1　温度信号采集方法比较　9.2.2　DS18B20温度芯片介绍　9.2.3　DS18B20温度芯片在PGMS中的应用　9.3　时钟信号采集　9.3.1　PCF8563时钟芯片时钟信号采集方法介绍　9.3.2　PCF8563时钟芯片在PGMS中的应用　9.4　模拟数据采集　9.4.1　串行AD芯片ADS1100　9.4.2　精密恒压源和ADS1100在PGMS中的应用　
第10章　MCS-51单片机的人机交互模块设计　10.1　人机交互输入通道　10.1.1　按键　10.1.2　行列扫描键盘　10.1.3　拨码开关　10.2　人机交互输出模块　10.2.1　发光二极管(LED)　10.2.2　数码管　10.2.3　数码管驱动及键盘控制芯片CH452　10.2.4　液晶模块(LCM)　
第11章　MCS-51单片机的信号输出模块　11.1　数字信号(开关量)输出　11.1.1　光电隔离　11.1.2　三极管以及驱动器件　11.1.3　蜂鸣器　11.1.4　继电器　11.2　模拟信号输出　11.2.1　D/A器件的分类和特点　11.2.2　扩展串行D/A器件MAX517　11.2.3　扩展并行D/A器件DAC0832　
第12章　MCS-51单片机的数据存储模块　12.1　外部RAM　12.2　EEPROM　12.2.1　AT24系列EEPROM简介　12.2.2　AT24系列EEPROM的地址　12.2.3　AT24系列EEPROM的时序　12.2.4　AT24系列的操作　12.3　U盘读写　12.3.1　CH376简介　12.3.2　CH376的命令　12.3.3　CH376的硬件和接口　12.3.4　CH376的应用电路　12.3.5　CH376的应用基础　12.3.6　CH376的实例代码　
第13章　MCS-51单片机中的通信模块　13.1　MCS-51单片机数据通信基础　13.1.1　串行通信和并行通信　13.1.2　有线通信和无线通信　13.1.3　MCS-51单片机系统常用的硬件通信协议　13.1.4　MCS-51单片机系统的通信模型　13.2　MCS-51单片机系统无线数据通信　13.2.1　无线数据通信模块PTR8000　13.2.2　PTR8000的MCS-51单片机接口电路　13.2.3　PTR8000的MCS-51单片机软件接口　13.2.4　PTR8000的应用实例　13.3　MCS-51单片机系统有线数据通信　13.3.1　RS-232接口标准　13.3.2　RS-422/RS-485接口标准　13.3.3　有线通信中的光电隔离　13.4　MCS-51单片机的通信协议　13.5　PGMS的通信模块　13.5.1　PGMS通信模块的硬件组成　13.5.2　PGMS的通信协议　
第14章　PGMS软硬件综合　14.1　PGMS的软硬件划分和模块设计　14.2　PGMS的硬件组成　14.2.1　PGMS的中心点MCS-51单片机系统　14.2.2　PGMS的采样点MCS-51单片机系统　14.3　PGMS的软件结构　14.3.1　PGMS的中心点MCS-51单片机系统软件　14.3.2　PGMS采集点MCS-51单片机系统软件