关于单片机控制MAX195模数转换的问题

2019-03-24 17:30发布

我现在做一个用单片机控制max195的程序。程序如下#include <reg52.h>        // 引用标准库的头文件
#include <intrins.h>#define uchar unsigned char
#define uint unsigned int
sbit max195_clk=P0^3;
sbit max195_dout=P0^4;
sbit max195_eoc=P0^6;
sbit max195_cs=P0^5; 
/*******************************************
MAX195的驱动
*******************************************/
uint max195_change()
 { 
   uint temp=0;
   uchar i=0;
  
   max195_cs=1;  
   max195_clk=0;
   max195_cs=0; 
   delay(20);
  
   max195_clk=0;
   max195_clk=1;
   max195_clk=0;
   max195_clk=1;
   max195_clk=0;   
 while(max195_eoc==1)
  {   
    for(i=0;i<16;i++)
  {
    if(max195_dout==1)
    temp|=0x0001;  
    max195_clk=1;
       max195_clk=0;
    temp=temp<<1;    
  }
   max195_clk=0;
   max195_clk=1;
   max195_clk=0;
   max195_clk=1;
   max195_clk=0;
   max195_cs=1;
   }
    max195_cs=1;
      return temp;      
}接线如图可单片机显示数值一直不稳定,从小到大随机变化。那位大神帮我看看是怎么回事。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
jishuaihu
1楼-- · 2019-03-24 23:59
看时序图好像是在下降沿开始读数吧,读数应该放在低电平的时候,你写的不一定能保证是在低电平读吧?再看看MAX195的速率,确定读数的速度是否合适
526913343
2楼-- · 2019-03-25 02:40
 精彩回答 2  元偷偷看……

一周热门 更多>