编辑: 此身滑稽 | 2013-04-26 |
5 步骤七:通过检测 ADCR0 暂存器的 EOCB bit 可以判断 A/D 是否转化完毕.在A/D 转化过 程中,EOCB bit 为High,而A/D 转化完毕,EOCB bit 为Low.另外一种判断 A/D 是否转化 完毕是使用 A/D 中断.?A/D 中断有被开启,堆叠还没满的话,A/D 转化完毕,将导致 A/D 中断的响应.?取 ADRL 和ADRH. 步骤八:通过 ADCR0 的ACS0~ACS2 bit 和ACS4 的设置,选择 A/D 转化器对哪个通道进? A/D 转化.ACS0~ACS2 和ACS4 具体??选择?下表: 步骤九:同步骤?和步骤七. 步骤十:?需多通道取样,同步骤八一样修改通道,再根街杈沤?操作. 根厦嫠霾街,根?同要求,使用?同步骤.将其总结如下表: 应用场合 VREF 测? 单通道 (?校准) 多通道 (?校准) 单通道 (校准) 多通道 (校准) 步骤 顺序 步骤一 步骤二 步骤三 步骤五 步骤? 步骤七 步骤一 步骤二 步骤八 步骤四 步骤五 步骤? 步骤七 步骤一 步骤二 步骤八 步骤四 步骤五 步骤? 步骤七 步骤十 步骤一 步骤二 步骤三 步骤四 步骤五 步骤? 步骤七 步骤八 步骤九 步骤一 步骤二 步骤三 步骤四 步骤五 步骤? 步骤七 步骤八 步骤九 步骤十 HT66Fx0 使用 ADC 所有功能
6 电?图 下面介绍一个?用多通道电压 (校准) 测?的应用举?.通过该?子,能对上面介绍的 HT66FX0 系?的 MCU A/D 使用步骤有一定的加强. 电?h明 本次?程式有?个,一个为查询法;
一个为中断法.通过这?个个简单的应用,介绍如 何通过查询旗标和中断的?种方法使用 HT66F40 的A/D 功能,实现多通道 A/D 取样. 按键 S1 可以?换 A/D 取样通道.在?码管
0 显示当前取样通道值,?码管 1,?码管
2 显 示该通道电压值. A/D 模块的电压 AVDD 和AVSS 接电源 VDD 和VSS.A/D 转换?考电压 VREF 选择为电源 电压 VDD. HT66Fx0 使用 ADC 所有功能
7 软体?程图 (查询法) START 参数初始化 计时器开启 按键扫描 电压值转BCD A/D转换 数码管显示 INC_T.2=1? INC_T=0 N Y 多通道温?采集总?程图 HT66Fx0 使用 ADC 所有功能
8 START TBG_COUNT = ? INC TBG_COUNT ACERL=0FFH ADCR0=10H TBG_COUNT+1 TBG_COUT+1 ADCR1=0C3H START=0 START=1 START=0 EOCB=0? ACS4=1? Save Buffer Save Buffer ADCR0=10H ADCR1=03H 8通道 是否已完? TBG_COUNT=0 TBG_COUNT+1 RET TBG_COUNT=0 TBG_COUNT=1,2,3 TBG_COUNT=4 TBG_COUNT=5 Y N Y N Y N VREF = 1.25V*212 ADR1 V = 1.25V*ADR2 ADR1 多通道校准 A/D(查询方式)?程图 HT66Fx0 使用 ADC 所有功能
9 程式h明 (查询法) 多通道电压采集总?程 程式?断进?对内建的 1.25V ?考电压通道和
8 个AN 通道的 A/D 值取样,?W.扫描 按键,根,输出相应的通道的电压值.?码管
3 显示当前显示的通道,?码管
2 和 ?码管
1 显示当前的通道所取样的电压值. 查询方式 A/D ?程 ? A/D 设置 设置 ADCR1: ADCK0~ADCK2,这3Bits 用?选择 A/D 转换的时钟频?.VREFS 为A/D ?考电压选择位元,0 为选择为 ADD,1 为选择 VREF PIN.而V125EN 为内建的 1.25V ?考电压的控制位元.ACS4 为1.25V ?考电压通道选择控制位元. 设置 ACERL: ACE0~ACE7 , 这8bit 为控制 PA 口的 Pin 为普通 I/O 口还是 A/D 转换输入口 . 设置 ADCR0: ACS0~ACS2,这3bits 用?选择转换通道.ADRFS 用?控制?4娓袷. ADOFF 为A/D 开关.EOCB 为转换结束旗标.START 为A/D 启动位元. ? 启动 A/D 将START 位设置 Low,再将其设为 High,再设为 Low,A/D 转换开始. ? EOCB EOCB 在A/D 转换过程中为 High,A/D 转换完毕,此位元为 Low. 查询方式 A/D 取样值处??程 首先取样内建的 1.25V 通道的 A/D 值,将其保存,用公式①,可算出 VREF.再扫描其他