基于IO扩展的AD变换问题看这个题目很像一个什么学报上的专家论文,其实我是一个想入门的单片机爱好者,这是我最近遇到的一个挠头的问题。
一个8031为核心的板子,上面有多种扩展,特别是用了一个8155作为I/O口的扩展,用ADC0809作A/D变换。0809的三条通道选择线,通过锁存器373挂在8031的P0.0、P0.1、P0.2上,这都好理解,难的是EOC(转换完成信号线)是接在8155的PC.0上的,即8155上PC口的0位上。
这就带来一个问题:在汇编中如何进行表示?EOC直接接在8031的某一口线上,如P2.1上时,可以用JB P2.1,$ 语句。当AD转换完成时,EOC由硬件置高电平,传给P2.1后,就可以被上述语句处理,程序继续进行。现在EOC接在8155的Pc.0,上述的语句无法用,那么此情况下AD转换完成当用什么语句?请高人指教!
还有:为了绕开这个一点,我在每开始AD转换后,用一个短延时,然后直接读取AD转换的结果,但显示出来的结果却是不断变化的,根本稳定不了,而此时输入的模拟量却是很稳定的。试验了多次,也没有找到问题出在何处,特来请教,先谢谢了。