选用一块单片机控制两块ADC0832进行模数转换,如果我选用sbit ADCS =P2^0; sbit ADCLK = P2^1;sbit ADDI = P2^2;sbit ADDO = P2^2;,这样单独定义每一个模数转换通道都能够成功的进行单通道的模数转换,但只要将
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 13:01:18
选用一块单片机控制两块ADC0832进行模数转换,如果我选用sbit ADCS =P2^0; sbit ADCLK = P2^1;sbit ADDI = P2^2;sbit ADDO = P2^2;,这样单独定义每一个模数转换通道都能够成功的进行单通道的模数转换,但只要将
选用一块单片机控制两块ADC0832进行模数转换,如果我选用sbit ADCS =P2^0; sbit ADCLK = P2^1;
sbit ADDI = P2^2;sbit ADDO = P2^2;,这样单独定义每一个模数转换通道都能够成功的进行单通道的模数转换,但只要将那四个管脚定义成其他管脚,比如:sbit ADCS2 =P3^3;sbit ADCLK2 = P3^4;sbit ADDI2 = P3^5; sbit ADDO2 = P3^5; 将不能进行模数转换,请问各位,这种状况是怎么回事?(当然P3^4,P3^5;P3^3是没有被其他程序中运用的,就是说程序其他部分没用到这些口的)!这种状况怎么解决?照理说,A/D对管脚没什么特别的要求啊!电路本身没问题,换句话说,我只能定义P2.0-P2.2进行一个通道的模数转换,定义别的管脚没法转换,这样一来,我设计的一块单片机控制两个通道进行模数转换就没法进行!向高手请教这种情况的解决办法!
选用一块单片机控制两块ADC0832进行模数转换,如果我选用sbit ADCS =P2^0; sbit ADCLK = P2^1;sbit ADDI = P2^2;sbit ADDO = P2^2;,这样单独定义每一个模数转换通道都能够成功的进行单通道的模数转换,但只要将
理论和实际应用中,定义别的管脚不会影响,除非你定义的管脚有时会占用(比如232通讯和外部中断)但你说没有用到这些口,不过还是请你再检查.
还有对ADC0832这种IC,我们通常将硬件的DI脚和DO脚连在一起,在定义时,使用CPU的一个IO口,比如sbit ADIO = P2^2;无需定义两个sbit ADDI = P2^2;sbit ADDO = P2^2;
再一个就是,我不知道你是使用仿真还是实验板.我以前使用PROTEUS时,仿真总是得不到结果,后来在实验板上却完全正常,估计仿真库里ADC0834存在问题(包括ADC0832,adc0838我都试过).我用的是ADC0834,四通道的.
根据上面的提示,你更改定义和换成实验板试试.
纸上得来终觉浅,绝知此事要躬行