The heart of this transceiver is an ATmega128 microcontroller (MCU). It controls the vast majority of functions within the radio. E. g.: Frequency generation of the 2 DDS systems, audio tone and AGC decay time, T/R-switching, the presets for transmitter gain on the 6 bands independently, display and panel lights etc. etc.
And, due to usage of a parallel interface for the LCD (8 data lines and 4 control lines) an MCU with sufficient ports had to be used.
First I started with the SPI version of the LCD (ILI9341). This LCD has a high resolution of 240×320 dots. Driven by a relatively slow 8-bit controller like an AVR and the LCD driven in serial mode the performance was inferior.
Next I found that the same LCD is also available with a parallel interface. Then called CP11003. This one uses 12 lines (8 data and 4 control lines minimum), which made it mandatory to use an ATMega128 controller. To enhance speed and performance this one is clocked by a 16 MHz crystal. A touchpad is also integrated, but not used in my application.
Source code in C programming language can be downloaded from Github.
Vy 73 de Peter (DK7IH)