产品详情
手把手教你学AVR单片机C程序设计目录
前言
第1章 概述
1.1 提高编制单片机应用程序效率最好的办法是采用C语言编程
1.2 C语言具有突出的优点
1.3 AVR单片机简介
1.4 AVR单片机的C编译器简介
第2章 学习AVR单片机C程序设计所用的软件及实验器材介绍
2.1 IAR Embedded Workbench IDE C语言编译器
2.2 AVR Studio集成开发环境
2.3 PonyProg2000下载软件及SL-ISP下载软件
2.4 AVR DEMO单片机综合试验板
2.5 AVR单片机JTAG仿真器
2.6 并口下载器
2.7 通用型多功能USB编程器
第3章 AVR单片机开发软件的安装及第一个入门程序
3.1 安装IAR for AVR 4.30集成开发环境
3.2 安装AVR Studio集成开发环境
3.3 安装PonyProg2000下载软件
3.4 安装SLISP下载软件
3.5 AVR单片机开发过程
3.6 第一个AVR入门程序
3.6.1 建立一个工作区及创建一个新工程项目
3.6.2. 设置IAREW工程项目的选项
3.6.3 输入C源文件
3.6.4 向工程项目中添加源文件
3.6.5 编译源文件
3.6.6 在IAREW中进行软件模拟仿真
3.6.7 使用PonyProg2000软件或SLISP将HEX文件下载到单片机中
3.6.8 应用
3.6.9 在IAREW中进行实时在线仿真
3.6.10 在AVR Studio中进行软件模拟仿真
3.6.11 在AVR Studio中进行实时在线仿真
第4章 AVR单片机的主要特性及基本结构
4.1 ATMEGA16(L)单片机的产品特性
4.1.1 高性能、低功耗的 8 位微处理器
4.1.2 非易失性程序和数据存储器
4.1.3 JTAG 接口 ( 与 IEEE 1149.1 标准兼容 )
4.1.4 片上 丰富的外设
4.1.5 处理器的特殊点
4.1.6 I/O 和封装
4.1.7 工作电压
4.1.8 速度等级
4.1.9 ATMEGA16L的功耗(1MHz,3V,25°C)
4.2 ATmega16(L)单片机的基本组成及引脚配置
4.2.1 ATmega16(L)单片机的基本组成
4.2.2 ATmega16(L)单片机的引脚功能
4.3 AVR的CPU内核
4.3.1 AVR结构棕述
4.3.2 ALU算术逻辑单元
4.3.3 状态寄存器
4.3.4 通用寄存器文件
4.3.5 X、Y、Z寄存器
4.3.6 堆栈指针
4.3.7 指令执行时序
4.3.8 复位与中断处理
4.4 AVR的存储器
4.4.1 程序存储器
4.4.2 SRAM 数据存储器
4.4.3 数据存储器访问时序
4.4.4 EEPROM 数据存储器
4.4.5 I/O 存储器
4.5 系统时钟及时钟选项
4.5.1 时钟系统及其分布
4.5.2 时钟源
4.5.3 缺省时钟源
4.5.4 晶体振荡器
4.5.5 低频晶体振荡器
4.5.6 外部RC振荡器
4.5.7 标定的片内 RC 振荡器
4.5.8 振荡器标定寄存器(OSCCAL)
4.5.9 外部时钟
4.5.10 定时器/计数器振荡器
4.6 电源管理及睡眠模式
4.6.1 MCU控制寄存器(MCUCR)
4.6.2 空闲模式
4.6.3 ADC 噪声抑制模式
4.6.4 掉电模式
4.6.5 省电模式
4.6.6 Standby(待机)模式
4.6.7 扩展Standby(待机)模式
4.6.8 最小化功耗
4.7 系统控制和复位
4.7.1 复位AVR
4.7.2 复位源
4.7.3 上电复位
4.7.4 外部复位
4.7.5 掉电检测
4.7.6 看门狗复位
4.7.7 MCU 控制和状态寄存器(MCUCSR)
4.7.8片内基准电压
4.7.9 看门狗定时器
4.8 中断
4.8.1 ATMEGA16(L)的中断向量
4.8.2 通用中断控制寄存器(GICR)
第5章 C语言基础知识
5.1 C语言的标识符与关键字
5.2 数据类型
5.3 AVR单片机的数据存储空间
5.4 常量、变量及存储方式
5.5 数组
5.5.1 一维数组的定义
5.5.2 二维及多维数组的定义
5.5.3 字符数组
5.5.4 数组元素赋初值
5.5.5 数组作为函数的参数
5.6 C语言的运算
5.6.1 算术运算符
5.6.2 关系运算符
5.6.3 逻辑运算符
5.6.4 赋值运算符
5.6.5 自增和自减运算符
5.6.6 逗号运算符
5.6.7 条件运算符
5.6.8 位运算符
5.6.9 sizeof运算符
5.7 流程控制
5.7.1 条件语句与控制结构
5.7.2 循环语句
5.8 函数
5.8.1 函数定义的一般形式
5.8.2 函数的参数和函数返回值
5.8.3 函数调用的三种方式
5.9 指针
5.9.1 指针与地址
5.9.2 指针变量的定义
5.9.3 指针变量的引用
5.9.4 数组指针与指向数组的指针变量
5.9.5 指针变量的运算
5.9.6 指向多维数组的指针和指针变量
5.10 结构体
5.10.1 结构体的概念
5.10.2 结构体类型变量的定义
5.10.3 关于结构体类型有几点需要注意的地方
5.10.4 结构体变量的引用
5.10.5 结构体变量的初始化
5.10.6 结构体数组
5.10.7 指向结构体类型数据的指针
5.10.8 用指向结构体变量的指针引用结构体成员
5.10.9 指向结构体数组的指针
5.10.10 将结构体变量和指向结构体的指针作函数参数
5.11 共用体
5.11.1 共用体类型变量的定义
5.11.2 共用体变量的引用
5.12 中断函数
5.12.1 什么是中断
5.12.2 编写AVR单片机中断函数时应严格遵循的规则
第6章 ATMEGA16(L)的I/O端口使用
6.1 ATMEGA16(L)的IO端口
6.1.1作为通用数字I/O端口
6.1.2 配置引脚
6.1.3 数字输入使能和休眠模式
6.1.4 未连接引脚的处理
6.1.5 端口的第二功能
6.2 ATMEGA16(L)四组通用数字I/O端口的应用设置
6.3 ATMEGA16(L)的I/O端口使用注意事项
6.4 ATMEGA16(L) PB口交替输出0xaa、0x55实验
6.4.1实现方法
6.4.2 源程序文件
6.4.3 程序分析解释
6.5 测试8位数码管
6.5.1实现方法
6.5.2 源程序文件
6.5.3 程序分析解释
6.6 独立式按键开关(拨码开关)的使用
6.6.1 实现方法
6.6.2 源程序文件
6.6.3 程序分析解释
6.7 发光二极管的移动控制(跑马灯实验)
6.7.1实现方法
6.7.2 源程序文件
6.7.3 程序分析解释
6.8 0~99数字的加减控制
6.8.1实现方法
6.8.2 源程序文件
6.8.3 程序分析解释
6.9 4x4行列式按键开关的使用
6.9.1实现方法及效果
6.9.2 源程序文件
6.9.3 程序分析解释
第7章 ATMEGA16(L)的中断系统使用
7.1 ATMEGA16(L)的中断系统
7.2 相关的中断控制寄存器
7.2.1 MCU控制寄存器(MCUCR)
7.2.2 MCU控制与状态寄存器(MCUCSR)
7.2.3 通用中断控制寄存器(GICR)
7.2.4 通用中断标志寄存器(GIFR)
7.3 INT1外部中断实验
7.3.1 实现方法
7.3.2 源程序文件
7.3.3 程序分析解释
7.4 INT0、INT1中断计数的实验
7.4.1 实现方法
7.4.2 源程序文件
7.4.3 程序分析解释
7.5 INT0、INT1中断嵌套实验
7.5.1 实现方法
7.5.2 源程序文件
7.5.3 程序分析解释
7.6 2路防盗报警器实验
7.6.1 实现方法
7.6.2 源程序文件
7.6.3 程序分析解释
7.7 低功耗睡眠模式下的按键中断
7.7.1 实现方法
7.7.2 源程序文件
7.7.3 程序分析解释
7.8 4x4行列式按键的睡眠模式中断唤醒设计
7.8.1 实现方法
7.8.2 源程序文件
7.8.3 程序分析解释
第8章 ATMEGA16(L)驱动16x2点阵字符液晶模块
8.1 16x2点阵字符液晶显示器概述
8.2 液晶显示器的突出优点
8.3 16x2字符型液晶显示模块(LCM)特性
8.4 16x2字符型液晶显示模块(LCM)引脚及功能
8.5 16x2字符型液晶显示模块(LCM)的内部结构
8.6 液晶显示控制驱动集成电路HD44780特点
8.7 HD44780工作原理
8.7.1 DDRAM—数据显示用RAM
8.7.2 CGROM—字符产生器ROM
8.7.3 CGRAM—字型、字符产生器RAM
8.7.4 IR—指令寄存器
8.7.5 DR—数据寄存器
8.7.6 BF—忙碌标志信号
8.7.7 AC—地址计数器
8.8 LCD控制器的指令
8.8.1 清除显示器
8.8.2 光标归位设定
8.8.3 设定字符进入模式
8.8.4 显示器开关
8.8.5 显示光标移位
8.8.6 功能设定
8.8.7 CGRAM地址设定
8.8.8 DDRAM地址设定
8.8.9 忙碌标志BF或AC地址读取
8.8.10 写数据到CGRAM或DDRAM中
8.8.11 从CGRAM或DDRAM中读取数据
8.9 LCM工作时序
8.10 ATMEGA16(L)驱动16x2点阵字符液晶模块的子函数(8位数据传送)
8.10.1 写命令到LCM子函数
8.10.2 写数据到LCM子函数
8.10.3 检测LCD忙信号子函数
8.10.4 显示光标定位子函数
8.10.5 显示指定座标的一个字符(x=0~15,y=0~1)子函数
8.10.6 演示第二行移动字符串子函数
8.10.7 显示指定座标的一串字符子函数
8.11 8位数据传送的16x2LCM演示程序1
8.11.1 实现方法
8.11.2 源程序文件
8.11.3 程序分析解释
8.12 8位数据传送的16x2LCM演示程序2
8.12.1 实现方法
8.12.2 源程序文件
8.12.3 程序分析解释
8.13 ATMEGA16(L)驱动16x2点阵字符液晶模块的子函数(4位数据传送)
8.13.1 写命令到LCM子函数
8.13.2 写数据到LCM子函数
8.14 4位数据传送的16x2LCM演示程序1
8.14.1 实现方法
8.14.2 源程序文件
8.14.3 程序分析解释
第9章 ATMEGA16(L)的定时计数器使用
9.1 预分频器和多路选择器
9.2 8位定时器/计时器T/C0
9.3 8位定时器/计数器0的寄存器
9.3.1 T/C0 控制寄存器(TCCR0)
9.3.2 T/C0计数寄存器(TCNT0)
9.3.3 输出比较寄存器(OCR0)
9.3.4 中断屏蔽寄存器(TIMSK)
9.3.5 定时/计数器中断标志寄存器(TIFR)
9.4 16位定时器/计数器T/C1
9.5 16位定时器/计数器1的寄存器
9.5.1 T/C1控制寄存器A(TCCR1A)
9.5.2 T/C1控制寄存器B(TCCR1B)
9.5.3 T/C1计数寄存器(TCNT1H和TCN1L)
9.5.4 输出比较寄存器(OCR1A和OCR1B)
9.5.5 输入捕捉寄存器 (ICR1H和ICR1L)
9.5.6 中断屏蔽寄存器 (TIMSK)
9.5.7 定时/计数器中断标志寄存器 (TIFR)
9.6 8位定时器/计时器T/C2
9.7 8位T/C2的寄存器
9.7.1 T/C2控制寄存器 (TCCR2)
9.7.2 T/C2计数寄存器 (TCNT2)
9.7.3 输出比较寄存器 (OCR2)
9.7.4 异步状态寄存器(ASSR)
9.7.5 定时器 / 计数器 2 的异步操作
9.7.6 定时/计数器中断屏蔽寄存器 (TIMSK)
9.7.7 定时/计数器中断标志寄存器 (TIFR)
9.7.8 特殊功能I/O寄存器(SFIOR)
9.8 ICC6.31A C语言编译器安装
9.9 定时/计数器1的计时实验
9.9.1 实现方法
9.9.2 源程序文件
9.9.3 程序分析解释
9.10 定时/计数器0的中断实验
9.10.1 实现方法
9.10.2 源程序文件
9.10.3 程序分析解释
9.11 4位显示秒表实验
9.11.1 实现方法
9.11.2 源程序文件
9.11.3 程序分析解释
9.12 比较匹配中断及定时溢出中断的测试实验
9.12.1 实现方法
9.12.2 源程序文件
9.12.3 程序分析解释
9.13 PWM测试实验
9.13.1 实现方法
9.13.2 源程序文件
9.13.3 程序分析解释
9.14 0~5 V 数字电压调整器
9.14.1 实现方法
9.14.2 源程序文件
9.14.3 程序分析解释
9.15 定时器(计数器)0的计数实验
9.15.1 实现方法
9.15.2 源程序文件
9.15.3 程序分析解释
9.16 定时器(计数器)1的输入捕获实验
9.16.1 实现方法
9.16.2 源程序文件
9.16.3 程序分析解释
第10章 ATMEGA16(L)的USART与PC机串行通信
10.1 ATMEGA16(L)的异步串行收发器
10.2 USART的主要特点
10.3 时钟产生
10.3.1 USART 支持 4 种模式的时钟
10.3.2 信号说明
10.3.3 内部时钟用于异步模式与同步主机模式
10.3.4 倍速工作模式 (U2X)
10.3.5 外部时钟
10.3.6 同步时钟操作
10.4 帧格式
10.4.1 数据帧格式
10.4.2 校验位的计算
10.5 USART的寄存器及设置
10.5.1 USART I/O 数据寄存器(UDR)
10.5.2 USART 控制和状态寄存器A(UCSRA)
10.5.3 USART 控制和状态寄存器B(UCSRB)
10.5.4 USART 控制和状态寄存器C(UCSRC)
10.5.5 USART 波特率寄存器(UBRRL和UBRRH)
10.6 USART 的初始化
10.7 数据发送-USART 发送器
10.7.1 发送5到8位数据位的帧
10.7.2 发送9位数据位的帧
10.7.3 传送标志位与中断
10.7.4 奇偶校验产生电路
10.7.5 禁止发送器
10.8 数据接收-USART 接收器
10.8.1 以5到8个数据位的方式接收数据帧
10.8.2 以 9 个数据位的方式接收帧
10.8.3 接收结束标志及中断
10.8.4 接收器错误标志
10.8.5 奇偶校验器
10.8.6 禁止接收器
10.8.7 刷新接收缓冲器
10.9 ATMEGA16(L)与PC机(个人电脑)的通信试验1(用查询法实现单个字符的通信)
10.9.1 实现方法
10.9.2 源程序文件
10.9.3 程序分析解释
10.10 ATMEGA16(L)与PC机(个人电脑)的通信试验2(用查询法实现多个字符的通信)
10.10.1 实现方法
10.10.2 源程序文件
10.10.3 程序分析解释
10.11 ATMEGA16(L)与PC机(个人电脑)的通信试验3(接收用中断法实现一组16进制数的通信)
10.11.1 实现方法
10.11.2 源程序文件
10.11.3 程序分析解释
10.12 ATMEGA16(L)与PC机(个人电脑)的通信试验4(实现PC机控制单片机的PWM输出)
10.12.1 实现方法
10.12.2 控制指令的定义
10.12.3 源程序文件
10.12.4 程序分析解释
第11章 ATMEGA16(L)的两线串行接口TWI使用
11.1 AVR单片机两线串行接口 TWI的特点
11.2 两线串行接口总线定义
11.3 TWI 模块综述
11.3.1 SCL 和 SDA 引脚
11.3.2 比特率发生器单元
11.3.3 总线接口单元
11.3.4 地址匹配单元
11.3.5 控制单元
11.4 ATMEGA16(L)的TWI 寄存器
11.4.1 TWI 比特率寄存器(TWBR)
11.4.2 TWI 控制寄存器(TWCR)
11.4.3 TWI 状态寄存器(TWSR)
11.4.4 TWI 数据寄存器(TWDR)
11.4.5 TWI( 从机 ) 地址寄存器(TWAR)
11.5 使用 TWI
11.6 ATMEAG16(L)的内部EEPROM
11.7 与EEPROM相关的寄存器
11.7.l EEPROM地址寄存器(EEARH、EEARL)
11.7.2 EEPROM数据寄存器(EEDR)
11.7.3 EEPROM控制寄存器(EECR)
11.8 在ATMEGAl6(L)内部EEPROM写入一个数,然后读出在数码管上显示
11.8.1 实现方法
11.8.2 源程序文件
11.8.3 程序分析解释
11.9 自己选择ATMEGAl6(L)内部EEPROM的一个地址单元,自己选择一个数,然后进行写入与读出实验并在16*2液晶上显示
11.9.1 实现方法
11.9.2 源程序文件
11.9.3 程序分析解释
11.10 设计一个能长期保存预置定时的电子钟
11.10.1 实现方法
11.10.2 源程序文件
11.10.3 程序分析解释
11.11 EEPROM AT24CXX的性能特点
11.12 AT24CXX引脚定义
11.13 AT24CXX系列存储器特点
11.14 AT24CXX系列EEPROM的内部结构
11.15 AT24CXX系列EEPROM 芯片的寻址
11.15.1 从器件地址
11.15.2 应答信号
11.15.3 数据地址分配
11.16 写操作方式
11.16.1 字节写
11.16.2 页写
11.16.3 应答查询
11.16.4 写保护
11.17 读操作方式
11.17.1 立即地址读取
11.17.2 随机地址读取
11.17.3 顺序地址读取
11.18 ATMEGA16(L)对AT24C01A的读写实验
11.18.1 实现方法
11.18.2 源程序文件
11.18.3 程序分析解释
11.19 使用库函数读写内部的EEPROM
11.19.1 实现方法
11.19.2 源程序文件
11.19.3程序分析解释
11.20 利用ATMEGA16(L)的内部EEPROM设计电子密码锁
11.20.1 实现方法
11.20.2 源程序文件
11.20.3 程序分析解释
第12章 ATMEGA16(L)的模拟比较器使用
12.1 模拟比较器
12.1.1 特殊功能 IO 寄存器(SFIOR)
12.1.2 模拟比较器控制和状态寄存器(ACSR)
12.1.3 模拟比较器多工输入
12.2 用模拟比较器做输入电压的状态指示(查询法)
12.2.1 实现方法
12.2.2 源程序文件
12.2.3 程序分析解释
12.3 用模拟比较器做输入电压的状态指示(中断法1)
12.3.1 实现方法
12.3.2 源程序文件
12.3.3 程序分析解释
12.4 用模拟比较器做输入电压的状态指示(中断法2)
12.4.1 实现方法
12.4.2 源程序文件
12.4.3 程序分析解释
第13章 ATMEGA16(L)的模数转换器使用
13.1 ATMEAG16(L)的模/数转换器
13.2 ADC工作过程
13.3 启动一次转换
13.4 预分频及 ADC 转换时序
13.5 差分增益信道
13.6 改变通道或基准源
13.7 ADC 输入通道
13.8 ADC 基准电压源
13.9 模/数转换器相关寄存器
13.9.1 ADMUX
13.9.2 ADCSRA
13.9.3 ADCH和ADCL
13.9.4 特殊功能IO寄存器(SFIOR)
13.10 模/数转换器的使用
13.11 0~5V数字式直流电压表实验
13.11.1 实现方法
13.11.2 源程序文件
13.11.3 程序分析解释
13.12 “施密特”电压比较器实验
13.12.1 实现方法
13.12.2 源程序文件
13.12.3 程序分析解释
13.13 用模/数转换器测量PWM输出的电压值
13.13.1 实现方法
13.13.2 源程序文件
13.13.3 程序分析解释
第14章 ATMEGA16(L)的同步串行接口SPI使用
14.1 ATMEGA16(L)的SPI特点
14.2 主机和从机之间的 SPI 连接及原理
14.3 SPI的配置及使用
14.3.1 从机模式
14.3.2 主机模式
14.4 SPI 的相关寄存器
14.4.1 SPI 控制寄存器(SPCR)
14.4.2 SPI 状态寄存器(SPSR)
14.4.3 SPI 数据寄存器(SPDR)
14.5 两片ATMEGA16(L) 的同步串口数据高速通信实验1
14.5.1 实现方法
14.5.2 源程序文件
14.5.3 程序分析解释
14.6 两片ATMEGA16(L) 的同步串口数据高速通信实验2
14.6.1 实现方法
14.6.2 源程序文件
14.6.3 程序分析解释
14.7 两片ATMEGA16(L) 的同步串口数据高速通信实验3
14.7.1 实现方法
14.7.2 源程序文件
14.7.3 程序分析解释
14.8 同步串行EEPROM AT93CXX的性能特点
14.9 AT93CXX引脚定义
14.10 AT93CXX系列存储器特点
14.11 AT93CXX系列EEPROM的内部结构
14.12 AT93CXX系列EEPROM 的指令集
14.13 器件操作
14.13.1 读操作指令
14.13.2 写操作指令
14.13.3 擦除
14.13.4 擦除/写使能和禁止
14.13.5 擦除全部
14.13.6 写全部
14.14 ATMEGA16(L)驱动AT93C46的子函数
14.14.1 启动AT93C46子函数
14.14.2 检测擦写AT93C46是否成功的子函数
14.14.3 在AT93C46的指定地址读取一字节数据的子函数
14.14.4 在AT93C46的指定地址写入一字节数据的子函数
14.14.5 写使能子函数
14.14.6 在AT93C46的指定地址Address擦除一字节数据的子函数
14.14.7 擦除AT93C46全部内容的子函数
14.14.8 将数据data写入AT93C46全部单元的子函数
14.14.9 写禁止子函数
14.14.10 将16位数据data中的len位发送出去的子函数
14.15 ATMEGA16(L)对AT93C46的读写实验
14.15.1 实现方法
14.15.2 源程序文件
14.15.3 程序分析解释
第15章 ATMEGA16(L)驱动128x64点阵图形液晶模块
15.1 128x64点阵图形液晶模块特性
15.2 128x64点阵图形液晶模块引脚及功能
15.3 128x64点阵图形液晶模块的内部结构
15.4 HD61203特点
15.5 HD61202特点
15.6 HD61202工作原理
15.6.1 I/O缓冲器
15.6.2 输入寄存器
15.6.3 输出寄存器
15.6.4 显示存储器电路
15.6.5 XY地址计数器
15.6.6 显示起始行寄存器
15.6.7 Z地址计数器
15.6.8 显示开/关触发器
15.6.9 指令寄存器
15.6.10 状态字寄存器
15.6.11 显示数据锁存器
15.7 HD61202的工作过程
15.8 点阵图形液晶模块的控制器指令
15.8.1显示器开关
15.8.2 设置页(x地址)
15.8.3 读状态
15.8.4 显示开始行
15.8.5 设置Y地址
15.8.6 写显示数据
15.8.7 读显示数据
15.9 HD61202的操作时序图
15.10 ATMEGA16(L)驱动128x64点阵图形液晶模块的子函数
15.10.1 判LCM忙子函数
15.10.2 写指令到LCM子函数
15.10.3 写数据到LCM子函数
15.10.4 设定起始行子函数
15.10.5 定位x方向、y方向的子函数
15.10.6 屏幕开启、关闭子函数
15.10.7 复位子函数
15.10.8 根据x、y地址定位,将数据写入LCM左半屏或右半屏的子函数
15.10.9 显示汉字子函数
15.10.10 显示一幅图片子函数
15.11 在AVR单片机综合试验板上实现液晶的汉字显示
15.11.1 实验效果
15.11.2 源程序文件
15.11.3 制作汉字点阵码表
15.11.4 程序分析解释
15.12 在AVR单片机综合试验板上实现液晶的汉字滚屏显示
15.12.1 实验效果
15.12.2 源程序文件
15.12.3 程序分析解释
15.13 在AVR单片机综合试验板上实现液晶的图片显示
15.13.1 实验效果
15.13.2 源程序文件
15.13.3 制作图片的点阵码表
15.13.4 程序分析解释
第16章 ATMEGA16(L)的系统控制、复位和看门狗定时器使用
16.1 ATMEGA16(L)的系统控制和复位
16.1.1 控制和状态寄存器(MCUCSR)
16.2 ATMEGA16(L)的复位源
16.2.1 上电复位
16.2.2 外部复位
16.2.3 掉电检测复位
16.2.4 JTAG AVR复位
16.2.5 看门狗复位
16.2.6 看门狗定时器控制寄存器(WDTCR)
16.3 看门狗定时器的使用
16.4 在AVR DEMO单片机综合试验板上,进行看门狗实验1(看门狗启动后在程序中定时清除它):D1~D8的8个LED(发光管)依次流水点亮,形成“流水灯”实验
16.4.1实现方法
16.4.2 源程序文件
16.4.3 程序分析解释
16.5 在AVR DEMO单片机综合试验板上,进行看门狗实验2(看门狗启动后在程序中不再清除它,模拟程序失控的情况):D1~D8的8个LED(发光管)依次流水点亮,形成“流水灯”实验
16.5.1 实现方法
16.5.2 源程序文件
16.5.3 程序分析解释
16.6 熔丝位的设置
第17章 多功能测温汉字时钟实验
17.1 实验目的
17.2 实验要求
17.3 控制指令的定义
17.3.1 传送计时时间的控制指令规定
17.3.2 定时时间的控制指令规定
17.3.3 定时时间启动/关闭的控制指令规定
17.4 单线数字温度传感器DS18B20
17.4.1 DS18B20内部结构与原理
17.4.2 DS18B20特点
17.4.3 1-Wire总线操作
17.4.4 DS18B20初始化流程
17.4.5 DS18B20温度转换及读取流程
17.5 程序设计
17.5.1程序设计思路
17.5.2 建立一个新的工程项目
17.5.3 设置ICC6.31A
17.5.4icc17-1.c源程序
17.5.5ds18b20.c源程序
17.5.6recever.c源程序
17.5.7display_time.c源程序
17.5.8lcd.c源程序
17.5.9head.h源程序
17.5.10 向工程项目中添加源文件
17.5.11 编译文件
17.6 实验操作
第18章 C++语言开发AVR单片机初步
18.1 C++语言简介
18.2 对象和类
18.3 类的定义
18.4 对象的创建
18.5 对象的初始化和构造函数
18.6 析构函数
18.7 C++语言开发AVR单片机的一个实例
18.7.1 实现方法
18.7.2 源程序文件
18.7.3 程序分析解释