这是我做的,,已经可以运行了,,,代码才几行,,,很容易看懂的
最主要的问题,,,我要怎样才能使用中断来采集,,,
我进入中断后,,,就无法采集了....谢谢各位帮忙....
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:
楼主所要用的中断是 ADC0808 的 EOC 接到 INT0?tssing (2008-7-17 01:46:58)
郁闷,,,我觉得这个不是我想要的方法,,,,我想要的是不需要用定时器的,,,
解压,,,运行,,,
希望有达人能够实现这个
(2008-07-17 01:46:58, Size: 62.5 KB, Downloads: 2)
tssing (2008-7-17 01:48:17)
tssing (2008-7-17 01:49:03)
QQ截图未命名.jpg
tssing (2008-7-17 01:54:22)
直接用中断采集,,,,没有定时器,,,
原来那图别有用意,,,我希望能找到12-bit这样的芯片,,,
(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)
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)
不用芯片内部定时器我觉得是可以的 不过你要用到电路本身的晶振来设置计数器控制送给0809的时钟了,其实跟用定时器的原理是一样的啊。
我有几个问题想问问:
1)OE的信号是0809的输出允许信号 ,是由ADC0809这款芯片本身来控制的,如果只是初始化就算了,为什么还要用Interrupt0()这个函数改变OE的值,Interrupt0()应该只是用来让P0取得P1的值吧,也就是刷新LED数码管而已,为什么要先关了OE赋值再打开呢???这个问题我有点想不明白
2)为什么无论我怎么调电位器,8个输出永远是高电平呢??
tssing (2008-7-18 08:35:15)
但是数据还没有出来....
所以用OE把他请出来....
fz5098 (2008-7-18 12:28:17)
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)