<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                參數配置: 開發板型號TX2440;? 一個像素點采用16位表示; LCD屏幕分辨率 480*272; 液晶模塊型號:BL43014_SPEC;圖像的內容以C語言數組的形式保存在bmp.c文件中。 ~~~ /* *版權所有(C)2015,ZJU * *文件名稱:lcd.c *內容摘要:關于lcd的配置 *其它說明:開發板型號: TX2440 * led顯示尺寸 480 x 272 液晶模塊型號:BL43014_SPEC *當前版本:V1.0 *作 者:Frank *完成日期:2015.12.20 * */ #define GPCCON (*(volatile unsigned long *)0x56000020) #define GPDCON (*(volatile unsigned long *)0x56000030) #define GPGCON (*(volatile unsigned long *)0x56000060) //LCD控制寄存器定義 #define LCDCON1 (*(volatile unsigned long *)0x4D000000) #define LCDCON2 (*(volatile unsigned long *)0x4D000004) #define LCDCON3 (*(volatile unsigned long *)0x4D000008) #define LCDCON4 (*(volatile unsigned long *)0x4D00000C) #define LCDCON5 (*(volatile unsigned long *)0x4D000010) #define LCDSADDR1 (*(volatile unsigned long *)0x4D000014) #define LCDSADDR2 (*(volatile unsigned long *)0x4D000018) #define LCDSADDR3 (*(volatile unsigned long *)0x4D00001C) #define TPAL (*(volatile unsigned long *)0x4D000050) /*以下宏定義的值參考所使用的LCD液晶模塊的芯片手冊*/ #define VSPW 9 #define VBPD 7 #define LINEVAL 271 #define VFPD 7 #define CLKVAL 4 // 10 = 100 / ((CLKVAL+1)*2) #define HSPW 40 #define HBPD 39 #define HOZVAL 479 #define HFPD 4 unsigned short LCDBUFFER[272][480]; //定義一個LCD圖像緩存空間 extern unsigned char bmp[90200]; typedef unsigned char U8; typedef unsigned short int U16; typedef unsigned int U32; /******************************************************************* *函數名稱:Lcd_Port_Init() *功能描述:LCD端口初始化 *其他說明:配置LCD用到的GPIO端口 *創建日期:2015.12.20 *******************************************************************/ void Lcd_Port_Init(void) { GPDCON = 0xaaaaaaaa; GPCCON = 0xaaaaaaaa; } /******************************************************************* *函數名稱:Lcd_Control_Init() *功能描述:LCD控制寄存器初始化 *其他說明:配置LCD用到的控制寄存器 *創建日期:2015.12.20 *******************************************************************/ void Lcd_Control_Init(void) { LCDCON1 = (CLKVAL << 8) | (0x3 << 5) | (0xC << 1) | (0 << 0); LCDCON2 = (VBPD << 24) | (LINEVAL << 14) | (VFPD << 6) | (VSPW); LCDCON3 = (HBPD << 19) | (HOZVAL << 8) | (HFPD); LCDCON4 = HSPW; // LCDCON5 = (1 << 11) | (1 << 9) | (1 << 8) | (1 << 0); LCDCON5 = (1 << 11) | (1 << 9) | (1 << 8); LCDSADDR1 = (((unsigned int)LCDBUFFER >> 22) << 21) | (((unsigned int)LCDBUFFER >> 1) & 0x1fffff); LCDSADDR2 = (((unsigned int)LCDBUFFER + 272*480*2) >> 1) & 0x1fffff; LCDSADDR3 = (0 << 11) | (480*2 / 2); TPAL = 0; } /******************************************************************* *函數名稱:Lcd_Init() *功能描述:LCD初始化 *其他說明: *創建日期:2015.12.20 *******************************************************************/ void Lcd_Init() { Lcd_Port_Init(); Lcd_Control_Init(); /*打開LCD電源*/ GPGCON |= (0x3 << 8); LCDCON5 |= (1 << 3); /*使能LCD控制器*/ LCDCON1 |= 1; } /******************************************************************* *函數名稱:point() *功能描述:在lcd上畫一個點 *其他說明: *創建日期:2015.12.20 *******************************************************************/ void Point(unsigned int x, unsigned int y, unsigned int color) { unsigned int red, green, blue; red = (color >> 19) & 0x1f; green = (color >> 10) & 0x3f; blue = (color >> 3) & 0x1f; /*采用5:6:5的模式表示一個RGB*/ LCDBUFFER[y][x] = (unsigned short)((red << 11) | (green << 5) | blue); } /******************************************************************* *函數名稱:Paint_Bmp(U16,U16,U16,U16,U8) *功能描述:LCD顯示一幅圖像 *輸入參數:(x0,y0)圖像顯示第一個點的坐標; high圖像的高度 wide圖像的寬度; bmp存儲圖像的數組 *其他說明: *創建日期:2015.12.20 *******************************************************************/ void Paint_Bmp(U16 x0, U16 y0, U16 wide, U16 high, const U8 *bmp) { unsigned short x, y; unsigned short c; unsigned int p = 0; for (y=y0; y<y0+high; y++) { for (x=x0; x<x0+wide; x++) { c = bmp[p] | (bmp[p+1]<<8); /*一個像素點由16位表示,bmp[p] 表示低8位,bmp[p+1]表示高8位*/ if ((x<480) && (y<272)) { LCDBUFFER[y][x] = c; } p = p + 2; } } } /******************************************************************* *函數名稱:Lcd_Test() *功能描述:LCD測試函數 *其他說明: *創建日期:2015.12.20 *******************************************************************/ void Lcd_Test(void) { int x; /* for (x=0; x<480; ++x) { Point(x++, 150, 0xff0000); } */ Paint_Bmp(0,0,220,220,bmp); } ~~~ 需要注意的幾點: 1、宏定義的值需要參考使用的LCD液晶模塊的芯片手冊(TX2440使用的LCD是BL43014_SPEC) ![](https://box.kancloud.cn/2016-07-26_579724f9a7b54.jpg) ![](https://box.kancloud.cn/2016-07-26_579724f9c733d.jpg) 圖1 BL43014_SPEC Input Time Table 2、液晶模塊的Vsync和Hsync的時序與S3C2440芯片手冊上的相反,所以LCDCON5中bit8和bit9需要設置為1。 ![](https://box.kancloud.cn/2016-07-26_579724f9e6495.jpg) 圖2 BL43014_SPEC Vertical Input Timing ![](https://box.kancloud.cn/2016-07-26_579724fa0cc5e.jpg) 圖3 TFT LCD Timing Example( S3C2440 Datasheet)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看