《AVR单片机应用开发24例 基于Proteus仿真》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张新,陈跃琴编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121224737
  • 页数:392 页
图书介绍:本书共分为24章,基于C语言和Proteus介绍了24个AVR单片机的应用实例,每个实例都包含有背景介绍、设计思路、硬件设计、软件设计,以及应用系统仿真与总结等内容,并提供了所有实例的Proteus仿真电路图及C语言程序源代码,读者可登录华信教育资源网(www.hxedu.com.cn)查找本书,免费下载所需资源。

第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 硬件模块基础——ATmega 128单片机的外部中断 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-42 2协议 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章 μOS-Ⅱ实时操作系统 351

24.1 μCOS-Ⅱ实时操作系统应用系统背景介绍 351

24.2 μCOS-ⅡI实时操作系统设计思路 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.5.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