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.
2 Comments
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.