No.36806 作者:guest 邮件:guest@guest.com ID:6 登陆:16560次 文章数:7648篇 最后登陆IP:219.68.9.43 最后登陆:2005/5/20 1:37:44 注册:2003/3/10 16:21:00 财富:35062 发帖时间:2003/7/11 11:44:58 发贴者IP:218.79.98.63 标题:guest:[求助]有哪位DX帮我看看这个程序? 摘要:No.36806[求助]有哪位DX帮我看看这个程序? [求助]谁能帮我看看这个程序? 小弟是一新手,第一次用c51编写程序,下面是我编写的程序,用数码管显示,AD7715是一个16bit串行AD。在给AD7715输入0.89V电压后,四个数码管应该显示5BC0,可现在只显示EEEE.请教各位高手了! #include #define uchar unsigned char #define uint unsigned int /************************/ uchar store[2]; uchar *datapointer_r;/*pointer of the data array*/ /*************************/ sbit led_4=P1^4; sbit led_3=P1^5; sbit led_2=P1^6; sbit led_1=P1^7; sbit ctrl_d=P1^3; sbit ctrl_c=P1^2; sbit ctrl_b=P1^1; sbit ctrl_a=P1^0; sbit doutin=P3^4; sbit drdy=P3^3; sbit sclk=P3^2; sbit switch_a1=P3^1; sbit switch_a0=P3^0; sbit acc7=ACC^7; sbit acc6=ACC^6; sbit acc5=ACC^5; sbit acc4=ACC^4; sbit acc3=ACC^3; sbit acc2=ACC^2; sbit acc1=ACC^1; sbit acc0=ACC^0; /***********************************/ /*Write to reg. of AD7715*/ void writetoreg(uchar byteword) { uchar i; sclk=1; ACC=byteword; for(i=0;i <8;i++) { sclk=0; doutin=acc7; sclk=1; ACC=ACC < <1; } } /***********************************/ /*Read data from AD7715 and save into the store array*/ void readdatareg() { uchar i; sclk=1; datapointer_r=store; while (!drdy) /*wait for /drdy go to low this indicate that the data is ready*/ { for (i=0;i <16;i++) { sclk=0; acc0=doutin; sclk=1; ACC=ACC < <1; if (i=7) { *datapointer_r=ACC; /*save high byte*/ datapointer_r++; } if (i=15) { *data ......
>>返回讨论的主题
|