📄 mcp3204.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 + -