Header Files

Modern micro controllers come with huge loads of Special Function Registers. It can be a nightmare to enter hundreds of register names, bit names, vector names, I/O register names and option names for the controller you want to work on.

Therefore I have added quite some header files for a number of popular micro controller families. I know, the list is still far from complete, but I keep adding new ones whenever I have a few ours to spare.

The header files can be found in the headers directory of the download package (what a surprise). Most of the files are adapted copies from files which were provided by the manufacturers. Register names often reflect the names used in the device’s documentation.
But bear in mind that creating these files is manual labour, which means that an occasional error may exist. Either because it was there in the original file, or it was introduced by the necessary adaptions I had to make. Please let me know if you spot an error in any of the files.

Using a header file

The easiest way to use these headers files is to copy the required file over to your project directory. That way you will always have it around when you want to re-assemble the program years later. Then simply use the .IN directive to include the header file into your code.

Microchip headers

The Microchip headers not only define the register names. They also select the proper cross overlay and ROM size for you. So if you include one of those header files you don’t have to specify these yourself any more.