Usare da solo un ATMEGA 328 programmato su Arduino uno

Ho inserito alla fine un "lcd.clear()" che mi cancella tutte e due le righe prima di scrivere i nuovi caratteri, ma sarebbe più comodo e logico che venga cancellata solo la riga corrente.

Saverio.

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 13, 8, 9, 10, 11);

char rx; // il valore letto
int num = 0; // numero di caratteri scritti nella riga
int riga = 0; //  numero righe scritte
#define COLONNE 16
#define RIGHE 2

void setup()
{
    DDRD = (INPUT); //  configura la porta D come ingresso
    pinMode(A4, OUTPUT);  //  pin busy - Pin analogico
    pinMode(A5, INPUT); //  pin strobe - Pin analogico
    lcd.begin(COLONNE , RIGHE);
    lcd.setCursor(0, 0);
}

void loop()
{
    digitalWrite(A4, LOW);  //  metti a 0 il busy - rx  disponibile

    if (!digitalRead(A5))
    {
        digitalWrite(A4, HIGH);  //  metti a 1 il busy - rx NON disponibile
        delay(10);
        rx = (digitalRead, PIND); // digitalRead (PIND,puls);  //  leggi dato da inviare al display

        if (rx > 19)
        {
            // per i caratteri stampabili
          //  lcd.print(rx);
         //   lcd.setCursor(riga, num++);
// ---------------------------------------------------------------------------------

// per i caratteri stampabili
            lcd.setCursor(num++, riga);
            lcd.print(rx);

// -----------------------------------------------------------------------------------

            // stampato, mica difficile, con avanzamento del contatore di colonna
            // adesso calcolo la nuova posizione del cursore
            if (num >= COLONNE)
            {
                // oltre la fine del display
                num = 0;
                riga++;

                // indietro carrello, avanti riga, come sulle macchine da scrivere
                if (riga >= RIGHE)
                {
                    // fine display
                    riga = 0;
               //     lcd.clear();
                    // indietro alla prima riga
                }
            }
        }
    }
}