描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121231735
2.对于相应的器件或者模块的介绍,都按照原理讲解、应用电路、操作步骤和应用实例循序渐进的方式,并且在*后点评其使用要点。
3.提供大量的实际应用电路和代码,并且给出了相当多器件/模块的AVR单片机驱动库函数,读者可以修改这些电路和代码或者直接应用于自己的实际工程项目中。
1.1 AVR单片机应用系统设计基础
1.1.1 AVR单片机应用系统的结构
1.1.2 AVR单片机应用系统设计流程
1.1.3 AVR单片机应用系统的硬件设计
1.2 AVR单片机的类型和型号
1.3 应用实例 —— 一个最小AVR单片机应用系统
1.3.1 复位电路
1.3.2 振荡电路
1.3.3 最小AVR单片机应用系统的电路
第2章 AVR单片机的内部基础模块
2.1 AVR单片机的I/O引脚
2.1.1 I/O引脚基础
2.1.2 I/O引脚的使用方法
2.1.3 AVR单片机I/O引脚的应用
2.1.4 AVR单片机I/O引脚的使用要点
2.2 AVR单片机内部定时器/计数器
2.2.1 AVR单片机内部定时器/计数器基础
2.2.2 AVR单片机定时器/计数器的应用
2.2.3 定时器/计数器的应用案例——简易频率计
2.2.4 AVR单片机定时器/计数器的使用要点
2.3 AVR单片机外部中断
2.3.1 外部中断基础
2.3.2 AVR单片机外部中断的应用
2.3.3 AVR单片机外部中断的使用要点
2.4 AVR单片机的WDT模块
2.4.1 AVR单片机WDT模块基础
2.4.2 AVR单片机WDT模块的库函数
2.4.3 WDT模块的使用要点
2.5 AVR单片机的内部E2PROM模块
2.5.1 AVR单片机内部E2PROM模块基础
2.5.2 AVR单片机E2PROM的库函数
2.5.3 E2PROM的使用要点
第3章 AVR单片机的内部通信模块
3.1 AVR单片机的串口模块
3.1.1 串口模块的控制寄存器
3.1.2 串口模块的数据格式
3.1.3 串口模块的波特率
3.1.4 串口模块的应用
3.1.5 AVR单片机串口模块的使用要点
3.2 AVR单片机的TWI(I2C)总线接口模块
3.2.1 TWI(I2C)总线接口基础
3.2.2 AVR单片机的TWI(I2C)总线接口寄存器
3.2.3 AVR单片机TWI(I2C)总线接口模块的使用方法
3.2.4 AVR单片机TWI(I2C)总线接口模块的应用
3.2.5 AVR单片机TWI(I2C)总线接口模块的使用要点
3.3 AVR单片机的SPI总线接口模块
3.3.1 AVR单片机的SPI总线接口模块基础
3.3.2 AVR单片机SPI总线接口模块的寄存器
3.3.3 AVR单片机SPI接口总线模块的工作模式
3.3.4 AVR单片机SPI接口总线模块的应用
3.3.5 AVR单片机SPI接口总线模块的使用要点
第4章 AVR单片机的内部模拟信号采集模块
4.1 AVR单片机的比较器模块
4.1.1 内置比较器模块基础
4.1.2 AVR单片机比较器模块的应用
4.1.3 比较器模块的应用案例——水库水位监控系统
4.1.4 AVR单片机比较器模块的使用要点
4.2 AVR单片机的A/D模块
4.2.1 内置A/D模块基础
4.2.2 AVR单片机A/D模块的应用
4.2.3 AVR单片机A/D模块的使用要点
第5章 AVR单片机的电源和看门狗
5.1 电源模块设计基础
5.1.1 变压器
5.1.2 整流桥
5.1.3 直流电压调理方法
5.2 直流电源稳压芯片
5.2.1 直流电源稳压芯片的技术指标
5.2.2 78/79系列电源调理芯片
5.2.3 AS1117电源调理芯片
5.3 电源保护和监控芯片
5.3.1 MAX4838~MAX4842系列电源过压保护芯片
5.3.2 AAT4610A电源过流保护芯片
5.3.3 MAX8215电源监控芯片
5.4 AVR单片机的看门狗应用基础
5.5 看门狗MAX813L
5.5.1 MAX813L的基础
5.5.2 MAX813L的应用电路
5.5.3 MAX813L的操作步骤
5.5.4 MAX813L的喂狗代码
5.5.5 MAX813L的使用要点
5.6 看门狗CAT1161
5.6.1 CAT1161的基础
5.6.2 CAT1161的应用电路
5.6.3 CAT1161的操作步骤
5.6.4 CAT1161的应用代码
5.6.5 CAT1161的使用要点
第6章 AVR单片机的外部存储器和读卡器
6.1 AVR单片机的外部存储器扩展方法
6.2 外部RAM 6264
6.2.1 6264基础
6.2.2 6264的应用电路
6.2.3 6264的操作步骤
6.2.4 6264的应用
6.2.5 6264的使用要点
6.3 非接触式智能卡扩展
6.3.1 非接触式智能卡
6.3.2 Mifare1射频卡读卡器
6.3.3 非接触式智能卡读卡器H6152的应用电路
6.3.4 非接触式智能卡读卡器H6152的操作步骤
6.3.5 H6152读卡器的库函数
6.3.6 H6152读卡器的应用案例——非接触门禁
6.3.7 H6152读卡器的使用要点
6.4 U盘读/写芯片CH376扩展
6.4.1 CH376基础
6.4.2 CH376的应用电路
6.4.3 CH376的操作步骤
6.4.4 CH376的库函数
6.4.5 CH376的应用案例——扩展U盘存放TXT数据文件
6.4.6 CH376的使用要点
第7章 AVR单片机的I/O引脚扩展
7.1 译码器74138应用
7.1.1 74138基础
7.1.2 74138的应用电路
7.1.3 74138的操作步骤
7.1.4 74138的应用案例——使用74138驱动LED轮流点亮
7.1.5 74138的使用要点
7.2 锁存器74273扩展
7.2.1 74273基础
7.2.2 74273的应用电路
7.2.3 74273的操作步骤
7.2.4 74273的应用案例——使用74273实现秒表显示
7.2.5 74273的使用要点
7.3 三态门74244扩展
7.3.1 74244基础
7.3.2 74244的应用电路
7.3.3 74244的操作步骤
7.3.4 74244的应用案例——使用74244扩展拨码开关地址输入
7.3.5 74244的使用要点
7.4 串行移位芯片74595扩展
7.4.1 74595基础
7.4.2 74595的应用电路
7.4.3 74595的操作步骤
7.4.4 74595的库函数
7.4.5 74595的应用案例——用74595实现电子抽奖系统
7.4.6 74595的使用要点
7.5 串行输入芯片74165扩展
7.5.1 74165基础
7.5.2 74165的应用电路
7.5.3 74165的操作步骤
7.5.4 74165的库函数
7.5.5 74165的应用案例——74165和74595的联合使用
7.5.6 75165的使用要点
7.6 可编程I/O扩展芯片Intel 8255扩展
7.6.1 Intel 8255基础
7.6.2 Intel 8255的应用电路
7.6.3 Intel 8255的操作步骤
7.6.4 Intel 8255的库函数
7.6.5 Intel 8255的应用案例——数码管秒表显示
7.6.6 Intel 8255的应用案例——扩展行列扫描键盘
7.6.7 Intel 8255的应用案例——显示拨码开关状态
7.6.8 Intel 8255的使用要点
第8章 AVR单片机的用户输入通道
8.1 用户输入通道设计基础
8.2 独立按键
8.2.1 独立按键基础
8.2.2 独立按键的应用电路
8.2.3 独立按键的操作步骤
8.2.4 独立按键的应用案例——加减计数
8.2.5 独立按键的应用案例——跑步机启停/速度控制模块
8.2.6 独立按键的使用要点
8.3 拨码开关
8.3.1 拨码开关基础
8.3.2 拨码开关的应用电路
8.3.3 拨码开关的操作步骤
8.3.4 拨码开关的应用案例——拨码开关指示灯
8.3.5 拨码开关的使用要点
8.4 行列扫描键盘
8.4.1 行列扫描键盘基础
8.4.2 行列扫描键盘的应用电路
8.4.3 行列扫描键盘的操作步骤
8.4.4 行列扫描键盘的库函数
8.4.5 行列扫描键盘的应用案例——计算器键盘显示
8.4.6 行列扫描键盘的应用案例——手机拨号模块
8.4.7 行列扫描键盘的使用要点
8.5 PS/2键盘
8.5.1 PS/2键盘基础
8.5.2 PS/2键盘的应用电路
8.5.3 PS/2键盘的操作步骤
8.5.4 PS/2键盘的应用案例——串口扫描码输出
8.5.5 PS/2键盘的使用要点
第9章 AVR单片机的显示模块
9.1 LED扩展
9.1.1 LED基础
9.1.2 LED的应用电路
9.1.3 LED的操作步骤
9.1.4 LED的应用案例——串口驱动LED
9.1.5 LED的应用案例——呼吸灯
9.1.6 LED的使用要点
9.2 单位数码管扩展
9.2.1 单位数码管基础
9.2.2 单位数码管的应用电路
9.2.3 单位数码管的操作步骤
9.2.4 单位数码管的库函数
9.2.5 单位数码管的应用案例——串口驱动单位数码管显示
9.2.6 单位数码管的使用要点
9.3 多位数码管扩展
9.3.1 多位数码管基础
9.3.2 多位数码管的应用电路
9.3.3 多位数码管的操作步骤
9.3.4 多位数码管的库函数
9.3.5 多位数码管的应用案例——串口驱动多位数码管显示
9.3.6 多位数码管的使用要点
9.4 数码管驱动芯片MAX7219扩展
9.4.1 MAX7219基础
9.4.2 MAX7219的应用电路
9.4.3 MAX7219的操作步骤
9.4.4 MAX7219的库函数
9.4.5 MAX7219的应用案例——秒表
9.4.6 MAX7219的使用要点
9.5 数码管和键盘驱动芯片CH452扩展
9.5.1 CH452基础
9.5.2 CH452的应用电路
9.5.3 CH452的操作步骤
9.5.4 CH452的库函数
9.5.5 CH452的应用案例——串口数据显示和按键状态返回
9.5.6 CH452的使用要点
9.6 数字字符液晶1602扩展
9.6.1 1602液晶基础
9.6.2 1602液晶的应用电路
9.6.3 1602液晶的操作步骤
9.6.4 1602液晶的库函数
9.6.5 1602的应用案例——数字和字符串显示
9.6.6 1602的使用要点
第10章 AVR单片机的A/D和D/A芯片
10.1 AVR单片机的A/D芯片基础
10.2 12位并行多通道A/D芯片MAX197应用
10.2.1 MAX197基础
10.2.2 MAX197的应用电路
10.2.3 MAX197的操作步骤
10.2.4 MAX197的库函数
10.2.5 MAX197的应用案例——串口输出MAX197多通道数据采集
10.2.6 MAX197的使用要点
10.3 12位串行多通道A/D芯片TLC2543应用
10.3.1 TLC2543基础
10.3.2 TLC2543的应用电路
10.3.3 TLC2543的操作步骤
10.3.4 TLC2543的库函数
10.3.5 TLC2543的应用案例——串口输出TLC2543的多通道数据采集
10.3.6 TLC2543的使用要点
10.4 AVR单片机的D/A通道基础
10.5 8位并行D/A通道芯片DAC0832
10.5.1 DAC0832基础
10.5.2 DAC0832的应用电路
10.5.3 DAC0832的操作步骤
10.5.4 DAC0832的库函数
10.5.5 DAC0832的应用案例——可控自校准数字电源
10.5.6 DAC0832的使用要点
10.6 串行D/A芯片MAX517
10.6.1 MAX517基础
10.6.2 MAX517的应用电路
10.6.3 MAX517的操作步骤
10.6.4 MAX517的库函数
10.6.5 MAX517的应用案例——MAX517输出三角波
10.6.6 MAX517的使用要点
第11章 AVR单片机时钟日历芯片
11.1 时钟日历芯片设计基础
11.2 并行接口时钟日历模块DS12C887扩展
11.2.1 DS12C887基础
11.2.2 DS12C887的应用电路
11.2.3 DS12C887的操作步骤
11.2.4 DS12C887的库函数
11.2.5 应用案例——DS12C887的时钟信息读取
11.2.6 DS12C887的使用要点
11.3 I2C接口时钟日历芯片PCF8563扩展
11.3.1 PCF8563基础
11.3.2 PCF8563的应用电路
11.3.3 PCF8563的操作步骤
11.3.4 PCF8563的库函数
11.3.5 应用案例——PCF8563的时钟初始化和读取
11.3.6 应用实例——使用PCF8563报警
11.3.7 应用案例——PCF8563输出秒脉冲信号
11.3.8 PCF8563的使用要点
11.4 SPI接口时钟日历芯片DS1302扩展
11.4.1 DS1302基础
11.4.2 DS1302的应用电路
11.4.3 DS1302的操作步骤
11.4.4 DS1302的库函数
11.4.5 应用案例——商场灯光节能控制系统
11.4.6 DS1302的使用要点
第12章 AVR单片机的温度/湿度和压力传感器
12.1 温度传感器DS18B20扩展
12.1.1 DS18B20基础
12.1.2 DS18B20的应用电路
12.1.3 DS18B20的操作步骤
12.1.4 DS18B20的库函数
12.1.5 DS18B20的应用案例——数字温度计
12.1.6 DS18B20的使用要点
12.2 温度传感器DS1621扩展
12.2.1 DS1621基础
12.2.2 DS1621的应用电路
12.2.3 DS1621的操作步骤
12.2.4 DS1621的库函数
12.2.5 DS1621的应用案例——DS1621温度测量
12.2.6 DS1621的使用要点
12.3 温度/湿度传感器SHT75扩展
12.3.1 SHT75基础
12.3.2 SHT75的应用电路
12.3.3 SHT75的操作步骤
12.3.4 SHT75的库函数
12.3.5 SHT75的应用案例——温度/湿度测量
12.3.6 SHT75的使用要点
12.4 压力传感器MPX4115扩展
12.4.1 MPX4115基础
12.4.2 MPX4115的应用电路
12.4.3 MPX4115的操作步骤
12.4.4 MPX4115的应用案例——压力监测报警
12.4.5 MPX4115的使用要点
第13章 AVR单片机的定位模块
13.1 定位模块设计基础
13.1.1 GPS模块基础
13.1.2 数字罗盘基础
13.1.3 NMEA-1083规范
13.2 GPS模块GARMIN 25LP
13.2.1 GPS模块GARMIN 25LP基础
13.2.2 GPS模块GARMIN 25LP的应用电路
13.2.3 GPS模块GARMIN 25LP的操作步骤
13.2.4 GARMIN 25LP模块的应用案例——GPS信息读取
13.2.5 GARMIN 25LP的使用要点
13.3 数字罗盘HMR3000
13.3.1 数字罗盘HMR3000基础
13.3.2 数字罗盘HMR3000的应用电路
13.3.3 数字罗盘HMR3000的操作步骤
13.3.4 HMR3000模块的应用案例——罗盘信息读取
13.3.5 HMR3000的使用要点
第14章 AVR单片机的语音和打印模块
14.1 AVR单片机的语音和打印模块设计概述
14.2 蜂鸣器
14.2.1 蜂鸣器基础
14.2.2 蜂鸣器的应用电路
14.2.3 蜂鸣器的操作步骤
14.2.4 蜂鸣器的库函数
14.2.5 蜂鸣器的应用案例——按键提示音
14.2.6 蜂鸣器的应用案例——简易电子琴
14.2.7 蜂鸣器的使用要点
14.3 语音芯片ISD2560扩展
14.3.1 语音芯片ISD2560基础
14.3.2 语音芯片ISD2560的应用电路
14.3.3 语音芯片ISD2560的操作步骤
14.3.4 ISD2560的应用案例——ISD2560的录放操作
14.3.5 ISD2560的使用要点
14.4 TTS语音芯片OSY6618扩展
14.4.1 TTS语音芯片OSY6618基础
14.4.2 TTS语音芯片OSY6618的应用电路
14.4.3 TTS语音芯片OSY6618的操作步骤
14.4.4 OSY6618的应用案例——OSY6618的语音播放
14.4.5 TTS语音芯片OSY6618的使用要点
14.5 GP16微型打印机扩展
14.5.1 GP16微型打印机基础
14.5.2 GP16微型打印机的应用电路
14.5.3 GP16微型打印机的操作步骤
14.5.4 GP16的应用案例——GP16打印温度数据
14.5.5 GP16微型打印机的使用要点
第15章 AVR单片机的有线通信模块
15.1 AVR单片机的有线通信模块设计概述
15.2 MAX232扩展
15.2.1 MAX232基础
15.2.2 MAX232的应用电路
15.2.3 MAX232的操作步骤
15.2.4 MAX232的应用案例——AVR单片机和PC通信
15.2.5 MAX232的使用要点
15.3 MAX485扩展
15.3.1 MAX485基础
15.3.2 MAX485的应用电路
15.3.3 MAX485的操作步骤
15.3.4 MAX485的应用案例——AVR单片机和PC进行远程数据交换
15.3.5 MAX485的使用要点
15.4 MAX491扩展
15.4.1 MAX491基础
15.4.2 MAX491的应用电路
15.4.3 MAX491的操作步骤
15.4.4 MAX491的应用案例
15.4.5 MAX491的使用要点
15.5 6N137高速光电隔离芯片扩展
15.5.1 6N137基础
15.5.2 6N137的应用电路
15.5.3 6N137的操作步骤
15.5.4 6N137的应用案例
15.5.5 6N137的使用要点
15.6 CAN总线通信芯片SJA1000扩展
15.6.1 SJA1000基础
15.6.2 SJA1000的应用电路
15.6.3 SJA1000的操作步骤
15.6.4 SJA1000的应用案例——串口CAN总线桥
15.6.5 SJA1000的使用要点
15.7 USB通信桥芯片CP2101扩展
15.7.1 CP2101基础
15.7.2 CP2101的应用电路
15.7.3 CP2101的操作步骤
15.7.4 CP2101的应用案例
15.7.5 CP2101的使用要点
第16章 AVR单片机的无线通信模块
16.1 AVR单片机的无线通信概述
16.2 红外收发芯片
16.2.1 红外收发芯片基础
16.2.2 红外收发芯片的应用电路
16.2.3 红外收发芯片的操作步骤
16.2.4 红外收发芯片的应用案例——按键信息发送
16.2.5 红外收发芯片的使用要点
16.3 PTR8000无线模块
16.3.1 PTR8000无线模块基础
16.3.2 PTR8000无线模块的应用电路
16.3.3 PTR8000的操作步骤
16.3.4 PTR8000的库函数
16.3.5 PTR8000的应用案例——无线串口通信桥
16.3.6 PTR8000的使用要点
第17章 AVR单片机的执行机构
17.1 AVR单片机执行机构的设计基础
17.2 直流电动机
17.2.1 直流电动机基础
17.2.2 直流电动机的应用电路
17.2.3 直流电动机的操作步骤
17.2.4 直流电动机的应用案例——串口直流电动机控制
17.2.5 直流电动机的使用要点
17.3 步进电动机扩展
17.3.1 步进电动机基础
17.3.2 步进电动机的应用电路
17.3.3 步进电动机的操作步骤
17.3.4 步进电动机的应用案例——串口步进电动机控制
17.3.5 步进电动机的应用案例——键盘控制步进电动机
17.3.6 步进电动机的使用要点
17.4 继电器扩展
17.4.1 继电器基础
17.4.2 继电器的应用电路
17.4.3 继电器的操作步骤
17.4.4 继电器的应用案例——串口控制继电器的闭合和断开
17.4.5 继电器的使用要点
1997年,由ATMEL公司挪威设计中心的A先生与V先生利用Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR单片机。相对于出现较早也较为成熟的51系列单片机,AVR系列单片机的片内资源更丰富,接口也更强大。
AVR单片机具有体积小、功能强、价格低的特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域有着广泛的应用,可以大大提高生产、生活的自动化水平。AVR单片机的应用系统是一个用于实现某种目的以AVR单片机为核心的软件和硬件综合体,在应用系统中,除了AVR单片机之外通常还涉及一些其他的模块和器件,本书介绍了这些包括AVR单片机内部模块在内的常用模块和器件的典型应用方法。
本书内容简介
全书分为17章,以下是各章内容的概述。
第1章 AVR单片机应用系统基础
本章介绍了AVR单片机应用系统的基础知识,包括应用系统的设计流程、AVR单片机的内核组成等,读者可以在这一章中了解AVR单片机应用系统设计的基础流程和AVR单片机内核的基础知识。
第2章 AVR单片机的内部基础模块
AVR单片机集成了大量的内部基础资源以完成用户的基本功能设计需求,通常包括I/O引脚模块、定时/计数器模块、外部中断模块、WDT看门狗模块和E2PROM模块,读者将在这一章中了解如何利用这些AVR单片机的内部基础资源进行定时、输出PWM波形和存储数据等工作。
第3章 AVR单片机的内部通信模块
通信模块是AVR单片机和外部数据交互的通道,通常AVR系列单片机提供USART(串口)模块、TWI(I2C)总线接口模块和SPI总线接口模块,这些是AVR单片机和外部进行数据交互的常用通道,在这一章中读者将会了解如何使用这些模块和外部进行数据交互。
第4章 AVR单片机的内部模拟信号采集模块
AVR单片机内部提供了比较器模块和A/D模块,用于对应用系统中模拟信号进行采集,将其转换为数字信号供应用系统处理,本章介绍这两个模块的详细使用方法,读者将会了解如何通过使用它们将模拟信号转换为AVR单片机可以处理的数字信号。
第5章 AVR单片机的电源和看门狗
电源模块用于给AVR单片机应用系统提供相应的电压或者电流,它关系到应用系统是否能正常稳定运行;而看门狗也是和AVR单片机系统正常运行相关的模块,有的看门狗模块还集成了电源监控功能,合理使用这两个模块是维持AVR单片机应用系统稳定运行的基础。
第6章 AVR单片机的外部存储器和读卡器
存储器可以用于存放一些临时或者长期的数据,如果这些数据需要移动携带,则可以使用各种存储卡;此外在使用AVR单片机扩展某些外部器件的时候,也可以将其作为外部存储器从而使用对应的存储器扩展方式,这是最常用的AVR单片机外部器件扩展方法之一,具有编程简单、通信速度快的特点,熟悉这种扩展方式的应用是快速掌握后续章节的基础。
第7章 AVR单片机的I/O引脚扩展
在AVR单片机的应用系统中,I/O引脚通常用于驱动外围设备或者给用户和设备提供输入通道,在外部设备较多的时候通常会出现I/O引脚不够用的情况,此时可以使用一些外部器件对AVR单片机的I/O引脚进行扩展,这些器件包括74系列芯片、并口专用扩展芯片,可编程I/O扩展芯片等,通过本章读者将详细了解它们的使用方法。
第8章 AVR单片机的用户输入通道
在AVR单片机应用系统中,常常需要用户通过输入对系统进行控制或者给系统提供运行参数,此时需要使用一些器件或者模块供用户完成相应的操作,它们被称为AVR单片机的用户输入通道,包括按键、拨码开关、键盘等,熟悉它们的使用方法将会使读者了解如何向AVR单片机应用系统输入数字、字符等。
第9章 AVR单片机的显示模块
和用户输入通道类似,AVR单片机的应用系统常常需要给用户提供一些相关信息的显示,例如,字符和图形等,此时可以使用LED、数码管、液晶等显示器件和模块来完成这些信息的显示,本章详细介绍它们的使用方法,读者可以了解如何在AVR单片机应用系统中显示字符、数字等。
第10章 AVR单片机的A/D和D/A芯片
在AVR单片机的应用系统中,某些信号以模拟电压的形式存在,此时需要使用外扩的A/D(模拟/数字变换)通道将这些连续的模拟电压信号转换为数字信号,才能被AVR单片机所识别;反之,如果需要通过AVR单片机控制一些模拟量(例如模拟电压、模拟电流)来驱动一些外部设备,此时则需要将数字信号转换为模拟信号,需要使用被称为D/A芯片或者DAC(Digital Analog Converter)的数字/模拟转换模块。模拟信号和数字信号的相互变换也是AVR单片机应用系统的常见应用之一,在本章中读者将熟悉不同位数的并行和串行接口的A/D和D/A芯片的使用方法。
第11章 AVR单片机的时钟日历芯片
在AVR单片机应用系统中,常常需要获取当前的时间、日期等信息,此时虽然可以使用AVR单片机内部的定时计数器来进行软件计时,但是这样具有占用单片机资源过多、掉电容易丢失数据等缺点,所以通常会使用专用的时钟日历芯片来完成相应的工作,本章介绍几种接口不同、功能略有差异的时钟日历芯片的使用方法。
第12章 AVR单片机的温度/湿度和压力传感器
在AVR单片机的应用系统中,可能需要测量当前系统所处环境的温度或者湿度和压力,此时可以扩展温度或者湿度芯片来获取相应的信息,常用的温度/湿度芯片包括1-Wire接口的18B20、I2C总线接口的DS1621和I2C总线接口的温度/湿度一体的芯片SHT75等,在本章读者将会了解如何在AVR单片机应用系统中使用它们来获得当前的温度和湿度数据,同时学习压力传感器的使用。
第13章 AVR单片机的定位模块
如果需要知道应用系统当前的方位、方向等地理信息,可以在AVR单片机应用系统中扩展数字罗盘和GPS模块,本章介绍了最常用的数字罗盘HMR3000和GPS模块GARMIN 25LP的使用方法。
第14章 AVR单片机的语音和打印模块
AVR单片机应用系统除了可以用显示模块来和用户进行内容交互之外,还可以用语音和文字信息来提供应用系统需要输出的信息,提供这些信息输出常见的相关模块包括蜂鸣器、语音录放芯片ISD2560、TTS语音芯片OSY6618,微型打印机GP16等,在本章中读者会了解如何使用语音芯片录制和播放一段语音,如何控制打印机输出一段字符信息等。
第15章 AVR单片机的有线通信模块
AVR单片机应用系统常常需要和其他系统进行数据交换,如PC、ARM嵌入式应用系统等,此时需要一个数据通道来提供对应的数据流操作,这个数据通道可以按照物理载体的不同分为有线和无线两种,常见的有线数据通道芯片包括RS-232总线芯片、RS-485总线芯片、CAN总线芯片、USB桥接口芯片等,通过对这些芯片的使用可以组成一个有AVR单片机应用系统参与的有线网络。
第16章 AVR单片机的无线通信模块
当AVR单片机的应用系统不方便使用电缆等有线物理通道和其他系统进行数据交换时,可以使用无线电波进行通信,这种通道被称为无线数据通道,常见的无线数据通道模块包括红外收发芯片和无线数据通信模块PTR8000,通过对这些芯片和模块的使用可以组成一个有AVR单片机应用系统参与的无线网络。
第17章 AVR单片机的执行机构
AVR单片机应用系统的执行机构是指用于驱动物体进行物理位移或者驱动物体进行开启和闭合操作的器件,本章介绍了AVR单片机如何使用它们来实现AVR应用系统的运动及对大电流的控制等功能。
AVR单片机应用系统的软件开发环境
AVR单片机的常用软件开发环境包括AVR Studio、GCCAVR(WINAVR)、ICC AVR、Code Vision AVR等,其中最常用的是ICCAVR,它使用方便并能对各个型号的AVR单片机提供支持,主要有以下几个特点:
提供了一个综合了编辑器和工程管理器的集成工作环境(IDE),集成度高,使用简单。
源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成,编译错误会显示在状态窗口中,并且当单击错误时,光标自动跳转到错误的那一行,便于用户进行修改和编译。
工程管理器可以生成AVR单片机直接使用的.HEX格式文件,该格式的文件可被大多数编程器所支持,用于下载到芯片中。
本书使用7.22版的ICCAVR作为书中所有实例的软件开发环境。
本书特点
本书涵盖了AVR单片机从内部资源到用户输入通道、A/D信号采集、温度/湿度和压力传感器、定位模块、有线/无线通信模块等常用的外围器件/模块,对于相应的器件或者模块的介绍都按照原理讲解、应用电路、操作步骤和应用实例循序渐进的方式,并且在最后点评其使用要点。
本书提供了大量的实际应用电路和代码,并且给出了相当多器件/模块的AVR单片机驱动库函数,这些资料可在www.hxedu.com.cn(华信教育资源网)本书的共享资源下免费下载,读者可以修改这些电路和代码或者直接应用于自己的实际工程项目中。
本书由程国钢主持编写,李龙、魏勇、王华、李辉、刘峰、徐浩、李建国、马建军、唐爱华、苏小平、朱丽云、马淑娟、周毅、张玉兰等也参与了本书的编写和修改。
作者受学识水平所限,加上本书的程序和图表较多,时间仓促,书中疏漏甚至谬误之处在所难免,希望读者批评、指正。
编著者
前 言
1997年,由ATMEL公司挪威设计中心的A先生与V先生利用Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR单片机。相对于出现较早也较为成熟的51系列单片机,AVR系列单片机的片内资源更丰富,接口也更强大。
AVR单片机具有体积小、功能强、价格低的特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域有着广泛的应用,可以大大提高生产、生活的自动化水平。AVR单片机的应用系统是一个用于实现某种目的以AVR单片机为核心的软件和硬件综合体,在应用系统中,除了AVR单片机之外通常还涉及一些其他的模块和器件,本书介绍了这些包括AVR单片机内部模块在内的常用模块和器件的典型应用方法。
本书内容简介
全书分为17章,以下是各章内容的概述。
第1章 AVR单片机应用系统基础
本章介绍了AVR单片机应用系统的基础知识,包括应用系统的设计流程、AVR单片机的内核组成等,读者可以在这一章中了解AVR单片机应用系统设计的基础流程和AVR单片机内核的基础知识。
第2章 AVR单片机的内部基础模块
AVR单片机集成了大量的内部基础资源以完成用户的基本功能设计需求,通常包括I/O引脚模块、定时/计数器模块、外部中断模块、WDT看门狗模块和E2PROM模块,读者将在这一章中了解如何利用这些AVR单片机的内部基础资源进行定时、输出PWM波形和存储数据等工作。
第3章 AVR单片机的内部通信模块
通信模块是AVR单片机和外部数据交互的通道,通常AVR系列单片机提供USART(串口)模块、TWI(I2C)总线接口模块和SPI总线接口模块,这些是AVR单片机和外部进行数据交互的常用通道,在这一章中读者将会了解如何使用这些模块和外部进行数据交互。
第4章 AVR单片机的内部模拟信号采集模块
AVR单片机内部提供了比较器模块和A/D模块,用于对应用系统中模拟信号进行采集,将其转换为数字信号供应用系统处理,本章介绍这两个模块的详细使用方法,读者将会了解如何通过使用它们将模拟信号转换为AVR单片机可以处理的数字信号。
第5章 AVR单片机的电源和看门狗
电源模块用于给AVR单片机应用系统提供相应的电压或者电流,它关系到应用系统是否能正常稳定运行;而看门狗也是和AVR单片机系统正常运行相关的模块,有的看门狗模块还集成了电源监控功能,合理使用这两个模块是维持AVR单片机应用系统稳定运行的基础。
第6章 AVR单片机的外部存储器和读卡器
存储器可以用于存放一些临时或者长期的数据,如果这些数据需要移动携带,则可以使用各种存储卡;此外在使用AVR单片机扩展某些外部器件的时候,也可以将其作为外部存储器从而使用对应的存储器扩展方式,这是最常用的AVR单片机外部器件扩展方法之一,具有编程简单、通信速度快的特点,熟悉这种扩展方式的应用是快速掌握后续章节的基础。
第7章 AVR单片机的I/O引脚扩展
在AVR单片机的应用系统中,I/O引脚通常用于驱动外围设备或者给用户和设备提供输入通道,在外部设备较多的时候通常会出现I/O引脚不够用的情况,此时可以使用一些外部器件对AVR单片机的I/O引脚进行扩展,这些器件包括74系列芯片、并口专用扩展芯片,可编程I/O扩展芯片等,通过本章读者将详细了解它们的使用方法。
第8章 AVR单片机的用户输入通道
在AVR单片机应用系统中,常常需要用户通过输入对系统进行控制或者给系统提供运行参数,此时需要使用一些器件或者模块供用户完成相应的操作,它们被称为AVR单片机的用户输入通道,包括按键、拨码开关、键盘等,熟悉它们的使用方法将会使读者了解如何向AVR单片机应用系统输入数字、字符等。
第9章 AVR单片机的显示模块
和用户输入通道类似,AVR单片机的应用系统常常需要给用户提供一些相关信息的显示,例如,字符和图形等,此时可以使用LED、数码管、液晶等显示器件和模块来完成这些信息的显示,本章详细介绍它们的使用方法,读者可以了解如何在AVR单片机应用系统中显示字符、数字等。
第10章 AVR单片机的A/D和D/A芯片
在AVR单片机的应用系统中,某些信号以模拟电压的形式存在,此时需要使用外扩的A/D(模拟/数字变换)通道将这些连续的模拟电压信号转换为数字信号,才能被AVR单片机所识别;反之,如果需要通过AVR单片机控制一些模拟量(例如模拟电压、模拟电流)来驱动一些外部设备,此时则需要将数字信号转换为模拟信号,需要使用被称为D/A芯片或者DAC(Digital Analog Converter)的数字/模拟转换模块。模拟信号和数字信号的相互变换也是AVR单片机应用系统的常见应用之一,在本章中读者将熟悉不同位数的并行和串行接口的A/D和D/A芯片的使用方法。
第11章 AVR单片机的时钟日历芯片
在AVR单片机应用系统中,常常需要获取当前的时间、日期等信息,此时虽然可以使用AVR单片机内部的定时计数器来进行软件计时,但是这样具有占用单片机资源过多、掉电容易丢失数据等缺点,所以通常会使用专用的时钟日历芯片来完成相应的工作,本章介绍几种接口不同、功能略有差异的时钟日历芯片的使用方法。
第12章 AVR单片机的温度/湿度和压力传感器
在AVR单片机的应用系统中,可能需要测量当前系统所处环境的温度或者湿度和压力,此时可以扩展温度或者湿度芯片来获取相应的信息,常用的温度/湿度芯片包括1-Wire接口的18B20、I2C总线接口的DS1621和I2C总线接口的温度/湿度一体的芯片SHT75等,在本章读者将会了解如何在AVR单片机应用系统中使用它们来获得当前的温度和湿度数据,同时学习压力传感器的使用。
第13章 AVR单片机的定位模块
如果需要知道应用系统当前的方位、方向等地理信息,可以在AVR单片机应用系统中扩展数字罗盘和GPS模块,本章介绍了最常用的数字罗盘HMR3000和GPS模块GARMIN 25LP的使用方法。
第14章 AVR单片机的语音和打印模块
AVR单片机应用系统除了可以用显示模块来和用户进行内容交互之外,还可以用语音和文字信息来提供应用系统需要输出的信息,提供这些信息输出常见的相关模块包括蜂鸣器、语音录放芯片ISD2560、TTS语音芯片OSY6618,微型打印机GP16等,在本章中读者会了解如何使用语音芯片录制和播放一段语音,如何控制打印机输出一段字符信息等。
第15章 AVR单片机的有线通信模块
AVR单片机应用系统常常需要和其他系统进行数据交换,如PC、ARM嵌入式应用系统等,此时需要一个数据通道来提供对应的数据流操作,这个数据通道可以按照物理载体的不同分为有线和无线两种,常见的有线数据通道芯片包括RS-232总线芯片、RS-485总线芯片、CAN总线芯片、USB桥接口芯片等,通过对这些芯片的使用可以组成一个有AVR单片机应用系统参与的有线网络。
第16章 AVR单片机的无线通信模块
当AVR单片机的应用系统不方便使用电缆等有线物理通道和其他系统进行数据交换时,可以使用无线电波进行通信,这种通道被称为无线数据通道,常见的无线数据通道模块包括红外收发芯片和无线数据通信模块PTR8000,通过对这些芯片和模块的使用可以组成一个有AVR单片机应用系统参与的无线网络。
第17章 AVR单片机的执行机构
AVR单片机应用系统的执行机构是指用于驱动物体进行物理位移或者驱动物体进行开启和闭合操作的器件,本章介绍了AVR单片机如何使用它们来实现AVR应用系统的运动及对大电流的控制等功能。
AVR单片机应用系统的软件开发环境
AVR单片机的常用软件开发环境包括AVR Studio、GCCAVR(WINAVR)、ICC AVR、Code Vision AVR等,其中最常用的是ICCAVR,它使用方便并能对各个型号的AVR单片机提供支持,主要有以下几个特点:
提供了一个综合了编辑器和工程管理器的集成工作环境(IDE),集成度高,使用简单。
源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成,编译错误会显示在状态窗口中,并且当单击错误时,光标自动跳转到错误的那一行,便于用户进行修改和编译。
工程管理器可以生成AVR单片机直接使用的.HEX格式文件,该格式的文件可被大多数编程器所支持,用于下载到芯片中。
本书使用7.22版的ICCAVR作为书中所有实例的软件开发环境。
本书特点
本书涵盖了AVR单片机从内部资源到用户输入通道、A/D信号采集、温度/湿度和压力传感器、定位模块、有线/无线通信模块等常用的外围器件/模块,对于相应的器件或者模块的介绍都按照原理讲解、应用电路、操作步骤和应用实例循序渐进的方式,并且在最后点评其使用要点。
本书提供了大量的实际应用电路和代码,并且给出了相当多器件/模块的AVR单片机驱动库函数,这些资料可在(华信教育资源网)本书的共享资源下免费下载,读者可以修改这些电路和代码或者直接应用于自己的实际工程项目中。
本书由程国钢主持编写,李龙、魏勇、王华、李辉、刘峰、徐浩、李建国、马建军、唐爱华、苏小平、朱丽云、马淑娟、周毅、张玉兰等也参与了本书的编写和修改。
作者受学识水平所限,加上本书的程序和图表较多,时间仓促,书中疏漏甚至谬误之处在所难免,希望读者批评、指正。
编著者
评论
还没有评论。