51单片机应用开发案例手册

出版时间:2011-11  出版社:电子工业出版社  作者:程国钢  页数:464  

前言

  51单片机具有体积小、功能强、价格低的特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域有着广泛的应用。其应用可以大大提高生产、生活的自动化水平。近年来,随着嵌入式的应用越来越广泛,51单片机的开发也变得更加灵活和高效率,51单片机的开发和应用已经成为嵌入式应用领域的一个重大课题。  本书主要介绍如何在51单片机的应用系统中使用51单片机的内部资源和外围器件,这些资源和器件包括I/O引脚、外部中断、定时/计数器、串行接口、人机交互通道、数据采集和输出通道、存储器模块、通信模块。另外,本书还介绍了51单片机C语言部分库函数的详细使用方法,以及RTX51操作系统的工作原理和使用方法。  本书分为三个部分,即51单片机内部资源应用、51单片机外围器件应用和51单片机应用系统开发,共14章。  第一部分包括第1章第7章,介绍51单片机内部资源的应用实例。  第1章主要介绍51单片机I/O引脚的应用实例,包括LED、数码管、按键和键盘、继电器、蜂鸣器等。  第2章主要介绍51单片机中断系统基础及外部中断的应用实例。  第3章主要介绍51单片机定时/计数器的应用实例,包括方波产生、PWM波形产生、交通灯等。  第4章主要介绍51单片机串行模块的应用实例,包括双机高速通信、多级通信等。  第5章主要介绍51单片机C语言的应用实例,包括C语言的库函数、C语言的编译错误及解决方法等。  第6章主要介绍51单片机内部资源的高阶应用实例,包括使用定时计数器模拟外部中断、波特率自适应等,并且介绍一个51单片机内部资源的综合应用实例。  第7章主要介绍51单片机RTX51操作系统的应用实例,包括RTX51操作系统的工作原理、库函数及如何应用RTX51操作系统等。  第二部分包括第8章第13章,介绍51单片机外围器件的应用实例。  第8章主要介绍51单片机外围器件扩展方法的应用实例,包括I2C总线的工作原理及库函数、SPI总线的工作原理及库函数、1-wire总线的工作原理及库函数等。  第9章主要介绍51单片机外围I/O引脚扩展方法的应用实例,包括使用译码器、锁存器、NEC8255扩展I/O引脚等。  第10章主要介绍51单片机人机交互通道扩展方法的应用实例,包括CH452键盘和数码管扩展芯片、1602数字字符液晶、12864汉字图形液晶等。  第11章主要介绍51单片机数据采集和输出通道扩展方法的应用实例,包括A/D通道、D/A通道、时钟芯片PCF8563、温度芯片DS12B80等。  第12章主要介绍51单片机存储器扩展方法的应用实例,包括内部RAM扩展、E2PROM存储器扩展、U盘扩展等。  第13章主要介绍51单片机通信扩展方法的应用实例,包括RS?232?C通信协议扩展、RS?485通信协议扩展、无线通信扩展等。  第三部分包括第14章,介绍51单片机应用系统开发的应用实例。  第14章主要介绍51单片机应用系统的开发流程及注意事项,并且给出了太阳能电池监控模块和手持倾角仪两个应用系统开发的应用实例。  本书特色  按照由浅入深、循序渐进的原则覆盖51单片机的内部硬件资源、C语言、外围器件的使用和综合应用的开发;  包含大量的实例,每个实例都给出了详尽的代码和运行结果;  软、硬件结合,在涉及硬件电路的例子中给出了完整的电路原理图;  紧密联系实际,详细介绍了实际应用中常用的器件、芯片。  作者介绍  本书由程国钢编著。参加本书编写的还李龙、魏勇、王华、李辉、刘峰、徐浩、李建国、马建军、唐爱华、朱丽云、马淑娟、周毅、张浩、张玉兰等。作者力图使本书的知识性和实用性相得益彰,但由于水平有限,书中不妥、纰漏之处在所难免,欢迎广大读者、同仁批评斧正。

内容概要

  本书主要介绍如何在51单片机的应用系统中使用51单片机的内部资源和外围器件,这些资源和器件包括I/O引脚、外部中断、定时/计数器、串行接口、人机交互通道、数据采集和输出通道、存储器模块、通信模块。另外,本书还介绍了51单片机C语言部分库函数的详细使用方法,以及RTX51操作系统的工作原理和使用方法。
  本书基于各种实际的51单片机应用系统,介绍其51单片机内部模块和外围器件的使用方法,提供详尽的应用电路和应用代码;书中实例涉及的应用电路都有详细的说明及相应的典型器件列表,应用代码也有相应的流程说明和大量注释,从而使代码有较高的可读性,有助于读者的理解。本书实例的电路原理图及程序源代码可以到http://yydz.phei.com.cn资源下载栏目下载,读者根据自己的实际需要稍加修改即可使用。

书籍目录

目录
第1章51单片机I/O引脚应用实例
1.151单片机I/O引脚模块基础
1.2I/O引脚驱动LED
1.2.1LED的工作原理
1.2.2应用实例——LED闪烁和流水灯
1.3I/O引脚驱动数码管
1.3.1单位数码管的工作原理
1.3.2应用实例——流水数字
1.3.3多位数码管的工作原理
1.3.4应用实例——多位数字显示和流水数码管显示
1.4I/O引脚驱动继电器
1.4.1继电器的工作原理
1.4.2功率驱动器件的工作原理
1.4.3应用实例——轮流加热显示系统
1.5I/O引脚驱动蜂鸣器
1.5.1蜂鸣器的工作原理
1.5.2应用实例——定时报警和音乐播放
1.6I/O引脚扩展独立按键、键盘和拨码开关
1.6.1独立按键的工作原理
1.6.2应用实例——按键指示和按键发声
1.6.3行列扫描键盘的工作原理
1.6.4应用实例——计算器键盘
1.6.5拨码开关的工作原理
1.6.6应用实例——地址码设定
1.7I/O引脚驱动电动机
1.7.1直流电动机的工作原理
1.7.2应用实例——按键控制直流电动机
1.7.3步进电动机的工作原理
1.7.4应用实例——按键控制步进电动机
第2章51单片机外部中断应用实例
2.151单片机中断和外部中断模块基础
2.1.1中断和外部中断的相关控制
2.1.2中断的处理
2.1.3编写中断服务函数
2.2应用实例——外部中断计数
2.3应用实例——外部电平中断实验
2.4应用实例——联合中断申请
第3章51单片机的定时/计数器应用实例
3.151单片机定时/计数器基础
3.1.1定时/计数器的寄存器
3.1.2定时/计数器的工作方式
3.1.3定时/计数器的中断
3.251单片机定时/计数器基础应用
3.2.1定时器应用实例1——T0方波发生器
3.2.2定时器应用实例2——T1方波发生器
3.2.3定时器应用实例3——PWM波形发生器
3.2.4计数器应用实例1——按键灯控制
3.2.5计数器应用实例2——按键计数
3.2.6门控信号应用实例——脉冲宽度测量
3.351单片机定时/计数器综合应用
3.3.1应用实例——秒表
3.3.2应用实例——门铃
3.3.3应用实例——交通灯
3.3.4应用实例——声光报警
第4章51单片机的串行模块应用实例
4.151单片机串行模块基础
4.1.1串行模块的寄存器
4.1.2串行模块的工作方式
4.1.3串行模块的中断
4.2工作方式0应用实例——双机高速通信
4.3工作方式1应用实例1——单片机和PC通信
4.4工作方式1应用实例2——用单片机U1控制U2外围LED闪烁
4.5工作方式1应用实例3——单片机U1和单片机U2双向控制
4.6工作方式2应用实例——多点温度采集
第5章51单片机常用C语言库函数应用实例
5.151单片机C语言库函数基础
5.1.1库文件和头文件分类
5.1.2库函数实例应用电路
5.2ASCII字符分类和转换函数
5.2.1isdigit函数应用实例
5.2.2toint函数应用实例
5.2.3toupper函数应用实例
5.3内部函数
5.3.1_crol_函数应用实例
5.3.2_nop_函数应用实例
5.4数学函数
5.4.1abs函数应用实例
5.4.2floor函数应用实例
5.4.3modf函数应用实例
5.4.4sqrt函数应用实例
5.5输入/输出函数
5.5.1putchar函数应用实例
5.5.2printf函数应用实例
5.5.3sprintf函数应用实例
5.6数据类型转换和存储器定位函数
5.6.1atoi函数应用实例
5.6.2atof函数应用实例
5.6.3rand函数应用实例
5.6.4srand函数应用实例
5.7字符串操作函数库
5.7.1memccpy函数应用实例
5.7.2strlen函数应用实例
5.7.3strcat函数应用实例
5.7.4strncpy函数应用实例
5.7.5strcmp函数应用实例
5.7.6strstr函数应用实例
5.8编译常见报警错误及解决方法应用实例
5.8.1变量未被使用警告(Warning 280)
5.8.2函数未被声明警告(Warning C206)
5.8.3头文件无法打开错误(Error C318)
5.8.4函数名称重复定义错误(Error C237)
5.8.5函数未被调用警告
5.8.6函数未定义警告(Warning C206)
5.8.7内存空间溢出错误警告
5.8.8函数重入警告
5.8.9常见Keil编译错误
第6章51单片机内部资源高阶应用实例
6.1扩展外部中断应用实例
6.1.1应用实例——使用定时/计数器来扩展外部中断
6.1.2应用实例——使用串行模块来扩展外部中断
6.2使用I/O口进行串行通信应用实例
6.3串行通信波特率自适应应用实例
6.4使用软件扩展多级中断应用实例
6.5可控PWM输出应用实例
6.6高速串行通信应用实例
6.6.1波特率固定高速串行通信应用实例
6.6.2波特率可变高速串行通信应用实例
6.751单片机内部资源综合应用实例——投票系统
6.7.1系统设计
6.7.2应用代码设计
第7章RTX51实时多任务操作系统应用实例
7.1RTX51基础
7.1.1RTX51占用的资源
7.1.2RTX51的实现机制
7.1.3应用实例——一个RTX51上的最简单应用
7.2RTX51的工作原理
7.2.1时间片管理原理
7.2.2任务管理原理
7.2.3事件管理原理
7.2.4任务调度管理
7.2.5堆栈管理
7.3RTX51的配置
7.3.1RTX51的基础配置
7.3.2 RTX51的库文件配置
7.3.3RTX51的优化配置
7.4RXT51的库函数
7.4.1isr_send_signal函数
7.4.2isr_set_ready函数
7.4.3os_clear_signal函数
7.4.4os_create_task函数
7.4.5os_delete_task函数
7.4.6os_reset_interval函数
7.4.7os_running_task_id函数
7.4.8os_send_signal函数
7.4.9os_set_ready函数
7.4.10os_switch_task函数
7.4.11os_wait函数
7.5RTX51的使用方法
7.5.1建立用户项目
7.5.2修改RTX51配置
7.5.3编写用户代码
7.5.4RTX51的编译
7.5.5RTX51的调试
7.6应用实例——基于RTX51的交通灯
第8章51单片机的外部资源扩展方法
8.1数据-地址总线扩展方法
8.2串行模块扩展方法
8.3I2C总线扩展方法
8.3.1 I2C总线扩展原理
8.3.2应用实例——使用I/O端口来模拟I2C总线
8.4SPI总线扩展方法
8.4.1SPI总线扩展原理
8.4.2应用实例——使用I/O端口来模拟SPI总线
8.51-wire(单线)总线扩展方法
8.5.11-wire总线扩展原理
8.5.2应用实例——使用I/O端口来模拟1-wire总线
第9章51单片机的I/O引脚扩展应用
9.1使用74系列芯片来扩展I/O引脚
9.1.1应用实例——使用74273来扩展输出引脚
9.1.2应用实例——使用74244来扩展输入引脚
9.1.3应用实例——使用74138来扩展输出引脚
9.2使用串行口来扩展I/O引脚
9.2.1使用串行口来扩展输出I/O引脚
9.2.2使用串行口来扩展输入I/O引脚
9.3使用I/O引脚扩展I/O引脚
9.4使用NEC8255扩展I/O引脚
9.4.1NEC8255芯片介绍
9.4.2NEC8255的典型扩展方法
9.4.3应用实例——8位8段数码管驱动
9.4.4应用实例——4×8行列扫描键盘
第10章51单片机人机交互通道扩展
10.1使用MAX7219扩展多位数码管
10.1.1MAX7219介绍
10.1.2MAX7219的数据格式
10.1.3MAX7219的寄存器
10.1.4应用实例——用MAX7219驱动8 位数码管
10.2使用CH452扩展数码管和按键
10.2.1CH452芯片介绍
10.2.2CH452的应用电路
10.2.3应用实例——用CH452驱动4位数码管和4×4行列键盘
10.3使用1602液晶来显示数字和字符
10.3.11602字符液晶介绍
10.3.21602字符液晶的应用电路和应用流程
10.3.3应用实例——1602字符液晶循环显示字符
10.4使用12864液晶来显示汉字和图形
10.4.112864液晶模块介绍
10.4.212864液晶模块的操作流程
10.4.3应用实例——12864液晶模块的库函数
10.4.4应用实例——12864液晶显示汉字和图形
第11章51单片机数据采集输出通道扩展
11.1A/D数据采集通道扩展
11.1.1A/D数据采集通道工作原理
11.1.2ADC0809并行A/D芯片扩展
11.1.3TLC2543串行多通道A/D芯片扩展
11.1.4ADS1100高精度A/D芯片扩展
11.2D/A数据输出通道扩展
11.2.1D/A芯片的分类和特点
11.2.2DAC0832并行D/A芯片扩展
11.2.3MAX517串行D/A芯片扩展
11.3DS18B20温度芯片扩展
11.3.1DS18B20温度传感器介绍
11.3.2应用实例——串口温度采集系统
11.4PCF8563时钟芯片扩展
11.4.1PCF8563时钟芯片介绍
11.4.2应用实例——初始化PCF8563时钟
11.4.3应用实例——读PCF8563时钟信息
11.4.4应用实例——设置PCF8563的报警信息
11.4.5应用实例——PCF8563的秒中断输出
11.4.6应用实例——PCF8563的秒时钟信号输出
第12章51单片机的存储器扩展应用
12.1ROM存储器和RAM存储器扩展
12.1.1ROM存储器扩展
12.1.2RAM存储器扩展
12.1.3应用实例——6264的数据读/写
12.2E2PROM存储器扩展
12.2.1AT24系列E2PROM介绍
12.2.2AT24系列E2PROM的操作
12.2.3应用实例——AT24C04的字节写
12.2.4应用实例——AT24C04的连续读
12.2.5应用实例——用AT24C04存放音乐数据
12.3SLE4442接触式加密IC存储卡扩展
12.3.1SLE4442卡基础
12.3.2SLE4442卡的工作模式
12.3.3SLE4442卡的命令
12.3.4应用实例——SLE4442卡的库函数
12.3.5应用实例——基于SLE4442的简易电子房卡
12.4U盘存储器扩展
12.4.1CH376基础
12.4.2CH376的命令
12.4.3CH376的硬件接口
12.4.4CH376的应用电路
12.4.5CH376的U盘扩展应用
12.4.6应用实例——CH376的库函数
12.4.7应用实例——使用CH376建立文件并写入数据
第13章51单片机通信通道扩展
13.1RS?232?C协议通信扩展
13.2RS?422/485协议通信扩展
13.3双口RAM通信扩展
13.3.1IDT7132双口RAM介绍
13.3.2应用实例——使用IDT7132进行双单片机通信
13.4无线数据通信扩展
13.4.1PTR8000无线模块介绍
13.4.2PTR8000无线模块的应用电路
13.4.351单片机扩展PTR8000无线模块的软件工作流程
13.4.4应用实例——无线按键指示系统终端
第14章51单片机应用系统综合设计
14.151单片机应用系统设计基础
14.1.151单片机应用系统设计流程
14.1.251单片机应用系统设计原则
14.251单片机应用系统——太阳能电池监控模块
14.2.1系统需求分析
14.2.2系统设计
14.2.3系统应用代码设计
14.351单片机应用系统——手持倾角仪
14.3.1系统需求分析
14.3.2系统设计
14.3.3系统应用代码设计

章节摘录

版权页:插图:

编辑推荐

《51单片机应用开发案例手册》特色:按照由浅入深、循序渐进的原则覆盖51单片机的内部硬件资源、C语言、外围器件的使用和综合应用的开发;包含大量的实例,每个实例都给出了详尽的代码和运行结果;软、硬件结合,在涉及硬件电路的例子中给出了完整的电路原理图;紧密联系实际,详细介绍了实际应用中常用的器件、芯片。《51单片机应用开发案例手册》案例导航,51单片机I/O引脚应用实例,51单片机外部中断应用实例,51单片机定时/计数器应用实例,51单片机的串行模块应用实例,51单片机常用C语言库函数应用实例,51单片机内部资源高阶应用实例,RTX51实时多任务操作系统应用实例,51单片机外围器件扩展应用实例,51单片机外围I/O引脚扩展应用实例,51单片机人机交互通道扩展应用实例,51单片机数据采集和输出通道扩展应用实例,51单片机存储器扩展应用实例,51单片机通信通道扩展应用实例,51单片机应用系统开发综合实例。

图书封面

评论、评分、阅读与下载


    51单片机应用开发案例手册 PDF格式下载


用户评论 (总计3条)

 
 

  •   哎,可以吧,不过是我把图书馆的书弄丢了,买过来就直接要换还了
  •   内容那是相当的不错!但是发现作者不怎么重视看着时序图,来写程序。
  •   他的内容都是我想看的,但是 ,错误太多了。像我这种不懂得人都能找出错来,我不知道精通单片机的人看了,会找到多少错,我一般买了东西如果质量过得去,我是不会评论的,太差我才会说两句,你这书,哎~
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7