《基于PROTEUS的AVR单片机设计与仿真》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:周润景,张丽娜编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2007
  • ISBN:7811240688
  • 页数:563 页
图书介绍:本书以ATMEL公司的AVR单片机AT90S8535的结构为主线,讲述AT90系列单片机的内部结构、接口及其应用。采用基于PROTEUS软件的单片机系统仿真功能,对AT90S8535内含的E2PROM存储器、方向可定义的I/O端口、中断系统、定时/计数器、模拟量输入接口及串行接口等内部资源的工作原理用实例加以分析,另附10个综合应用实例。同时介绍了新型AVR单片机,并附以应用实例。

工具篇 1

第1章 基PROTEUS的单片机系统仿真1.1 PROTEUS ISIS编辑环境 1

1.1.1 操作界面 1

1.1.2 菜单栏和主工具栏 5

1.1.3 编辑环境设置 6

1.1.4 系统参数设置 10

1.2 电路图绘制 15

1.2.1 绘图工具 15

1.2.2 导线操作 20

1.2.3 对象操作 20

1.2.4 PROTEUS电路绘制实例 22

1.2.5 电路图绘制进阶 26

1.3 电路分析与仿真 30

1.3.1 激励源 30

1.3.2 虚拟仪器 31

1.3.3 探针 32

1.3.4 图表 32

1.3.5 基于图表的仿真 35

1.3.6 交互式电路仿真 38

1.4 基于PROTEUS的AVR单片机仿真——源代码控制系统 44

1.4.1 在PROTEUS VSM中创建源代码文件 44

1.4.2 编辑源代码程序 45

1.4.3 生成目标代码文件 46

1.4.4 代码生成工具 47

1.4.5 定义第三方源代码编辑器 47

1.4.6 使用第三方IDE 48

1.5 基于PROTEUS的AVR单片机仿真——源代码调试 49

1.5.1 单步调试 49

1.5.2 使用断点调试 49

1.5.3 Multi-CPU调试 49

1.6 基于PROTEUS的AVR单片机仿真——弹出式窗口 49

1.6.1 显示弹出式窗口 50

1.6.2 源代码调试窗口 50

1.6.3 变量窗口 52

1.6.4 观测窗口 52

1.7 基于PROTEUS的AVR单片机仿真——实现过程 55

1.7.1 原理图输入 55

1.7.2 编辑源代码 55

1.7.3 生成目标代码 57

1.7.4 调试 58

第2章 基于IAR Embedded Workbench IDE的AVR单片机C语言程序开发 58

2.1 IAR Embedded Workbench编辑环境 59

2.1.1 IAR Embedded Workbench启动 59

2.1.2 项目管理 61

2.1.3 源代码控制 61

2.1.4 窗口管理 62

2.1.5 文本编辑器 62

2.1.6 IAR C-SPY调试器 62

2.1.7 C-SPY仿真器驱动 63

2.1.8 AVR IAR C/C++编译器 63

2.1.9 IAR汇编器 64

2.1.10 IAR XLINK链接器 64

2.2 创建一个应用工程 65

2.2.1 创建一个新的工程 65

2.2.2 应用程序的编译和链接 70

2.3 使用IAR C-SPY Debugger进行调试 76

2.3.1 启动调试器 76

2.3.2 窗口管理 77

2.3.3 查看源文件语句 78

2.3.4 查看变量 79

2.3.5 设置并监控断点 81

2.3.6 在反汇编模式中调试 82

2.3.7 监控寄存器 83

2.3.8 监控存储器 84

2.3.9 查看终端I/O 85

2.4 程序运行完毕 86

2.5 编写一个中断处理函数 86

2.6 基于IAR的AVR单片机C程序的调试与仿真 86

2.6.1 在IAR中创建一个新的工程 86

2.6.2 编译应用程序 87

2.6.3 IAR C-SPY程序调试 89

2.6.4 C程序的调试与仿真 89

应用篇 93

第3章 AVR系列单片机概述3.1 AVR系列单片机的特点 93

3.2 AT90S8535单片机的总体结构 94

3.2.1 AT90S8535的特点 94

3.2.2 AT90S8535的结构图 95

3.2.3 AT90S8535的引脚配置 96

3.2.4 AT90S8535的引脚定义 97

3.3 AT90S8535单片机的中央处理器CPU 98

3.3.1 结构概述 98

3.3.2 通用工作寄存器堆 99

3.3.3 X、Y、Z寄存器 100

3.3.4 ALU运算逻辑单元 100

3.4 AT90S8535单片机存储器组织 100

3.4.1 在线可编程Flash 100

3.4.2 内部SRAM数据存储器 100

3.4.3 EEPROM数据存储器 103

3.4.4 I/O寄存器 104

3.5 AVR系列单片机系统复位与中断处理 106

3.5.1 复位源 106

3.5.2 上电复位 107

3.5.3 外部复位 108

3.5.4 看门狗复位 108

3.5.5 MCU状态寄存器 109

3.5.6 中断处理 109

第4章 AT90S8535单片机EERPOM读/写访问 109

4.1 EEPROM读/写访问说明 111

4.1.1 概述 111

4.1.2 相关I/O寄存器 111

4.2 片内EEPROM读/写访问示例 113

4.2.1 硬件电路 113

4.2.2 软件编程 113

4.2.3 系统调试与仿真 116

第5章 AT90S8535单片机I/O端口5.1 各I/O端口概述 119

5.1.1 端口A 119

5.1.2 端口B 120

5.1.3 端口C 121

5.1.4 端口D 122

5.2 各I/O端口第二功能 124

5.2.1 端口A第二功能 124

5.2.2 端口B第二功能 124

5.2.3 端口C第二功能 125

5.2.4 端口D第二功能 125

第6章 AT90S8535单片机中断系统6.1 AT90S8535单片机中断源 126

6.2 中断处理 127

6.3 相关I/O寄存器 128

6.3.1 通用中断屏蔽寄存器——GIMSK 128

6.3.2 通用中断标志寄存器——GIFR 128

6.3.3 T/C中断屏蔽寄存器——TIMSK 128

6.3.4 T/C中断标志寄存器——TIFR 129

6.4 外部中断 130

6.5 中断响应时间 130

6.6 MCU控制寄存器——MCUCR 130

第7章 AT90S8535单片机定时器/计数器及其应用7.1 T/C0、T/C1的预定比例器 132

7.2 定时器/计数器0(T/C0) 133

7.2.1 T/C0的结构、特点及作用 133

7.2.2 T/C0相关的I/O寄存器 133

7.3 T/C0应用1——作计数器 134

7.3.1 硬件电路 134

7.3.2 软件编程 135

7.3.3 系统调试与仿真 137

7.4 T/C0应用2——作定时器 139

7.4.1 硬件电路 139

7.4.2 软件编程 140

7.4.3 系统调试与仿真 142

7.5 T/C0应用3——溢出中断动态扫描5位数码管显示 144

7.5.1 硬件电路 144

7.5.2 软件编程 145

7.5.3 系统调试与仿真 148

7.6 定时器/计数器1(T/C1) 151

7.6.1 T/C1的结构、特点及作用 151

7.6.2 T/C1相关的I/O寄存器 152

7.6.3 PWM模式下的T/C1 155

7.7 T/C1应用1——测量脉冲频率 156

7.7.1 硬件电路 156

7.7.2 软件编程 156

7.7.3 系统调试与仿真 161

7.8 T/C1应用2——比较匹配中断 165

7.8.1 硬件电路 165

7.8.2 软件编程 166

7.8.3 系统调试与仿真 167

7.9 T/C1应用3——比较匹配产生任意占空比方波 168

7.9.1 硬件电路 169

7.9.2 软件编程 169

7.9.3 系统调试与仿真 171

7.10 T/C1应用4——PWM输出作D/A转换器 174

7.10.1 硬件电路 174

7.10.2 软件编程 175

7.10.3 系统调试及仿真 176

7.11 定时器/计数器2(T/C2) 178

7.11.1 T/C2的预分频器 178

7.11.2 T/C2的结构、特点及作用 179

7.11.3 T/C2相关的I/O寄存器 179

7.11.4 PWM模式下的T/C2 180

7.11.5 异步时钟信号的驱动 181

7.12 T/C2应用1——作实时时钟 183

7.12.1 硬件电路 183

7.12.2 软件编程 184

7.12.3 系统调试与仿真 187

7.13 T/C2应用2——OC2引脚产生PWM脉宽调制输出 190

7.13.1 硬件电路 190

7.13.2 软件编程 191

7.13.3 系统调试与仿真 191

7.14 看门狗定时器 193

7.14.1 看门狗定时器的结构、特点及作用 193

7.14.2 与看门狗定时器有关的寄存器 194

7.14.3 看门狗定时器应用编程 195

第8章 AT90S8535单片机模拟量输入接口8.1 模/数转换器ADC 196

8.1.1 ADC的特点 196

8.1.2 ADC的工作方式 197

8.1.3 ADC预分频器 197

8.1.4 ADC的噪声抑制功能 199

8.1.5 与ADC有关的I/O寄存器 199

8.1.6 扫描多个通道 200

8.1.7 ADC噪声消除技术 200

8.1.8 ADC特性 201

8.2 A/D转换应用 201

8.2.1 硬件电路 201

8.2.2 软件编程 202

8.2.3 系统调试与仿真 206

8.3 模拟比较器 208

8.3.1 模拟比较器概述 208

8.3.2 模拟比较器控制和状态寄存器——ACSR 209

8.4 模拟比较器应用 209

8.4.1 硬件电路 210

8.4.2 软件编程 210

8.4.3 系统调试与仿真 214

第9章 AT90S8535单片机串行接口及其应用9.1 通用串行接口UART 218

9.1.1 数据传送 218

9.1.2 数据接收 219

9.1.3 UART控制 220

9.2 通用串行接口UART应用1——单片机间数据通信 224

9.2.1 串行口编程需注意的问题 224

9.2.2 硬件电路 225

9.2.3 软件编程 227

9.2.4 系统调试与仿真 232

9.3 通用串行接口UART应用2——单片机自发自收数据 236

9.3.1 硬件电路 236

9.3.2 软件编程 238

9.3.3 系统调试与仿真 240

9.4 同步串行接口SPI 243

9.4.1 SPI的特性 243

9.4.2 SPI的工作模式 243

9.4.3 SPI的数据模式 245

9.4.4 与SPI有关的寄存器 245

9.5 同步串行接口SPI的应用 247

9.5.1 硬件电路 247

9.5.2 软件编程 247

第10章 AT90S8535单片机综合应用10.1 电子琴模拟设计 256

10.1.1 硬件电路 256

10.1.2 软件编程 257

10.1.3 系统调试与仿真 262

10.2 汽车转弯信号灯模拟设计 266

10.2.1 硬件电路 266

10.2.2 软件编程 267

10.2.3 系统调试与仿真 271

10.3 交通灯模拟设计 275

10.3.1 硬件电路 275

10.3.2 软件编程 275

10.3.3 系统调试与仿真 283

10.4 数字钟模拟设计 289

10.4.1 硬件电路 289

10.4.2 软件编程 290

10.4.3 系统调试与仿真 296

10.5 计算器数字输入显示模拟设计 300

10.5.1 硬件电路 300

10.5.2 软件编程 301

10.5.3 系统调试与仿真 307

10.6 电子密码锁设计1 311

10.6.1 硬件电路 311

10.6.2 软件编程 312

10.6.3 系统调试与仿真 318

10.7 电子密码锁设计2 322

10.7.1 硬件电路 322

10.7.2 软件编程 322

10.7.3 系统调试与仿真 331

10.8 直流电机驱动设计 334

10.8.1 硬件电路 334

10.8.2 软件电路 334

10.8.3 系统调试与仿真 337

10.9 步进电机驱动设计 339

10.9.1 硬件电路 340

10.9.2 软件编程 340

10.9.3 系统调试与仿真 343

10.10 数据采集系统设计 345

10.10.1 硬件电路 345

10.10.2 软件编程 346

10.10.3 系统调试与仿真 359

第11章 AVR与嵌入式C语言编程11.1 中断与复位 365

11.1.1 硬件电路 365

11.1.2 软件编程 365

11.1.3 系统调试与仿真 366

11.2 定时器/计数器0 370

11.2.1 硬件电路 370

11.2.2 软件编程 370

11.2.3 系统调试与仿真 371

11.3 定时器/计数器1应用1——产生20 kHz的方波信号 375

11.3.1 硬件电路 375

11.3.2 软件编程 376

11.3.3 系统调试与仿真 377

11.4 定时器/计数器1应用2——脉宽调制器模式 381

11.4.1 硬件电路 383

11.4.2 软件编程 383

11.4.3 系统调试与仿真 384

11.5 模拟接口——A/D转换 387

11.5.1 硬件电路 387

11.5.2 软件编程 387

11.5.3 系统调试与仿真 388

11.6 模拟接口——模拟比较器 393

11.6.1 硬件电路 394

11.6.2 软件编程 394

11.6.3 系统调试与仿真 395

第12章 新型AVR单片机及其应用 395

12.1 Atmega8单片机概述 400

12.1.1 结构与主要性能 400

12.1.2 MCU内核 403

12.1.3 复位与中断处理 403

12.1.4 存储器 404

12.1.5 系统时钟和时钟选择 405

12.1.6 系统复位 410

12.1.7 中断向量 410

12.1.8 外部中断 412

12.2 ATmega8定时器/计数器0应用1 415

12.2.1 硬件电路 415

12.2.2 软件编程 415

12.2.3 系统调试与仿真 419

12.2.4 关于定时器/计数器0 422

12.3 ATmega8定时器/计数器0应用2 424

12.3.1 硬件电路 425

12.3.2 软件编程 426

12.3.3 系统调试与仿真 430

12.4 ATmega8 I/O端口应用 433

12.4.1 硬件电路 433

12.4.2 软件编程 434

12.4.3 系统调试与仿真 436

12.4.4 关于ATmega8 I/O端口 439

12.5 ATmega8 A/D-D/A转换及串行数据传输应用 444

12.5.1 硬件电路 444

12.5.2 软件编程 446

12.5.3 系统调试与仿真 457

12.5.4 关于ATmega8定时器/计数器1 461

12.5.5 关于ATmega8 A/D转换 463

12.5.6 关于ATmega8串行通信 469

12.6 ATmega8应用1——计数及显示系统 480

12.6.1 硬件电路 480

12.6.2 软件编程 480

12.6.3 系统调试与仿真 485

12.7 ATmega8应用2——键盘显示系统 489

12.7.1 硬件电路 489

12.7.2 软件编程 489

12.7.3 系统调试与仿真 500

12.8 ATmega8应用3——PWM 502

12.8.1 硬件电路 502

12.8.2 软件编程 502

12.8.3 系统调试与仿真 513

附录 523

附录A IAR系统目录 523

附录B IAR文件类型 525

附录C 8位RISC指令结构AVR单片机选型表 527

附录D AVR器件118条指令速查表 528

附录E AT90S8535 I/O空间 530

附录F Atmega8 I/O地址空间分配表 533

附录G 通用延时子程序 535

附录H 从MCS-51到AVR的快速转换H.1 AVR和MCS-51存储器配置的对比 537

H.2 AVR输入/输出端口的使用 539

H.3 AVR和MCS-51定时器的对比 540

H.4 AVR和MCS-51中断系统的对比 542

H.5 AVR和MCS-51位操作功能的对比 543

H.6 AVR单片机内置EEPROM的使用 543

H.7 AVR单片机内置看门狗电路的使用 543

H.8 AVR和MCS-51中串口通信UART功能的对比 544

H.9 C51的源代码向PROTEUS中AVR的快速转换 544

附录I intrinsic函数 549

附录J IAR中断向量定义 550

附录K 单片机C程序优化 552

K.1 程序结构的优化 552

K.2 代码的优化 553

附录L DS18B20简介 557

L.1 总体特点 557

L.2 内部结构 557

L.3 硬件配置 558

L.4 命令序列 559

L.5 DS18B20的信号方式 560

参考文献 563