ADC_READ 未满
ADC_READ not maxed out
我是运行Proteus中的一个单片机,集成了ADC(10bit输出)和LCD显示器,但是当输入5V信号时,它最多只能显示4092mV,
尽管 LCD 非常好,因为我尝试输出其他字符。
这是Proteus的代码和图片。
int tension;
int valeurnum;
char valeurchar[10];
void main() {
ADCON1=14;
TRISA=1;TRISB=0;
Lcd_Init();
while(1){
tension=ADC_Read(0);
valeurnum=(5000/1023)*tension;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
IntToStr(valeurnum,valeurchar);
Lcd_Out(1,1,valeurchar);
delay_ms(1000);;
}
}
如果你们知道我可以做什么或检查什么,或者如果您需要更多信息,请告诉我,非常感谢,祝您有美好的一天!
Proteus Layout
显然我在公式上犯了一个错误,我在除法时对数字本身的准确性太差了。
float valeurnum;
char valeurchar[20];
void main() {
ADCON1=14;
TRISA=1;TRISB=0;
Lcd_Init();
while(1){
valeurnum=ADC_Read(0);
valeurnum=valeurnum*5000;
valeurnum=valeurnum/1024;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
FloatToStr(valeurnum,valeurchar);
Lcd_Out(1,1,valeurchar);
delay_ms(1000);;
}
}
我是运行Proteus中的一个单片机,集成了ADC(10bit输出)和LCD显示器,但是当输入5V信号时,它最多只能显示4092mV, 尽管 LCD 非常好,因为我尝试输出其他字符。
这是Proteus的代码和图片。
int tension;
int valeurnum;
char valeurchar[10];
void main() {
ADCON1=14;
TRISA=1;TRISB=0;
Lcd_Init();
while(1){
tension=ADC_Read(0);
valeurnum=(5000/1023)*tension;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
IntToStr(valeurnum,valeurchar);
Lcd_Out(1,1,valeurchar);
delay_ms(1000);;
}
}
如果你们知道我可以做什么或检查什么,或者如果您需要更多信息,请告诉我,非常感谢,祝您有美好的一天!
Proteus Layout
显然我在公式上犯了一个错误,我在除法时对数字本身的准确性太差了。
float valeurnum;
char valeurchar[20];
void main() {
ADCON1=14;
TRISA=1;TRISB=0;
Lcd_Init();
while(1){
valeurnum=ADC_Read(0);
valeurnum=valeurnum*5000;
valeurnum=valeurnum/1024;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
FloatToStr(valeurnum,valeurchar);
Lcd_Out(1,1,valeurchar);
delay_ms(1000);;
}
}