Bascom and AVR, a TIL311 Bitx20 display

For my Bitx20 transceiver I wanted something 'different' as frequency display. I remembered I had a few old Texas Instruments TIL311 hexadecimal led displays that seemed suitable. These displays first appeared in the 1970's, they use lots of current (more than the BITX20 in receive...) but being led displays have excellent contrast.
Amazingly enough, Texas Instruments still has the datasheet online. Bravo TI!
I wrote a small program for the ATMega8 to read the BITX20 VFO frequency, add a constant IF frequency and display the result. The VFO signal is buffered using a J310 and 2N3904. The buffer output is connected to the T1 input of the ATMega8:

The program uses a constant to determine the count time (app. 100 milliseconds). If you use another chrystal frequency you must change this value. Experiment!
The program then calculates the digits to display and sends these digits to the displays. The A, B, C and D inputs of all display are connected together. The Latch Strobe inputs of all displays are connected to Port C and D of the ATMega8. The program puts a digit to display on the ABCD pins and then toggles the relevant latch strobe pin. The TIL311 displays have a digit memory, so you only need to write a digit if it changes. No mulptiplexing is necessary! Although the schematic shows eight displays, I show the frequency as

You may want to omit the leftmost digit, or you can use a count time of one second to display all eight digits. I considered a one second count time too long however. Using a 100 millisecond count time enables several display updates per second and that is necessary when tuning accross the band. I also changed the fixed connection of the second digit's decimal point to that of the third digit.

You can read more about using the counter features of AVR's in the interrupts chapter.
Curious to know what the Bitx20 is? Go to Ashhar Farhan's web. If you need more info, visit the Yahoo Bitx20 group.