目 录
第1章 AVR单片机应用系统基础 (1)
1.1 AVR单片机应用系统设计基础 (1)
1.1.1 AVR单片机应用系统的结构 (1)
1.1.2 AVR单片机应用系统设计流程 (2)
1.1.3 AVR单片机应用系统的硬件设计 (3)
1.2 AVR单片机的类型和型号 (4)
1.3 应用实例 ―― 一个最小AVR单片机应用系统 (9)
1.3.1 复位电路 (9)
1.3.2 振荡电路 (11)
1.3.3 最小AVR单片机应用系统的电路 (11)
第2章 AVR单片机的内部基础模块 (13)
2.1 AVR单片机的I/O引脚 (13)
2.1.1 I/O引脚基础 (13)
2.1.2 I/O引脚的使用方法 (14)
2.1.3 AVR单片机I/O引脚的应用 (14)
2.1.4 AVR单片机I/O引脚的使用要点 (15)
2.2 AVR单片机内部定时器/计数器 (16)
2.2.1 AVR单片机内部定时器/计数器基础 (16)
2.2.2 AVR单片机定时器/计数器的应用 (17)
2.2.3 定时器/计数器的应用案例――简易频率计 (30)
2.2.4 AVR单片机定时器/计数器的使用要点 (37)
2.3 AVR单片机外部中断 (37)
2.3.1 外部中断基础 (37)
2.3.2 AVR单片机外部中断的应用 (39)
2.3.3 AVR单片机外部中断的使用要点 (44)
2.4 AVR单片机的WDT模块 (44)
2.4.1 AVR单片机WDT模块基础 (44)
2.4.2 AVR单片机WDT模块的库函数 (45)
2.4.3 WDT模块的使用要点 (46)
2.5 AVR单片机的内部E2PROM模块 (46)
2.5.1 AVR单片机内部E2PROM模块基础 (46)
2.5.2 AVR单片机E2PROM的库函数 (48)
2.5.3 E2PROM的使用要点 (49)
第3章 AVR单片机的内部通信模块 (50)
3.1 AVR单片机的串口模块 (50)
3.1.1 串口模块的控制寄存器 (50)
3.1.2 串口模块的数据格式 (53)
3.1.3 串口模块的波特率 (54)
3.1.4 串口模块的应用 (55)
3.1.5 AVR单片机串口模块的使用要点 (67)
3.2 AVR单片机的TWI(I2C)总线接口模块 (67)
3.2.1 TWI(I2C)总线接口基础 (67)
3.2.2 AVR单片机的TWI(I2C)总线接口寄存器 (70)
3.2.3 AVR单片机TWI(I2C)总线接口模块的使用方法 (72)
3.2.4 AVR单片机TWI(I2C)总线接口模块的应用 (73)
3.2.5 AVR单片机TWI(I2C)总线接口模块的使用要点 (80)
3.3 AVR单片机的SPI总线接口模块 (80)
3.3.1 AVR单片机的SPI总线接口模块基础 (81)
3.3.2 AVR单片机SPI总线接口模块的寄存器 (82)
3.3.3 AVR单片机SPI接口总线模块的工作模式 (84)
3.3.4 AVR单片机SPI接口总线模块的应用 (84)
3.3.5 AVR单片机SPI接口总线模块的使用要点 (90)
第4章 AVR单片机的内部模拟信号采集模块 (91)
4.1 AVR单片机的比较器模块 (91)
4.1.1 内置比较器模块基础 (91)
4.1.2 AVR单片机比较器模块的应用 (93)
4.1.3 比较器模块的应用案例――水库水位监控系统 (99)
4.1.4 AVR单片机比较器模块的使用要点 (102)
4.2 AVR单片机的A/D模块 (103)
4.2.1 内置A/D模块基础 (103)
4.2.2 AVR单片机A/D模块的应用 (110)
4.2.3 AVR单片机A/D模块的使用要点 (124)
第5章 AVR单片机的电源和看门狗 (125)
5.1 电源模块设计基础 (125)
5.1.1 变压器 (126)
5.1.2 整流桥 (126)
5.1.3 直流电压调理方法 (127)
5.2 直流电源稳压芯片 (127)
5.2.1 直流电源稳压芯片的技术指标 (127)
5.2.2 78/79系列电源调理芯片 (128)
5.2.3 AS1117电源调理芯片 (130)
5.3 电源保护和监控芯片 (132)
5.3.1 MAX4838~MAX4842系列电源过压保护芯片 (132)
5.3.2 AAT4610A电源过流保护芯片 (134)
5.3.3 MAX8215电源监控芯片 (136)
5.4 AVR单片机的看门狗应用基础 (139)
5.5 看门狗MAX813L (139)
5.5.1 MAX813L的基础 (139)
5.5.2 MAX813L的应用电路 (141)
5.5.3 MAX813L的操作步骤 (142)
5.5.4 MAX813L的喂狗代码 (142)
5.5.5 MAX813L的使用要点 (144)
5.6 看门狗CAT1161 (144)
5.6.1 CAT1161的基础 (144)
5.6.2 CAT1161的应用电路 (146)
5.6.3 CAT1161的操作步骤 (146)
5.6.4 CAT1161的应用代码 (146)
5.6.5 CAT1161的使用要点 (148)
第6章 AVR单片机的外部存储器和读卡器 (149)
6.1 AVR单片机的外部存储器扩展方法 (149)
6.2 外部RAM 6264 (151)
6.2.1 6264基础 (151)
6.2.2 6264的应用电路 (152)
6.2.3 6264的操作步骤 (152)
6.2.4 6264的应用 (153)
6.2.5 6264的使用要点 (153)
6.3 非接触式智能卡扩展 (153)
6.3.1 非接触式智能卡 (153)
6.3.2 Mifare1射频卡读卡器 (156)
6.3.3 非接触式智能卡读卡器H6152的应用电路 (161)
6.3.4 非接触式智能卡读卡器H6152的操作步骤 (162)
6.3.5 H6152读卡器的库函数 (162)
6.3.6 H6152读卡器的应用案例――非接触门禁 (169)
6.3.7 H6152读卡器的使用要点 (176)
6.4 U盘读/写芯片CH376扩展 (176)
6.4.1 CH376基础 (176)
6.4.2 CH376的应用电路 (183)
6.4.3 CH376的操作步骤 (185)
6.4.4 CH376的库函数 (189)
6.4.5 CH376的应用案例――扩展U盘存放TXT数据文件 (192)
6.4.6 CH376的使用要点 (197)
第7章 AVR单片机的I/O引脚扩展 (199)
7.1 译码器74138应用 (199)
7.1.1 74138基础 (199)
7.1.2 74138的应用电路 (200)
7.1.3 74138的操作步骤 (201)
7.1.4 74138的应用案例――使用74138驱动LED轮流点亮 (201)
7.1.5 74138的使用要点 (204)
7.2 锁存器74273扩展 (204)
7.2.1 74273基础 (204)
7.2.2 74273的应用电路 (205)
7.2.3 74273的操作步骤 (205)
7.2.4 74273的应用案例――使用74273实现秒表显示 (206)
7.2.5 74273的使用要点 (209)
7.3 三态门74244扩展 (210)
7.3.1 74244基础 (210)
7.3.2 74244的应用电路 (210)
7.3.3 74244的操作步骤 (211)
7.3.4 74244的应用案例――使用74244扩展拨码开关地址输入 (211)
7.3.5 74244的使用要点 (214)
7.4 串行移位芯片74595扩展 (215)
7.4.1 74595基础 (215)
7.4.2 74595的应用电路 (216)
7.4.3 74595的操作步骤 (216)
7.4.4 74595的库函数 (216)
7.4.5 74595的应用案例――用74595实现电子抽奖系统 (217)
7.4.6 74595的使用要点 (225)
7.5 串行输入芯片74165扩展 (226)
7.5.1 74165基础 (226)
7.5.2 74165的应用电路 (226)
7.5.3 74165的操作步骤 (227)
7.5.4 74165的库函数 (227)
7.5.5 74165的应用案例――74165和74595的联合使用 (228)
7.5.6 75165的使用要点 (231)
7.6 可编程I/O扩展芯片Intel 8255扩展 (231)
7.6.1 Intel 8255基础 (231)
7.6.2 Intel 8255的应用电路 (234)
7.6.3 Intel 8255的操作步骤 (234)
7.6.4 Intel 8255的库函数 (235)
7.6.5 Intel 8255的应用案例――数码管秒表显示 (236)
7.6.6 Intel 8255的应用案例――扩展行列扫描键盘 (239)
7.6.7 Intel 8255的应用案例――显示拨码开关状态 (242)
7.6.8 Intel 8255的使用要点 (246)
第8章 AVR单片机的用户输入通道 (247)
8.1 用户输入通道设计基础 (247)
8.2 独立按键 (247)
8.2.1 独立按键基础 (247)
8.2.2 独立按键的应用电路 (248)
8.2.3 独立按键的操作步骤 (249)
8.2.4 独立按键的应用案例――加减计数 (249)
8.2.5 独立按键的应用案例――跑步机启停/速度控制模块 (253)
8.2.6 独立按键的使用要点 (264)
8.3 拨码开关 (265)
8.3.1 拨码开关基础 (265)
8.3.2 拨码开关的应用电路 (265)
8.3.3 拨码开关的操作步骤 (266)
8.3.4 拨码开关的应用案例――拨码开关指示灯 (266)
8.3.5 拨码开关的使用要点 (269)
8.4 行列扫描键盘 (269)
8.4.1 行列扫描键盘基础 (269)
8.4.2 行列扫描键盘的应用电路 (271)
8.4.3 行列扫描键盘的操作步骤 (271)
8.4.4 行列扫描键盘的库函数 (271)
8.4.5 行列扫描键盘的应用案例――计算器键盘显示 (272)
8.4.6 行列扫描键盘的应用案例――手机拨号模块 (275)
8.4.7 行列扫描键盘的使用要点 (284)
8.5 PS/2键盘 (284)
8.5.1 PS/2键盘基础 (284)
8.5.2 PS/2键盘的应用电路 (287)
8.5.3 PS/2键盘的操作步骤 (288)
8.5.4 PS/2键盘的应用案例――串口扫描码输出 (288)
8.5.5 PS/2键盘的使用要点 (296)
第9章 AVR单片机的显示模块 (297)
9.1 LED扩展 (297)
9.1.1 LED基础 (297)
9.1.2 LED的应用电路 (297)
9.1.3 LED的操作步骤 (298)
9.1.4 LED的应用案例――串口驱动LED (298)
9.1.5 LED的应用案例――呼吸灯 (301)
9.1.6 LED的使用要点 (306)
9.2 单位数码管扩展 (306)
9.2.1 单位数码管基础 (307)
9.2.2 单位数码管的应用电路 (309)
9.2.3 单位数码管的操作步骤 (309)
9.2.4 单位数码管的库函数 (310)
9.2.5 单位数码管的应用案例――串口驱动单位数码管显示 (311)
9.2.6 单位数码管的使用要点 (314)
9.3 多位数码管扩展 (314)
9.3.1 多位数码管基础 (314)
9.3.2 多位数码管的应用电路 (315)
9.3.3 多位数码管的操作步骤 (316)
9.3.4 多位数码管的库函数 (316)
9.3.5 多位数码管的应用案例――串口驱动多位数码管显示 (317)
9.3.6 多位数码管的使用要点 (321)
9.4 数码管驱动芯片MAX7219扩展 (321)
9.4.1 MAX7219基础 (322)
9.4.2 MAX7219的应用电路 (326)
9.4.3 MAX7219的操作步骤 (326)
9.4.4 MAX7219的库函数 (327)
9.4.5 MAX7219的应用案例――秒表 (328)
9.4.6 MAX7219的使用要点 (331)
9.5 数码管和键盘驱动芯片CH452扩展 (331)
9.5.1 CH452基础 (331)
9.5.2 CH452的应用电路 (337)
9.5.3 CH452的操作步骤 (339)
9.5.4 CH452的库函数 (340)
9.5.5 CH452的应用案例――串口数据显示和按键状态返回 (344)
9.5.6 CH452的使用要点 (348)
9.6 数字字符液晶1602扩展 (348)
9.6.1 1602液晶基础 (348)
9.6.2 1602液晶的应用电路 (351)
9.6.3 1602液晶的操作步骤 (352)
9.6.4 1602液晶的库函数 (352)
9.6.5 1602的应用案例――数字和字符串显示 (355)
9.6.6 1602的使用要点 (358)
第10章 AVR单片机的A/D和D/A芯片 (359)
10.1 AVR单片机的A/D芯片基础 (359)
10.2 12位并行多通道A/D芯片MAX197应用 (361)
10.2.1 MAX197基础 (361)
10.2.2 MAX197的应用电路 (363)
10.2.3 MAX197的操作步骤 (364)
10.2.4 MAX197的库函数 (364)
10.2.5 MAX197的应用案例――串口输出MAX197多通道数据采集 (364)
10.2.6 MAX197的使用要点 (368)
10.3 12位串行多通道A/D芯片TLC2543应用 (368)
10.3.1 TLC2543基础 (369)
10.3.2 TLC2543的应用电路 (371)
10.3.3 TLC2543的操作步骤 (371)
10.3.4 TLC2543的库函数 (372)
10.3.5 TLC2543的应用案例――串口输出TLC2543的多通道数据采集 (374)
10.3.6 TLC2543的使用要点 (378)
10.4 AVR单片机的D/A通道基础 (378)
10.5 8位并行D/A通道芯片DAC0832 (379)
10.5.1 DAC0832基础 (379)
10.5.2 DAC0832的应用电路 (380)
10.5.3 DAC0832的操作步骤 (383)
10.5.4 DAC0832的库函数 (384)
10.5.5 DAC0832的应用案例――可控自校准数字电源 (384)
10.5.6 DAC0832的使用要点 (392)
10.6 串行D/A芯片MAX517 (392)
10.6.1 MAX517基础 (392)
10.6.2 MAX517的应用电路 (393)
10.6.3 MAX517的操作步骤 (394)
10.6.4 MAX517的库函数 (394)
10.6.5 MAX517的应用案例――MAX517输出三角波 (398)
10.6.6 MAX517的使用要点 (401)
第11章 AVR单片机时钟日历芯片 (403)
11.1 时钟日历芯片设计基础 (403)
11.2 并行接口时钟日历模块DS12C887扩展 (403)
11.2.1 DS12C887基础 (403)
11.2.2 DS12C887的应用电路 (407)
11.2.3 DS12C887的操作步骤 (407)
11.2.4 DS12C887的库函数 (408)
11.2.5 应用案例――DS12C887的时钟信息读取 (410)
11.2.6 DS12C887的使用要点 (413)
11.3 I2C接口时钟日历芯片PCF8563扩展 (413)
11.3.1 PCF8563基础 (413)
11.3.2 PCF8563的应用电路 (416)
11.3.3 PCF8563的操作步骤 (417)
11.3.4 PCF8563的库函数 (417)
11.3.5 应用案例――PCF8563的时钟初始化和读取 (424)
11.3.6 应用实例――使用PCF8563报警 (428)
11.3.7 应用案例――PCF8563输出秒脉冲信号 (429)
11.3.8 PCF8563的使用要点 (430)
11.4 SPI接口时钟日历芯片DS1302扩展 (430)
11.4.1 DS1302基础 (430)
11.4.2 DS1302的应用电路 (432)
11.4.3 DS1302的操作步骤 (433)
11.4.4 DS1302的库函数 (433)
11.4.5 应用案例――商场灯光节能控制系统 (436)
11.4.6 DS1302的使用要点 (441)
第12章 AVR单片机的温度/湿度和压力传感器 (442)
12.1 温度传感器DS18B20扩展 (442)
12.1.1 DS18B20基础 (442)
12.1.2 DS18B20的应用电路 (447)
12.1.3 DS18B20的操作步骤 (448)
12.1.4 DS18B20的库函数 (448)
12.1.5 DS18B20的应用案例――数字温度计 (451)
12.1.6 DS18B20的使用要点 (455)
12.2 温度传感器DS1621扩展 (455)
12.2.1 DS1621基础 (455)
12.2.2 DS1621的应用电路 (457)
12.2.3 DS1621的操作步骤 (457)
12.2.4 DS1621的库函数 (458)
12.2.5 DS1621的应用案例――DS1621温度测量 (463)
12.2.6 DS1621的使用要点 (467)
12.3 温度/湿度传感器SHT75扩展 (467)
12.3.1 SHT75基础 (467)
12.3.2 SHT75的应用电路 (469)
12.3.3 SHT75的操作步骤 (470)
12.3.4 SHT75的库函数 (470)
12.3.5 SHT75的应用案例――温度/湿度测量 (476)
12.3.6 SHT75的使用要点 (483)
12.4 压力传感器MPX4115扩展 (483)
12.4.1 MPX4115基础 (483)
12.4.2 MPX4115的应用电路 (483)
12.4.3 MPX4115的操作步骤 (484)
12.4.4 MPX4115的应用案例――压力监测报警 (484)
12.4.5 MPX4115的使用要点 (488)
第13章 AVR单片机的定位模块 (489)
13.1 定位模块设计基础 (489)
13.1.1 GPS模块基础 (489)
13.1.2 数字罗盘基础 (489)
13.1.3 NMEA-1083规范 (490)
13.2 GPS模块GARMIN 25LP (493)
13.2.1 GPS模块GARMIN 25LP基础 (493)
13.2.2 GPS模块GARMIN 25LP的应用电路 (496)
13.2.3 GPS模块GARMIN 25LP的操作步骤 (496)
13.2.4 GARMIN 25LP模块的应用案例――GPS信息读取 (497)
13.2.5 GARMIN 25LP的使用要点 (501)
13.3 数字罗盘HMR3000 (501)
13.3.1 数字罗盘HMR3000基础 (501)
13.3.2 数字罗盘HMR3000的应用电路 (504)
13.3.3 数字罗盘HMR3000的操作步骤 (504)
13.3.4 HMR3000模块的应用案例――罗盘信息读取 (504)
13.3.5 HMR3000的使用要点 (508)
第14章 AVR单片机的语音和打印模块 (509)
14.1 AVR单片机的语音和打印模块设计概述 (509)
14.2 蜂鸣器 (509)
14.2.1 蜂鸣器基础 (509)
14.2.2 蜂鸣器的应用电路 (510)
14.2.3 蜂鸣器的操作步骤 (510)
14.2.4 蜂鸣器的库函数 (511)
14.2.5 蜂鸣器的应用案例――按键提示音 (512)
14.2.6 蜂鸣器的应用案例――简易电子琴 (515)
14.2.7 蜂鸣器的使用要点 (523)
14.3 语音芯片ISD2560扩展 (523)
14.3.1 语音芯片ISD2560基础 (523)
14.3.2 语音芯片ISD2560的应用电路 (526)
14.3.3 语音芯片ISD2560的操作步骤 (526)
14.3.4 ISD2560的应用案例――ISD2560的录放操作 (528)
14.3.5 ISD2560的使用要点 (531)
14.4 TTS语音芯片OSY6618扩展 (531)
14.4.1 TTS语音芯片OSY6618基础 (532)
14.4.2 TTS语音芯片OSY6618的应用电路 (536)
14.4.3 TTS语音芯片OSY6618的操作步骤 (539)
14.4.4 OSY6618的应用案例――OSY6618的语音播放 (539)
14.4.5 TTS语音芯片OSY6618的使用要点 (542)
14.5 GP16微型打印机扩展 (542)
14.5.1 GP16微型打印机基础 (542)
14.5.2 GP16微型打印机的应用电路 (545)
14.5.3 GP16微型打印机的操作步骤 (546)
14.5.4 GP16的应用案例――GP16打印温度数据 (546)
14.5.5 GP16微型打印机的使用要点 (549)
第15章 AVR单片机的有线通信模块 (550)
15.1 AVR单片机的有线通信模块设计概述 (550)
15.2 MAX232扩展 (550)
15.2.1 MAX232基础 (550)
15.2.2 MAX232的应用电路 (552)
15.2.3 MAX232的操作步骤 (553)
15.2.4 MAX232的应用案例――AVR单片机和PC通信 (553)
15.2.5 MAX232的使用要点 (556)
15.3 MAX485扩展 (556)
15.3.1 MAX485基础 (557)
15.3.2 MAX485的应用电路 (558)
15.3.3 MAX485的操作步骤 (558)
15.3.4 MAX485的应用案例――AVR单片机和PC进行远程数据交换 (558)
15.3.5 MAX485的使用要点 (561)
15.4 MAX491扩展 (562)
15.4.1 MAX491基础 (562)
15.4.2 MAX491的应用电路 (563)
15.4.3 MAX491的操作步骤 (564)
15.4.4 MAX491的应用案例 (564)
15.4.5 MAX491的使用要点 (564)
15.5 6N137高速光电隔离芯片扩展 (565)
15.5.1 6N137基础 (565)
15.5.2 6N137的应用电路 (567)
15.5.3 6N137的操作步骤 (567)
15.5.4 6N137的应用案例 (567)
15.5.5 6N137的使用要点 (567)
15.6 CAN总线通信芯片SJA1000扩展 (568)
15.6.1 SJA1000基础 (568)
15.6.2 SJA1000的应用电路 (571)
15.6.3 SJA1000的操作步骤 (571)
15.6.4 SJA1000的应用案例――串口CAN总线桥 (573)
15.6.5 SJA1000的使用要点 (577)
15.7 USB通信桥芯片CP2101扩展 (578)
15.7.1 CP2101基础 (578)
15.7.2 CP2101的应用电路 (582)
15.7.3 CP2101的操作步骤 (583)
15.7.4 CP2101的应用案例 (583)
15.7.5 CP2101的使用要点 (584)
第16章 AVR单片机的无线通信模块 (585)
16.1 AVR单片机的无线通信概述 (585)
16.2 红外收发芯片 (585)
16.2.1 红外收发芯片基础 (585)
16.2.2 红外收发芯片的应用电路 (590)
16.2.3 红外收发芯片的操作步骤 (591)
16.2.4 红外收发芯片的应用案例――按键信息发送 (591)
16.2.5 红外收发芯片的使用要点 (596)
16.3 PTR8000无线模块 (596)
16.3.1 PTR8000无线模块基础 (596)
16.3.2 PTR8000无线模块的应用电路 (600)
16.3.3 PTR8000的操作步骤 (601)
16.3.4 PTR8000的库函数 (602)
16.3.5 PTR8000的应用案例――无线串口通信桥 (605)
16.3.6 PTR8000的使用要点 (610)
第17章 AVR单片机的执行机构 (612)
17.1 AVR单片机执行机构的设计基础 (612)
17.2 直流电动机 (612)
17.2.1 直流电动机基础 (612)
17.2.2 直流电动机的应用电路 (613)
17.2.3 直流电动机的操作步骤 (615)
17.2.4 直流电动机的应用案例――串口直流电动机控制 (615)
17.2.5 直流电动机的使用要点 (619)
17.3 步进电动机扩展 (619)
17.3.1 步进电动机基础 (619)
17.3.2 步进电动机的应用电路 (622)
17.3.3 步进电动机的操作步骤 (624)
17.3.4 步进电动机的应用案例――串口步进电动机控制 (624)
17.3.5 步进电动机的应用案例――键盘控制步进电动机 (629)
17.3.6 步进电动机的使用要点 (634)
17.4 继电器扩展 (634)
17.4.1 继电器基础 (635)
17.4.2 继电器的应用电路 (635)
17.4.3 继电器的操作步骤 (636)
17.4.4 继电器的应用案例――串口控制继电器的闭合和断开 (636)
17.4.5 继电器的使用要点 (640)
展开