AVR单片机C语言轻松学
2020-04-21 10:02:01 0 举报
AI智能生成
AVR单片机C语言轻松学
作者其他创作
大纲/内容
7 ATmega16单片机的串口
7.1 ATmega16串口的结构
7.2 ATmega16串口的寄存器
7.2.1 串口数据寄存器 (UDR)
7.2.2 串口控制和状态寄存器A (UCSRA)
7.2.3 串口控制和状态寄存器B (UCSRB)
7.2.4 串口控制和状态寄存器C (UCSRC)
7.2.5 串口波特率寄存器 (UBRRL和UBRRH)
7.3 ATmega16串口的使用方法
7.3.1 选择ATmega16串口的时钟源
7.3.2 选择ATmega16串口的数据帧格式
7.3.3 ATmega16串口的数据收发
7.3.4 ATmega16串口的多机通信
7.4 ATmega16串口的应用实例
7.4.1 ATmega16串口数据发送
7.4.2 和PC进行串行通信
8 ATmega16单片机的TWI和SPI总线接口
8.1 TWI总线基础
8.1.1 TWI总线的数据交互过程
8.1.2 TWI总线的地址
8.2 TWI总线模块相关寄存器
8.2.1 比特率控制寄存器 (TWBR)
8.2.2 TWI控制寄存器 (TWCR)
8.2.3 TWI状态寄存器 (TWSR)
8.2.4 TWI数据寄存器 (TWDR)
8.2.5 TWI从机地址寄存器 (TWAR)
8.3 TWI总线模块的使用
8.4 TWI总线模块的数据传输方式
8.4.1 主机发送模式 (MT)
8.4.2 主机接收模式 (MR)
8.4.3 从机发送模式 (ST)
8.4.4 从机接收模式 (SR)
8.5 TWI总线的仲裁
8.6 SPI总线基础
8.7 SPI总线模块相关寄存器
8.7.1 SPI控制寄存器SPCR
8.7.2 SPI状态寄存器SPSR
8.7.3 SPI数据寄存器SPDR
8.8 SPI总线接口的工作模式
8.9 TWI和SPI总线模块应用实例
8.9.1 ATmega16双机使用TWI总线模块进行通信
8.9.2 ATmega16双机使用SPI总线模块进行通信
9 ATmega16单片机的比较器和ADC模块
9.1 ATmega16单片机的比较器
9.1.1 模拟比较器基础
9.1.2 模拟比较器的寄存器
9.1.3 模拟比较器的输入通道
9.2 ATmega16单片机的ADC模块
9.2.1 ADC模块基础
9.2.2 ADC模块的寄存器
9.2.3 ADC模块的转换过程
9.2.4 ADC模块的输入通道和参考电源
9.2.5 ADC模块的转换结果和精度定义
9.3 ATmega16比较器的应用实例
9.3.1 双通道模拟信号比较应用实例
9.3.2 多通道模拟信号比较应用实例
9.4 ATmega16 ADC模块的应用实例
9.4.1 单通道模拟信号采集实例
9.4.2 多通道模拟信号采集实例
9.4.3 增益放大模拟信号采集实例
9.4.4 差分模拟信号比较采集实例
10 ATmega16的其他内部资源
10.1 看门狗(WDT)
10.1.1 看门狗基础
10.1.2 看门狗的寄存器
10.1.3 看门狗的启动和关闭
10.2 内部E2 PROM
10.2.1 E2 PROM的操作
10.2.2 E2 PROM的寄存器
10.2.3 E2 PROM的操作函数
10.3 内置看门狗和E2 PROM应用实例
10.3.1 内置看门狗模块测试应用实例
10.3.2 E2 PROM读写应用实例
11 ATmega16的应用系统
11.1 单I/O引脚扩展多按键
11.1.1 应用系统背景
11.1.2 设计思路
11.1.3 硬件系统设计
11.1.4 软件系统设计
11.1.5 应用系统的仿真和总结
11.2 简易电子琴
11.2.1 应用系统背景
11.2.2 设计思路
11.2.3 硬件系统设计
11.2.4 软件系统设计
11.2.5 应用系统的仿真和总结
11.3 商场灯光控制
11.3.1 应用系统背景
11.3.2 设计思路
11.3.3 硬件系统设计
11.3.4 软件系统设计
11.3.5 应用系统的仿真和总结
1 ATmega16单片机基础
1.1 AVR系列单片机
1.2 ATmega16单片机的特点、硬件结构和封装
1.3 ATmega16单片机的内核
1.3.1 算术逻辑单元ALU
1.3.2 状态寄存器SREG
1.3.3 通用寄存器
1.3.4 堆栈
1.3.5 中断和复位处理模块
1.4 ATmega16单片机的存储器体系
1.4.1 程序存储器
1.4.2 数据存储器
1.4.3 E2 PROM存储器
1.5 ATmega16单片机的系统时钟
1.5.1 ATmega16的系统时钟组成
1.5.2 ATmega16的时钟源选择
1.5.3 晶体振荡器
1.5.4 低频晶体振荡器
1.5.5 外部RC振荡器
1.5.6 片内RC振荡器
1.5.7 外部时钟源
1.6 ATmega16单片机的电源管理
1.7 ATmega16单片机的复位
1.7.1 ATmega16的复位源
1.7.2 上电复位
1.7.3 外部复位
1.7.4 掉电检测复位
1.7.5 看门狗复位
1.7.6 ATmega16的复位控制寄存器
1.7.7 片内基准电压
1.8 ATmega16单片机的中断系统
2 ATmega16单片机的指令和C语言
2.1 ATmega16单片机的指令系统
2.1.1 ATmega16单片机的指令集
2.1.2 ATmega16单片机的寻址方式
2.2 ATmega16单片机C语言的数据类型、运算符号和表达式
2.2.1 常量和变量
2.2.2 算术运算、赋值、逻辑运算以及关系运算
2.2.3 自增减、复合和逗号运算
2.2.4 位运算
2.2.5 运算的优先级
2.3 ATmega16单片机C语言的结构
2.4 ATmega16单片机C语言的函数
2.4.1 函数的定义、参数和返回值
2.4.2 函数的调用
2.4.3 局部变量和全局变量
2.5 ATmega16单片机C语言的数组和指针
2.6 ATmega16单片机C语言的自构造类型
2.6.1 结构体
2.6.2 联合体
2.6.3 枚举
3 ATmega16单片机的ICC AVR软件开发环境
3.1 ATmega16单片机的软件开发环境
3.2 安装ICC AVR
3.3 ICC AVR的工作界面
3.4 ICC AVR的菜单栏和快捷工具栏
3.4.1 ICC AVR的菜单栏
3.4.2 ICC AVR的快捷工具栏
3.5 ICC AVR的扩展关键字
3.5.1 中断关键字
3.5.2 非挥发寄存器关键字
3.5.3 数据段关键字
3.6 ICC AVR的文件
3.6.1 ICC AVR的常用文件类型
3.6.2 ICC AVR的库函数文件
3.6.3 ICC AVR的启动文件
3.7 “Hello World!”——ICC AVR的应用实例
4 ATmega16单片机的硬件开发和Proteu s硬件仿真环境
4.1 ATmega16单片机的硬件系统开发流程和开发工具
4.1.1 ATmega16单片机的硬件系统开发流程
4.1.2 ATmega16单片机的硬件开发工具
4.2 Proteus应用基础
4.2.1 Proteus的界面和支持的文件
4.2.2 Proteus的菜单
4.2.3 Proteus的快捷工具栏和工具箱
4.3 Proteus的使用流程
4.4 Proteus中的ATmega16及其使用
4.5 Proteus和ICC AVR联合使用
5 ATmega16单片机的I/O引脚和外部中断
5.1 ATmega16外部引脚基础使用方法
5.1.1 ATmega16的I/O引脚的结构
5.1.2 ATmega16的I/O引脚配置
5.1.3 ATmega16的I/O引脚电平读取
5.1.4 ATmega16的I/O引脚低功耗处理
5.2 ATmega16外部引脚的第二功能
5.3 ATmega16的外部中断
5.3.1 MCU控制寄存器 (MCUCR)
5.3.2 MCU控制与状态寄存器 (MCUCSR)
5.3.3 通用中断控制寄存器 (GICR)
5.3.4 通用中断标志寄存器 (GIFR)
5.4 ATmega16的I/O引脚和中断的应用实例
5.4.1 I/O引脚输出高低脉冲电平实例
5.4.2 I/O引脚驱动发光二极管 (LED) 实例
5.4.3 I/O引脚驱动单位数码管实例
5.4.4 I/O引脚驱动独立按键实例
5.4.5 I/O引脚驱动行列键盘实例
5.4.6 外部中断控制I/O引脚输出实例
6 ATmega16单片机的定时计数器
6.1 定时计数器T/C0
6.1.1 T/C0的相关寄存器
6.1.2 T/C0的工作模式
6.2 定时计数器T/C1
6.2.1 T/C1的相关寄存器
6.2.2 T/C1的工作模式
6.3 定时计数器T/C2
6.3.1 T/C2的相关寄存器
6.3.2 T/C2的工作模式
6.4 ATmega16的定时计数器的应用实例
6.4.1 T/C0控制I/O引脚输出方波
6.4.2 T/C1控制I/O引脚输出PWM
6.4.3 外部晶体秒定时
0 条评论
下一页