单片机原理与应用基于汇编C51及混合编程第9章.

上传人:壹****1 文档编号:548224438 上传时间:2024-01-01 格式:DOC 页数:10 大小:211.50KB
返回 下载 相关 举报
单片机原理与应用基于汇编C51及混合编程第9章._第1页
第1页 / 共10页
单片机原理与应用基于汇编C51及混合编程第9章._第2页
第2页 / 共10页
单片机原理与应用基于汇编C51及混合编程第9章._第3页
第3页 / 共10页
单片机原理与应用基于汇编C51及混合编程第9章._第4页
第4页 / 共10页
单片机原理与应用基于汇编C51及混合编程第9章._第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机原理与应用基于汇编C51及混合编程第9章.》由会员分享,可在线阅读,更多相关《单片机原理与应用基于汇编C51及混合编程第9章.(10页珍藏版)》请在金锄头文库上搜索。

1、单片机原理 与应川系统扩展设计及例题的介 绍与实际应用相结合,原理图 中给出了各元器件的实际应用 参数。在第7-12章中的每一道 例题都釆用汇编、C51两种语u f fl ta. c航凰iunaa用 “言分别编程实现。第12章中数字显示温度计、RLC测:=1ni两个应用实例的电路及程序都 通过了验证。第9章STC12C5A60S2单片机的片内A/D转换器9.1 A/D转换器的内部结构9.2 A/D转换器的相关寄存器9.3 A/D转换器的应用第9章STC12C5A60S2单片机的片内A/D转换器传统的单片机只能处理数字量信息,但在应用中经常需要处理一些连续变化的模拟量,例如温度、流量、电压、频谱

2、等,这就需要先经过A/D转换转变成单片机可以处理的数字量。 STC90C58AD、STC12C5A60S2、STC12C5410AD等单 片机内部集成了8路10位A/D转换电路,转换速度 可达到250KHZ (25万次/秒),即转换周期为4“。9.1 A/D转换的内部结构A DC POWERSPEED 1SPEEDOADCHLAGADC STARTCHS2CHS1CI ISOA/D转换控制寄存器ADC CONTRo-OO模拟信号输入 通逍:选择开关/VDC7/PI.7oADC7/PI.6- D7/P15 ADC7/PI.4 - ADC7TI.3 /WC7/PI.2-IoADC7/E1AM7 P

3、l ()A/D转换结 来寄存器 ADC RES.ADC RESL.逐次比校寄ff器STC12C5A60S2单片机的A/D转换的输入端在Pl 口(P1.7 P1.0),上 电复位后,P1 口为弱上拉,用户可以通过程序将8路中的任何一路设 置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。逐次逼近型A/D转换器转换原理:|从最高位开始的逐位试探法|输出缓冲器N位数字量输出=逐次逼近式:转换前,N位寄存器写入的数据先由最高位置1, DAC 输出值与被测的模拟值进行比较:如果“低于”,该位的1被保留; 如果“高于”该位的1被清除。然后下一位再置1,再比较,决定是 否保留直至最低位完成同一过

4、程。写入的数据从最高位到最低 位都试探过一遍的最终值就是A / D转换的结果。9.2 A/D转换器的相关寄存器与A/D转换器相关的寄存器有: P1 口模拟功能控制寄存器P1ASFA/D转换器控制寄存器ADC.CONTRA/D转换结果寄存器ADC_RES、ADC_RESL 辅助寄存器AUXR1与A/D中断有关的寄存器IE、IPH和IP1. Pl口模拟功能控制寄存器P1ASF (地址9DH)D7D61)5D4D31)21)1DO.|P17ASE|P16ASEPl 5 ASF.P14ASF,P13ASEP12ASE P11ASF.P1OASF.当P1 口中某引脚要作为A/D使用时,要将P1ASF寄存

5、器中该引脚所对应的位置1,即该引脚设置为模拟功能;通过MOV P1ASF,#DATA指令实现。D7D6D5D4D3D2 DI DO,adc power|speediSPEEDADCFLAGADC STARTCHS2(?HS1CHSO2.ADC控制寄存器ADC_CONTR (地址BCH)SPEE启LhS2CHS1CHSO模拟输入通道选择000P 1.0作为A/D输入001Pl作为A/D输入010Pl.2作为A/D输入011Pl.3作为A/D输入100Pl.4作为A/D输入101Pl.5作为A/D输入110Pl.6作为A/D输入111Pl.7作为A/D输入I00首次开启,等内部电源取不同的值时,

6、莫拟输入通道,专换一次 巨稳定后, 电源可降3A/D转换结果寄存器ADC_RES、ADC_RESL(地址OBDH、OBEH)用于保存A/D转换结果。当辅助寄存器AUXR1 (参见图2 8)中ADRJ (A/D转换结 果寄存器的数据格式调整控制)位为0时,10位A/D转换 结果的高8位存放在ADC_RES中,低2位存放在dDJRESL的 低2位中。 ADRJ位为1时,10位A/D转换结果的高2位存放在ADC_RES 寄存器的低2位中,低8位存放在ADC_RESL寄存器中。 10位A/D转换的结果与输入电压的关系为:(ADC_RES1: 0, ADC_RESL7: O)=210 x匹9.3 A/D

7、转换器的应用实现A/D转换的步骤如下:(1)设置P1ASF寄存器,确定P1 口的相应引脚作为模拟输入 通道,设置辅助寄存器AUXR1中的ADRJ位确定转换结果保 存格式;(2)设置A/D转换控制寄存器ADC_CONTR,打开A/D转换电 源,确定转换速度和转换通道;(3)启动A/D转换。上电后首次打开内部AD转换模拟电源时, 需适当延时,待内部模拟电源稳定后,再启动A/D转换。(4)A/D转换启动后经4个时钟周期延时可以通过软件查询ADC_CONTR寄存器中的A DC_FLAG位是否为1,当ADC_FLAG 为1研表明A/D转换结束。a6转换结束后需将ADC.FLAG位 清0。【例9 一1】设

8、单片机的系统时钟频率为12MHz ,利用 STC12C5A60S2单片机中的A/D转换模块,将测温电阻PT1000 的阻值随温度变化所形成的电压信号转换成数字信号,单片 机读取后存放于30H、31H单元,如图9-5所示。【例9 一1】设单片机的系统时钟频率为12MHz ,利用 STC12C5A60S2单片机中的A/D转换模块,将测温电阻PT1000 的阻值随温度变化所形成的电压信号转换成数字信号,单片 机读取后存放于30H、31H单元,如图9-5所示。分析:首先将PT1000阻值变化所反应出的电压信号经仪表 放大器AD623放大成0-5V的电压信号。经单片机内部的 A/D转换器转换成数字量,为

9、了提高转换的精确度,尽量 减小电源噪声的影响,可连续釆集64次,并对A/D转换的 结果求和,相当于实现16位的A/D转换。汇编语言子程序AD_CONVERT1:LCALL AD_CONV ;调用A/D转换的子程序DJNZ R6, AD_CONVERT1 ; 64次转换未结束,继续转换MOV A,#0MOV ADC_CONTR,A;清ADC_FLAG位,并停止AD转换RETAD_CONV:MOVA,ADC_CONTRJNB ACC.4, AD_CONV ;等待A/D转换结束MOVA,#11101000BMOV ADC_CONTR,A;再次启动AD转换MOVA,ADC_RESL ;读转换结果的低8

10、位ADDA, AD_RESULT2;与低8位结果相加MOV AD_RESULT乙A ;将得到的结果存放至31H单元MOV A,ADC_RES ;读转换结果的高两位ANL A,#O3H ;屏蔽ADC_RES寄存器的高6位ADDC A,AD_RESULT1 ;与高8位结果相加MOV AD_RESULT1,A ;将得到的结果存放至30H单元RETDELAY_10tis:MOV R5,#1EHDJNZ R5,$RETC51程序:# include#include 声明本征函数库 unsigned int tempesult;unsigned char num=0x40;设置A/D转换次数 void A

11、D_CONV (); /A/D转换函数的声明 void DELAY_10ns();延时lOpis函数的声明 void main() PlASF=OxOl;选择P1O为A/D转换模拟量的输入 AUXRl=0x04;选择ADRJ位为 1 AD_CONV ();调用A/D转换函数 num-; /ib薮值藏 1ADC_CONTR=OxEO;/开启动A/D转换的电源 DELAY_10s (); 延时 10“ ADC_CONTR=OxE8;/g 动 A/D 转换 while(num!=0) while(l);void AD_CONV ()dotemp= ADC_CONTR; /读A/D转换的控制寄存器的内容 while ( (temp &0x10)1=0x10);/等待A/D转换结束 ADC_CONTR=OxE8; 再次启动A/D转换 temp=ADC_RESL; /读转换结果的低8位 result+= temp; 累加转换姑果 temp=ADC_RES; 读转换结果的高2位 temp=temp&0x0003; 屏蔽转换结果的高6位 temp=rol_(temp,8);将转换结果左移8位 result+= temp; 累加转换结果void DELAY_10pis () 延时 10ps函数 _unsigned char a;for(a=30;a0;a-);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号