从ATmega48/88

副标题:无

作   者:168开始

分类号:

ISBN:9787508369037

微信扫一扫,移动浏览光盘

简介

   本书思路清晰,以AVR 单片机为载体,介绍了初学单片机所必须掌握的   专业知识。书中语言严谨但不乏幽默风趣,配以大量的照片、 图示和实例   程序,使读者在愉悦中完成专业知识的学习,并培养了学习嵌入式系统的兴   趣。本书在讲述AVR 单片机的同时,更注重于对读者学习和设计能力的启发   、培养,帮助他们养成“从实践中来,到实践中去”的科学方法论, 为进一   步的学习创造了基础。    本书讲述浅显、内容丰富、编排合理、实例详尽。首先介绍了如何阅读   器件资料的方法, 然后熟悉ICCAVR 集成开发环境并搭建实验开发装置, 接   着从实际应用出发启发式地介绍AVR 单片机的常用资源和对应软件方法,最   后较为全面地补充了从事嵌入式系统开发要扩展的软件知识。    本书既可作为单片机爱好者的自学用书,也可作为大中专院校中电子、   自动化和计算机等相关专业单片机的教学参考书,亦可作为电子应用技术的   培训教材。   

目录

  前 言
  写在前面的话 如何阅读本书
   第1篇 Are you ready?
  第1章 学会阅读Datasheet 2
   1.1 如何阅读PDF文件,如何获得Datasheet文件 3
   1.2 Datasheet告诉我们些什么 4
   1.3 如何看懂AVR的Datasheet 8
   1.4 如何得到帮助 9
   1.5 汇编语言执行时间的计算方法 9
   1.6 ATmega48/88/168常用熔丝的作用及其配置方法 11
   1.7 对误烧写为外部时钟模式的解锁方法 13
   实例1 阅读74HC595 Datasheet 13
  第2章 深入开发环境 16
   2.1 认识ICC编译环境 17
   2.2 事半功倍的代码生成器 20
   2.3 ICC之不得不说的故事 21
   2.4 AVR最小系统和下载线DIY 30
   实例2 AVR最小系统DIY 31
   第2篇 Let’s go!
  第3章 从跑马灯开始 52
   3.1 输入/输出界面 53
   3.1.1 单片机的输入/输出设备——引脚 53
   3.1.2 “芯”里有数——数码管显示 54
   3.1.3 单片机的输入/输出设备——从按键到键盘 58
   3.2 用ATmega48/88/168单片机端口驱动数码管 60
   3.3 操纵ATmega48/88/168单片机端口 60
   3.4 端口内建上拉电阻的使用 62
   3.5 端口位操作 62
   实例3 跑马灯 65
   实例4 数码管的显示(上) 69
   实例5 数码管的显示(下) 74
   实例6 矩阵键盘 78
  第4章 对不起 接个电话 84
   4.1 十万火急——中断 85
   4.2 中断的特性 85
   4.3 使用中断时的注意事项 90
   4.4 ATmega48/88/168单片机有哪些中断源 90
   4.5 如何编写一个中断的服务程序代码 91
   4.6 ATmega48/88/168单片机中断的开关控制 93
   4.7 ATmega48/88/168中断标志位 93
   4.8 ATmega48/88/168中断优先级 94
   4.9 ATmega48/88/168单片机中断向量 94
   4.10 中断与查询之争 95
   4.11 用查询方式响应外设中断 97
   4.12 中断误触发 97
   4.13 前后台与原子操作 100
   实例7 中断唤醒的键盘扫描 103
   实例8 旋转编码器 109
  第5章 一秒究竟有多长 119
   5.1 单片机与时间 120
   5.2 软件延时 124
   5.3 不需要加载的“自由计时器” 125
   5.4 通过重加载控制定时中断周期 126
   5.5 使用代码生成器生成定时器1初始化代码 127
   5.6 定时器的其他工作模式 130
   5.7 PWM波及其应用简介 130
   5.8 人类能看懂的电子时钟——实时时钟简介 131
   实例9 闪烁的灯 132
   实例10 渐明渐暗的灯 137
   实例11 复杂闪烁控制 145
  第6章 电量低 156
   6.1 从猜数游戏到A/D转换器 157
   6.2 ATmega48/88/168的A/D转换器 158
   6.3 ATmega48/88/168单片机中与A/D相关的引脚 161
   6.4 ATmega48/88/168单片机中与A/D相关的寄存器 161
   6.5 使用A/D时需要注意些什么 161
   6.6 怎样知道A/D转换完成 163
   6.7 读取A/D的转换结果 164
   6.8 使用代码生成器生成ADC初始化代码 165
   6.9 书写具有工程结构的初始化代码 167
   6.10 电量计原理概述 169
   6.11 转换结果读取方式的比较 170
   6.12 ADC噪声抑制模式 173
   6.13 A/D的软件滤波技术 174
   6.14 软件实现的施密特触发器 186
   实例12 电量计 187
  第7章 正在过收费站 192
   7.1 从并行通信到串行通信 193
   7.2 这个世界上我们都被“缓冲”着 194
   7.3 将串行进行到底 194
   7.4 串行外设接口SPI 195
   7.5 都是环形队列惹的祸 196
   7.6 使用代码生成器生成SPI初始化代码 197
   7.7 SPI通信缓冲的C语言实现 201
   7.8 缓冲区的刷新算法 203
   7.9 中断的同步 204
   7.10 建立SPI总线 205
   7.11 SPI环路总线的优化 210
   实例13 端口扩展 212
   实例14 键盘显示模块 221
  第8章 包装的学问 232
   8.1 从邮递员的包裹说起 233
   8.2 心有灵犀的异步通信 234
   8.3 数据的包裹——帧 235
   8.4 应用的包裹——数据包 237
   8.5 解剖串口模块 238
   8.6 使用代码生成器生成USART初始化代码 239
   8.7 9位数据帧的发送和接收 240
   8.8 建立串行通信缓冲区 241
   8.9 9数据位模式下的多机通信 247
   8.10 多机通信的C语言实现 248
   8.11 初识状态机 250
   8.12 单字节一应一答式通信 253
   8.13 多字节通信协议 258
   8.14 简单定长数据包通信协议 259
   8.15 变长数据包通信协议 263
   实例15 数字电压表 265
  第9章 傻孩子求职记 273
   9.1 TWI:一根时钟线、一根信号线 274
   9.2 半双工通信 275
   9.3 求职者模型 276
   9.4 TWI的总线仲裁 277
   9.5 贼老大的计划 279
   9.6 TWI总线协议状态机 281
   9.7 TWI通信状态机带来的麻烦 282
   9.8 Datasheet寄存器查阅导读 283
   9.9 使用代码生成器生成TWI初始化代码 284
   9.10 书写具有工程结构的C语言代码 286
   9.11 TWI通信状态机的建立 289
   9.12 轻松设计TWI通信状态机 298
   实例16 存储器24C01的读写 299
   实例17 I2C抢答器 309
  第10章 MISSION UPDATE 316
   10.1 展望UPDATE 317
   10.2 ISP和IAP 318
   10.3 IAP的要点、难点与风险 319
   10.4 ATmega48/88/168的FLASH分区 323
   10.5 程序锁定熔丝的设置 325
   10.6 操纵程序存储器 327
   10.7 把IAP程序放进BOOT区 329
   10.8 小试牛刀 330
   10.9 C语言与汇编语言之争 331
   10.10 用汇编语言操作FLASH存储器 332
   实例18 ATmega48在线程序更新 333
   第3篇 Code Name C
  第11章 朝花夕拾 346
   11.1 一个位运算的例子 347
   11.2 文如其形的移位运算 347
   11.3 颠倒黑白的“取反”运算 351
   11.4 一票否决的“与”运算 351
   11.5 一票通过的“或”操作 353
   11.6 求同存异的“异或”运算 353
   11.7 位运算和逻辑运算的区别 354
   11.8 为什么要使用宏定义 355
   11.9 宏定义的基本形式 356
   11.10 “参数宏”由便利带来的麻烦 358
   11.11 方便的条件编译 360
   11.12 从结构体到位段 362
   11.13 “别动我的奶酪!” 365
   11.14 居安思危的volatile 369
   11.15 “你不知道我知道” 372
   实例19 编写我们的第一个头文件 375
  第12章 指针都是纸老虎 378
   12.1 存储器是一个大数组 379
   12.2 “指鹿为马”说指针 379
   12.3 空指针(void *) 381
   12.4 变量、指针变量、指针常量与“不应该被修改的指针变量” 382
   12.5 数组、指针数组、数组指针 384
   12.6 多维数组 386
   12.7 指向指针的指针 389
   12.8 地址绑定与“偷天换日” 390
   12.9 大端对齐与小端对齐 391
   12.10 内存入侵 392
   12.11 extern:“在想你的三百六十五天……” 397
   12.12 人去楼空的“野指针” 399
   12.13 分支程序 400
   12.14 消息地图与函数指针 400
   12.15 态内存分配ABC 404
   实例20 端口位操作的实现 407
  第13章 来自身边的启示 413
   13.1 超市储藏箱模型 414
   13.2 由数数引起的思考 417
   13.3 学习数据结构的本质障碍 418
   13.4 空间映射 419
   13.5 先来后到说队列 422
   13.6 队列的简单空间映射 423
   13.7 环形队列 425
   13.8 滑动窗口 430
   13.9 从爬楼梯想到后入先出 431
   13.10 栈的简单空间映射 432
   13.11 软件堆栈和硬件堆栈 434
   13.12 内存垃圾 439
   13.13 被遗忘的奶酪 440
   13.14 垃圾的预防 441
   实例21 贪食蛇 442
  第14章 初识嵌入式系统 450
   14.1 初学者眼中的嵌入式 451
   14.2 从黑盒子谈起 452
   14.3 理想黑盒子 452
   14.4 使用黑盒子的好处、必然性和代价 453
   14.5 从黑盒子到模块化 454
   14.6 什么是黑盒子哲学 455
   14.7 源文件和头文件的分工 458
   14.8 为什么不能在头文件中放置函数和变量的实体 461
   14.9 循环包含的麻烦 462
   14.10 模块分层结构下的头文件包含 466
   14.11 硬件无关性与硬件抽象层 468
   14.12 从编码习惯到编码规范 472
   14.13 网文《请不要做浮躁的嵌入式工程师》 474
   14.14 “足够好原则”与“即时上市” 475
  附录A ATmega48/88/168简介 477
  附录B ICC环境下的汇编 479
  附录C ICC环境下的存储器结构 484
  附录D ASCII码表 489
  附录E ATmega48/88/168指令集概述 490
  附录F ATmega48/88/168寄存器概述 494
  附录G 常见的错误代码及其解释 497
  附录H ATmega48/88/168端口封装图 501
  附录I ATmega48/88/168开发实验工具 503
  附录J AT JTAGICE mkII AVR仿真器介绍 507
  参考文献和相关网站 509
  

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

从ATmega48/88
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon