AVR§10(AD转换)11年

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
3. AD转换结果的显示 转换结果的显示
PB口8根线作动态扫描 数码管字线,PD口低5位 作动态扫描数码管位线, 数码管用共阴极。 五位数码管最左边显示 测量的路号,右边4位显 示A/D转换的数字量。 每隔1秒钟轮换显示一 次 。当 ADC采 用 单次转 换 模式 时 程序 如 下 , 每 秒钟换路一次(读完 ADC结 果 ,改 变 多路开 关)。
15
七、应用举例
测量8535的 ACH6和ACH7两路模拟电压信模拟量输入信号端的处理
两路输入信号经RC滤波去 除交流分量。 6.2V稳压管起保护作用, 高于6.2V的输入信号被限幅 在6.2V之内。对负的输入信 号,稳压管反向导通,限幅 在 –0.7V之内,以避免损坏 输入引脚。
12
2、多通道的扫描-自由运行模式 、多通道的扫描-
•基本思路与方法: 基本思路与方法: 基本思路与方法 在设定通道号、ADEN=1之后; 之后 ①在设定通道号、ADEN=1之后; ②只要启动一次AD转换即可,ADSC =1; 只要启动一次AD转换即可, 启动一次AD转换即可 转换过程; ③进入AD转换过程 进入 转换过程 转换结束, AD数据寄存器 ④ AD转换结束,转换结果存入AD数据寄存器,ADSC保持为 转换结束 转换结果存入AD数据寄存器, 保持为 1、ADIF=1,同时进行新的转换; 、 ,同时进行新的转换; ⑤之后可以在任意时刻读取转换结果(先低后高)、改变通道 之后可以在任意时刻读取转换结果(先低后高)、改变通道 )、 可以在主程序或转换结束中断服务程序中完成)。 转换结束中断服务程序中完成 号(可以在主程序或转换结束中断服务程序中完成)。
7 6 1mS
6 6 1mS 6 1mS
2、在转换结束中断服务程序中改变通道号 、 转换结束中断服务程序中 中断服务程序
改 7
7 0.1mS 7 7 7 0.1mS 6 0.1mS
7 6 0.1mS
6 读到 6 6 0.1mS 0.1mS
14
六、使用时应考虑的几个问题 使用时应考虑的几个问题
确定通道数,选择通道号; 确定通道数,选择通道号; 确定运行模式:自由运行模式和单次转换模式; 确定运行模式:自由运行模式和单次转换模式; 多个通道的扫描; 多个通道的扫描; ADC噪声的抑制。 噪声的抑制。 噪声的抑制 转换速度问题; 转换速度问题;
2
二、AD转换器接口框图 转换器接口框图
AD开始转换 开始转换 50-200kHz 自由 AD时钟 时钟 运行 ADSC ADFR 分频因子2~128 分频因子
8 ADC0 通 ADC1 道 模 拟 开 ADC7 关
分频 选择
A/DC 预分 频器
主频 CK ADEN AD允许 允许
ADPS0~2 ADC 10位 位 10位数据 ADCH1~0 位 A/D转换器 转换器 寄存器 ADCL7~0 ADIF ADIE 注1:先读低 位 :先读低8位 AD转换结束中断请 转换结束中断请 位控制) 求(受I位控制) 位控制
首次转换(单次模式)的时序 单次模式)
•首次转换(单次模式)的时序 首次转换(单次模式) 首次转换
4
单次转换的时序 单次转换的时序
5
自由运行的时序 自由运行的时序
6
首次转换(单次模式) 首次转换(单次模式)的时序
7
四、相关的I/O寄存器 相关的 寄存器
1、ADC 多路选择寄存器 、 多路选择寄存器—ADMUX -- $07($27) ( ) MUX2 MUX1 MUX0 初值=$00,可读写;用于选择通道号,新设定的通道要等到 可读写;用于选择通道号, 初值 可读写 当前AD转换结束之后才起作用 转换结束之后才起作用。 当前 转换结束之后才起作用。 2、ADC 数据寄存器:ADCL -- $04($24)-低8位 、 数据寄存器: ( ) 位 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADC 数据寄存器:ADCH -- $05($25)-高2位 数据寄存器: ( )-高 位 )- ADC9 ADC9
13
对于自由运行模式--改变通道号与读取转换结果 对于自由运行模式--改变通道号与读取转换结果 -•基本规则:当前AD转换结束之后,新设定的通道才起作用。 基本规则:当前 转换结束之后 新设定的通道才起作用。 转换结束之后, 基本规则 1、在主程序中改变通道号 、 主程序中 7 7 1mS 7 1mS 76 1mS
9
ADIF
ADIE ADPS 2 ADPS 1 ADPS 0
3、ADC 控制和状态寄存器 、
ADEN ADSC ADFR ADIF ADIE ADPS 2 ADPS 1 ADPS 0
•ADPS 2 ~0:ADC 预分频选择 : 0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 8 1 0 1 0 1 1 1 1 0 1 0 1 16 32 64 128
通 道 7 的 处 理
aa: ldi r16,$07 ;先第7路ADC out admux,r16 ldi r18,$C6 ;允许ADC,启动ADC,单次模式 out adcsr,r18 ;64分频做A/D时钟 rcall t1ms ;延时1毫秒 in r16,adcl ;读A/D结果放入R17:R16中 in r17,adch rcall b16td5 ;调用二转十子程见5.3.1 ldi r22,7 ;万位显示路号7 mov r21,r19 ; 位ADC结果 显示 mov r20,r18 mov r19,r17 mov r18,r16 ldi r17,200 ; 路A/D 200次, 1s bb: rcall smiao ;调动 子程序见7.2.2 dec r17 brne bb 23
3、ADC 控制和状态寄存器 、 控制和状态寄存器——ADCSR -- $06($26) ( ) ADEN ADSC ADFR 初值=$00,可读写。 可读写。 初值 可读写 •ADEN: =1 ADC 使能 ;=0用作PA口。 : •ADSC :ADC 开始转换。 开始转换。 启动AD 转换,对于单次模式, ADC结束自动清 转换,对于单次模式, 为1启动 启动 结束自动清 自由运行模式一直保持为1。 零,自由运行模式一直保持为 。 •ADFR: =1 ADC 自由运行模式 ;0 单次模式。 : 单次模式。 •ADIF: 转换结束后,ADC 中断标志置 。 中断标志置1。 : 转换结束后, •ADIE: ADC 中断使能 :
规则:先读低 位 后读高2位 规则:先读低8位,后读高 位。 同步: 指令读低8位后 位的更新, 同步:用in指令读低 位后,就禁止 指令读低 位后,就禁止ADC对高2位的更新, 对 位的更新 直到CPU用in指令读完高位。 指令读完高位。 直到 用 指令读完高位 8
寄存器2 四、相关的I/O寄存器 相关的 寄存器
11
1、多通道的扫描-单次模式 、多通道的扫描-
•基本思路与方法: 基本思路与方法: 基本思路与方法 在设定通道号、ADEN=1之后; 之后 ①在设定通道号、ADEN=1之后; ②启动AD转换ADSC =1; 启动AD转换 AD转换 ; ③进入AD转换过程, ADSC 一直保持为高; 转换过程, 一直保持为高; 进入 转换过程 转换结束, AD数据寄存器 ④ AD转换结束,转换结果存入AD数据寄存器,ADSC由 转换结束 转换结果存入AD数据寄存器, 由 硬件自动清0、 硬件自动清 、ADIF=1; ; ⑤此时可读取转换结果(先低后高)、改变通道号(可 此时可读取转换结果(先低后高)、改变通道号( )、改变通道号 以在主程序或转换结束中断服务程序中完成), 转换结束中断服务程序中完成),再次启 以在主程序或转换结束中断服务程序中完成),再次启 转换。 动AD转换。 转换
程 序 清 单 ….
通 道 6 的 处 理
ldi r18,$06 ;改变ADMUX为第6路 out admux,r18 ldi r18,$C6 ;允许ADC,启动ADC,单次模式 out adcsr,r18 ;64分频做A/D时钟 rcall t1ms ;延时1毫秒 in r16,adcl ;读A/D结果放入R17:R16中 in r17,adch rcall b16td5 ;调用二转十子程 ldi r22,6 ;万位显示路号6 mov r21,r19 ; 位ADC结果 显示 mov r20,r18 mov r19,r17 mov r18,r16 ldi r17,200 ; 路A/D 200次, 1s cc: rcall smiao ;调动 子程序 7.2.2 dec r17 brne cc 24 rjmp aa
第十章
8535单片机模拟量输入接口 单片机模拟量输入接口
模数( 模数(A/D)转换器 ) 模拟比较器
1
单片机A/D接口 §10. 1 8535单片机 单片机 接口
一、主要特点: 主要特点: 1 、10位精度的逐次逼近型 的逐次逼近型A/D 转换器(由一定 转换器( 位精度的逐次逼近型 的时钟控制称之为AD时钟) AD时钟 的时钟控制称之为AD时钟) ; 2、 8 个模拟量输入通道(PA0~7); 、 模拟量输入通道 通道( ); 3、自由运行模式和单次转换模式; 、自由运行模式和单次转换模式; 4、ADC 转换结束中断; 、 转换结束中断; 5、睡眠模式噪声消除; 、睡眠模式噪声消除; 6、 转换速度快、精确一般; 、 转换速度快、精确一般;
17
2. AD的基准电压的稳定及供电 的基准电压的稳定及供电 的基准电压的稳定
基准电压的稳定、准确事关 ADC转换结果的精确性。 采用LM336(5.0V)的三端精 密并联式二极管。通过调节精 密多圈电位器可调节VREF的电压 值。可调到VREF =5.12V。 可调到V 5.12V。 可调到 AVcc的供电经100Ω和0.1µF 电容滤波以减少交流分量对ADC 影响。 转换结果(数字量)对应的 输入电压(模拟量)间的关系?
自由运行的时序 自由运行的时序 单次转换的时序
初始化AD转换器:首次转换( 初始化 转换器:首次转换(在ADEN=1后的第一次转 转换器 后的第一次转 ),将进行一次哑转换过程 虚拟转换), 将进行一次哑转换过程( ),之后才是真 换),将进行一次哑转换过程(虚拟转换),之后才是真 正的转换过程。(第一次转换增加12个 时钟 。(第一次转换增加 时钟) 正的转换过程。(第一次转换增加 个AD时钟)
10
五、多通道的扫描
基本规则:当前 转换结束之后 转换结束之后, 基本规则:当前AD转换结束之后, 新设定的通道号才起作用。 新设定的通道号才起作用。 分两种情况讨论: 分两种情况讨论: 1.对于单次模式; 1.对于单次模式; 对于单次模式 2.对于自由运行模式。 2.对于自由运行模式。 对于自由运行模式
19
4. 编程思路
表格的定义 初始化 堆栈及并口。 通道7的处理 设定通道号 启动转换 延时等待转换结束 读取转换结果 二转十 动态扫描显示 通道6的处理 与同道7类似 循环处理.
20
5. 程序清单
.include "8535def.inc" .org $0000 rjmp reset tab:.db $3f,$06,$5b,$4f,$66,$6d,$7d,$07,$7f,$6f 表 reset: ldi r16,low(ramend) ;栈指针置初值 out spl,r16 ldi r16,high(ramend) out sph,r16
3
逻辑与
MUX0-2
三、AD转换器的两种工作模式 转换器的两种工作模式
1 、单次转换模式 每启动一次A/D,则只转换一次。( 个AD时钟) 。(14个 时钟 时钟) 每启动一次 ,则只转换一次。( 2、自由运行模式 、 启动一次A/D ,转换结束后立即进行下一次,连续不 转换结束后立即进行下一次, 启动一次 转换,并更新 。(13个 时钟 时钟) 断AD转换 并更新 转换 并更新ADC 数据寄存器 。( 个AD时钟) •单次转换的时序 单次转换的时序 •自由运行的时序 自由运行的时序
21
;七段码
程序清单… 程序清单 并口初始化
;定义PB、PD为输出口 ldi r16,$ff out ddrb,r16 out ddrd,r16 ;定义PA口为输入口, ldi r16,$00 out ddra,r16 ;不带内部上拉电阻 ldi r16,$00 out porta,r16
22
程 序 清 单 ….
相关文档
最新文档