注册 登录 进入教材巡展
#

出版时间:2020-09

出版社:中国铁道出版社

以下为《AVR单片机项目开发教程(C语言)——基于CDIO项目教学》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 中国铁道出版社
  • 9787113272364
  • 1-1
  • 360544
  • 48249444-0
  • 平装
  • 16开
  • 2020-09
  • 456
  • 288
  • 工学
  • 计算机科学与技术
  • 电子信息类
  • 本科
内容简介
本书以项目为载体,通过丰富的实例详细介绍ATmega16单片机C语言程序设计和单片机控制系统的应用。本书共9章,包含25个项目,主要内容包括单片机基础、单片机IO及C语言编程、单片机外部中断应用、单片机定时器应用设计、单片机的串行通信、单片机总线应用、单片机IO扩展设计、AD转换器的应用设计、开源硬件平台和嵌入式实时操作系统等。本书可作为普通高等院校相关专业的教材,也可作为军事院校相关专业的教材,还可供AVR单片机项目开发人员参考。
目录
第1 章 单片机基础 ································ 1
1.1 项目1:认识ATmega16 单片机 ······· 1
1.1.1 ATmega16 的封装 ················· 1
1.1.2 ATmega16 的内部结构 ··········· 2
1.2 项目2:点亮LED 的硬件设计 ········· 5
1.2.1 单片机系统的开发过程——自顶向下,自底向上 ······· 5
1.2.2 Proteus 的使用 ····················· 7
1.2.3 Proteus 的库 ······················ 17
1.2.4 Proteus 8 输入原理图——点亮LED ·························· 18
1.2.5 项目硬件电路设计 ·············· 23
1.3 项目3:点亮LED 的软件设计 ······· 23
1.3.1 WinAVR 编写程序及Proteus联合仿真 ·························· 23
1.3.2 C 语言的基本结构 ·············· 23
1.3.3 C 语言的main 函数 ············· 25
1.3.4 C 语言的优势 ···················· 25
1.3.5 ATmega16 I/O 端口的硬件设计 ································ 26
1.3.6 ATmega16 的I/O 寄存器——软件设计接口 ·············· 27
1.3.7 ATmega16 的寄存器及存储结构 ································ 29
1.3.8 单片机最小系统 ················· 32
1.3.9 学生项目1:闪烁的LED ····· 33
1.3.10 学生项目2:循环点亮8 只LED ························ 35
1.4 项目4:ATmega16 熔丝位设定 ······ 37
第2 章 单片机I/O 及C 语言编程 ············ 44
2.1 项目5:单片机控制8 只LED依次点亮 ·································· 44
2.1.1 项目背景 ························· 44
2.1.2 基础知识 ························· 44
2.1.3 项目硬件电路设计 ············· 57
2.1.4 项目驱动软件设计 ············· 59
2.1.5 学生项目:花样流水灯 ········ 61
2.2 项目6:Proteus 仿真数码管显示数字0~9 ································ 61
2.2.1 项目背景 ························· 61
2.2.2 基础知识 ························· 61
2.2.3 项目硬件电路设计 ············· 65
2.2.4 项目驱动软件设计 ············· 66
2.2.5 学生项目:数码管循环显示数字0~9 ························· 67
2.3 项目7:按键控制LED 亮灭 ········· 68
2.3.1 项目背景 ························· 68
2.3.2 基础知识 ························· 68
2.3.3 项目硬件电路设计 ············· 72
2.3.4 项目驱动软件设计 ············· 75
2.3.5 学生项目:转向灯 ············· 76
2.4 项目8:键盘按键显示在数码管上 ···· 76
2.4.1 项目背景 ························· 76
2.4.2 基础知识 ························· 77
2.4.3 项目硬件电路设计 ············· 79
2.4.4 项目驱动软件设计 ············· 80
2.4.5 学生项目:数码管显示4×4 矩阵键盘 ···················· 82
第3 章 单片机外部中断应用 ·················· 84
3.1 中断的基本概念 ························· 84
3.1.1 什么是中断 ······················· 84
3.1.2 中断的意义 ······················· 84
3.1.3 中断优先级和中断嵌套 ········ 85
3.2 中断源和中断向量 ······················ 85
3.2.1 中断源 ····························· 85
3.2.2 中断向量 ·························· 85
3.3 ATmega16 的中断系统 ················· 86
3.3.1 ATmega16 的中断源和中断向量 ································ 86
3.3.2 ATmega16 的中断控制 ········· 87
3.3.3 ATmega16 的外部中断 ········· 88
3.3.4 外部中断相关寄存器 ··········· 89
3.3.5 中断服务程序 ···················· 91
3.4 项目9:中断报警控制 ················· 92
3.4.1 项目硬件电路设计 ·············· 92
3.4.2 项目驱动软件设计 ·············· 93
3.4.3 学生项目1:中断计数器 ······ 94
3.4.4 学生项目2:中断控制发光二极管 ····························· 95
3.4.5 实验板项目 ······················· 96
第4 章 单片机定时器应用设计 ··············· 98
4.1 项目10:定时器制作计数器 ········· 98
4.1.1 项目背景 ·························· 98
4.1.2 基础知识 ·························· 98
4.1.3 项目硬件电路设计 ············· 111
4.1.4 项目驱动软件设计 ············· 112
4.1.5 学生项目:电子跑表 ·········· 113
4.2 项目11:PWM模式控制调光灯 ······ 117
4.2.1 项目背景 ························· 117
4.2.2 基础知识 ························· 117
4.2.3 项目硬件电路设计 ············· 118
4.2.4 项目驱动软件设计 ············· 119
4.2.5 学生项目:PWM 模式生成锯齿波 ···························· 121
4.3 项目12:音符发生器 ················· 123
4.3.1 项目背景 ························ 123
4.3.2 基础知识 ························ 123
4.3.3 项目硬件电路设计 ············ 132
4.3.4 项目驱动软件设计 ············ 133
4.3.5 学生项目:脉冲频率测量 ····· 134
第5 章 单片机的串行通信 ··················· 138
5.1 项目13:双机通信 ···················· 138
5.1.1 项目背景 ························ 138
5.1.2 基础知识:通信 ··············· 138
5.1.3 项目硬件电路设计 ············ 144
5.1.4 项目驱动软件设计 ············ 144
5.1.5 系统集成与调试 ··············· 148
5.2 项目14:可通信的专家评价系统 ···· 149
5.2.1 项目背景 ························ 149
5.2.2 项目硬件电路设计 ············ 149
5.2.3 项目驱动软件设计 ············ 150
5.2.4 项目系统集成与调试·········· 157
5.3 项目15:车载导航中的北斗定位数据获取 ································· 160
5.3.1 项目背景 ························ 160
5.3.2 项目方案设计 ·················· 160
5.3.3 北斗定位模块数据包解析 ······························· 161
5.3.4 项目硬件电路设计 ············ 163
5.3.5 项目驱动软件设计 ············ 165
5.3.6 项目系统集成与调试·········· 168
第6 章 单片机总线应用 ······················· 171
6.1 项目16:MPU-6050 的货物运输姿态检测器······························· 171
6.1.1 项目背景 ························ 171
6.1.2 项目方案设计 ·················· 171
6.1.3 基础知识 ························ 171
6.1.4 项目硬件电路设计 ············ 179
6.1.5 项目驱动软件设计 ············ 180
6.2 项目17:SPI 总线Flash 存储行车记录信息 ································· 185
6.2.1 项目背景 ························ 185
6.2.2 项目方案设计 ··················· 185
6.2.3 基础知识 ························· 186
6.2.4 项目硬件电路设计 ············· 189
6.2.5 项目驱动软件设计 ············· 190
6.2.6 项目系统集成与调试 ·········· 193
第7 章 单片机I/O 扩展设计 ················· 195
7.1 项目18:装备开关电源指示控制系统 ········································ 195
7.1.1 项目背景 ························· 195
7.1.2 项目方案设计 ··················· 195
7.1.3 基础知识 ························· 196
7.1.4 项目硬件电路设计 ············· 197
7.1.5 项目驱动软件设计 ············· 199
7.1.6 项目系统集成与调试 ·········· 202
7.2 项目19:电子音乐播放 ·············· 205
7.2.1 项目背景 ························· 205
7.2.2 项目方案设计 ··················· 205
7.2.3 基础知识 ························· 206
7.2.4 项目硬件电路设计 ············· 207
7.2.5 项目驱动软件设计 ············· 208
7.2.6 项目系统集成与调试 ·········· 213
7.3 项目20:双足机器人关节控制 ········································ 214
7.3.1 项目背景 ························· 214
7.3.2 项目方案设计 ··················· 214
7.3.3 基础知识 ························· 215
7.3.4 项目硬件电路设计 ············· 218
7.3.5 项目驱动软件设计 ············· 220
7.3.6 项目系统集成与调试 ·········· 221
7.4 项目21:LCD ·························· 222
7.4.1 项目背景 ························· 222
7.4.2 项目方案设计 ··················· 223
7.4.3 基础知识 ························· 223
7.4.4 项目硬件电路设计 ············· 228
7.4.5 项目驱动软件设计 ············· 229
7.4.6 项目系统集成与调试 ·········· 231
第8 章 A/D 转换器的应用设计 ············· 233
8.1 项目22:基于灰度检测的巡线机器人设计 ······························ 233
8.1.1 项目背景 ························ 233
8.1.2 项目方案设计 ·················· 233
8.1.3 基础知识 ························ 234
8.1.4 项目硬件电路设计 ············ 241
8.1.5 项目驱动软件设计 ············ 243
8.1.6 项目系统集成与调试·········· 246
第9 章 开源硬件平台和嵌入式实时操作系统 ································ 249
9.1 项目23:开源硬件平台Arduino ····· 249
9.1.1 Arduino 的优势 ················· 249
9.1.2 Arduino 和单片机的关系 ····· 250
9.1.3 Arduino 硬件概述 ·············· 250
9.1.4 Arduino 软件平台 ·············· 252
9.2 项目24:开源平台树莓派 ··········· 261
9.2.1 Raspberry Pi Zero ··············· 261
9.2.2 树莓派的系统部署 ············ 262
9.2.3 使用树莓派编写Python程序 ······························· 268
9.3 项目25:μC/OS-Ⅱ嵌入式实时操作系统简介 ···························· 269
9.3.1 嵌入式实时操作系统·········· 269
9.3.2 μC/OS-Ⅱ嵌入式实时操作系统基础 ··················· 271
9.3.3 μC/OS-Ⅱ嵌入式实时操作系统的内核 ················ 272
9.3.4 μC/OS-Ⅱ嵌入式实时操作系统的任务管理 ·········· 273
9.3.5 μC/OS-Ⅱ嵌入式实时操作系统的时间管理 ·········· 274
9.3.6 μC/OS-Ⅱ嵌入式实时操作系统任务间的同步与通信 ···· 275
9.3.7 μC/OS-Ⅱ嵌入式实时操作系统的内存管理 ················ 276
附录A 图形符号对照表 ······················· 278