⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcp3204.c

📁 MCP3204可用源代码和这PROTUES彷真图
💻 C
字号:

#include<myc51.h>
#include<1602.h>


sbit clk = P1^4;   // clock signel
sbit dout = P1^5;  // data get out
sbit din = P1^6 ;   // data put in
sbit cs = P1^7;    // cs selt


void delay50ms(uint t)
{
uint j; 
for(t;t>0;t--)
for(j=6245;j>0;j--);

}



// clock time ***************************************
void clkt()
{
    clk=1;
    
    //delay1us;
    clk=0;
    //delay1us;
}

void clktf()
{
    clk=0;
    
    //delay1us;
    clk=1;
    //delay1us;
}


sint getdata()//uchar chx)
{
    sint hd=0x00,ld=0x00;   sint  t; 
    sint  dat=0x00;
   // float outdat;
    
    


    
    
                               //din=0;clkf();din=0;clkf();din=0;clkf();//clkt();clkt();
  /*
    din=1;
    clktf();
    din=1;     //single CH
    clktf();
    din=1;     //D2
    clktf();    //8


    din=0;  //0x02&chx;   //D1
    clktf();
    din=1;    //0x01&chx;   //D0
    clktf();        //10

    clktf();
    clk=0;        //12
    //delay1us;

   */
   
   uchar ch=0xe0; //1 11 0 ;0 000

    cs=1;
    
    cs=0;
    
      clk=1;
   for(t=0;t<6;t++)
   {
      din=0x80&ch;
     // if(0x80&ch==0x80)
     // {
     //    din=1;
     // }
     // else din=0; 

      clk=0;//delay1us;
      clk=1;//delay1us;
      ch<<=1;
   }

   for(t=0;t<13;t++)
   
   {
    clk=0;
    hd<<=1;
    clk=1;
                 delay1us;delay1us;delay1us;
    hd|=dout;    delay1us;delay1us;delay1us;
    }

    cs=1;
   /*
   for(t=8;t>0;t--)
   {
    ld<<=1;
    
    clkt();
    ld|=dout;// delay1us;
   }*/
    //clk=1;
    
    //delay1us;
    //cs=0;
   

    //hd<<=8;
    //dat=hd+ld;
     
    //outdat=((float)dat/4095)*5*1000;
    //dat=(sint)outdat;
    //dat=(sint)outdat; 
    return hd;
    
  
}


sint getd(uchar ch)
{
   sint dat=0x00;
   uchar i;
   cs=1;
   cs=0;
   
   for(i=5;i>0;i--)
   {
      
      
      din=0x80&ch;
      clk=0;delay1us;
      clk=1;delay1us;
      ch<<=1;
   }
   clk=0;delay1us;
   clk=1;delay1us;
   clk=0;delay1us;
   clk=1;delay1us;
   clk=0;delay1us;
   //clk=1;delay1us;
   //clk=0;delay1us;


      for(i=12;i>0;i--)
   {
      dat<<=1;
      
      clk=1;delay1us;
      
      clk=0;delay1us;
      dat|=dout;
   }

   cs=1;delay1us;

   return dat;
}

void main()
{
   sint bb,aa,cc;     float outdat;
      
   start1602();
   delay50ms(10);
   bb=3;
   goto_xy(0,0);
   printd(bb);
   delay50ms(10);

   while(1)
   {
    delay50ms(10);
    
   // aa=getd(0xe0);        
                     delay50ms(10);          cc=getdata();
   
    //delay50ms(20);            

        //goto_xy(0,1);

   // printf("                                                               ");

    //goto_xy(0,1);

    //printd(aa);               
                    // outdat=((float)aa/4095)*5;goto_xy(6,1);printdf(outdat);
   
   // delay50ms(10);
                                                            
     goto_xy(0,0);    printf("                                                     ");
        
         

    goto_xy(0,0);
    
    printd(bb++);

        goto_xy(4,0);
    
         printd(cc);        outdat=((float)cc/4095)*5;goto_xy(10,0);printdf(outdat);
   }

}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -