当前位置:首页 > 工业技术
AVR单片机工程师是怎样炼成的  基于C语言+Proteus仿真
AVR单片机工程师是怎样炼成的  基于C语言+Proteus仿真

AVR单片机工程师是怎样炼成的 基于C语言+Proteus仿真PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:老杨,李鹏举编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121187506
  • 页数:532 页
图书介绍:本书以ATmega16为核心,结合ICC AVR、Proteus、AVR Studio、VC++ 6.0等诸多开发工具,软硬结合、由浅入深、全面系统地介绍了AVR单片机的原理和应用。本书内容丰富、使用性强,以按键为例:书中既介绍了按键的基本应用(扫描按键),同时也讲解了外部中断应用按键、按键的复用、按键消抖处理、矩阵键盘的扫描、借助译码器扩展键盘等在科研工作中常用的技术、技能。
《AVR单片机工程师是怎样炼成的 基于C语言+Proteus仿真》目录

第1篇 基础篇 2

第1章 走近单片机 2

1.1 我们身边的单片机 2

1.2 认识单片机 5

1.3 了解AVR单片机 8

1.3.1 单片机的历史 8

1.3.2 AVR单片机的特点 9

1.3.3 AVR单片机的代表ATmega16 13

第2章 修炼倚天剑:Proteus 17

2.1 Proteus介绍 17

2.2 安装Proteus 17

2.3 运行Proteus 18

2.4 学用Proteus 21

2.5 补充内容 26

2.5.1 汉化Proteus 26

2.5.2 Proteus元件库 27

第3章 宝刀屠龙:ICC AVR、AVR Studio 29

3.1 编译工具介绍 29

3.1.1 安装ICC AVR 30

3.1.2 运行ICC AVR 31

3.1.3 学用ICC AVR 32

3.2 开发调试软件AVR Studio 38

3.2.1 下载AVR Studio 39

3.2.2 安装AVR Studio 41

3.2.3 使用AVR Studio 45

第2篇 入门篇 54

第4章 让你的单片机“眨眨眼睛” 54

4.1 我们的第一个单片机程序 54

4.1.1 用ICC AVR新建一个工程 54

4.1.2 画出我们要用的电路 59

4.1.3 用Proteus仿真、调试 65

4.1.4 用AVR Studio仿真调试 68

4.1.5 AVR Studio与Proteus联合调试 70

4.1.6 分析代码 72

4.1.7 补充一点发光二极管的知识 73

4.2 不仅仅是让它亮起来 75

4.2.1 如何让发亮的灯闪烁呢 75

4.2.2 代码分析 77

4.2.3 调试分析 78

4.3 做些程序的改动 80

4.3.1 改动延时时间 80

4.3.2 做个众人皆知的跑马灯 81

4.3.3 复习LED示例工程 84

4.4 能不能玩点花样呢 85

4.4.1 想想你能画什么 85

4.4.2 用代码显示数字 86

第5章 让数字显示出来 90

5.1 引入数码管的概念 90

5.1.1 数码管介绍 90

5.1.2 写段程序让它亮起来 91

5.1.3 数码管的驱动方式 93

5.2 多显示几个数字看看 94

5.2.1 电路实现 94

5.2.2 程序实现 96

5.2.3 你的眼睛欺骗了你 97

5.3 仿真万年历 98

5.3.1 电路实现 99

5.3.2 程序实现 100

5.3.3 优化程序 101

5.4 补充内容 104

5.4.1 排阻 104

5.4.2 数码管的应用 104

5.4.3 比较PC口和PA口 105

第6章 用按键告诉单片机你想做什么 107

6.1 能不能让闪烁的灯停下来 107

6.1.1 让跑马灯停下来 107

6.1.2 认识我们用的按键 110

6.2 如何实现软件消抖 111

6.3 如何实现按键的复用 115

6.4 补充内容 119

6.4.1 有关程序流程图 119

6.4.2 认识一下PB口和PD口 120

第7章 如何实时控制单片机 123

7.1 中断的引入 123

7.1.1 写段程序实现按键的中断 123

7.1.2 用代码生成器生成程序框架 124

7.1.3 实现中断计数功能 126

7.1.4 中断函数的写法 130

7.1.5 汇编指令 131

7.2 外部中断寄存器 132

7.2.1 状态寄存器——SREG 132

7.2.2 MCU控制寄存器——MCUCR 132

7.2.3 MCU控制与状态寄存器——MCUCSR 133

7.2.4 通用中断控制寄存器——GICR 134

7.2.5 通用中断标志寄存器——GIFR 134

7.2.6 T/C中断屏蔽寄存器——TIMSK 135

7.2.7 外部中断操作要点 135

7.2.8 外部中断操作流程 135

7.3 不同的中断触发方式 136

7.4 补充内容 138

7.4.1 了解更多中断的概念 138

7.4.2 比较一下4个I/O口 139

第8章 让定时更精确 142

8.1 定时器/计数器概念 142

8.1.1 用代码生成器生成定时器函数 142

8.1.2 了解ATmega16的T/C0 146

8.1.3 与T/C0相关的寄存器 148

8.2 解读代码生成器生成的代码 151

8.2.1 电路设计 151

8.2.2 代码解读 152

8.2.3 完整的代码实例 155

8.3 T/C0的其他三种工作模式 158

8.3.1 CTC模式 158

8.3.2 快速PWM模式 163

8.3.3 相位修正PWM模式 167

8.3.4 重新认识T/C0 168

8.4 定时器/计数器2 168

8.4.1 了解定时器/计数器2 168

8.4.2 与T/C2相关的寄存器 169

8.4.3 用T/C2的异步模式做电子钟 172

8.5 定时器/计数器1 178

8.5.1 了解T/C1 178

8.5.2 T/C1的工作模式 179

8.5.3 与T/C1相关的寄存器 181

8.5.4 应用T/C1 184

8.6 本章使用的寄存器与I/O端口 199

8.6.1 与定时器/计数器相关的寄存器 199

8.6.2 与定时器/计数器相关的引脚 200

第9章 单片机与外界的联系——串口通信 202

9.1 串口通信的概念 202

9.2 和USART相关的寄存器 203

9.2.1 USART I/O数据寄存器——UDR 203

9.2.2 USART控制和状态寄存器A——UCSRA 203

9.2.3 USART控制和状态寄存器B——UCSRB 204

9.2.4 USART控制和状态寄存器C——UCSRC 205

9.2.5 USART波特率寄存器——UBRRL和UBRRH 206

9.2.6 访问UBRRH/UCSRC寄存器 207

9.3 先试试如何发送 208

9.3.1 使用代码生成器 208

9.3.2 系统设计 210

9.3.3 编译和仿真 214

9.3.4 补充一点AVR的串口知识 216

9.4 实现收发通信 218

9.4.1 将Proteus中的串口连接到硬件上 218

9.4.2 实现串口收发通信 223

9.4.3 用中断的方式实现串口收发 227

第10章 让单片机“响”起来 230

10.1 单片机还会说话呢 230

10.1.1 了解一下蜂鸣器 230

10.1.2 写段程序让它响起来 230

10.2 用定时器模拟门铃 233

10.3 用蜂鸣器演奏曲子 236

10.4 重新认识ATmega16 239

10.4.1 ATmega16的总体认识 239

10.4.2 I/O口的第二功能 242

10.4.3 ATmega16的中断向量 244

10.4.4 有关ATmega16的寄存器 245

10.4.5 有关AVR程序设计的学习 249

第3篇 提高篇 252

第11章 再说数码管 252

11.1 使用扩展芯片驱动数码管 252

11.1.1 认识扩展芯片74LS138 253

11.1.2 74LS138的应用 254

11.1.3 74HC154的应用 257

11.1.4 有关译码器 258

11.2 显示译码器 259

11.2.1 显示译码器74LS48 259

11.2.2 显示译码器的应用 261

第12章 按键多了怎么办 265

12.1 看一个密码键盘 265

12.1.1 矩阵键盘的实现 265

12.1.2 矩阵按键的扫描 266

12.2 是否可以扩展呢 270

12.2.1 了解编码器 270

12.2.2 应用编码器74LS148 272

第13章 深入串口通信 276

13.1 通信协议的引入 276

13.1.1 协议制定 276

13.1.2 样例实现 277

13.2 让单片机和PC真正通信 287

13.2.1 新建一个VC工程 287

13.2.2 添加VC控件 288

13.2.3 添加控件到界面 290

13.2.4 添加变量、完成代码编写 293

13.2.5 运行、调试 301

第14章 IIC(TWI)总线及其应用 303

14.1 IIC总线介绍 303

14.1.1 初步了解IIC总线 303

14.1.2 IIC总线上的信号 304

14.2 认识E2PROM AT24C02 308

14.2.1 认识AT24C02 308

14.2.2 AT24C02的操作地址 309

14.2.3 AT24C02的读/写操作 310

14.3 写一个IIC通信的例子 312

14.4 AVR的TWI总线 322

14.4.1 TWI模块综述 323

14.4.2 TWI寄存器说明 324

14.4.3 使用TWI 326

14.5 应用TWI 328

第15章 SPI总线及其应用 338

15.1 SPI总线介绍 338

15.2 一款SPI接口的E2PROM 339

15.2.1 认识25AA040 339

15.2.2 25AA040的工作原理 341

15.3 应用25AA040 350

15.4 AVR的SPI接口 358

15.4.1 了解AVR的SPI接口 358

15.4.2 与SPI相关的寄存器 360

15.4.3 SPI示例程序 362

15.4.4 应用SPI接口 363

第16章 A/D转换器和D/A转换器 369

16.1 了解A/D转换器 369

16.1.1 A/D转换器的分类 369

16.1.2 A/D转换器的主要技术指标 370

16.2 先看一个A/D转换器的例子 370

16.2.1 了解ADC0809 370

16.2.2 应用ADC0808 373

16.3 AVR自带的A/D转换器 379

16.3.1 ATmega16内部ADC 379

16.3.2 应用ATmega16内部ADC 386

16.4 看看D/A转换器 390

16.4.1 了解D/A转换器 390

16.4.2 D/A转换器的主要技术指标 392

16.4.3 了解DAC0832 392

16.4.4 应用DAC0832 396

16.5 模拟比较器 399

16.5.1 ATmega16的模拟比较器 399

16.5.2 与模拟比较器相关的寄存器 400

16.5.3 模拟比较器的应用 401

第17章 字符液晶 405

17.1 认识LED点阵屏 405

17.1.1 关于LED点阵屏 405

17.1.2 LED点阵的应用 406

17.2 使用字符LCD 410

17.2.1 了解LCD 410

17.2.2 认识LCD1602 410

17.2.3 LCD1602指令说明 412

17.2.4 使用LCD1602 416

第18章 图形液晶 421

18.1 了解LCD12864 421

18.2 认识HDG12864L-6 422

18.2.1 HDG12864L-6的主要技术参数 422

18.2.2 HDG12864L-6引脚说明 422

18.2.3 HDG12864L-6指令说明 423

18.2.4 HDG12864L-6时序图 432

18.3 LCD12864的应用 434

18.3.1 LCD12864的并行应用 434

18.3.2 LCD12864的串行应用 442

第4篇 应用篇 454

第19章 简易万年历 454

19.1 电路设计 454

19.2 认识时钟芯片DS1302 456

19.3 系统设计 462

第20章 智能温度控制系统 479

20.1 系统模型 479

20.2 分析电路 481

20.2.1 电路分解 481

20.2.2 认识DS18B20 483

20.2.3 了解液晶AMPIRE128X64 494

20.3 系统设计 499

20.3.1 嵌入式系统设计 499

20.3.2 PC端软件设计 510

思考 515

附录A ATmega16 I/O口寄存器速查表 516

附录B 片内E2PROM操作 518

附录C 看门狗定时器 524

附录D 书籍、网站推荐 529

参考文献 530

结束语 531

返回顶部