编著者还有:张禹瑄、赵昕、李延柱、宋熙萍、张振宇

副标题:无

作   者:张克彦[等]编著

分类号:

ISBN:9787512406100

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

简介

本书首先对AVR中档单片机升级换代产品ATMEGA8535、ATMEGA16 的系统结构﹑特点、运行原理和指令系统等作了详细介绍,在此基础上给出众多具代表性的实用程序的设计及其使用方法,并提供详细程序清单。主要程序都附有流程图,所有程序都列出清单并带详细注释,而且配备光盘。本书归纳的程序设计和优化方法,以及完整的软件设计实例也适用于其他流行型如MCS-51/196、Freescale等单片机。

目录

第1章ATmega16单片机硬件结构和运行原理

1.1 AVR单片机概述1

1.2 ATmega16的结构与主要特点2

1.3 ATmega16的主要性能3

1.4 ATmega16 MCU内核6

1.5 ATmega16的存储器组织8

1.5.1可实现在线/在应用自我编程的闪存FLASH8

1.5.2数据存储器SRAM9

1.5.3 EEPROM数据存储器9

1.5.4 I/O寄存器9

1.6系统时钟及其选择11

1.6.1时钟系统及其分配12

1.6.2源时钟信号13

1.6.3外部晶振13

1.6.4外部低频晶体振荡器15

1.6.5外部RC振荡器15

1.6.6可标定的内部RC振荡器16

1.6.7外部时钟源17

1.6.8定时器/计数器振荡器(异步时钟)18

1.7电源管理和休眠模式18

1.7.1概述18

1.7.2休眠模式的实现19

1.7.3如何将功耗最小化21

1.8复位系统22

1.8.1复位源24

1.8.2 MCU控制及状态寄存器MCUCSR25

1.8.3内部参考电压源26

1.8.4看门狗定时器26

 

1.9中断系统30

1.9.1中断源及其管理30

1.9.2中断向量32

1.9.3中断控制寄存器37

1.9.4中断响应过程40

1.10定时器/计数器41

1.10.1定时器/计数器的预分频器41

1.10.2 8位定时器/计数器0-T/C044

1.10.3 16位定时器/计数器1-T/C155

1.10.4 8位定时器/计数器2T/C273

1.11 ATmega16/8535的I/O端口85

1.11.1概述85

1.11.2 I/O内部结构及工作原理86

1.11.3各端口寄存器87

1.11.4 I/O特殊功能寄存器SFIOR89

1.11.5端口第二功能90

1.12同步串行接口SPI95

1.12.1内部结构和运行原理95

1.12.2 SPI相关寄存器98

1.12.3 SS引脚功能99

1.12.4 SPI数据传送模式100

1.13通用同步/异步串行接口USART101

1.13.1概述101

1.13.2串行时钟的产生103

1.13.3数据帧格式106

1.13.4 USART的初始化107

1.13.5数据帧的发送过程107

1.13.6异步串行数据的位接收时序108

1.13.7数据帧接收过程110

1.13.8多机通信的实现方法111

1.13.9 USART寄存器112

1.14两线串行总线接口TWI(I2C)118

1.14.1两线串行总线接口定义118

1.14.2 TWI模块概述119

1.14.3 TWI寄存器121

1.14.4 TWI总线的使用124

1.14.5多主机系统和总线仲裁132

1.15模拟比较器133

1.16模数转换器136

1.16.1 ADC工作过程138

1.16.2启动ADC138

1.16.3预分频与转换时间139

1.16.4差分增益通道140

1.16.5 ADC输入通道和参考电源的选择141

1.16.6 ADC噪声抑制器142

1.16.7 ADC自动触发功能144

1.16.8 ADC转换结果数据模式145

1.16.9有关的I/O寄存器146

1.17 E2PROM的读写操作150

1.17.1 E2PROM的读/写访问150

1.17.2相关的寄存器150

第2章AVR单片机指令系统

2.1 AVR单片机汇编器编程规定153

2.1.1伪指令153

2.1.2表达式155

2.2操作数及指令所涉及的对象157

2.2.1状态寄存器SREG157

2.2.2执行指令对标志位的影响158

2.2.3操作数寄存器和操作数158

2.2.4堆栈159

2.3寻址方式159

2.4算术和逻辑运算指令162

2.4.1加法指令163

2.4.2减法指令165

2.4.3取反指令166

2.4.4取补指令166

2.4.5比较指令167

2.4.6逻辑与指令167

2.4.7逻辑或指令168

2.4.8逻辑异或指令169

2.4.9乘法指令169

2.5转移指令170

2.5.1无条件转移指令172

2.5.2条件转移指令172

2.6数据传输指令179

2.6.1直接寻址数据传输指令180

2.6.2间接寻址传输指令181

2.6.3 Z指针寄存器程序空间取常数寻址183

2.6.4程序存储器空间写数据寻址183

2.6.5 I/O口数据传送184

2.6.6堆栈操作指令184

2.7位操作及其他指令185

2.7.1移位指令186

2.7.2位操作指令187

2.7.3修改标志位指令187

2.7.4 I/O寄存器操作指令189

2.7.5其他指令189

第3章 定点运算和定点数制转换

3.1软件DAA的实现方法190

3.1.1实现加法DAA功能子程序ADDAA和LSDAA的设计方法191

3.1.2实现减法DAA功能子程序SUDAA的设计方法192

3.1.3实现右移DAA功能子程序RSDAA的设计方法192

3.2定点运算子程序192

3.2.1多字节压缩BCD码加法子程序ADBCD4和ADBCD193

3.2.2多字节压缩BCD码减法子程序SUBCD4和SUBCD193

3.2.3乘法子程序MUL16194

3.2.4快速乘法子程序MUL16F195

3.2.5带舍入功能的乘法子程序MUL165195

3.2.6整数除法子程序DIV16196

3.2.7普适型32位除以16位除法子程序DIV16a196

3.2.8将最后余数舍入处理的除法子程序DIV165198

3.2.9商为规格化浮点数的除法子程序DIV16F198

3.2.10整数除法子程序DIV24和DIV40199

3.2.11整数开平方子程序INTSQR200

3.2.12乘除运算的补充参考子程序202

3.3定点数制转换子程序203

第4章AVR实用程序

4.1查表(子)程序211

4.1.1线性内插计算子程序CHETA211

4.1.2功能数据表格项目浏览、查找、修改程序218

4.2 EEPROM读/写子程序227

4.2.1 EEPROM读出子程序REEP227

4.2.2查询写入EEPROM子程序WEEP227

4.2.3以中断方式写入EEPROM程序228

4.3输入输出子程序230

4.3.1时钟日历芯片OKI MSM 62×42×的读/写子程序230

4.3.2显示保护程序DSPRV233

4.3.3键处理程序DEALKY235

4.3.4计算键值——LED显示管理子程序DSPA和DSPY238

4.3.5键入数字序列左移处理子程序LSDD8244

4.3.6双键浏览、修改数据子程序KYIN2246

4.3.7触摸屏键值算法子程序250

4.3.8中文液晶显示模块OCMJ5×10的应用252

4.3.9通用宽行打印机检测及打印子程序LPRNT261

4.3.10步进电机控制程序264

4.4精确定时及日历时钟走时程序271

4.4.1 MCU主频4 MHz用TCNT1精确定时程序272

4.4.2 MCU主频8 MHz用TCNT1精确定时程序273

4.4.3 MCU主频4 MHz用TCNT0精确定时程序275

4.4.4以外部时钟(32 768 Hz)用T/C2定时直接产生秒号程序276

4.4.5精确定时产生0.1 s信号程序277

4.4.6精确定时产生1 s信号程序278

4.4.7时钟日历走时子程序ACLK(软时钟)280

4.5通信程序285

4.5.1异步串行口中断接收和发送ASCII码字串程序285

4.5.2用外部中断配合查询接收串行ASCII码字串程序290

4.5.3以定时器和输出口配合用中断方式发送ASCII码字串程序295

4.5.4以定时器和输入口配合用中断方式接收ASCII码字串程序299

4.5.5主从多机通信程序304

4.5.6智能型RS232与RS485标准转换程序310

4.5.7串行通信红外接口技术和通信程序312

4.5.8高速同步串行口通信程序319

4.5.9模拟串行口配合74164驱动LED静态显示程序323

4.5.10具有中断定时告警功能的实时钟芯片DS1305应用程序325

4.6脉宽调制(PWM)输出332

4.6.1 T/C0比较匹配清零计数器CTC模式(WGM0[1:0]=2)333

4.6.2 T/C0快速PWM模式(WGM0[1:0]=3)334

4.6.3 T/C0相位可调PWM模式(WGM0[1:0]=1)335

4.6.4 T/C1比较匹配清零计数器CTC模式336

4.6.5 T/C1快速PWM模式337

4.6.6 T/C1相位可调PWM输出程序339

4.6.7 T/C1相位频率可调PWM输出程序341

4.6.8 T/C2脉宽调制输出程序的设计方法(本小节示范程序不列入清单)344

4.7模数转换345

4.7.1 A/D转换和自运行的PWM输出综合程序345

4.7.2利用模拟比较器进行A/D转换程序350

4.8可靠性程序352

4.8.1滑动平均子程序SLPAV352

4.8.2带外部SRAM(不断电)的ATmega8515系统断电保护程序356

4.8.3 ATmega16L/8535L工作于掉电模式下小系统的断电保护程序365

4.8.4循环冗余检测原理以及实现方法370

4.9码制转换387

4.9.1 ASCII码数据综合处理子程序387

4.9.2格雷(Gray)码与二进制数相互转换子程序396

4.10 AVR综合性实用程序397

4.10.1 AVR频率计程序设计398

4.10.2时基资源共享式综合测量系统401

4.10.3 DALLAS 18B20多点测温程序407

4.11嵌入式系统软件设计方法415

4.12嵌入式系统常用优化设计方法418

第5章AVR浮点程序库

5.1 AVR浮点程序库的特点424

5.1.1 AVR浮点程序库的设计特点424

5.1.2 AVR浮点程序库的优点425

5.1.3 IEEE浮点数格式427

5.1.4浮点数的规格化430

5.1.5对阶430

5.2基本运算子程序的设计方法430

5.2.1支持基本运算的辅助子程序430

5.2.2浮点数比较大小子程序FPCP的设计方法431

5.2.3浮点加法子程序FPAD的设计方法433

5.2.4浮点减法子程序FPSU的设计方法433

5.2.5浮点乘法子程序FPMU的设计方法436

5.2.6快速浮点乘法子程序FPMUF的设计方法439

5.2.7浮点除法子程序FPDI的设计方法441

5.2.8浮点数模拟手算开平方子程序FPSQ的设计方法443

5.2.9浮点数牛顿迭代开平方子程序FSQR的设计方法446

5.2.10基本运算子程序的演示程序448

5.3函数计算子程序的设计方法450

5.3.1函数计算子程序的设计总则450

5.3.2函数计算子程序的辅助子程序450

5.3.3用荷纳法计算多项式值子程序FPLN1和FPLN2455

5.3.4对数函数LNX及其衍生函数子程序的设计方法457

5.3.5指数函数EXP及其衍生函数子程序的设计方法461

5.3.6正弦函数sin x及其衍生函数子程序的设计方法464

5.3.7反正弦函数ASINX及其衍生函数子程序的设计方法467

5.3.8函数计算子程序的演示程序472

5.3.9阶乘子程序NP的设计方法473

5.3.10浮点数制转换474

5.4浮点程序应用实例483

5.4.1拟合直线程序483

5.4.2模数转换器AD7701的应用487

第6章 在线测试功能和编程功能

6.1 ATmega16的JTAG接口与在线调试系统490

6.1.1 JTAG接口简介490

6.1.2 JTAG在线仿真调试495

6.1.3 JTAG程序下载功能495

6.1.4 JTAG边界扫描功能496

6.1.5 ATmega16的边界扫描顺序499

6.2引导加载支持的自我编程功能503

6.2.1引导加载技术的实现504

6.2.2相关I/O寄存器508

6.2.3程序存储器Flash的自编程511

6.2.4一个简单的引导加载汇编程序514

6.3 ATmega16存储器编程516

6.3.1 ATmega16的锁定位、熔丝位、标识位和校正位516

6.3.2并行编程模式518

6.3.3 SPI串行编程模式524

6.3.4 JTAG串行编程模式526

参考文献

已确认勘误

次印刷

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

编著者还有:张禹瑄、赵昕、李延柱、宋熙萍、张振宇
    • 名称
    • 类型
    • 大小

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

    意见反馈

    14:15

    关闭

    云图客服:

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

    或者您是想咨询:

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

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

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

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

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

    loading icon