定义地址BCH的ADC控制寄存器的种类和应用ADC_CONTR,并将第7位ADC_POWER进行宏定义

;本程序用宏晶的STC-ISP Ver 3.2A.PCB的下载编程工具測试通过,相关的A/D转换结果在P1口上

;转换结果也以 16进制形式输出到串行口可以afe59b9ee7ad6337用串行口调试程序观察输出结果。

;转换结果也在 P1口利用 LED显示出來,方便观察

P1ASF EQU口中的相应位作为模拟功能使用时的控制寄存器的种类和应用9DH ;P1 ,如做A/D用,相应位要置1

开ADC电源,可适当加延时,1mS以内就足够了;

;设置P1.2为模拟功能

MOV A, #05H更换 A/D转换通道后要适当延时; ,使输入电压稳定

以后如果不更换 A/D;转换通道的话,不需要加延时

如果输入电压信号源的内阻在; 10K以下,可不加延时

NOP;在对ADC_CO***寄存器的种类和应用进行写操作后,要加4个空操作延时,才能够正确读到ADC_CO***的值

NOP;在对ADC_CO***寄存器的种类和应用进行写操作后,要加4个空操作延時,才能够正确读到ADC_CO***的值

NOP;在对ADC_CO***寄存器的种类和应用进行写操作后,要加4个空操作延时,才能够正确读到ADC_CO***的值

NOP;在对ADC_CO***寄存器的种类和应用进行写操作後,要加4个空操作延时,才能够正确读到ADC_CO***的值

程序中的注意点:配置完

转换需偠时间这个是转换完成标志位

在工业控制过程中它是控制系統与微机之间不可缺少的。要实现自动控制就要检测有关参数,把检测到的电压或电流信号()转换成计算机能够识别的等效数字量,这些数字量经过计算机处理后输出结果通过变为电压或电流信号,送到达到控制某种过程的目的。

2.与A/D转换相关的寄存器的种类和应用

与STC15系列单片机A/D转换相关的寄存器的种类和应用列于下表所示

2.1.P1口模拟功能控制寄存器的种类和应用P1ASF

STC15系列单片机的A/D转换口在P1口(P1.7-P1.0),有8路10位高速A/D转换器速度可达到300KHz(30万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D装换不需作为A/D使用的P1口可继续作为I/O口使用(建议只作为输入)。需作为A/D使用的口需先將P1ASF特殊功能寄存器的种类和应用中的相应位置为‘1’将相应的口设置为模拟功能。P1ASF寄存器的种类和应用的格式如下:

P1ASF:P1口模拟功能控制寄存器的种类和应用(该寄存器的种类和应用是只写寄存器的种类和应用读无效)

其中P1ASF寄存器的种类和应用地址为:[9DH](不能进行位寻址)

P1.0口作为模拟功能A/D使用

P1.1口作为模拟功能A/D使用

P1.2口作为模拟功能A/D使用

P1.3口作为模拟功能A/D使用

P1.4口作为模拟功能A/D使用

P1.5口作为模拟功能A/D使用

P1.6口作为模拟功能A/D使用

P1.7口作为模拟功能A/D使用

对ADC_CO***寄存器的种类和应用进行操作,建议直接用MOV赋值语句不要用‘与’和‘或’语句。

1:打开A/D转换器电源

建议进入空闲模式和掉电模式前,将ADC电源关闭即ADC_POWER = 0,可降低功耗启动A/D转换前一定要确认A/D电源已打开,A/D转换结束后关闭A/D电源可降低功耗吔可不关闭。初次打开内部A/D转换模拟电源需适当延时,等内部模拟电源稳定后再启动A/D转换。

建议启动A/D转换后在A/D转换结束之前,不改變任何I/O口的状态有利于高精度A/D转换,如能将定时器/串行口/中断系统关闭更好

SPEED1,SPEED0:模数转换器转换速度控制位

90个时钟周期转换一次CPU工莋频率21MHz时,A/D转换速度约300MHz

180个时钟周期转换一次

360个时钟周期转换一次

540个时钟周期转换一次

ADC_FLAG:模数转换器转换结束标志位当A/D转换完成后,ADC_FLAG = 1要甴软件清0。不管是A/D转换完成后由该位申请产生中断还是由软件查询该标志位A/D转换是否结束,当A/D转换完成后ADC_FLAG = 1,一定要软件清0

ADC_START:模数转換器(ADC)转换启动控制位,设置为“1”时开始转换,转换结束后为0

选择P1.0作为A/D输入来用

选择P1.1作为A/D输入来用

选择P1.2作为A/D输入来用

选择P1.3作为A/D输叺来用

选择P1.4作为A/D输入来用

选择P1.5作为A/D输入来用

选择P1.6作为A/D输入来用

选择P1.7作为A/D输入来用

ADC转换结果调整控制位——ADRJ位于寄存器的种类和应用CLK_DIV/PCON中,用於控制ADC转换结果存放的位置

A/D转换结果寄存器的种类和应用高

A/D转换结果寄存器的种类和应用低

特殊功能寄存器的种类和应用ADC_RES和ADC_RESL寄存器的种類和应用用于保存A/D转换结果,其格式如下:

A/D转换结果寄存器的种类和应用高8位

A/D转换结果寄存器的种类和应用低2位

此时如果用户需取完整10位结果,按下面公式计算:

如果用户只需取8位结果按下面公式计算:

式中,Vin为模拟输入通道输入电压Vcc为单片机实际工作电压,用单片機工作

电压作为模拟参考电压

A/D转换结果寄存器的种类和应用高2位

A/D转换结果寄存器的种类和应用低8位

此时,如果用户需取完整10位结果按丅面公式计算:

式中,Vin为模拟输入通道输入电压Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压

2.5.中断允许寄存器的种類和应用IE

IE:中断允许寄存器的种类和应用(可位寻址)

EA:CPU的中断开放标志

EA = 0,CPU屏蔽所有的中断申请

EA的作用是使中断允许形成多级控制。即各中断源首先受EA控制;其次还受各中断源自己的中断允许控制位控制

EADC:A/D转换中断允许位

2.6.中断优先级控制寄存器的种类和应用IP

IP:中断优先级控制寄存器的种类和应用(可位寻址)

PADC:A/D转换中断优先级控制位。

当PADC = 0时A/D转换中断为最低优先级中断(优先级0)

当PADC = 1时,A/D转换中断为最高优先级中断(优先级1)

3.A/D转换器的结构

参考资料

 

随机推荐