
| 从AVR单片机指令和单片机C语言讲起,引导读者快速入门. 9大接口,详细讲解接口电路器件使用、硬件设计、软件设计.. 6个综合实例,可直接用于项目开发... |
| 第1篇 avr单片机基础. 第1章 avr单片机概述 3 1.1 avr单片机及其发展 3 1.1.1 avr单片机简介 3 1.1.2 avr单片机的特点 4 1.1.3 avr单片机的分类 5 1.2 atmega128(l)单片机 5 1.2.1 atmega128(l)结构和主要特点 5 1.2.2 atmega128(l)的主要性能 7 1.2.3 atmega128(l)的封装与引脚 8 1.3 本章小结 12 第2章 atmega128(l)单片机硬件结构 13 2.1 atmega128(l)的内核 13 2.2 atmega128(l)的存储器 14 2.2.1 atmega128(l)的内部存储器 14 2.2.2 atmega128(l)的外部存储器 15 2.3 atmega128(l)的系统时钟及电源管理 15 2.3.1 系统时钟 15 2.3.2 电源管理与休眠模式 18 2.4 atmega128(l)的复位及中断 19 .2.4.1 atmega128(l)的复位逻辑 19 2.4.2 atmega128(l)的中断及中断响应 20 2.5 atmega128(l)的定时器/计数器 22 2.5.1 8位定时器/计数器t/c0 22 2.5.2 8位定时器/计数器t/c2 26 2.5.3 16位定时器/计数器t/c1和t/c3 26 2.6 atmega128(l)的总线接口 31 2.6.1 同步外设接口spi 31 2.6.2 通用同步/异步串行接口usart0和usart1 32 2.6.3 两线串行twi总线接口 35 2.7 本章小结 37 第3章 atmega128(l)的指令系统 38 3.1 atmega128(l)的指令系统概述 38 3.2 atmega128(l)的指令操作数的寻址方式 43 3.3 算术和逻辑运算指令 45 3.3.1 加法指令 45 3.3.2 减法指令 46 3.3.3 取反码和补码指令 48 3.3.4 乘法指令 48 3.3.5 逻辑与指令 50 3.3.6 逻辑或指令 51 3.3.7 逻辑异或指令 52 3.4 比较和转移指令 53 3.4.1 比较指令 53 3.4.2 无条件转移指令 54 3.4.3 条件转移指令 54 3.4.4 子程序调用与返回指令 60 3.5 数据传输指令 61 3.5.1 直接数据传输指令 62 3.5.2 间接数据传输指令 63 3.5.3 与程序存储器有关的数据传输指令 65 3.5.4 i/o口数据传输指令 67 3.5.5 堆栈操作指令 68 3.6 位操作指令 68 3.6.1 带进位的位操作指令 68 3.6.2 位变量传输指令 70 3.6.3 位修改指令 70 3.7 mcu控制指令 74 3.8 atmega128(l)的汇编语言 75 3.8.1 汇编语言语句格式及伪指令 75 3.8.2 表达式 76 3.9 本章小结 77 第4章 avr单片机硬件电路设计工具 78 4.1 protel 99 se中典型元器件的原理图符号和pcb封装绘制 78 4.1.1 元器件封装的概念 78 4.1.2 电阻的原理图符号和pcb封装 79 4.1.3 电容的原理图符号和pcb封装 80 4.1.4 二极管和三极管的原理图符号和pcb封装 81 4.1.5 典型集成电路的原理图符号和pcb封装 83 4.2 原理图和pcb图的绘制流程 84 4.2.1 绘制原理图 84 4.2.2 绘制pcb图 86 4.3 地线 90 4.3.1 地线的概念及分类 90 4.3.2 pcb设计中地线的处理 91 4.4 本章小结 91 第5章 avr单片机软件开发环境 92 5.1 软件开发环境 92 5.2 avr studio 4.13 sp2开发环境 94 5.2.1 avr studio 4.13 sp2开发环境获取与安装 94 5.2.2 avr studio 4.13 sp2的菜单 95 5.2.3 使用avr studio 4.13sp2 101 5.3 本章小结 103 第6章 avr单片机c语言开发 104 6.1 c语言基础知识 104 6.1.1 标识符和关键字 104 6.1.2 基本数据类型、常量和变量 104 6.1.3 常见运算符 106 6.1.4 程序中的语句种类 107 6.2 c语言高级编程 110 6.2.1 数组 110 6.2.2 指针 112 6.2.3 结构、共用体和枚举 115 6.2.4 函数 119 6.2.5 预处理 122 6.3 avr studio 4.13 sp2对ansic的扩展 125 6.3.1 i/o寄存器和端口操作 125 6.3.2 avr单片机存储器中数据的访问 126 6.3.3 avr单片机的中断服务程序 130 6.4 本章小结 132 第2篇 avr单片机典型模块c语言应用实例 第7章 i/o的应用 135 7.1 i/o端口概述 135 7.2 i/o口控制发光二极管 136 7.2.1 实例功能 136 7.2.2 典型器件介绍 136 7.2.3 硬件设计 136 7.2.4 程序设计及详解 137 7.2.5 经验总结 138 7.3 i/o口控制八段数码管 138 7.3.1 实例功能 138 7.3.2 典型器件介绍 138 7.3.3 硬件设计 138 7.3.4 程序设计及详解 139 7.3.5 经验总结 140 7.4 i/o模拟1-wire总线控制ds18b20 140 7.4.1 实例功能 140 7.4.2 典型器件介绍 140 7.4.3 硬件设计 141 7.4.4 程序设计及详解 142 7.4.5 经验总结 145 7.5 本章小结 145 第8章 定时器/计数器应用 146 8.1 定时器/计数器概述 146 8.2 利用定时器实现方波输出 146 8.2.1 实例功能 146 8.2.2 硬件设计 146 8.2.3 程序设计及其详解 147 8.2.4 经验总结 148 8.3 利用定时器/计数器实现按键的复用 148 8.3.1 实例功能 148 8.3.2 硬件设计 148 8.3.3 程序设计及详解 149 8.3.4 经验总结 150 8.4 本章小结 150 第9章 中断的应用 151 9.1 中断概述 151 9.2 利用定时器中断报警 151 9.2.1 实例功能 151 9.2.2 典型器件介绍 151 9.2.3 硬件设计 152 9.2.4 程序设计及详解 152 9.2.5 经验总结 153 9.3 利用中断实现对按键的响应 153 9.3.1 实例功能 153 9.3.2 典型器件介绍 153 9.3.3 硬件设计 154 9.3.4 程序设计及详解 154 9.3.5 经验总结 155 9.4 本章小结 155 第10章 串行口的应用 156 10.1 串行通信概述 156 10.2 rs-232总线接口 157 10.2.1 实例功能 157 10.2.2 典型器件介绍 157 10.2.3 硬件设计 158 10.2.4 程序设计及详解 159 10.2.5 经验总结 160 10.3 rs-485总线接口 160 10.3.1 实例功能 160 10.3.2 典型器件介绍 160 10.3.3 硬件设计 161 10.3.4 程序设计及详解 162 10.3.5 经验总结 164 10.4 单片机之间的通信 164 10.4.1 实例功能 164 10.4.2 典型器件介绍 164 10.4.3 硬件设计 164 10.4.4 程序设计及详解 164 10.4.5 经验总结 167 10.5 本章小结 167 第11章 程序存储器扩展 168 11.1 程序存储器概述 168 11.2 扩展eprom 169 11.2.1 实例功能 169 11.2.2 典型器件介绍 170 11.2.3 硬件设计 171 11.2.4 程序设计及详解 171 11.2.5 经验总结 172 11.3 扩展e2prom 173 11.3.1 实例功能 173 11.3.2 典型器件介绍 173 11.3.3 硬件设计 175 11.3.4 程序设计及详解 175 11.3.5 经验总结 177 11.4 扩展flash存储器 177 11.4.1 实例功能 177 11.4.2 典型器件介绍 177 11.4.3 硬件设计 179 11.4.4 程序设计及详解 179 11.4.5 经验总结 181 11.5 本章小结 181 第12章 数据存储器扩展 182 12.1 数据存储器概述 182 12.2 扩展sram 182 12.2.1 实例功能 182 12.2.2 典型器件介绍 183 12.2.3 硬件设计 184 12.2.4 程序设计及详解 185 12.2.5 经验总结 186 12.3 扩展nvsram 186 12.3.1 实例功能 186 12.3.2 典型器件介绍 187 12.3.3 硬件设计 188 12.3.4 程序设计及详解 189 12.3.5 经验总结 190 12.4 本章小结 190 第3篇 avr单片机接口典型应用 第13章 键盘接口 193 13.1 键盘概述.. 193 13.2 外接4个键盘 193 13.2.1 实例功能 193 13.2.2 硬件设计 193 13.2.3 程序设计及详解 194 13.2.4 经验总结 195 13.3 与4×4键盘的接口设计 195 13.3.1 实例功能 196 13.3.2 硬件设计 196 13.3.3 程序设计及详解 196 13.3.4 经验总结 202 13.4 本章小结 202 第14章 lcd接口 203 14.1 lcd概述 203 14.2 外接字符点阵lcd 205 14.2.1 实例功能 205 14.2.2 典型器件介绍 205 14.2.3 硬件设计 207 14.2.4 程序设计及详解 208 14.2.5 经验总结 211 14.3 外接图像点阵lcd 211 14.3.1 实例功能 211 14.3.2 典型器件介绍 211 14.3.3 硬件设计 216 14.3.4 程序设计及详解 216 14.3.5 经验总结 219 14.4 本章小结 219 第15章 打印机接口 220 15.1 微型打印机概述 220 15.2 外接串行打印机 221 15.2.1 实例功能 221 15.2.2 典型器件介绍 221 15.2.3 硬件设计 223 15.2.4 程序设计及详解 224 15.2.5 经验总结 225 15.3 外接并行打印机 225 15.3.1 实例功能 225 15.3.2 典型器件介绍 225 15.3.3 硬件设计 226 15.3.4 程序设计及详解 227 15.3.5 经验总结 228 15.4 本章小结 228 第16章 a/d接口 229 16.1 a/d转换器概述 229 16.2 外接逐次比较型a/d 231 16.2.1 实例功能 231 16.2.2 典型器件介绍 231 16.2.3 硬件设计 233 16.3.4 程序设计及详解 233 16.2.5 经验总结 235 16.3 外接半闪烁型高速a/d 235 16.3.1 实例功能 235 16.3.2 典型器件介绍 236 16.3.3 硬件设计 239 16.3.4 程序设计及详解 239 16.3.5 经验总结 242 16.4 外接σ→δ型a/d 242 16.4.1 实例功能 242 16.4.2 典型器件介绍 242 16.4.3 硬件设计 246 16.4.4 程序设计及详解 246 16.4.5 经验总结 249 16.5 本章小结 249 第17章 d/a接口实例 250 17.1 d/a转换器概述 250 17.2 外接倒t型d/a 251 17.2.1 实例功能 251 17.2.2 典型器件介绍 251 17.2.3 硬件设计 254 17.2.4 程序设计及详解 255 17.2.5 经验总结 256 17.3 外接权电流型d/a 256 17.3.1 实例功能 256 17.3.2 典型器件介绍 257 17.3.3 硬件设计 259 17.3.4 程序设计及详解 259 17.3.5 经验总结 261 17.4 本章小结 262 第18章 可编程器件接口 263 18.1 可编程器件概述 263 18.2 可编程并行接口芯片接口 263 18.2.1 实例功能 263 18.2.2 典型器件介绍 264 18.2.3 硬件设计 266 18.2.4 程序设计及详解 267 18.2.5 经验总结 269 18.3 可编程中断控制器接口 270 18.3.1 实例功能 270 18.3.2 典型器件介绍 270 18.3.3 硬件设计 273 18.3.4 程序设计及详解 273 18.3.5 经验总结 276 18.4 可编程计数器/定时器接口 276 18.4.1 实例功能 276 18.4.2 典型器件介绍 276 18.4.3 硬件设计 278 18.4.4 程序设计及详解 279 18.4.5 经验总结 281 18.5 本章小结 281 第19章 i2c总线接口 282 19.1 i2c总线接口概述 282 19.2 与at24c64接口 283 19.2.1 实例功能 283 19.2.2 典型器件介绍 283 19.2.3 硬件设计 286 19.2.4 程序设计及详解 286 19.2.5 经验总结 288 19.3 与温湿度传感器sht75接口 289 19.3.1 实例功能 289 19.3.2 典型器件介绍 289 19.3.3 硬件设计 292 19.3.4 程序设计及详解 292 19.3.5 经验总结 297 19.4 本章小结 297 第20章 spi总线接口 298 20.1 spi总线接口概述 298 20.2 spi接口的flash的访问 299 20.2.1 实例功能 299 20.2.2 典型器件介绍 299 20.2.3 硬件设计 301 20.2.4 程序设计及详解 301 20.2.5 经验总结 307 20.3 利用spi总线实现单片机之间的通信 307 20.3.1 实例功能 307 20.3.2 典型器件介绍 307 20.3.3 硬件设计 307 20.3.4 程序设计及详解 308 20.3.5 经验总结 309 20.4 本章小结 309 第21章 can总线接口 310 21.1 can总线接口概述 310 21.2 利用sia1000实现数据传输 311 21.2.1 实例功能 311 21.2.2 典型器件介绍 311 21.2.3 硬件设计 315 21.2.4 程序设计及详解 316 21.2.5 经验总结 320 21.3 利用can总线实现单片机间的通信 320 21.3.1 实例功能 320 21.3.2 典型器件介绍 320 21.3.3 硬件设计 320 21.3.4 程序设计及详解 320 21.3.5 经验总结 325 21.4 本章小结 325 第4篇 综合系统实例 第22章 mp3播放器设计 329 22.1 硬件电路设计 329 22.1.1 实例背景 329 22.1.2 硬件设计流程 330 22.1.3 典型器件选型及介绍 330 22.1.4 硬件电路 333 22.2 软件设计 337 22.2.1 软件设计流程 337 22.2.2 软件模块分析 337 22.2.3 程序设计及详解 337 22.3 经验总结 341 22.4 本章小结 342 第23章 小型打印机系统 343 23.1 硬件电路设计 343 23.1.1 实例背景 343 23.1.2 硬件设计流程 344 23.1.3 典型器件选型及介绍 347 23.1.4 硬件电路 347 23.2 软件设计 350 23.2.1 软件设计流程 350 23.2.2 软件模块分析 351 23.2.3 程序设计及详解 351 23.3 经验总结 354 23.4 本章小结 355 第24章 智能充电器 356 24.1 硬件电路设计 356 24.1.1 实例背景 356 24.1.2 硬件设计流程 357 24.1.3 典型器件选型及介绍 357 24.1.4 硬件电路 360 24.2 软件设计 362 24.2.1 软件设计流程 362 24.2.2 软件模块分析 363 24.2.3 程序设计及详解 363 24.3 经验总结 368 24.4 本章小结 368 第25章 直流电机的控制 369 25.1 硬件电路设计 369 25.1.1 实例背景 369 25.1.2 硬件设计流程 369 25.1.3 典型器件选型及介绍 370 25.1.4 硬件电路 373 25.2 软件设计 376 25.2.1 软件设计流程 376 25.2.2 软件模块分析 377 25.2.3 程序设计及详解 377 25.3 经验总结 383 25.4 本章小结 383 第26章 温湿度传感器 384 26.1 硬件电路设计 384 26.1.1 实例背景 384 26.1.2 硬件设计流程 385 26.1.3 典型器件选型及介绍 385 26.1.4 硬件电路 387 26.2 软件设计 390 26.2.1 软件设计流程 390 26.2.2 软件模块分析 390 26.2.3 程序设计及详解 390 26.3 经验总结 399 26.4 本章小结 399 第27章 手持无线遥控器 400 27.1 硬件电路设计 400 27.1.1 实例背景 400 27.1.2 硬件设计流程 401 27.1.3 典型器件选型及介绍 402 27.1.4 硬件电路 405 27.2 软件设计 408 27.2.1 软件设计流程 408 27.2.2 软件模块分析 408 27.2.3 程序设计及详解 408 27.3 经验总结 418 27.4 本章小结... 418 |
商品评论(0条)