送500分,,,有谁知道adc0809


这是我做的,,已经可以运行了,,,代码才几行,,,很容易看懂的
最主要的问题,,,我要怎样才能使用中断来采集,,,
我进入中断后,,,就无法采集了....谢谢各位帮忙....

void main()
{  
INTERRUPT();
ST=0;
ST = 1;
ST = 0;
OE=0;
while(1)
{
  if(!EOC)
  {
   Delay(10);
   OE = 1;
   Delay(10);
   P0 = P1;
   OE = 0;
   Delay(10);
   ST = 1;
   Delay(10);
   ST = 0;  
  }
}
}
void Interrupt0() interrupt IE0_VECTOR
{
EX0 = 0;
/* Delay(10);
OE = 1;
Delay(10);
P0 = P1;
OE = 0;
Delay(10);
ST = 1;
Delay(10);
ST = 0;*/
EX0 = 1;  
}

数字电压表.rar
(2008-07-17 01:11:18, Size: 67.4 KB, Downloads: 3)


QQ截图未命名.gif


我也来说两句 查看全部回复

最新回复

  • tssing (2008-7-17 01:12:10)

    本人说送一定会送的,,,真的很希望提升...提升
  • budhy (2008-7-17 01:41:10)

    QUOTE:

    原帖由 tssing 于 2008-7-17 01:11 发表
    这是我做的,,已经可以运行了,,,代码才几行,,,很容易看懂的
    最主要的问题,,,我要怎样才能使用中断来采集,,,
    我进入中断后,,,就无法采集了....谢谢各位帮忙....
    楼主所要用的中断是 ADC0808 的 EOC 接到 INT0?
  • tssing (2008-7-17 01:46:58)

    这个修订版是取中间的方法,,,是用中断运行的,,,
    郁闷,,,我觉得这个不是我想要的方法,,,,我想要的是不需要用定时器的,,,
    解压,,,运行,,,

    希望有达人能够实现这个

    数字电压表.rar
    (2008-07-17 01:46:58, Size: 62.5 KB, Downloads: 2)

  • tssing (2008-7-17 01:48:17)

    是的,,那东西说明书写是中断,,,interrupt....
  • tssing (2008-7-17 01:49:03)

    这个图,,我觉得别有用意吧,,,,


    QQ截图未命名.jpg

  • tssing (2008-7-17 01:54:22)

    我成功了,,,但是还是有问题,,,就是要在while里面不断的刷新,,开启采集

    直接用中断采集,,,,没有定时器,,,

    原来那图别有用意,,,我希望能找到12-bit这样的芯片,,,

    数字电压表.rar
    (2008-07-17 01:54:22, Size: 62.6 KB, Downloads: 7)

  • tssing (2008-7-17 01:55:27)

    不知不觉。。。在这论坛已经有了一千多块了,,这代表我的知识,,已经加到一千多了,,,很开心。。
  • ybzjllj (2008-7-17 06:57:24)

    你真勤奋.半夜三更的.                                                                             .
  • ybzjllj (2008-7-17 07:06:13)

    IN0~IN7:8个模拟量输入
    D0~D7:8位数字量输出端
    START,ALE:启动与地址锁存,可连在一起.
    EOC,OE:转换结束与输出允许,可连在一起.
    VREF+,VREF-,VCC,GND:参考电源与电源.VREF+与VCC常接在一起;VREF-与GND常接在一起.
    CLOCK:时钟
    A,B,C:8路模拟量选择.
  • Darmac (2008-7-17 12:47:08)

    12bit的芯片:MAX197     不过用它之前你要好好看看说明书,跟ADC0809比起来,这个芯片的时序有点怪异
    不用芯片内部定时器我觉得是可以的  不过你要用到电路本身的晶振来设置计数器控制送给0809的时钟了,其实跟用定时器的原理是一样的啊。


    我有几个问题想问问:
    1)OE的信号是0809的输出允许信号 ,是由ADC0809这款芯片本身来控制的,如果只是初始化就算了,为什么还要用Interrupt0()这个函数改变OE的值,Interrupt0()应该只是用来让P0取得P1的值吧,也就是刷新LED数码管而已,为什么要先关了OE赋值再打开呢???这个问题我有点想不明白
    2)为什么无论我怎么调电位器,8个输出永远是高电平呢??
  • tssing (2008-7-18 08:35:15)

    当OEC为0时,,中断开启,,,就是所数据已经采好了...
    但是数据还没有出来....
    所以用OE把他请出来....
  • fz5098 (2008-7-18 12:28:17)

    见你只送了1金币,在忽悠人把
  • shui (2008-7-18 16:50:45)

    这个应该好玩的.............................
  • Darmac (2008-7-18 17:03:36)

    嗯嗯  是这样的

    [ 本帖最后由 Darmac 于 2008-7-18 17:39 编辑 ]
  • xiaoniu683036 (2008-7-22 16:24:19)

    好不容易看到自己想要看的东西  没钱了  郁闷啊   !!!!!!!!!!!