亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd_320x240.c

?? fs2410bios程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
   copyright(c) 2006, ShenZhen uCdragon Technology Co., Ltd.
   All rights reserved.

   file:     lcd_320x240.c
   description: test Samsung's 3.5" Color TFT-LCD LTV350QV-F05.
               The initial and control, 16Bpp mode.
   platform: FS2410DEV V6.0
   creat:    ???
   modify:   zhongzm
   date:     2006/5/15 - ?
   version:  1.01
*/

#include <string.h>
#include "2410addr.h"
#include "2410lib.h"
#include "def.h"
#include "2410slib.h"
#include "BMP_16BPP_320_240.h"


#define BSWP         (0)                  // Byte swap control
#define HWSWP        (1)                  // Half word swap control

#define M5D(n)       ((n) & 0x1fffff)     // get lower 21bits

// FCLK = 200MHz, HCLK = 100MHz
// VCLK = HCLK / [(CLKVAL+1) * 2]  (CLKVAL >= 0)
#define CLKVAL_TFT_320240       (7)

// TFT 320 x 240
#define LCD_XSIZE_TFT_320240    (320)
#define LCD_YSIZE_TFT_320240    (240)

// TFT 320 x 240
#define SCR_XSIZE_TFT_320240    (320)
#define SCR_YSIZE_TFT_320240    (240)

// TFT320 x 240
#define HOZVAL_TFT_320240       (LCD_XSIZE_TFT_320240 - 1)
#define LINEVAL_TFT_320240      (LCD_YSIZE_TFT_320240 - 1)

/*
 (1) Apply the following parameters to LTV350QV-F05 only!
 (2) LTV350QV-F05 works at SYNC mode, it use three control lines only: VCLK,
     HSYNC, VSYNC signals, the VDEN and LEND is not used. 
 (3) Setup timing parameter:
*/
#define VBPD_320240     (4)     //垂直同步信號的后肩
#define VFPD_320240     (4)     //垂直同步信號的前肩
#define VSPW_320240     (4)     //垂直同步信號的脈寬

#define HBPD_320240     (13)    //水平同步信號的后肩
#define HFPD_320240     (4)     //水平同步信號的前肩
#define HSPW_320240     (18)    //水平同步信號的脈寬

// GPB1/TOUT1 for Backlight control(PWM)
#define GPB1_TO_OUT()   (rGPBUP &= 0xfffd, rGPBCON &= 0xfffffff3, rGPBCON |= 0x00000004)
#define GPB1_TO_1()     (rGPBDAT |= 0x0002)
#define GPB1_TO_0()     (rGPBDAT &= 0xfffd)

volatile static unsigned short LCD_BUFER[SCR_YSIZE_TFT_320240][SCR_XSIZE_TFT_320240];


/*-------------------------- function declaration ---------------------------*/
static void Lcd_EnvidOnOff(int onoff);


/*-----------------------------------------------------------------------------
 *  LCD PWREN端口初始化, no use
 */
static void Lcd_Pwren_Init_On_Off( unsigned char m )
{
    rGPGCON = rGPGCON | (3<<8) ;
    rGPGUP = rGPGUP & ( ~(1<<4) ) ;
    if( m == TRUE )
        rGPGDAT = rGPGDAT | (1<<4) ;
    else
        rGPGDAT = rGPGDAT & ( ~(1<<4) );
}

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD數據和控制端口初始化
 */
void Lcd_Port_Init( void )
{
    //rGPCUP  = 0xffffffff; // Disable Pull-up register
    rGPCUP  = 0x00000000;
    //rGPCCON = 0xaaaa56a9; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND
    rGPCCON = 0xaaaa02a9;  //qjy: for avr config lcd!!!

    //rGPDUP  = 0xffffffff; // Disable Pull-up register
    rGPDUP  = 0x00000000;
    rGPDCON = 0xaaaaaaaa; //Initialize VD[15:8]
    
    Lcd_Pwren_Init_On_Off( TRUE ) ;
}

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD功能模塊初始化
 */
void Lcd_Init(void)
{
    // TFT LCD panel, 16bpp TFT, ENVID=off
    rLCDCON1 = (CLKVAL_TFT_320240<<8) | (0<<7) | (3<<5) | (12<<1) | 0;
    rLCDCON2 = (VBPD_320240<<24) | (LINEVAL_TFT_320240<<14) | (VFPD_320240<<6)
             | (VSPW_320240);
    rLCDCON3 = (HBPD_320240<<19) | (HOZVAL_TFT_320240<<8) | (HFPD_320240);
    rLCDCON4 = (13<<8) | (HSPW_320240);
    rLCDCON5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6)
             | (1<<3)  |(BSWP<<1) | (HWSWP);

    rLCDSADDR1 = (((U32)LCD_BUFER>>22)<<21) | M5D((U32)LCD_BUFER>>1);
    rLCDSADDR2 = M5D( ((U32)LCD_BUFER
               +(SCR_XSIZE_TFT_320240*LCD_YSIZE_TFT_320240*2))>>1 );
    rLCDSADDR3 = (((SCR_XSIZE_TFT_320240-LCD_XSIZE_TFT_320240)/1)<<11)
                |(LCD_XSIZE_TFT_320240/1);
    
    rLCDINTMSK |= (3);    // MASK LCD Sub Interrupt
    rLPCSEL &= (~7) ;     // Disable LPC3480
    rTPAL = 0 ;           // Disable Temp Palette
}

/*-----------------------------------------------------------------------------
 *  LCD視頻和控制信號輸出或者停止,1開啟視頻輸出
 */
void Lcd_EnvidOnOff(int onoff)
{
    if(onoff == 1)
        rLCDCON1 |= 1;         // ENVID=ON
    else
        rLCDCON1 &= 0x3fffe;   // ENVID Off
}

/*-----------------------------------------------------------------------------
 *  LPC3600 is a timing control logic unit for LTS350Q1-PD1 or LTS350Q1-PD2
 *  no use
 */
static void Lcd_Lpc3600Enable(void)
{
    rLPCSEL &= ~(7);
    rLPCSEL |= (7);    // 320240, Enable LPC3480
}    

/*-----------------------------------------------------------------------------
 *  320 x 240 16Bpp TFT LCD 背光控制使能
 */
static void Lcd_Black_Light_On_Off( unsigned char m )
{
    rGPBCON = rGPBCON & (~(3<<10)) | (1<<10) ;    //GPB5 is output
    rGPBUP  = rGPBUP & (~(1<<5)) ;                 //GPB5 pull-up is enable
    
    if ( m > 0 ) rGPBDAT |= (1<<5) ;      //GPB5 output HIGH
    else rGPBDAT &= (~(1<<5));            //GPB5 output LOW
}    

/*-----------------------------------------------------------------------------
 *  320 x 240 16Bpp TFT LCD 電源控制引腳使能, no use
 */
static void Lcd_PowerEnable(int invpwren, int pwren)
{
    //GPG4 is setted as LCD_PWREN
    rGPGUP = rGPGUP | (1<<4);         // Pull-up disable
    rGPGCON = rGPGCON | (3<<8);       //GPG4=LCD_PWREN
    
    //Enable LCD POWER ENABLE Function
    rLCDCON5 = rLCDCON5 & (~(1<<3)) | (pwren<<3);      // PWREN
    rLCDCON5 = rLCDCON5 & (~(1<<5)) | (invpwren<<5);   // INVPWREN
}

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD移動觀察窗口
 */
static void Lcd_MoveViewPort(int vx, int vy)
{
    U32 addr;

    SET_IF(); 
    #if (LCD_XSIZE_TFT_320240<32)
            while((rLCDCON1>>18)<=1);       // if x<32
    #else
            while((rLCDCON1>>18) == 0);     // if x>32
    #endif
    
    addr = (U32)LCD_BUFER+(vx*2)+vy*(SCR_XSIZE_TFT_320240*2);
    rLCDSADDR1= ( (addr>>22)<<21 ) | M5D(addr>>1);
    rLCDSADDR2= M5D(((addr+(SCR_XSIZE_TFT_320240*LCD_YSIZE_TFT_320240*2))>>1));
    CLR_IF();
}    

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD移動觀察窗口
 */
static void MoveViewPort(void)
{
    int vx=0, vy=0, vd=1;

    Uart_Printf("\n*Move the LCD view windos:\n");
    Uart_Printf(" press 8 is up\n");
    Uart_Printf(" press 2 is down\n");
    Uart_Printf(" press 4 is left\n");
    Uart_Printf(" press 6 is right\n");
    Uart_Printf(" press Enter to exit!\n");

    while(1) {
        switch(Uart_Getch()) {
        case '8':
            if(vy >= vd) vy -= vd;
            break;
            
        case '4':
            if(vx>=vd)vx-=vd;
            break;
            
        case '6':
            if(vx<=(SCR_XSIZE_TFT_320240-LCD_XSIZE_TFT_320240-vd)) vx += vd;
            break;
            
        case '2':
            if(vy<=(SCR_YSIZE_TFT_320240-LCD_YSIZE_TFT_320240-vd)) vy += vd;
            break;
            
        case '\r':
            return;
            
        default:
            break;
        }
        //Uart_Printf("vx = %3d, vy = %3d\n", vx, vy);
        Lcd_MoveViewPort(vx, vy);
    }
}

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD單個象素的顯示數據輸出
 */
static void PutPixel(U32 x,U32 y,U16 c)
{
    if(x<SCR_XSIZE_TFT_320240 && y<SCR_YSIZE_TFT_320240)
        LCD_BUFER[(y)][(x)] = c;
}

/*-----------------------------------------------------------------------------
 *  320 x 240 TFT LCD全屏填充特定顏色單元或清屏
 */
static void Lcd_ClearScr( U16 c)
{
    unsigned int x, y;
    
    for( y = 0 ; y < SCR_YSIZE_TFT_320240 ; y++ )
    {
        for( x = 0 ; x < SCR_XSIZE_TFT_320240 ; x++ )
        {
            LCD_BUFER[y][x] = c ;
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品久久天天躁| 日韩欧美国产高清| 成人免费va视频| 国产一区二区三区香蕉| 麻豆国产欧美日韩综合精品二区| 视频一区中文字幕国产| 亚洲观看高清完整版在线观看| 亚洲国产综合视频在线观看| 亚洲一区在线观看免费| 亚洲国产美女搞黄色| 亚洲国产精品欧美一二99| 午夜国产精品一区| 蜜桃免费网站一区二区三区| 免费成人性网站| 狠狠色综合播放一区二区| 国产精品66部| 成人va在线观看| 色综合色狠狠天天综合色| 日本高清免费不卡视频| 欧美日韩国产综合一区二区三区 | 国产精品一区二区免费不卡| 粉嫩av一区二区三区粉嫩 | 久久一区二区三区国产精品| 国产无人区一区二区三区| 国产精品麻豆网站| 亚洲男人天堂av网| 男女视频一区二区| 国产99久久久久| 色婷婷亚洲精品| 在线综合+亚洲+欧美中文字幕| 日韩午夜激情视频| 中国色在线观看另类| 一区二区三区资源| 免费在线观看一区| 成人精品视频.| 欧美网站大全在线观看| 精品国产一区二区三区四区四| 日本一区二区电影| 亚洲国产精品欧美一二99| 精品中文字幕一区二区小辣椒| 成人av网站在线| 欧美一区在线视频| 中文一区一区三区高中清不卡| 一区二区激情视频| 国产在线不卡一区| 欧美在线一二三四区| 久久午夜国产精品| 亚洲综合免费观看高清在线观看| 久久国产综合精品| 91激情在线视频| 久久一夜天堂av一区二区三区| 亚洲自拍偷拍麻豆| 国产专区综合网| 欧美日韩视频在线第一区 | 久久精品夜夜夜夜久久| 亚洲一区在线免费观看| 激情丁香综合五月| 欧美午夜理伦三级在线观看| 2023国产精华国产精品| 一个色在线综合| 国产高清久久久| 欧美日韩黄色影视| 亚洲三级在线播放| 国产精品1区二区.| 欧美日韩国产高清一区二区三区| 国产精品美女久久久久久2018| 日韩av一区二| 欧美在线观看一二区| 中文字幕乱码久久午夜不卡| 蜜桃视频免费观看一区| 欧美日韩中文字幕一区| 国产精品久久久久久久岛一牛影视 | 91伊人久久大香线蕉| 精品国产91乱码一区二区三区 | 免费观看在线综合| 日本乱人伦一区| 国产欧美日韩综合| 久久99久久99精品免视看婷婷 | 五月婷婷激情综合| 91免费观看视频在线| 亚洲国产成人午夜在线一区| 精品一区二区精品| 欧美一区二区三区喷汁尤物| 亚洲午夜视频在线观看| 色老综合老女人久久久| 国产精品污www在线观看| 国产毛片精品视频| 欧美不卡视频一区| 日本欧美在线观看| 欧美高清视频www夜色资源网| 一区二区不卡在线视频 午夜欧美不卡在 | 激情综合色播激情啊| 日韩三级视频在线看| 视频在线观看一区| 欧美日韩精品高清| 图片区小说区区亚洲影院| 欧美日韩一区二区在线观看视频| 亚洲最大成人网4388xx| 色综合欧美在线视频区| 一区二区三区在线免费播放| 91尤物视频在线观看| 伊人开心综合网| 欧亚洲嫩模精品一区三区| 亚洲精品写真福利| 欧美性受xxxx黑人xyx性爽| 一区二区三区精品视频在线| 色激情天天射综合网| 亚洲综合一区二区精品导航| 欧美日韩在线亚洲一区蜜芽| 亚洲国产wwwccc36天堂| 欧美精品v国产精品v日韩精品| 亚洲v日本v欧美v久久精品| 欧美欧美午夜aⅴ在线观看| 天天操天天综合网| 日韩精品一区二区三区老鸭窝| 久久99精品久久久久婷婷| 国产婷婷色一区二区三区四区 | 欧美激情一区二区三区在线| 国产a精品视频| 亚洲色欲色欲www| 欧美中文字幕一区二区三区亚洲 | va亚洲va日韩不卡在线观看| 一区视频在线播放| 在线日韩一区二区| 日韩成人免费看| 久久尤物电影视频在线观看| 不卡av免费在线观看| 一区二区三区欧美视频| 在线成人av网站| 国产呦萝稀缺另类资源| 国产精品久久久久桃色tv| 色香蕉久久蜜桃| 日本va欧美va精品| 国产日韩av一区| 国产精品免费观看视频| 色婷婷av一区二区三区gif| 亚洲一区在线播放| 日韩精品中文字幕一区二区三区 | 亚洲欧美福利一区二区| 欧美三区免费完整视频在线观看| 男女性色大片免费观看一区二区 | 中文字幕一区二区不卡| 欧美性xxxxx极品少妇| 久久精品免费看| 欧美国产日韩a欧美在线观看| 色综合久久久久久久| 免费成人你懂的| 国产精品久久久久天堂| 91精品国产综合久久蜜臀| 国产99久久久国产精品免费看| 一区二区三区四区不卡在线| 日韩欧美中文字幕一区| 99久久久久久99| 玖玖九九国产精品| 亚洲精品成人a在线观看| 日韩精品一区二区三区中文不卡| av在线不卡免费看| 蜜桃视频一区二区| 一区二区三区四区中文字幕| 精品91自产拍在线观看一区| 色视频成人在线观看免| 国产在线播放一区二区三区| 亚洲一区精品在线| 国产日韩v精品一区二区| 91精品国产福利| 色婷婷综合久色| 国产精品影视在线| 日韩激情在线观看| 亚洲精品高清在线| 国产欧美日韩中文久久| 欧美一区二区日韩| 欧美影院精品一区| 97久久精品人人做人人爽| 激情综合色综合久久| 三级成人在线视频| 一区二区三区在线播放| 国产精品私房写真福利视频| 欧美一级午夜免费电影| 欧美午夜不卡在线观看免费| 91在线播放网址| 波多野结衣欧美| 国产福利精品一区| 老司机免费视频一区二区 | av影院午夜一区| 国产在线精品免费av| 免费成人你懂的| 亚洲a一区二区| 夜夜爽夜夜爽精品视频| 亚洲桃色在线一区| 中文字幕第一页久久| 国产午夜精品久久久久久免费视| 欧美电影免费提供在线观看| 欧美高清视频在线高清观看mv色露露十八| 91视视频在线观看入口直接观看www | 亚洲123区在线观看| 亚洲欧美精品午睡沙发| 亚洲色欲色欲www在线观看| 国产精品乱码人人做人人爱 | 国产黄色91视频| 国产精品一区二区在线观看不卡|