Šoreiz autors aplūko datu attēlošanas iespējas uz NOKIA 5110 sērijas šķidro kristālu displeja, izmantojot ATMEGA328P sērijas mikrokontrolleri.
Lai uz konkrētā displeja varētu attēlot datus, lai varētu veikt tā vadību, tiek izmantota SPI saskarne (Serial Peripheral Interface), ar kuras palīdzību mikrokontrolleris var veikt displeja atiestatīšanu, norādīt teksta izvades koordinātas u.c.
1.1.att. Elektriskā principiālā shēma
Konkrētajā gadījumā autors nolasa LM35 sērijas termosensora datus, izmantojot ACP (analogo-ciparu pārveidotāju), kurus tālāk pārveido par temperatūru vērtībām pēc Celsija un Fārenheita skalām. Temperatūru vērtības tiek uzglabātas float tipa mainīgajos, kuri tālāk tiek pārveidoti par simbolu virkni, kura tiek attēlota uz displeja.
Elektriskās principiālās shēmas elektrobarošanai nepieciešams izmantot 3,3 V spriegumu, jo tas ir maksimālais displeja spriegums.
Elektriskās principiālās shēmas elektrobarošanai nepieciešams izmantot 3,3 V spriegumu, jo tas ir maksimālais displeja spriegums.
int main(void){
DDRD = 0xFF;
DDRC = 0x00;
SPI_Init();
_delay_ms(20);
N5110_Init();
_delay_ms(20);
N5110_clear();
Init_ADC();
_delay_ms(20);
float temperatura_C=0.0;
float temperatura_F=0.0;
char dati1[6],dati2[6];
while(1){
temperatura_C = Read_ADC(0)/3.11;
temperatura_F = temperatura_C*1.8+32.0;
ftoa(temperatura_C, dati1, 2);
ftoa(temperatura_F, dati2, 2);
_delay_ms(1000);
LED_ON();
N5110_clear();
_delay_ms(100);
LCD_setXY(0,0);
N5110_Data("P.Bitans");
LCD_setXY(0,1);
N5110_Data("05/02/19");
LCD_setXY(0,2);
N5110_Data("LM35");
LCD_setXY(0,3);
N5110_Data("Temperatura:");
LCD_setXY(0,4);
N5110_Data(dati1);
LCD_setXY(30,4);
N5110_Data(" oC");
LCD_setXY(0,5);
N5110_Data(dati2);
LCD_setXY(30,5);
N5110_Data(" oF");
LED_OFF();
}
return 0;
}