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.

Categories: Experiential


Shawn Tan · 2011-10-18 at 14:46

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

Lo Hai Hiung (@HaiHiung) · 2011-10-18 at 16:10

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.