您当前的位置:五五电子网电子知识单片机-工控设备源码-程序AD574A参考程序 正文
AD574A参考程序

AD574A参考程序

点击数:7551 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   源码-程序

ad574a程序:

sbit ad_status = P3^3;

uchar xdata ad_convert _at_ 0x6000;    //开始转换

uchar xdata ad_read_hi _at_ 0x6002;    //读取高字节

uchar xdata ad_read_lo _at_ 0x6003;    //读取低字节

uint ad_1674 (void)

{

    union adc

    {

         uint adCC;

        uchar ad[2];

    };

    union adc add;

   

    ad_convert=0xff;

    while(ad_status);

    add.ad[0]=ad_read_hi;

    add.ad[1] =ad_read_lo;

    add.adcc=add.adcc>>4;

    return add.adcc;

}ORG 0000H

AJMP MAIN ;主程序

ORG 0013H

LJMP XAD ;中断1 A/D采样子程序

;*********************************************

;* 初始化 ad574a程序 *

;*********************************************

ORG 0030H

MAIN: MOV SP,#60H ;设置堆栈

;SETB EA

clr ie1

SETB IT1

START: LCALL MNLCJ

;*****************************************

;* A/D采样子程序 初始化 *

;*****************************************

AD1: PUSH DPH

PUSH DPL

PUSH ACC

MOV DPTR,#0C000H;打开 0 通道

MOV A,#08H

MOVX @DPTR,A

MOV DPTR,#9000H ;启动A/D转换

MOVX @DPTR,A

SETB EX1

POP ACC

POP DPL

POP DPH

RET

;*****************************

;* A/D 574的中断子程序 *

;*****************************

XAD: PUSH DPH

PUSH DPL

PUSH ACC

MOV DPTR,#9002H;读入高8位结果放入50H

MOVX A,@DPTR

MOV 50H,A

INC DPTR

MOVX A,@DPTR ;读入低4 位结果放入51H

MOV 51H,A

CLR EX1

POP ACC

POP DPL

POP DPH

RETI

;*********************************************

;模拟量采集 *

;*********************************************

MNLCJ: MOV R0,#40H

LCALL AD1 ;第一端口模拟量采集

ajmp $

; MOV A,50H

; MOV @R0,A

;INC R0

;MOV A,51H

;MOV @R0,A

END

NOP

NOP

LJMP main




本文关键字:程序  源码-程序单片机-工控设备 - 源码-程序