目 录
第1章 呼吸灯 (1)
1.1 呼吸灯应用系统背景介绍 (1)
1.2 呼吸灯应用系统设计思路 (1)
1.2.1 系统的工作流程 (1)
1.2.2 系统的需求分析与设计 (2)
1.2.3 “呼吸”效果实现原理 (2)
1.2.4 ATmega128单片机简介 (2)
1.2.5 RCL电路 (4)
1.2.6 PWM控制 (4)
1.2.7 ATmega128单片机的开发环境 (5)
1.3 呼吸灯应用系统的硬件设计 (10)
1.3.1 硬件系统的模块划分 (10)
1.3.2 硬件系统的电路图 (10)
1.3.3 硬件模块基础――发光二极管(LED) (11)
1.3.4 硬件模块基础――三极管 (12)
1.3.5 硬件模块基础――电阻、电容和电感 (13)
1.3.6 硬件模块基础――ATmega128单片机的I/O引脚 (13)
1.3.7 硬件模块基础――ATmega128单片机的定时/计数器T/C0 (14)
1.3.8 Proteus硬件仿真环境的使用 (18)
1.4 呼吸灯应用系统软件设计 (21)
1.4.1 软件流程 (21)
1.4.2 软件的应用代码 (21)
1.5 应用系统仿真与总结 (24)
第2章 跑步机启停/速度控制模块 (32)
2.1 跑步机启停/速度控制模块背景介绍 (32)
2.2 跑步机启停/速度控制模块设计思路 (32)
2.2.1 跑步机启停/速度控制模块的工作流程 (32)
2.2.2 系统的需求分析与设计 (33)
2.2.3 “长按键”和“短按键”检测原理 (33)
2.3 跑步机启停/速度控制模块的硬件设计 (33)
2.3.1 硬件系统模块划分 (33)
2.3.2 硬件系统的电路图 (34)
2.3.3 硬件模块基础――独立按键 (35)
2.3.4 硬件模块基础――数码管 (36)
2.4 跑步机启停/速度控制模块的软件设计 (37)
2.4.1 软件模块划分和流程设计 (37)
2.4.2 启停控制模块设计 (38)
2.4.3 速度控制模块设计 (40)
2.4.4 软件综合 (45)
2.5 应用系统仿真与总结 (47)
第3章 简易电子琴 (49)
3.1 简易电子琴应用系统背景介绍 (49)
3.2 简易电子琴应用系统设计思路 (49)
3.2.1 系统的工作流程 (49)
3.2.2 系统的需求分析与设计 (51)
3.2.3 ATmega128单片机播放音乐 (51)
3.3 简易电子琴应用系统的硬件设计 (51)
3.3.1 硬件系统模块划分 (52)
3.3.2 硬件系统的电路图 (52)
3.3.3 硬件模块基础――蜂鸣器 (53)
3.3.4 硬件模块基础――ATmega128的内部定时/计数器T/C1 (53)
3.4 简易电子琴应用系统的软件设计 (59)
3.4.1 软件流程 (59)
3.4.2 软件的应用代码 (60)
3.5 应用系统仿真与总结 (64)
第4章 手机拨号模块 (66)
4.1 手机拨号模块背景介绍 (66)
4.2 手机拨号模块设计思路 (66)
4.2.1 系统的工作流程 (66)
4.2.2 系统的需求分析与设计 (66)
4.2.3 手机拨号模块的工作原理 (67)
4.3 手机拨号模块的硬件设计 (67)
4.3.1 硬件系统模块划分 (67)
4.3.2 硬件系统的电路图 (67)
4.3.3 硬件模块基础――行列扫描键盘 (68)
4.3.4 硬件模块基础――1602液晶模块 (69)
4.4 手机拨号模块的软件设计 (71)
4.4.1 软件模块划分和流程 (71)
4.4.2 行列扫描键盘软件驱动模块设计 (71)
4.4.3 1602液晶驱动模块设计 (72)
4.4.4 软件综合 (75)
4.5 应用系统仿真与总结 (77)
第5章 单I/O引脚扩展多按键 (78)
5.1 单I/O引脚扩展多按键应用系统背景介绍 (78)
5.2 单I/O引脚扩展多按键应用系统设计思路 (78)
5.2.1 系统的工作流程 (78)
5.2.2 系统的需求分析与设计 (78)
5.2.3 单I/O引脚扩展多按键实现原理 (79)
5.3 单I/O引脚扩展多按键应用系统的硬件设计 (79)
5.3.1 硬件系统的模块划分 (79)
5.3.2 硬件系统的电路图 (80)
5.3.3 硬件模块基础――ATmega128的内置ADC模块 (81)
5.4 单I/O引脚扩展多按键应用系统软件设计 (90)
5.4.1 软件流程 (90)
5.4.2 软件的应用代码 (90)
5.5 应用系统仿真与总结 (93)
第6章 使用ADC模块进行电阻测量 (95)
6.1 使用ADC模块进行电阻测量应用系统背景介绍 (95)
6.2 使用ADC模块进行电阻测量应用系统设计思路 (95)
6.2.1 系统的工作流程 (95)
6.2.2 系统的需求分析与设计 (96)
6.2.3 使用ADC模块进行电阻测量实现原理 (96)
6.2.4 排序算法 (97)
6.3 使用ADC模块进行电阻测量应用系统的硬件设计 (98)
6.3.1 硬件系统的模块划分 (98)
6.3.2 硬件系统的电路图 (98)
6.3.3 硬件模块基础――多位数码管 (99)
6.4 使用ADC模块进行电阻测量应用系统软件设计 (101)
6.4.1 软件流程 (101)
6.4.2 软件的应用代码 (101)
6.5 应用系统仿真与总结 (105)
第7章 PC中控系统 (107)
7.1 PC中控系统背景介绍 (107)
7.2 PC中控系统设计思路 (107)
7.2.1 PC中控系统的工作流程 (107)
7.2.2 PC中控系统的需求分析与设计 (107)
7.2.3 PC和ATmega128单片机应用系统的通信方式 (108)
7.3 PC中控系统的硬件设计 (110)
7.3.1 硬件系统模块划分 (110)
7.3.2 硬件系统的电路图 (110)
7.3.3 硬件模块基础――ATmega128单片机的串口模块 (111)
7.3.4 硬件模块基础――MAX232 (119)
7.3.5 硬件模块基础――光电隔离器 (120)
7.3.6 硬件模块基础――继电器 (121)
7.4 PC中控系统的软件设计 (121)
7.4.1 软件模块划分和流程设计 (121)
7.4.2 软件综合 (121)
7.5 应用系统仿真与总结 (123)
第8章 天车控制系统 (127)
8.1 天车控制系统背景介绍 (127)
8.2 天车控制系统设计思路 (128)
8.2.1 天车控制系统的工作流程 (128)
8.2.2 天车控制系统的需求分析与设计 (128)
8.2.3 天车控制系统工作原理 (128)
8.3 天车控制系统的硬件设计 (129)
8.3.1 硬件系统模块划分 (129)
8.3.2 硬件系统的电路图 (129)
8.3.3 硬件模块基础――直流电动机 (130)
8.3.4 硬件模块基础――H桥 (130)
8.3.5 硬件模块基础――步进电动机 (131)
8.3.6 硬件模块基础――ULN2803 (132)
8.4 天车控制系统的软件设计 (132)
8.4.1 软件模块划分和流程设计 (133)
8.4.2 按键扫描模块设计 (133)
8.4.3 步进电动机驱动模块设计 (134)
8.4.4 软件综合 (134)
8.5 应用系统仿真与总结 (137)
第9章 电子抽奖系统 (138)
9.1 电子抽奖系统背景介绍 (138)
9.2 电子抽奖系统设计思路 (138)
9.2.1 电子抽奖系统的工作流程 (138)
9.2.2 电子抽奖系统的需求分析与设计 (138)
9.2.3 单片机系统随机数产生的原理 (139)
9.3 电子抽奖系统的硬件设计 (140)
9.3.1 硬件系统模块划分 (140)
9.3.2 硬件系统的电路图 (140)
9.3.3 硬件模块基础――ATmega128单片机的外部中断 (141)
9.3.4 硬件模块基础――ATmega128单片机的定时/计数器T/C3 (143)
9.3.5 硬件模块基础――74HC595 (144)
9.4 电子抽奖系统的软件设计 (144)
9.4.1 软件模块划分和流程设计 (144)
9.4.2 74HC595的驱动函数模块设计 (145)
9.4.3 软件综合 (149)
9.5 应用系统仿真与总结 (152)
第10章 简易频率计 (154)
10.1 简易频率计背景介绍 (154)
10.2 简易频率计设计思路 (154)
10.2.1 系统的工作流程 (154)
10.2.2 系统的需求分析与设计 (155)
10.2.3 频率测量原理 (155)
10.3 简易频率计的硬件设计 (155)
10.3.1 硬件系统模块划分 (155)
10.3.2 硬件系统的电路图 (156)
10.3.3 硬件模块基础――MAX7219液晶驱动芯片 (157)
10.4 简易频率计的软件设计 (160)
10.4.1 软件模块划分和流程 (160)
10.4.2 频率测量模块设计 (161)
10.4.3 显示驱动模块设计 (162)
10.4.4 软件综合 (163)
10.5 应用系统仿真与总结 (166)
第11章 PWM控制电动机 (170)
11.1 PWM控制电动机应用系统背景介绍 (170)
11.2 PWM控制电动机应用系统设计思路 (170)
11.2.1 系统的工作流程 (170)
11.2.2 系统的需求分析与设计 (170)
11.2.3 PWM控制原理 (171)
11.3 PWM控制电动机应用系统的硬件设计 (172)
11.3.1 硬件系统的模块划分 (172)
11.3.2 硬件系统的电路图 (172)
11.4 PWM控制电动机应用系统软件设计 (173)
11.4.1 软件流程 (174)
11.4.2 软件的应用代码 (174)
11.5 应用系统仿真与总结 (177)
第12章 货车超重检测系统 (178)
12.1 货车超重检测系统背景介绍 (178)
12.2 货车超重检测系统设计思路 (178)
12.2.1 货车超重检测系统的工作流程 (178)
12.2.2 货车超重检测系统的需求分析与设计 (179)
12.2.3 货车超重检测系统的工作原理 (179)
12.3 货车超重检测系统的硬件设计 (179)
12.3.1 硬件系统模块划分 (179)
12.3.2 硬件系统的电路图 (179)
12.3.3 硬件模块基础――压力传感器MPX4115 (180)
12.4 货车超重检测系统的软件设计 (181)
12.4.1 软件模块划分和流程设计 (181)
12.4.2 显示模块函数设计 (181)
12.4.3 软件综合 (182)
12.5 应用系统仿真与总结 (185)
第13章 水位监测系统 (186)
13.1 水位监测系统背景介绍 (186)
13.2 水位监测系统设计思路 (186)
13.2.1 水位监测系统的工作流程 (186)
13.2.2 水位监测系统的需求分析与设计 (186)
13.2.3 水位监测系统的工作原理 (187)
13.3 水位监测系统的硬件设计 (187)
13.3.1 硬件系统模块划分 (187)
13.3.2 硬件系统的电路图 (187)
13.3.3 硬件模块基础――ATmega128单片机的比较器模块 (188)
13.4 水位监测系统的软件设计 (191)
13.4.1 软件模块划分和流程设计 (191)
13.4.2 软件的应用代码 (191)
13.5 应用系统仿真与总结 (192)
第14章 负载平衡监控系统 (194)
14.1 负载平衡监控系统背景介绍 (194)
14.2 负载平衡监控系统设计思路 (194)
14.2.1 系统的工作流程 (194)
14.2.2 负载平衡监控系统的需求分析与设计 (194)
14.2.3 ATmega128单片机应用系统的通信模型和RS-422协议 (195)
14.3 负载平衡监控系统的硬件设计 (195)
14.3.1 硬件系统模块划分 (195)
14.3.2 硬件系统的电路图 (196)
14.3.3 硬件模块基础――SN75179 (197)
14.3.4 硬件模块基础――拨码开关 (197)
14.4 负载平衡监控系统的软件设计 (198)
14.4.1 软件模块划分和流程设计 (198)
14.4.2 软件综合 (198)
14.5 应用系统仿真与总结 (202)
第15章 简易数字时钟 (204)
15.1 简易数字时钟应用系统背景介绍 (204)
15.2 简易数字时钟应用系统设计思路 (204)
15.2.1 系统的工作流程 (204)
15.2.2 系统的需求分析与设计 (204)
15.2.3 获取时钟信息 (205)
15.3 简易数字时钟应用系统的硬件设计 (205)
15.3.1 硬件系统的模块划分 (205)
15.3.2 硬件系统的电路图 (206)
15.4 简易数字时钟应用系统软件设计 (207)
15.4.1 软件流程 (207)
15.4.2 显示模块设计 (208)
15.4.3 用户输入扫描模块设计 (208)
15.4.4 定时器驱动模块设计 (210)
15.4.5 简易数字时钟的软件综合 (211)
15.5 应用系统仿真与总结 (214)
第16章 商场灯光节能控制系统 (215)
16.1 商场灯光节能控制系统背景介绍 (215)
16.2 商场灯光节能控制系统设计思路 (215)
16.2.1 商场灯光节能控制系统的工作流程 (215)
16.2.2 商场灯光节能控制系统的需求分析与设计 (215)
16.3 商场灯光节能控制系统的硬件设计 (216)
16.3.1 硬件系统模块划分 (216)
16.3.2 硬件系统的电路图 (216)
16.3.3 硬件模块基础――ATmega128的SPI接口总线控制模块 (217)
16.3.4 硬件模块基础――DS1302时钟芯片 (220)
16.4 商场灯光节能控制系统的软件设计 (222)
16.4.1 软件模块划分和流程设计 (222)
16.4.2 DS1302驱动模块设计 (222)
16.4.3 1602液晶驱动模块设计 (225)
16.4.4 软件综合 (227)
16.5 应用系统仿真与总结 (230)
第17章 数字温度计 (232)
17.1 数字温度计应用系统背景介绍 (232)
17.2 数字温度计应用系统设计思路 (232)
17.2.1 系统的工作流程 (232)
17.2.2 系统的需求分析与设计 (233)
17.2.3 单片机应用系统的温度采集方法 (233)
17.2.4 1-wire总线的工作原理 (234)
17.3 数字温度计应用系统的硬件设计 (236)
17.3.1 硬件系统的模块划分 (236)
17.3.2 硬件系统的电路图 (236)
17.3.3 硬件模块基础――DS18B20 (237)
17.4 数字温度计应用系统软件设计 (239)
17.4.1 软件流程 (239)
17.4.2 软件的应用代码 (240)
17.5 应用系统仿真与总结 (243)
第18章 仓库自动通风控制系统 (245)
18.1 仓库自动通风控制系统应用系统背景介绍 (245)
18.2 仓库自动通风控制系统设计思路 (245)
18.2.1 系统的工作流程 (245)
18.2.2 系统的需求分析与设计 (246)
18.3 仓库自动通风控制系统应用系统的硬件设计 (246)
18.3.1 硬件系统的模块划分 (246)
18.3.2 硬件系统的电路图 (247)
18.4 仓库自动通风控制系统应用系统软件设计 (248)
18.4.1 软件流程 (248)
18.4.2 显示模块设计 (249)
18.4.3 用户输入模块设计 (250)
18.4.4 温度采集模块设计 (250)
18.4.5 电动机驱动模块设计 (252)
18.4.6 声音报警模块设计 (253)
18.4.7 仓库自动通风控制系统软件综合 (253)
18.5 应用系统仿真与总结 (255)
第19章 温度曲线实时显示模块 (257)
19.1 温度曲线实时显示模块应用系统背景介绍 (257)
19.2 温度曲线实时显示模块应用系统设计思路 (257)
19.2.1 系统的工作流程 (257)
19.2.2 系统的需求分析与设计 (257)
19.3 温度曲线实时显示模块应用系统的硬件设计 (257)
19.3.1 硬件系统的模块划分 (257)
19.3.2 硬件系统的电路图 (258)
19.3.3 硬件模块基础――12864液晶模块 (259)
19.4 温度曲线实时显示模块应用系统软件设计 (260)
19.4.1 软件流程 (260)
19.4.2 12864液晶驱动模块设计 (260)
19.4.3 温度采集模块设计 (266)
19.4.4 温度曲线实时显示模块软件综合 (268)
19.5 应用系统仿真与总结 (270)
第20章 可控自校准数字电源 (271)
20.1 可控自校准数字电源应用系统背景介绍 (271)
20.2 可控自校准数字电源应用系统设计思路 (272)
20.2.1 系统的工作流程 (272)
20.2.2 系统的需求分析与设计 (272)
20.3 可控自校准数字电源应用系统的硬件设计 (272)
20.3.1 硬件系统模块划分 (272)
20.3.2 硬件系统的电路图 (273)
20.3.3 硬件模块基础――DAC0832 (275)
20.3.4 硬件模块基础――A741 (276)
20.4 可控自校准数字电源应用系统的软件设计 (278)
20.4.1 软件流程 (278)
20.4.2 显示驱动模块软件设计 (278)
20.4.3 输入驱动模块软件设计 (279)
20.4.4 D/A驱动模块软件设计 (280)
20.4.5 A/D驱动模块软件设计 (281)
20.4.6 可控自校准数字电源的软件综合 (281)
20.5 应用系统仿真与总结 (284)
第21章 电子秤 (285)
21.1 电子秤应用系统背景介绍 (285)
21.2 电子秤应用系统设计思路 (286)
21.2.1 系统的工作流程 (286)
21.2.2 系统的需求分析与设计 (286)
21.3 电子秤应用系统的硬件设计 (286)
21.3.1 硬件系统模块划分 (286)
21.3.2 硬件系统的电路图 (287)
21.3.3 硬件模块基础――MPX4115压力传感器 (288)
21.4 电子秤应用系统的软件设计 (289)
21.4.1 软件流程 (289)
21.4.2 时钟芯片驱动模块设计 (289)
21.4.3 显示驱动模块设计 (291)
21.4.4 键盘处理模块设计 (296)
21.4.5 电子秤应用系统的软件综合 (299)
21.5 应用系统仿真与总结 (302)
第22章 户外流水广告牌 (304)
22.1 户外流水广告牌应用系统背景介绍 (304)
22.2 户外流水广告牌应用系统设计思路 (305)
22.2.1 系统的工作流程 (305)
22.2.2 系统的需求分析与设计 (305)
22.3 户外流水广告牌应用系统的硬件设计 (305)
22.3.1 硬件系统模块划分 (305)
22.3.2 硬件系统的电路图 (306)
22.3.3 硬件模块基础――74LS138 (307)
22.3.4 硬件模块基础――74LS373 (307)
22.4 户外流水广告牌应用系统的软件设计 (308)
22.4.1 软件流程 (308)
22.4.2 时钟驱动模块软件设计 (309)
22.4.3 温度驱动模块软件设计 (310)
22.4.4 显示驱动模块软件设计 (312)
22.4.5 户外流水广告牌的软件综合 (317)
22.5 应用系统仿真与总结 (317)
第23章 国际象棋人机对战系统 (319)
23.1 国际象棋人机对战系统应用系统背景介绍 (319)
23.2 国际象棋人机对战系统设计思路 (321)
23.2.1 系统的工作流程 (321)
23.2.2 系统的需求分析与设计 (321)
23.3 国际象棋人机对战系统的硬件设计 (321)
23.3.1 硬件系统模块划分 (321)
23.3.2 硬件系统的电路图 (322)
23.4 国际象棋人机对战系统应用系统的软件设计 (323)
23.4.1 软件流程 (323)
23.4.2 触摸屏和液晶显示模块软件设计 (324)
23.4.3 国际象棋规则算法模块软件设计 (330)
23.4.4 国际象棋人机对战系统的软件综合 (339)
23.5 应用系统仿真与总结 (349)
第24章 COS-Ⅱ实时操作系统 (351)
24.1 COS-Ⅱ实时操作系统应用系统背景介绍 (351)
24.2 COS-Ⅱ实时操作系统设计思路 (352)
24.2.1 系统的工作流程 (352)
24.2.2 系统的需求分析与设计 (352)
24.3 实时操作系统基础 (353)
24.3.1 典型的AVR单片机应用代码结构 (353)
24.3.2 AVR单片机中的任务、多任务和任务切换 (354)
24.3.3 AVR单片机中的资源 (355)
24.3.4 实时操作系统的内核 (355)
24.3.5 内核的调度和任务优先级 (356)
24.3.6 任务的同步 (357)
24.3.7 任务间的通信(Intertask Communication) (359)
24.3.8 实时操作系统的中断 (360)
24.3.9 实时操作系统对AVR单片机存储器的要求 (362)
24.4 COS-Ⅱ实时操作系统的硬件设计 (363)
24.4.1 硬件系统模块划分 (363)
24.4.2 硬件系统的电路图 (363)
24.5 COS-Ⅱ实时操作系统基础 (364)
24.5.1 内核结构 (364)
24.2.2 任务管理 (368)
24.5.3 时间管理 (371)
24.5.4 任务之间的通信和同步 (371)
24.5.5 内存管理 (373)
24.6 COS-Ⅱ实时操作系统的移植 (375)
24.6.1 COS-Ⅱ的系统结构介绍 (376)
24.6.2 ATmega128单片机的移植基础 (376)
24.6.3 ATmega128的移植过程 (377)
24.7 在COS-Ⅱ实时操作系统上编写应用代码 (383)
24.7.1 底层驱动文件bsp.c (383)
24.7.2 任务配置文件app.c (387)
24.8 应用系统仿真与总结 (389)
展开