#define c# 报错_【AD转换求解代码错误C#include#include#defineuintunsignedint#defineucharunsignedchar#definepcf85...

AD转换 求解代码错误 C

#include

#include

#define uint unsigned int

#define uchar unsigned char

#define pcf8591 0x90;\x05\x05\x05\x05//定义pcf8591地址

uchar AD_channel;

sbit LS138A=P2^2; \x05\x05\x05//编码器(类似与段选、位选)

sbit LS138B=P2^3;

sbit LS138C=P2^4;

unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char AD_CHANNEL;\x05\x05\x05//AD 通道

unsigned long xdata LedOut[8];\x05\x05//无符号长整型 .

unsigned int D[32];

bit DACconversion(uchar addr,uchar ctr,uchar Val)

{

\x05Start_I2c();

\x05SendByte(addr);

\x05if(ack==0);return(0);

\x05SendByte(ctr);

\x05if(ack==0);return(0);

\x05SendByte(Val);

\x05if(ack==0);return(0);

\x05Stop_I2c();

\x05return(1);

}

uchar IRecByte(uchar addr)

{

\x05uchar c;

\x05Start_I2c();

\x05SendByte(addr+1);

\x05if(ack==0);return(0);

\x05c=RcvByte();

\x05Ack_I2c(1);

\x05Stop_I2c();

\x05return(c);

}

bit ISendByte(uchar addr,uchar ctr)

{

\x05Start_I2c();

\x05SendByte(addr);

\x05if(ack==0);return(0);

\x05SendByte(ctr);

\x05if(ack==0);return(0);

\x05Stop_I2c();

\x05return(1);

\x05

}

void main()

{

\x05while(1)

\x05{

\x05\x05switch(AD_channel)

\x05\x05{

\x05\x05\x05case 0:ISendByte(pcf8591,0x40);

\x05\x05\x05\x05D[0]=IRecByte(pcf8591);

\x05\x05\x05\x05break;

\x05\x05\x05case 1:ISendByte(pcf8591,0x41);

\x05\x05\x05\x05D[1]=IRecByte(pcf8591);

\x05\x05\x05\x05break;

\x05\x05\x05case 2:DACconversion(pcf8591,0x40);

\x05\x05\x05\x05break;

\x05\x05\x05

\x05\x05}

\x05\x05if(++AD_channel>4) AD_channel=0;

\x05}

\x05LedOut[0]=Disp_Tab[D[1]%10000/1000];

LedOut[1]=Disp_Tab[D[1]%1000/100];

LedOut[2]=Disp_Tab[D[1]%100/10]|0x80;

LedOut[3]=Disp_Tab[D[1]%10];

\x05

\x05LedOut[4]=Disp_Tab[D[0]%10000/1000];

LedOut[5]=Disp_Tab[D[0]%1000/100];

LedOut[6]=Disp_Tab[D[0]%100/10]|0x80;

LedOut[7]=Disp_Tab[D[0]%10];

\x05

\x05

\x05for( i=0; i

作业帮用户2016-11-21举报

6c0a0adef10d1043fa4f41a7897345ed.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值