//************************************************* // Test ELT240320TP 240 x 320 Color LCD // @file main.c // @author Teerapong Tanadechopon [
[email protected]] // @since 2008 Oct 30 // @notes Microchip MPLAB IDE v8.01 // @notes Microchip C30 v3.02 // @notes Microchip MPLAB ICD2 // @notes dsPIC33FJ128GP708 // @notes X-TAL 8.00 MHz // @notes Fcy 40MHz // @notes This source code modify from the "ELT240320TP_DEMO_AVR (www.ThaiEasyElec.com)" // for PIC and dsPIC Microcontroller //*************************************************\
#include "p33FJ128GP708.h" #include "p33FJ128_cfg.c" #include "ELT240320TP.h" //############################################ // bmp to header file convertor version 3.0 // Author : www.ThaiEasyElec.com //############################################ // source bmp file : C:\Documents and Settings\MaIII\Desktop\smil46850f9ed81f3 copy.bmp // source pixel dept : 32 // target name : C:\Documents and Settings\MaIII\Desktop\smile.h // target pixel dept : 16 // target width : 19 // target height : 19 // ############################################ const unsigned short smile[] = { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7FF, 0x9EDE,0x869D,0x9EDE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xDFBF,0x6EFF,0x7F7F,0x5F9F,0x679F,0x575F,0x773F,0x6EBE, 0xDF9F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0x76DE,0x97BF,0x679F,0x679F,0x679F,0x5F9F, 0x679F,0x4F3F,0x4F3F,0x875F,0xAF1E,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x773F,0x679F,0x679F,0x679F, 0x679F,0x679F,0x679F,0x5F9F,0x5F9F,0x4F3F,0x3EBF,0x3EBF, 0x5E3D,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x6EFF,0x679F, 0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x679F,0x679F,0x679F,0x5F9F, 0x4F3F,0x4F3F,0x3EBF,0x3EBF,0xA6DE,0xFFFF,0xFFFF,0xFFFF, 0xDFBF,0x979F,0x679F,0x5F9F,0x032F,0x032F,0x5F9F,0x679F, 0x679F,0x679F,0x5F9F,0x032F,0x032F,0x3EBF,0x46FF,0x6EBE, 0xD75E,0xFFFF,0xFFFF,0x6EFF,0x679F,0x679F,0x032F,0x5F9F, 0x5F9F,0x032F,0x679F,0x679F,0x679F,0x032F,0x5F9F,0x4F3F, 0x032F,0x3EBF,0x3EBF,0x459B,0xFFFF,0xFFFF,0x875F,0x679F, 0x679F,0x032F,0x5F9F,0x5F9F,0x032F,0x679F,0x679F,0x5F9F, 0x032F,0x5F9F,0x4F3F,0x032F,0x3EBF,0x3EBF,0x5E3D,0xFFFF, 0x9EFE,0x577F,0x679F,0x0476,0x5F9F,0x5F9F,0x5F9F,0x5F9F, 0x679F,0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x0476, 0x365F,0x361E,0x8DD9,0x869D,0x577F,0x0476,0x679F,0x5F9F,
0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x5F9F,0x577F,0x5F9F,0x4F3F, 0x4F3F,0x3EBF,0x3EBF,0x0476,0x361E,0x759A,0x9EDE,0x575F, 0x577F,0x5F9F,0x0476,0x0476,0x2D7B,0x2D7B,0x361E,0x361E, 0x361E,0x2D7B,0x2D7B,0x0476,0x0476,0x365F,0x365F,0x2DDD, 0x8DD9,0xD77F,0x3EBF,0x577F,0x0476,0xFFFF,0xFFFF,0xEF7D, 0xEF7D,0xE71C,0xE71C,0xE71C,0xEF7D,0xEF7D,0xFFFF,0xEF7D, 0x0476,0x361E,0x2D7B,0xD71D,0xFFFF,0x76BF,0x0476,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF7D,0xEF7D,0xEF7D,0xFFFF, 0xFFFF,0xFFFF,0xEF7D,0xEF7D,0x0476,0x4539,0xFFFF,0xFFFF, 0xD77E,0x0476,0xFFFF,0xFFFF,0xFFFF,0xC618,0xFFFF,0xFFFF, 0xC618,0xFFFF,0xFFFF,0xC618,0xFFFF,0xEF7D,0xEF7D,0x0476, 0xA63A,0xFFFF,0xFFFF,0xFFFF,0x0476,0xFFFF,0xFFFF,0xC618, 0xC618,0xC618,0xC618,0xC618,0xC618,0xC618,0xC618,0xC618, 0xEF7D,0xEF7D,0x4CD8,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0x0476,0xFFFF,0xFFFF,0xC618,0xFFFF,0xFFFF,0xC618,0xFFFF, 0xFFFF,0xC618,0xEF7D,0xEF7D,0x4539,0xF7DF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0476,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF7D,0xEF7D,0x4CD8,0xF7DF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0x0476,0x0476,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x4539, 0xA63A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0476,0x0476,0x0476, 0x0476,0x0476,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF}; //=========================================== // Prototype //=========================================== void dsPICConfig(); //------------------------------------------// Main function for this program //------------------------------------------void main(void) { dsPICConfig(); TSLCDRst(); TSLCDInit(); setBitBL; delay(3000); TSLCDFillRect(0,TS_SIZE_X-1,0,TS_SIZE_Y-1,TS_COL_AQUA,TS_MODE_NORMAL); TSLCDFillRect(0,TS_SIZE_X-1,0,80,TS_COL_WHITE,TS_MODE_NORMAL); TSLCDSetFontColor(TS_COL_BLUE); TSLCDPrintStr(2,0," Testing ELT240320TP TSLCDPrintStr(3,0," with dsPIC33FJ128GP708
",TS_MODE_NORMAL); ",TS_MODE_NORMAL);
TSLCDFillRect(195,205,71,TS_SIZE_Y-1,TS_COL_WHITE,TS_MODE_NORMAL); TSLCDFillCirc(200,170,30,TS_COL_WHITE,TS_MODE_NORMAL); TSLCDFillCirc(200,170,20,TS_COL_RED,TS_MODE_NORMAL);
TSLCDFillRect(20,80,110,150,TS_COL_BLACK,TS_MODE_NORMAL); TSLCDFillRect(30,90,120,160,TS_COL_YELLOW,TS_MODE_NORMAL); TSLCDFillRect(20,80,180,220,TS_COL_BLACK,TS_MODE_NORMAL); TSLCDFillRect(30,90,190,230,TS_COL_RED,TS_MODE_NORMAL); TSLCDFillRect(0,TS_SIZE_X-1,250,TS_SIZE_Y-1,TS_COL_BLACK,TS_MODE_NORMAL); TSLCDSetFontColor(TS_COL_BLUE); TSLCDSetBackColor(TS_COL_BLACK); TSLCDPrintStr(16,0,"Original Firmware by",TS_MODE_FULL); TSLCDPrintStr(17,0," www.ThaiEasyElec.com",TS_MODE_FULL); TSLCDPrintStr(18,0,"Port for dsPIC by ",TS_MODE_FULL); TSLCDSetFontColor(TS_COL_GREEN); TSLCDPrintStr(18,18,"ultra_mcu",TS_MODE_FULL); TSLCDShowPic(207,225,28,46,smile,TS_MODE_FULL); while(true); } //--------------------------------------------------// Function for config dsPIC //--------------------------------------------------void dsPICConfig() { // PLL Config Fcy = 40MIPS CLKDIV &= 0xFFE0; (N1=2) CLKDIV &= 0xFF3F; (N2=2) PLLFBD = 0x26; 000100110(M=40) while(!OSCCONbits.LOCK); OSCCONbits.CLKLOCK = 1; // Set AN0-AN15 to Digital I/O AD1PCFGL = 0xFFFF; Digital I/O AD2PCFGL = 0xFFFF; Digital I/O }
// PLLPRE[4..0] = 00000 // PLLPOST[1:0] = 00 // PLLDIV[8..0] = // Wait PLL to Lock // Disable PLL Modify //Setup PORTB to //Setup PORTB to