ASH1 : An LCD Driver and VGA Colour Controller

After integrating Ethernet operations into ASH1.. I though of demonstrating ASH1 as an IOP .. so I looked for a simple I/O operation, yet a simple one to make my life easy when I am writing the code for it in binary. I decided to make ASH1 works as an LCD driver in addition to VGA colour controller.

For the LCD driver code, I wrote the code and compared it with the one used in PIC Projects: A Practical Approach for pic16f627a. ASH1 code took  143.5 bytes  whereas for pic16f627a, the code took up 161 bytes.

For VGA Colour Controller, I make it pretty simple since writing a code in binary for the whole VGA controller would take a lot of time. ASH1 was just responsible for the colour  patterns generated on the screen. The other functions required for the VGA was implemented in hardware.

And here is what I got ….. ASH1 driving an LCD with “ASH1=] says Hi !” message and controlling the colours of a displayed image on a VGA monitor.

You may also like...

2 Responses

  1. Shawn Tan says:

    How is it able to take 143.5 bytes? Where did the half byte come from?

  2. That’s because the instruction length of ASH1 is 14bits long, and the code has 82 instructions altogether, hence 14 x 82 = 1,148 bits => 1,148 / 8 = 143.5 bytes.

Leave a Reply