21ic电子技术开发论坛 综合技术交流 通信技术 请教MAX197AD转换中的问题
发新帖我要提问
返回列表
打印

请教MAX197AD转换中的问题

[复制链接]
1251|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
littlehat|  楼主 | 2007-10-9 19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在调试一个AD转换电路,系统是用单片机外接MAX197电路实现的,89C51出来接74LS373地址锁存和MAX197,硬件连接如附件所示,有所不同的是MAX197的SHDN端接高电平,REF和REFADJ分别通过0.47uF,0.01uF的电容接地.
连接电路后想看转换结果是否正确就将转换的高四位通过串口输出,用串口调试程序观察发现无论输入的模拟电压是多少,结果总是0xFF.请高手指教.程序如下:
#include <reg52.h>                // 引用标准库的头文件
#include <absacc.h>

#define uchar unsigned char 

uchar CH0DataL,CH0DataH,a;

/* MAX197片外地址定义 */


sbit ADINT = P3^2;                // MAX197的中断输出位
sbit HBEN = P0^0;                // MAX197数据总线复用控制
sbit cs=P2^7;
#define INT0H XBYTE[0x7FFF]
#define INT0L XBYTE[0x7FFE]


void main()
{   uchar *ad_adrL;
    uchar *ad_adrH;
    ad_adrL=&INT0L;
    ad_adrH=&INT0H;
    TMOD=0x20;   // 设置波特率为9600的定时器1方式和初值
    TL1=0xfd;
    TH1=0xfd;
    SCON=0xd8;     //串口方式
    PCON=0x00; 
    TR1=1;
    EA = 1;
    //EX0 = 1;    
    while(1)
   {
         *ad_adrH= 0x40;         //给MAX写状态字
         while(ADINT!=0)
         { HBEN = 1;}
         a =*ad_adrH
           ES=1;
         SBUF=a;  //通过串口发送数据低八位
         while(TI==0);
         TI=0;
         ES=0;        
    } 
}
相关链接:https://bbs.21ic.com/upfiles/img/200710/2007109193215407.pdf

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部