第一范文网 - 专业文章范例文档资料分享平台

ADC0809中文资料以及和单片机接口电路设计和程序

来源:用户分享 时间:2025/7/9 21:41:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

DDRD=0xff; //设置D口为输出口;

PORTB=0x3f; //B口初始化输出0 ;D口初始化输出1;点亮全部数码管; PORTD=0xff;

ADMUX=ADC_VREF_TYPE; //选择第一通道ADC0;

ADCSRA=0xA6; //125k转换速率,自由转换模式;启动A/D转换; delay_(1000); //延时待系统稳定; while(1) {

i=read_adc(AD_SE_ADC0); //获取A/D转换数据 i=(i*j)/k;

Process(i,Data); //数据处理 Display(Data); //显示结果 delay_(5); } }

AD转换程序[汇编语言]

2007年10月12日 星期五 13:46 ;实验目的:熟悉A/D转换

;软件思路:选择RAO做为模拟输入通道;

; 连续转换4次再求平均值做为转换结果 ; 最后结构只取低8位

; 结果送数码管的低3位显示

;硬件要求:拨码开关S14第2位置ON,第1位置OFF

; 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF ; 为不影响结果,其他拨码开关置OFF。 #INCLUDE ;包含芯片头文件 __CONFIG

_DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;*********************寄存器定义********************* TEMP EQU 20H ;临时寄存器

BAI EQU 21H ;转换结果的百位 SHI EQU 22H ;转换结果的十位 GE EQU 23H ;转换结果的个位

;**************************************************** ORG 00H ;复位入口地址 NOP ;ICD需要的空指令 GOTO MAIN ;跳转到主程序入口 ORG 04H ;中断入口地址

RETFIE ;放置一条中断返回指令,防止以外中断发生 ;***********************查表程序*********************

;入口参数:W ;出口参数:W TABLE

ADDWF PCL,1 ;指令寄存器加上偏移地址 RETLW 0C0H ;0的编码(公阳极数码管) RETLW 0F9H ;1的编码 RETLW 0A4H ;2的编码 RETLW 0B0H ;3的编码 RETLW 99H ;4的编码 RETLW 92H ;5的编码 RETLW 082H ;6 RETLW 0F8H ;7 RETLW 080H ;8 RETLW 090H ;9

;***********************主程序*********************** MAIN

MOVLW 30H

MOVWF FSR ;转换结果存放起始地址 LOOP

BSF STATUS,RP0 ;选择体1

MOVLW 7H ;A口高3位为输出,低3位输入 MOVWF TRISA

CLRF TRISD ;D口设为输出 MOVLW 8EH

MOVWF ADCON1 ;结果左对齐,只选择RA0做ADC口,其余做普通数字口 BCF STATUS,RP0 ;回体0 MOVLW 41H

MOVWF ADCON0 ;选择时钟源为fosc/8,允许ADC工作 CALL DELAY ;调用延时程序,保证足够的采样时间 BSF ADCON0,GO ;启动ADC转换 WAIT

BTFSS PIR1,ADIF ;转换是否完成 GOTO WAIT ;等待转换的完成 BSF STATUS,RP0

MOVFW ADRESL ;读取转换的结果 BCF STATUS,RP0

MOVWF INDF ;保存到临时寄存器里 INCF FSR,1

BTFSS FSR,2 ;连续转换4次,求平均值 GOTO LOOP

CALL CHANGE ;调用结果转换程序 CALL DISPLAY ;调用显示程序

GOTO MAIN ;循环工作

;************************转换程序********************* ;入口参数:30H---33H ;出口参数:BAI,SHI,GE CHANGE

CLRF BAI CLRF SHI

CLRF GE ;先清除结果寄存器

MOVFW 31H ;以下8条指令求4次转换结果的平均值 ADDWF 30H,1 MOVFW 32H ADDWF 30H,1 MOVFW 33H ADDWF 30H,1 RRF 30H,1

RRF 30H,0 MOVWF TEMP

MOVLW 64H ;减100,结果保留在W中 SUBWF TEMP,0

BTFSS STATUS,C ;判断是否大于100 GOTO SHI_VAL ;否,转求十位结果 MOVWF TEMP ;是,差送回TEMP中 INCF BAI,1 ;百位加1

GOTO $-6 ;返回继续求百位的值 SHI_VAL

MOVLW 0AH ;减10,结果保留在W中 SUBWF TEMP,0

BTFSS STATUS,C ;判断是否大于10

GOTO GE_VAL ;否,转去判断个位结果 MOVWF TEMP ;是,差送回TEMP中 INCF SHI,1 ;十位值加1

GOTO $-6 ;转会继续求十位的值 GE_VAL

MOVFW TEMP

MOVWF GE ;个位的值 RETURN

;**************************显示程序******************** ;入口参数:BAI,SHI,GE ;出口参数:无 DISPLAY

MOVFW BAI ;显示百位 CALL TABLE

MOVWF PORTD BCF PORTA,3 CALL DELAY CALL DELAY BSF PORTA,3

MOVFW SHI ;显示十位 CALL TABLE MOVWF PORTD BCF PORTA,4 CALL DELAY CALL DELAY BSF PORTA,4

MOVFW GE ;显示个位 CALL TABLE MOVWF PORTD BCF PORTA,5 CALL DELAY CALL DELAY BSF PORTA,5 RETURN

;***************************延时程序*********************** ;入口参数:无 ;出口参数:无 DELAY

MOVLW 5FH MOVWF TEMP DECFSZ TEMP,1 GOTO $-1 RETURN

;********************************************************* END ;程序结束

串行AD转换芯片与51单片机的接口电路及程序设计

-------------------------------------------------------------------------------- -

串行AD转换芯片与51单片机的接口电路及程序设计

AT89C51单片机系统经常使用A/D转换器。虽然并行A/D转换器速度高、转换通道多,但其价格高,占用单片机接口资源比串行A/D转换器多。工业检测控制及智能化仪器仪表中经常采用串行A/D转换器。ADS1110是一种精密、可连续自校准的串行A/D转换器,带有差分输入和高达16位的分辨率,其串行接口为I2C总线。AT89C51单片机通过软

件模拟I2C总线实现与ADS1110的连接。

ADS1110的特点与内部结构 ADS1110的特点

完整的数据采集系统和小型SOT23-6封装;片内基准电压:精度2.048 V+0.05%;片内可编程增益放大器PGA;片内振荡器;16位分辨率;可编程的转换速率15次/秒~240次/秒;I2C总线接口(8个有效地址);电源电压2.7 V~5.5 V;低电流消耗240 μA。 ADS1110的引脚功能

ADS1110串行A/D转换器采用6引脚贴片封装,其引脚排列如图1所示。VDD:电源端,通常接+5V;GND:模拟地和数字地;VIN+、VIN-:采样模拟信号输入端,其范围为2.048 V~2.048 V;SCL:I2C总线时钟线;SDA:I2C总线数据线。

ADS1110的内部结构

ADS1110是由带有可调增益的△-∑型转换器内核、2.048 V的电压基准、时钟振荡器和I2C总线接口组成。其内部结构如图2所示。

ADS1110的寄存器读写配置请参考:ADS110引脚功能,寄存器配置及应用电路介绍

ADS1110的A/D转换器内核是由差分开关电容△-∑调节器和数字滤波器组成。调节器测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较。数字滤波器接收高速数据流并输出代码,该代码是一个与输入电压成比例的数字,即A/D转换后的数据。

ADS1110片内电压基准是2.048 V。ADS1110只能采用内部电压基准该基准,不能测量,也不用于外部电路。ADS1110片内集成时钟振荡器用于驱动△-∑调节器和数字滤波器。ADS1110的信号输入端设有可编程增益放大器PGA,其输入阻抗在差分输入时的典型值为2.8 MΩ。

硬件设计

由于AT89C51单片机没有I2C总线接口,可通过软件模拟实现与I2C总线器件的连接。具体方法是将单片机的I/O接口连接至I2C的数据线SDA和时钟线SCL。通过软件控制时钟和数据传输,系统灵活性强。 图5所示是数据采集显示系统,采集工业现场的4路模拟信号并轮询显示。采用4个ADS1110作为A/D转换器,地址为ED0~ED3。具有I2C总线接口的EEPROM AT24C16作为存储器。本系统有4位LED数码显示管和4个参数设定按键。采集数据经数字滤波、16进制→工程值转换后,送至数码管轮询显示。ADS1110和AT24C16的I2C接口连ADSl110数据线SDA至单片机的P1.0,时钟线SCL连接单片机的P1.1,上拉电阻阻值选10 kΩ。

软件设计

按照硬件电路,编写A/D转换子程序为ADS0,其中嵌套调用了START,为起始命令子程序,FSDZ1为向ADS1110发送单个字节命令的子程序,ADREAD是读取输出寄存器和配置寄存器的子程序,STOP是停止命令子程序。ADS0只对地址为ED0的ADS1110读数,如果要读取其他ADS1110,只需更改地址即可。系统中ADS1110的工作方式选用默认设置,

ADC0809中文资料以及和单片机接口电路设计和程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1c4a22ohzb92i2p9mdes_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top