Контроллер ADuC812, дисплей МТ16s2d (на контроллере HD77480). Собственно я так и делаю, но только почему то на дисплее значения постоянно прыгают. АЦП выполняет однократное преобразование, опорное напряжение 2.5 В, разрядность АЦП - 12.
Вот функция обработки прерывания от АЦП:
void display_voltage(void) interrupt 6 {
unsigned char lcd_buffer[6]; float ADCValue; ADCValue = ((ADCDATAL + (ADCDATAH&0x0F))<<8); ADCValue=ADCValue*2500/4096; ADCValue=ADCValue/1000; sprintf (lcd_buffer,"U=%1.3f V", ADCValue); send_lcd(set_first_line, lcd_buffer); }
|