阅读:2099回复:6
有用过MAX197(8通道的A/D转换器)吗?90分!
各位,有谁用过MAX197呀(8通道的A/D转换器)。
当我给每路输入5V电平时,按理应该在转换结果中,第二个字节的值都应该是07H才对,但是,我的结果是第二个字节正好是通道号,也就是通道一的输出是01H,通道二的输出是02H,依次类推,第7路输出07H,有没有人碰到过这样的问题呀?怎么解决的,还望不吝赐教。 |
|
沙发#
发布于:2002-12-09 15:51
你不如去问MAXIM的技术支持。
http://www.maxim-ic.com |
|
|
板凳#
发布于:2002-12-09 16:11
这是国外的网站吗,我怎么访问不了,能够直接指点一下吗?
|
|
地板#
发布于:2002-12-09 16:16
电路是不是有问题?
访问www.maxim-ic.com.cn |
|
|
地下室#
发布于:2002-12-09 16:19
这是国外的网站吗,我怎么访问不了,能够直接指点一下吗? http://www.maxim-ic.com.cn/ 你有没有DATASHEET? |
|
|
5楼#
发布于:2002-12-09 17:41
那么对197命令字的设置,除了模式和幅度外,应该没有其他问题吧?我的命令字第一路是49H.
我的代码是: void Isr_Timer1(void) interrupt 1 { void init_Timer0(); DISABLE_INTERRUPTS; DISABLE_D12; ENABLE_AD; /*enable A/D*/ Init_Timer0(); IC_WR=0; P0=channel; /* Start A/D */ IC_WR=1; Delay(20); P3_1=0; IC_RD=0; GenBuf[re_p]=P0; /*read low 8bits*/ IC_RD=1; re_p++; P3_1=1; IC_RD=0; GenBuf[re_p]=P0; /*read high 4bits*/ IC_RD=1; channel++; re_p++; q++; if(q==7) { GenBuf[0]=0xff; GenBuf[15]=0x00; channel=0x49; re_end=1; /*转换完成标志位*/ re_p=1; q=0; } DISABLE_AD; ENABLE_D12; ENABLE_INTERRUPTS; } re_p的初植是1。 |
|
6楼#
发布于:2002-12-10 02:45
改成如下试一试:
void Isr_Timer1(void) interrupt 1 { void init_Timer0(); DISABLE_INTERRUPTS; DISABLE_D12; ENABLE_AD; /*enable A/D*/ Init_Timer0(); IC_WR=0; P0=channel; /* Start A/D */ IC_WR=1; Delay(20); P3_1=0; IC_RD=0; GenBuf[re_p]=P0; /*read low 8bits*/ /* IC_RD=1; re_p++; P3_1=1; IC_RD=0; */ //改成如下试试: P3_1 = 1 ; re_P++ ; GenBuf[re_p]=P0; /*read high 4bits*/ IC_RD=1; channel++; re_p++; q++; if(q==7) { GenBuf[0]=0xff; GenBuf[15]=0x00; channel=0x49; re_end=1; /*转换完成标志位*/ re_p=1; q=0; } DISABLE_AD; ENABLE_D12; ENABLE_INTERRUPTS; } [编辑 - 12/10/02 by ysfc51] |
|
|