#define GLOBAL_CLK 1 #include "def.h" #include "option.h" #include "2440addr.h" #include "2440lib.h" #include "2440slib.h" #include "word.h" /* *#define LCD_W35 * *#elif defined(LCD_W35) * *#define LCD_WIDTH 320 宽 //在option.h 文件里面有他们的定义 *#define LCD_HEIGHT 240 高 *#define LCD_PIXCLOCK 4 时钟参数 *#define LCD_RIGHT_MARGIN 0x44 右边沿 *#define LCD_LEFT_MARGIN 0x04 左边沿 *#define LCD_HSYNC_LEN 0x01 行无效脉冲宽度 *#define LCD_UPPER_MARGIN 10 上边沿 *#define LCD_LOWER_MARGIN 4 下边沿 *#define LCD_VSYNC_LEN 1 列无效脉冲宽度 *#define LCD_CON5 ((1<<11) | (1<<8) | (1<<9) | (1<<0) ) */ unsigned int lcd_buf[LCD_HEIGHT][LCD_WIDTH]; //24bpp,定义为(unsigned int)32 位 void delay(unsigned int times); void lcd_init(void); void lcd_brush_background(unsigned int color); void lcd_draw_circle(unsigned int color, unsigned int radius); void lcd_draw_word(unsigned int x, unsigned int y, unsigned int color, const unsigned char ch[]); void lcd_draw_ascii(unsigned int x, unsigned int y, unsigned int color, const unsigned char ch[]); void lcd_put_pixel(unsigned int x, unsigned int y, unsigned int color); int Main(void) { lcd_init(); lcd_brush_background(0xffffff); //白 lcd_draw_word(80, 100, 0x00ff00, *word); lcd_draw_word(80, 200, 0x00ff00, *(word + 4)); lcd_draw_ascii(130, 80, 0xff0000, *(word + 8)); lcd_draw_ascii(130, 155, 0xff0000, *(word + 10)); lcd_draw_ascii(130, 230, 0xff0000, *(word + 12)); while (1) ; return 0; } void delay(unsigned int times) { int i; for (;times > 0; times--) for (i = 0; i < 400; i++) ; } void lcd_init(void) { rGPCCON = 0xaaaa02a9; //管脚配置用于LCD rGPCUP = 0xffffffff; rGPDCON = 0xaaaaaaaa; rGPDUP = 0xffffffff; rGPGCON |= (0x3<<8); //设置GPG4 为LCD_PWREN rGPGUP |= (0x1<<4); rGPGDAT |= (0x1<<4); rLCDCON1 = (LCD_PIXCLOCK<<8) ...