Here is a brief description of the software files for the TAK-40 transceiver:

File Name: Bootload 24X1.asm

This is the boot loader code that resides in the highest memory locations 0x6f0 and up. When the code is first loaded the user code area has enough code to display "No User Code" on the LCD then stop. If the "menu" button is pressed during start-up, the bootloader waits for an INTEL hex file to write to program memory. The MPELAB IDE available as a free download makes the required hex files. The bootloader also has subroutines for writing to the LCD and time delay routines so they don't have to be duplicated in the user code.


File Name: TAK40.asm

This is the main user code for the TAK-40 transceiver. All other assembly code files are 'included' in this file so there is no need to load them separately. I attempted to put different logical blocks in different files to keep the main file small and easy to navigate. Subfiles (in order of inclusion) are:

p16f871.inc - comes with the MPLAB software and includes constants related specifically to the specific microprocessor

tak-ports.asm - initalizes I/O ports, A/D and memory locations

tak-isr.asm - the interrupt service routine, controls the optical encoder and PTT lines

mcp4922.asm - sends the 4 bytes required for the dual D/A converter that drives the VFO

tak-eeprom.asm - read and write routined for the EEPROM stores settings when the power is off

tak-vfomem.asm - preforms the vfo memory function VFO to MEM, SWAP and MEM to VFO

tak_msg.asm - displays various temporary LCD messages usually in response to a button press or PTT

tak_freq.asm - displays a 24 bit binary frequency from the frequency counter on the LCD in the left most position in the following format ####.#

tak_setup.asm - contains the routines used to impliment the various setup modes

tak_bfo.asm - high resolution (10 Hz) bfo tracking-stabilizing routine

tak_txm.asm - TX relative power meter display routine

