资源简介
接上个资源,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
- 上一篇:中兴配置软件
- 下一篇:spring-security-oauth2详细配置demo
评论
共有 条评论