• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: MCP3202  

资源简介

接上个资源,AD0832被我烧掉了,正好有这款芯片,于是就用这个了,和上面的一个芯片差不多,只上传C文件了

资源截图

代码片段和文件信息

#include “mcp3202.h“
#include “lcd1602.h“
unsigned char lcd1602_1[16]=“ChanneL 0:  .  V“;
unsigned char lcd1602_2[16]=“ChanneL 1:  .  V“;
unsigned char code dianya[10]=“0123456789“;
unsigned int idata receive[9];
void Delay100us()
{
 unsigned char abc;
  for(a=0;a<1;a++)
   for(b=0;b<1;b++)
    for(c=0;c<61;c++);
}  
unsigned int read_mcp3202(unsigned char channel)
{
    unsigned char i=0;
 unsigned char j;
 unsigned char dat=0;
 unsigned char ndat=0;
if(channel==0)channel=2;  //通道模式选择 ch0通道
 if(channel==1)channel=3;  //ch1
  if(channel==2)channel=0;  // 差分 ch0+;ch1-
  if(channel==3)channel=1;  // 差分 ch0-;ch1+
 ADDI=1;
 _nop_();
 _nop_();
 ADCS=0;//拉低CS端
 _nop_();
 _nop_();
 ADCLK=1;//拉高CLK端
 _nop_();
 _nop_();
 ADCLK=0;//拉低CLK端形成下降沿1
 _nop_();
 _nop_();
 ADCLK=1;//拉高CLK端
 ADDI=channel&0x1;
 _nop_();
 _nop_();
 ADCLK=0;//拉低CLK端形成下降沿2
 _nop_();
 _nop_();
 ADCLK=1;//拉高CLK端
 ADDI=(channel>>1)&0x1;
 _nop_();
 _nop_();
 ADCLK=0;//拉低CLK端形成下降沿3
 ADDI=1;//控制命令结束
 _nop_();
 _nop_();
 dat=0;
 for(i=0;i<8;i++)
 {
     dat|=ADDO;//收数据
     ADCLK=1;
     _nop_();
     _nop_();
     ADCLK=0;//形成一次时钟脉冲
     _nop_();
     _nop_();
     dat<<=1;
     if(i==7)dat|=ADDO;
 }
 for(i=0;i<8;i++)
 {
     j=0;
     j=j|ADDO;//收数据
     ADCLK=1;
     _nop_();
     _nop_();
     ADCLK=0;//形成一次时钟脉冲
     _nop_();
     _nop_();
     j=j<<7;
     ndat

评论

共有 条评论

相关资源