【求助帖】关于adc0832

[复制链接]
1802|2
 楼主| 奔小康 发表于 2013-5-17 23:28 | 显示全部楼层 |阅读模式
我想在数码管上显示ad采集回来的数据在数码管上显示出来,范围本来应该是0~255,可是最大值怎么只能显示出127,为什么
  1. uchar read_adc0832(uchar ch)
  2. {
  3.         uchar i,a,b;
  4.         acs=0;
  5.         _nop_();
  6.          ack=0;       
  7.          _nop_();
  8.         ad=1;                                //起始信号
  9.         _nop_();
  10.         ack=1;
  11.         _nop_();
  12.                

  13.         ack=0;
  14.         _nop_();_nop_();
  15.         ad=1;
  16.         _nop_();_nop_();
  17.         ack=1;

  18.         ack=0;
  19.         _nop_();_nop_();
  20.         ad=ch;
  21.         ack=1;

  22.         ad=1;
  23.         _nop_();
  24.            for(i=0;i<8;i++)
  25.         {
  26.                 ack=1;
  27.                 _nop_();a=a<<1;
  28.                  ack=0;
  29.                  _nop_();
  30.                 if(ad)
  31.                         a++;
  32.                
  33.         }
  34.         _nop_();_nop_();
  35.         for(i=0;i<8;i++)
  36.         {       
  37.                 b=b>>1;
  38.                 if(ad)
  39.                         b=b|0x80;
  40.                 ack=1;
  41.                 _nop_();
  42.                 ack=0;       
  43.                 _nop_();
  44.         }
  45.         acs=1;
  46.         ack=1;
  47.         return a;
  48. }

  49. void display()
  50. {
  51.         dat=read_adc0832(1)*500/256;
  52.         send_byte(3,dat/100);
  53.         delay(100);
  54.         send_byte(2,dat%100/10);
  55.         delay(100);
  56.         send_byte(1,dat%10);
  57.         delay(100);
  58. }

呀?
叶伤 发表于 2013-5-18 00:10 来自手机 | 显示全部楼层
你看下你的定义是不是char
 楼主| 奔小康 发表于 2013-5-18 00:13 | 显示全部楼层
叶伤 发表于 2013-5-18 00:10
你看下你的定义是不是char

定义的是无符号整型,unsigned char  程序前头 有个宏定义#define uchar unsigned char
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部