当前位置:在线查询网 > 在线百科全书查询 > AVR单片机C语言应用100例

AVR单片机C语言应用100例_在线百科全书查询


请输入要查询的词条内容:

AVR单片机C语言应用100例




基本信息


作者:严雨(作者), 廉洁(作者)

出版社:电子工业出版社; 第1版 (2012年2月1日)

丛书名: 百例成才系列丛书

平装:364页

正文语种:简体中文

开本:16

ISBN:9787121156083

条形码:9787121156083

商品尺寸: 25.7 x 18.3 x 1.8 cm

商品重量: 499 g

内容简介


《AVR单片机C语言应用100例》基于Proteus仿真和C语言由浅入深地介绍了ATmega128单片机的应用。所提供100个实例覆盖了整个单片机系统开发全过程,包括单片机开发环境、单片机的内部结构、C语言基础,以及ATmega128单片机的内部资源应用。所涉及的ATmega128单片机的内部资源包括I/O引脚、外部中断、E2PROM、us-ART模块、定时/计数器、TWI接口、SPI接口、模拟比较器、ADC模块、看门狗等。

《AVR单片机C语言应用100例》适合作为具有初步单片机基础的单片机工程师,以及高等院校电子类专业的学生和单片机爱好者的参考书。

目录


第1章 ATmega128单片机基础

1.1 ATmega128单片机介绍

1.2 ATmega128单片机的结构

1.2.1 ATmega128单片机的内核

1.2.2 ATmega128单片机的存储器体系

1.2.3 ATmega128单片机的系统时钟

1.2.4 ATmega128单片机的电源管理

1.2.5 ATmega128单片机的复位

1.2.6 ATmega128单片机的中断系统

1.3 ATmega128单片机的指令系统和寻址

第2章 ATmega128单片机的软件开发环境

2.1 ICCAVR软件开发环境

2.1.1 ICCAVR软件安装

2.1.2 ICCAVR菜单

2.1.3 ICCAVR的常用文件类型

2.1.4 ICCAVR的扩展关键字

2.1.5 ICCAVR的启动文件

2.1.6 ICCAVR的库函数

2.2 ICCAVRIDE的使用

应用实例1——使用ICCAVRIDE

第3章 ATmega128单片机的开发环境

3.1 ATmega128单片机开发常用的工具

3.1.1 ISP编程器

3.1.2 数字万用表

3.1.3 数字示波器

3.2 Proteus仿真软件的使用

应用实例2——使用Proteus仿真ATmega128单片机

3.3 Proteus仿真软件的应用说明

3.3.1 运行、单步运行、暂停和停止运行

3.3.2 打开对应的观察窗口

第4章 ATmega128单片机应用系统开发基础

4.1 ATmega128单片机应用系统的构成

4.2 ATmega128单片机应用系统开发流程

4.3 ATmega128单片机应用系统的硬件设计

4.4 3个微型ATmega128单片机应用系统

应用实例3——点亮8位LED

应用实例4——驱动7位数码管

应用实例5——串口数据发送和接收

第5章 ATmega128单片机C语言基础

5.1 ATmega128单片机C语言的数据类型、运算符和表达式

5.1.1 ATmega128单片机C语言的数据类型

5.1.2 ATmega128单片机C语言的常量和变量

应用实例6——使用常量

应用实例7——使用变量

5.1.3 ATmega128单片机C语言的算术运算、赋值运算、逻辑运算和关系运算

应用实例8——使用算术表达式

应用实例9——使用强制类型转换

应用实例10——逻辑运算应用

应用实例11——关系运算应用

5.1.4 ATmega128单片机C语言的位操作

应用实例12——位逻辑运算:位与和位或

应用实例13——位逻辑运算:位异或和位取反

应用实例14——移位运算应用

应用实例15——自增减运算应用

应用实例16——复合运算应用

应用实例17——逗号运算应用

5.1.5 运算符的优先级

5.2 ATmega128单片机C语言的结构语句

5.2.1 顺序结构

应用实例18——顺序结构语句应用

5.2.2 选择结构

应用实例19——if语句的基本结构应用

应用实例20——switch语句的应用

5.2.3 循环结构

应用实例21——while语句的应用

应用实例22——dowhile语句应用

应用实例23——for语句的应用

应用实例24——循环语句的进阶用法

5.2.4 break语句、continue语句和goto语句

应用实例25——break语句的应用

应用实例26——continue语句的应用

应用实例27——goto语句的应用

第6章 ATmega128单片机高阶C语言

6.1 ATmega128单片机C语言的函数

6.1.1 函数的分类

6.1.2 函数的定义

应用实例28——无参函数的应用

应用实例29——有参函数的应用

6.1.3 函数的调用

应用实例30——函数的预先定义

应用实例31——函数的后定义

应用实例32——函数的递归调用

应用实例33——函数的嵌套调用

6.1.4 内部函数和外部函数

6.1.5 变量类型

应用实例34——静态局部变量应用

应用实例35——全局变量应用

6.2 ATmega128单片机C语言的数组和指针

6.2.1 数组

应用实例36——一维数组的应用

应用实例37——二维数组的应用

应用实例38——字符数组的应用

6.2.2 指针

应用实例39——指针的应用

6.2.3 数组和指针

应用实例40——数组下标引用输出

应用实例41——数组名作为地址输出

应用实例42——指针引用数组输出

应用实例43——使用指针运算引用数组输出

应用实例44——数组下标引用二维数组的输出

应用实例45——指针引用二维数组的输出

6.2.4 字符串和指针

应用实例46——字符指针的字符数组输出

6.2.5 数组、指针和函数的联系

应用实例47——数组作为函数参数的应用

应用实例48——指针作为函数参数

应用实例49——返回指针的函数

6.2.6 指针数组和指向指针的指针

应用实例50——指向指针的指针应用

6.3 ATmega128单片机C语言中的自定义数据类型

6.3.1 结构体

应用实例51——结构体的应用

应用实例52——结构体数组应用

应用实例53——结构体变量指针

应用实例54——结构体指针变量作为函数参数

6.3.2 联合体(共用体)

应用实例55——结构体的应用

6.3.3 枚举

应用实例56——枚举变量的应用

6.4 ATmega128单片机C语言程序设计技巧

6.4.1 养成好的编程习惯

6.4.2 宏定义

应用实例57——宏定义的应用

应用实例58——参数宏定义的应用

6.4.3 条件编译

应用实例59——条件编译

6.4.4 一些关键字的使用

第7章 ATmega128单片机的I/O引脚应用实例

7.1 ATmega128单片机的I/O引脚基础

7.1.1 ATmega128单片机的I/O引脚配置

7.1.2 ATmega128单片机读取引脚电平

7.1.3 ATmega128单片机的I/O引脚低功耗处理

7.1.4 ATmega128单片机的I/O引脚的第二功能

7.2 ATmega128单片机扩展发光二极管(LED)

7.2.1 发光二极管(LED)基础

7.2.2 ATmega128单片机扩展发光二极管(LED)应用实例

应用实例60——使用I/O引脚驱动LED闪烁

应用实例61——使用I/O引脚驱动流水灯

7.3 ATmega128单片机扩展数码管

7.3.1 一位数码管基础

7.3.2 ATmega128扩展一位数码管应用实例

应用实例62——使用I/O引脚驱动数码管显示

7.3.3 多位数码管基础

7.3.4 ATmega128单片机扩展多位数码管应用实例

应用实例63——使用I/O引脚驱动多位数码管动态显示

7.4 ATmega128单片机扩展按键、键盘和拨码开关

7.4.1 独立按键基础

7.4.2 ATmega128单片机扩展独立按键应用实例

应用实例64——使用I/O引脚扩展独立按键格式

7.4.3 行列扫描键盘基础

7.4.4 ATmega128单片机扩展行列扫描键盘应用实例

应用实例65——使用I/O引脚扩展行列扫描键盘

7.4.5 拨码开关基础

7.4.6 ATmega128单片机扩展拨码开关应用实例

应用实例66——使用I/O引脚扩展拨码开关

7.5 ATmega128单片机扩展继电器

7.5.1 继电器基础

7.5.2 功率驱动器件基础

7.5.3 ATmega128单片机扩展继电器应用实例

应用实例67——使用I/O引脚扩展继电器

7.6 ATmega128单片机扩展蜂鸣器

7.6.1 蜂鸣器基础

7.6.2 ATmega128单片机扩展蜂鸣器应用实例

应用实例68——使用I/O引脚扩展蜂鸣器

7.7 ATmega128单片机扩展电动机

7.7.1 直流电动机基础

7.7.2 ATmega128单片机扩展直流电动机的应用实例

应用实例69——使用I/O引脚扩展直流电动机

7.7.3 步进电动机基础

7.7.4 ATmega128单片机扩展步进电动机的应用实例

应用实例70——使用I/O引脚扩展步进电动机

第8章 ATmega128单片机的外部中断应用实例

8.1 ATmega128单片机的外部中断基础

8.1.1 外部中断控制寄存器A(EICRA)

8.1.2 外部中断控制寄存器B(EICRA)

8.1.3 外部中断屏蔽寄存器(EIMSK)

8.1.4 外部中断标志寄存器(EIFR)

8.2 ATmega128单片机的外部中断应用实例

应用实例71——外部中断7脉冲计数

应用实例72——外部中断控制LED

应用实例73——多个外部中断联合计数

第9章 ATmega128单片机的内部E2PROM应用实例

9.1 E2PROM基础

9.1.1 地址寄存器EEARH和EEARL

9.1.2 数据寄存器EEDR

9.1.3 控制寄存器EECR

9.1.4 E2PROM的操作时间

9.1.5 E2PROM的写操作

9.1.6 E2PROM的读操作

9.1.7 E2PROM的掉电处理

9.2 ATmega128单片机的E2PROM应用实例

应用实例74——用E2PROM保存用户数据

应用实例75——E2PROM的数据写入和读出

第10章 ATmega128单片机的USART模块应用实例

10.1 USART模块应用基础

10.1.1 USART的相关寄存器

10.1.2 USART的时钟发生器

10.1.3 USART的数据帧格式

10.1.4 USART的使用方法

10.2 ATmega128单片机的USART应用实例

应用实例76——USART0的数据发送

应用实例77——USART1的数据发送

应用实例78——Proteus中的虚拟串口调试

应用实例79——使用USART0和计算机进行双向数据通信

应用实例80——综合使用USART0和USART1

应用实例81——使用单片机A控制单片机B

第11章 ATmega128单片机的定时/计数器模块应用实例

11.1 定时/计数器T/C0基础

11.1.1 定时/计数器T/C0的工作模式

11.1.2 T/C0的相关寄存器

11.2 定时/计数器T/C1和T/C3基础

11.2.1 T/C1和T/C3的工作模式

11.2.2 T/C1和T/C3的相关寄存器

11.3 定时/计数器T/C2基础

11.3.1 T/C2的工作模式

11.3.2 T/C2的相关寄存器

11.4 定时/计数器模块应用实例

应用实例82——T/C0控制LED闪烁

应用实例83——T/C1控制LED闪烁

应用实例84——T/C2脉冲计数

应用实例85——T/C1实现频率计

应用实例86——T/C1实现占空比可调PWM输出

应用实例87——T/C0的秒定时

应用实例88——频率可调的PWM信号输出

第12章 ATmega128单片机的TWI(I2C)接口总线模块应用实例

12.1 TWI(I2C)总线基础

12.1.1 TWI(I2C)接口总线的一些术语

12.1.2 TWI(I2C)接口总线的数据传输过程和帧格式

12.1.3 TWI(I2C)总线器件的地址

12.2 ATmega128单片机的TWI(I2C)接口总线模块应用基础

12.2.1 ATmega128单片机的TWI(I2C)接口总线模块构成

12.2.2 ATmega128单片机的TWI(I2C)接口总线模块寄存器

12.2.3 ATmega128单片机的TWI(I2C)接口总线模块的工作模式

12.2.4 ATmega128单片机的TWI(I2C)接口总线模块的使用

12.3 ATmega128单片机的TWI(I2C)接口总线模块应用实例

应用实例89——使用TWI(I2C)总线进行双机通信

第13章 ATmega128单片机的SPI接口总线模块应用实例

13.1 SPI总线基础

13.1.1 SPI总线的结构

13.1.2 SPI总线的时序

13.2 ATmega128单片机的SPI接口总线模块应用基础

13.2.1 ATmega128单片机的SPI接口总线模块的寄存器

13.2.2 ATmega128单片机的SPI接口总线模块的工作模式

13.3 ATmega128单片机的SPI接口总线模块应用实例

应用实例90——使用SPI总线接口进行双机通信

第14章 ATmega128单片机的模拟比较器模块应用实例

14.1 ATmega128单片机的模拟比较器模块应用基础

14.1.1 ATmega128单片机模拟比较器模块的寄存器

14.1.2 ATmega128单片机模拟比较器模块输入通道

14.2 ATmega128单片机的模拟比较器模块应用实例

应用实例91——使用比较器模块比较两个模拟信号

应用实例92——使用比较器模块将正弦波信号转换为方波信号

应用实例93——多通道模拟信号电压比较

第15章 ATmega128单片机的ADC模块应用实例

15.1 ADC基础知识

15.2 ATmega128单片机的ADC模块应用基础

15.2.1 ATmega128单片机的ADC模块的相关寄存器

15.2.3 ATmega128单片机的ADC模块的使用

15.3 ATmega128单片机的ADC模块应用实例

应用实例94——单通道A/D采样

应用实例95——多通道A/D采样

应用实例96——差分输入A/D采样

应用实例97——增益放大A/D采样

应用实例98——定时器控制A/D采样

应用实例99——多通道电压比较和A/D采样

第16章 ATmega128单片机的看门狗模块应用实例

16.1 ATmega128单片机看门狗模块应用基础

16.2 ATmega128单片机看门狗模块应用实例

应用实例100——ATmega128单片机看门狗模块工作状态测试