书 名 | 51单片机应用开发案例手册 | 出版社 | 电子工业出版社 |
---|---|---|---|
出版时间 | 2011年11月1日 | 页 数 | 449 页 |
开 本 | 16 开 | 装 帧 | 平装 |
ISBN | 9787121148460 | 重 量 | 635 g |
第1章 51单片机I/O引脚应用实例
1.1 51单片机I/O引脚模块基础
1.2 I/O引脚驱动LED
1.2.1 LED的工作原理
1.2.2 应用实例——LED闪烁和流水灯
1.3 I/O引脚驱动数码管
1.3.1 单位数码管的工作原理
1.3.2 应用实例——流水数字
1.3.3 多位数码管的工作原理
1.3.4 应用实例——多位数字显示和流水数码管显示
1.4 I/O引脚驱动继电器
1.4.1 继电器的工作原理
1.4.2 功率驱动器件的工作原理
1.4.3 应用实例——轮流加热显示系统
1.5 I/O引脚驱动蜂鸣器
1.5.1 蜂鸣器的工作原理
1.5.2 应用实例——定时报警和音乐播放
1.6 I/O引脚扩展独立按键、键盘和拨码开关
1.6.1 独立按键的工作原理
1.6.2 应用实例——按键指示和按键发声
1.6.3 行列扫描键盘的工作原理
1.6.4 应用实例——计算器键盘
1.6.5 拨码开关的工作原理
1.6.6 应用实例——地址码设定
1.7 I/O引脚驱动电动机
1.7.1 直流电动机的工作原理
1.7.2 应用实例——按键控制直流电动机
1.7.3 步进电动机的工作原理
1.7.4 应用实例——按键控制步进电动机
第2章 51单片机外部中断应用实例
2.1 51单片机中断和外部中断模块基础
2.1.1 中断和外部中断的相关控制
2.1.2 中断的处理
2.1.3 编写中断服务函数
2.2 应用实例——外部中断计数
2.3 应用实例——外部电平中断实验
2.4 应用实例——联合中断申请
第3章 51单片机的定时/计数器应用实例
3.1 51单片机定时/计数器基础
3.1.1 定时/计数器的寄存器
3.1.2 定时/计数器的工作方式
3.1.3 定时/计数器的中断
3.2 51单片机定时/计数器基础应用
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.3 51单片机定时/计数器综合应用
3.3.1 应用实例——秒表
3.3.2 应用实例——门铃
3.3.3 应用实例——交通灯
3.3.4 应用实例——声光报警
第4章 51单片机的串行模块应用实例
4.1 51单片机串行模块基础
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.1 51单片机C语言库函数基础
5.1.1 库文件和头文件分类
5.1.2 库函数实例应用电路
5.2 ASCII字符分类和转换函数
5.2.1 isdigit函数应用实例
5.2.2 toint函数应用实例
5.2.3 toupper函数应用实例
5.3 内部函数
5.3.1 _crol_函数应用实例
5.3.2 _nop_函数应用实例
5.4 数学函数
5.4.1 abs函数应用实例
5.4.2 floor函数应用实例
5.4.3 modf函数应用实例
5.4.4 sqrt函数应用实例
5.5 输入/输出函数
5.5.1 putchar函数应用实例
5.5.2 printf函数应用实例
5.5.3 sprintf函数应用实例
5.6 数据类型转换和存储器定位函数
5.6.1 atoi函数应用实例
5.6.2 atof函数应用实例
5.6.3 rand函数应用实例
5.6.4 srand函数应用实例
5.7 字符串操作函数库
5.7.1 memccpy函数应用实例
5.7.2 strlen函数应用实例
5.7.3 strcat函数应用实例
5.7.4 strncpy函数应用实例
5.7.5 strcmp函数应用实例
5.7.6 strstr函数应用实例
5.8 编译常见报警错误及解决方法应用实例
5.8.1 变量未被使用警告(Warning280)
5.8.2 函数未被声明警告(WarningC206)
5.8.3 头文件无法打开错误(ErrorC318)
5.8.4 函数名称重复定义错误(ErrorC237)
5.8.5 函数未被调用警告
5.8.6 函数未定义警告(WarningC206)
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.7 51单片机内部资源综合应用实例——投票系统
6.7.1 系统设计
6.7.2 应用代码设计
第7章 RTX51实时多任务操作系统应用实例
7.1 RTX51基础
7.1.1 RTX51占用的资源
7.1.2 RTX51的实现机制
7.1.3 应用实例——一个RTX51上的最简单应用
7.2 RTX51的工作原理
7.2.1 时间片管理原理
7.2.2 任务管理原理
7.2.3 事件管理原理
7.2.4 任务调度管理
7.2.5 堆栈管理
7.3 RTX51的配置
7.3.1 RTX51的基础配置
7.3.2 RTX51的库文件配置
7.3.3 RTX51的优化配置
7.4 RXT51的库函数
7.4.1 isr_send_signal函数
7.4.2 isr_set_ready函数
7.4.3 os_clear_signal函数
7.4.4 os_create_task函数
7.4.5 os_delete_task函数
7.4.6 os_reset_interval函数
7.4.7 os_running_task_id函数
7.4.8 os_send_signal函数
7.4.9 os_set_ready函数
7.4.1 0os_switch_task函数
7.4.1 1os_wait函数
7.5 RTX51的使用方法
7.5.1 建立用户项目
7.5.2 修改RTX51配置
7.5.3 编写用户代码
7.5.4 RTX51的编译
7.5.5 RTX51的调试
7.6 应用实例——基于RTX51的交通灯
第8章 51单片机的外部资源扩展方法
8.1 数据-地址总线扩展方法
8.2 串行模块扩展方法
8.3 I2C总线扩展方法
8.3.1 I2C总线扩展原理
8.3.2 应用实例——使用I/O端口来模拟I2C总线
8.4 SPI总线扩展方法
8.4.1 SPI总线扩展原理
8.4.2 应用实例——使用I/O端口来模拟SPI总线
8.5 1-wire(单线)总线扩展方法
8.5.1 1-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.1 NEC8255芯片介绍
9.4.2 NEC8255的典型扩展方法
9.4.3 应用实例——8位8段数码管驱动
9.4.4 应用实例——4×8行列扫描键盘
第10章 51单片机人机交互通道扩展
10.1 使用MAX7219扩展多位数码管
10.1.1 MAX7219介绍
10.1.2 MAX7219的数据格式
10.1.3 MAX7219的寄存器
10.1.4 应用实例——用MAX7219驱动8位数码管
10.2 使用CH452扩展数码管和按键
10.2.1 CH452芯片介绍
10.2.2 CH452的应用电路
10.2.3 应用实例——用CH452驱动4位数码管和4×4行列键盘
10.3 使用1602液晶来显示数字和字符
10.3.1 1602字符液晶介绍
10.3.2 1602字符液晶的应用电路和应用流程
10.3.3 应用实例——1602字符液晶循环显示字符
10.4 使用12864液晶来显示汉字和图形
10.4.1 12864液晶模块介绍
10.4.2 12864液晶模块的操作流程
10.4.3 应用实例——12864液晶模块的库函数
10.4.4 应用实例——12864液晶显示汉字和图形
第11章 51单片机数据采集输出通道扩展
11.1 A/D数据采集通道扩展
11.1.1 A/D数据采集通道工作原理
11.1.2 ADC0809并行A/D芯片扩展
11.1.3 TLC2543串行多通道A/D芯片扩展
11.1.4 ADS1100高精度A/D芯片扩展
11.2 D/A数据输出通道扩展
11.2.1 D/A芯片的分类和特点
11.2.2 DAC0832并行D/A芯片扩展
11.2.3 MAX517串行D/A芯片扩展
11.3 DS18B20温度芯片扩展
11.3.1 DS18B20温度传感器介绍
11.3.2 应用实例——串口温度采集系统
11.4 PCF8563时钟芯片扩展
11.4.1 PCF8563时钟芯片介绍
11.4.2 应用实例——初始化PCF8563时钟
11.4.3 应用实例——读PCF8563时钟信息
11.4.4 应用实例——设置PCF8563的报警信息
11.4.5 应用实例——PCF8563的秒中断输出
11.4.6 应用实例——PCF8563的秒时钟信号输出
第12章 51单片机的存储器扩展应用
12.1 ROM存储器和RAM存储器扩展
12.1.1 ROM存储器扩展
12.1.2 RAM存储器扩展
12.1.3 应用实例——6264的数据读/写
12.2 E2PROM存储器扩展
12.2.1 AT24系列E2PROM介绍
12.2.2 AT24系列E2PROM的操作
12.2.3 应用实例——AT24C04的字节写
12.2.4 应用实例——AT24C04的连续读
12.2.5 应用实例——用AT24C04存放音乐数据
12.3 SLE4442接触式加密IC存储卡扩展
12.3.1 SLE4442卡基础
12.3.2 SLE4442卡的工作模式
12.3.3 SLE4442卡的命令
12.3.4 应用实例——SLE4442卡的库函数
12.3.5 应用实例——基于SLE4442的简易电子房卡
12.4 U盘存储器扩展
12.4.1 CH376基础
12.4.2 CH376的命令
12.4.3 CH376的硬件接口
12.4.4 CH376的应用电路
12.4.5 CH376的U盘扩展应用
12.4.6 应用实例——CH376的库函数
12.4.7 应用实例——使用CH376建立文件并写入数据
第13章 51单片机通信通道扩展
13.1 RS-232-C协议通信扩展
13.2 RS-422/485协议通信扩展
13.3 双口RAM通信扩展
13.3.1 IDT7132双口RAM介绍
13.3.2 应用实例——使用IDT7132进行双单片机通信
13.4 无线数据通信扩展
13.4.1 PTR8000无线模块介绍
13.4.2 PTR8000无线模块的应用电路
13.4.3 51单片机扩展PTR8000无线模块的软件工作流程
13.4.4 应用实例——无线按键指示系统终端
第14章 51单片机应用系统综合设计
14.1 51单片机应用系统设计基础
14.1.1 51单片机应用系统设计流程
14.1.2 51单片机应用系统设计原则
14.2 51单片机应用系统——太阳能电池监控模块
14.2.1 系统需求分析
14.2.2 系统设计
14.2.3 系统应用代码设计
14.3 51单片机应用系统——手持倾角仪
14.3.1 系统需求分析
14.3.2 系统设计
14.3.3 系统应用代码设计
《51单片机应用开发案例手册》主要介绍如何在51单片机的应用系统中使用51单片机的内部资源和外围器件,这些资源和器件包括I/O引脚、外部中断、定时/计数器、串行接口、人机交互通道、数据采集和输出通道、存储器模块、通信模块。另外,《51单片机应用开发案例手册》还介绍了51单片机C语言部分库函数的详细使用方法,以及RTX51操作系统的工作原理和使用方法。
《51单片机应用开发案例手册》实例的电路原理图及程序源代码可以到资源下载栏目下载,读者根据自己的实际需要稍加修改即可使用。《51单片机应用开发案例手册》包含丰富的单片机内部资源和外围模块的应用实例,作为一本单片机应用手册,适合于具有单片机基础知识的单片机工程师,以及高等院校电子类专业的学生和单片机爱好者参考阅读。
#include<reg51.h>#define uchar unsigned charuchar num,time,limit=2;sbit led1=P1^0;sbit key1=P2...
加减一加法器,通过P1口输入一个八位无符号数,P2口输入另
8051单片机在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分: 1个8位微处理器(CPU)。 1个时钟电路。 4KB程序存储器。 256B数据存储器。 2个16位定时/计数器。 64KB...
基于 51单片机的电子时钟设计 摘要 本电子时钟以 STC89C52单片机作为主控芯片,采用 DS12C887时钟芯片, 使用 1602液晶作为显示输出。该时钟走时精确,具有闹钟设置,以及可同时显 示时间、日期等多种功能。本文将详细介绍该电子时钟涉及到的一些基本原理, 从硬件和软件两方面进行分析。 【关键词】 STC89C52单片机 DS12C887时钟芯片 1602液晶 蜂鸣器 目 录 一、绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 1.1 电子时钟功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 1.2 设计方案⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 二、硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 2.1 51单片机部分设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 2.2 USB 供电电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 5 2.3 串行通信电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 6
摘 要 本次的课程设计基于单片机技术原理,以美国 ATMEL公司开发的 AT89S52 芯片作为核心控制器。 通过硬件电路的制作及软件程序的编制, 设计制作了一种 具有复位、校时功能的数字时钟系统。利用 1602液晶同时显示提示信息和时间 信息,用户可通过系统上的按键对时间进行调整, 实现实时的时钟显示。 本次设 计的硬件由主控模块、 复位模块以及显示模块构成。 复位模块主要由电阻、 电容、 按键和发光二极管组成而显示模块则由 1602字符液晶构成,用于显示提示信息 和实时时钟。 关键词: AT89S52;LCD 1602; 实时时钟 桂林电子科技大学课程设计(论文)报告用纸 Abstract The curriculum design is based on the principles of microcomputer technology and has adapted the
《51单片机典型应用开发范例大全》主要通过典型实例的形式,以51单片机的系统设计为主线,结合软件和硬件,由浅入深、通俗易懂地介绍了51单片机应用系统开发的流程、方法、技巧和设计思想。
《51单片机典型应用开发范例大全》分为入门篇、提高篇和综合实例篇三部分。入门篇介绍较为简单的系统开发实例,通过学习可以帮助读者加深理解51单片机功能扩展。提高篇中的实例一般需要借助于传感器、执行机构及硬件接口电路完成设计,通过这部分内容的学习,可以提高读者的开发能力,掌握常用外围接口电路设计方法、传感器应用开发、通信接口设计等。综合实例篇通过详细讲解一些电子产品、工控产品的设计,使读者了解单片机系统软硬件的设计步骤和方法,强调了模块化设计思想的重要性。
《51单片机典型应用开发范例大全》面向各领域的单片机设计用户,尤其是对已掌握单片机开发理论但缺少实际开发经验的读者更具指导意义;同时也可作为各类高校相关专业和社会培训班的教材使用。
本书以标准C语言和MCS-51单片机为基础,系统地介绍了51单片机C语言程序设计方法与应用技术。本书在内容上重点突出实用性和应用性两大特点,不仅对硬件接口进行了详细的论述,而且对软件的设计思想、程序流程图以及C语言程序进行了重点讲解。本书从应用性角度出发,融合了作者多年从事项目开发的大量实际案例,为帮助读者理解,书中对案例程序代码部分做了很详细的注释,以求通过案例阐述基本问题,着重培养和提高读者的开发能力。
本书所附光盘中包括了书中所有案例的程序源代码,读者略作修改目口可在工程中应用。
本书可供从事51单片机应用与产品开发的技术人员学习使用,也可供高等院校电气工程、电信工程、自动化等专业的师生参考使用。
原创经典,中科院一线研发工程师倾力打造
深入介绍51单片机编程语言,透析单片机硬件编程操作
通过大量典型应用案例,引领读者迅速掌握51单片机开发技术