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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd.c

?? 12864類型的字符型液晶顯示程序 經(jīng)過調(diào)試 可以應(yīng)用 歡迎大家下載
?? C
字號:
#include "Lcd.h"
#include "Flash.h"
#include "Timer.h"

#ifdef _USE_LCD

const char HexTbl[16] ={
            '0','1','2','3',
            '4','5','6','7',
            '8','9','A','B',
            'C','D','E','F'
            };
            
uchar  BackLight_Cnt = 0;
            
void Lcd_LightOn()
{
    BackLight_Cnt = 0;
    LCD_BKLIGHT_ON;
    Start_TimerB();
}


/*************************************************************
LCD讀寫操作
*************************************************************/
void lcd_write_ctl(uchar txdata)
{  
   LCD_RD_DIS;
   _NOP();
   LCD_A0_CTL;                                      //寫控制字
   _NOP();
   LCD_CS_EN;                                       //片選使能
   _NOP();
   LCD_WR_EN;                                       //寫使能
   _NOP();
   P4OUT = txdata;                                  //送數(shù)據(jù)
   _NOP();
   LCD_WR_DIS;                                      //寫無效
   _NOP();
   LCD_CS_DIS;                                      //片選無效
   _NOP();
   LCD_A0_DATA;
}

void lcd_write_data(uchar txdata)
{  
   LCD_RD_DIS;
   _NOP();
   LCD_A0_DATA;                                     //寫數(shù)據(jù)
   _NOP();
   LCD_CS_EN;                                       //片選使能
   _NOP();
   LCD_WR_EN;                                       //寫使能
   _NOP();
   P4OUT = txdata;                                  //送數(shù)據(jù)
   _NOP();
   LCD_WR_DIS;                                      //寫無效
   _NOP();
   LCD_CS_DIS;                                      //片選無效
   _NOP();
   LCD_A0_CTL;
}

//字符為 16 x8, 顯示在row 和 row+1行
void Lcd_Char(uchar row, uchar col, uchar code)
{
   uchar i;
   ulong addr = ASCII_OFFSET + (((int)code)<<4);
   
   lcd_write_ctl(0x10+(col>>4));                    //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                         //配置低4字節(jié)
   lcd_write_ctl(0xb1+row);
   
   for(i=0;i<8;i++)
   { 
     lcd_write_data(Spi_Read(addr++));                      //寫數(shù)據(jù)
   }
  
   lcd_write_ctl(0x10+(col>>4));                    //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                         //配置低4字節(jié)
   lcd_write_ctl(0xb1+row);
   
   for(i=0;i<8;i++)
   { 
     lcd_write_data(Spi_Read(addr++));                      //寫數(shù)據(jù)
   } 
   
   lcd_write_ctl(0xAf);                             //display on(顯示開關(guān)的控制)
}


void Lcd_Hz(uchar row, uchar col, uint code)
{
   uchar i;
   ulong addr = ( (code>>8)-0xA1 )*94 + ( (code&0xFF)-0xA1 );
   addr = HANZI_OFFSET + (addr<<5);
   
   lcd_write_ctl(0x10 + (col>>4) );           //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                 //配置低4字節(jié)
   lcd_write_ctl(0xb0 + row);
   
   for(i=0;i<16;i++)
   { 
     lcd_write_data(Spi_Read(addr++));       //寫數(shù)據(jù)
   }
   
   lcd_write_ctl(0x10 + (col>>4));           //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                //配置低4字節(jié)
   lcd_write_ctl(0xb1 + row);
   
   for(i=0;i<16;i++)
   { 
     lcd_write_data(Spi_Read(addr++));      //寫數(shù)據(jù)
   }
   
   lcd_write_ctl(0xAf);                      //display on
}

void Lcd_Show(uchar row, uchar col, uchar *str)
{
    uchar rw=row,cl=col;
    uchar *pStr=str;
    while (*pStr)
    {
        if ((*pStr)&0x80)
        {
            if (cl>112) {rw+=2;cl=0;}//換行
            if (rw>6)  break;
            //漢字
            Lcd_Hz(rw,cl,((*pStr)<<8) + ((*(pStr+1))&0xFF) );
            pStr+=2;
            cl += 16;
        }else{
            if (cl>120) {rw+=2;cl=0;}//換行
            if (rw>6)  break;
            Lcd_Char(rw,cl, *pStr);
            ++pStr;
            cl += 8;
        }
    }
}


//字符為 16 x8, 顯示在row 和 row+1行
void Lcd_CharN(uchar row, uchar col, uchar code)
{
   uchar i;
   ulong addr = ASCII_OFFSET + (((int)code)<<4);
   
   lcd_write_ctl(0x10+(col>>4));                    //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                         //配置低4字節(jié)
   lcd_write_ctl(0xb0+row);
   
   for(i=0;i<8;i++)
   { 
     lcd_write_data(~Spi_Read(addr++));                      //寫數(shù)據(jù)
   }
  
   lcd_write_ctl(0x10+(col>>4));                    //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                         //配置低4字節(jié)
   lcd_write_ctl(0xb1+row);
   
   for(i=0;i<8;i++)
   { 
     lcd_write_data(~Spi_Read(addr++));                      //寫數(shù)據(jù)
   } 
   
   lcd_write_ctl(0xAf);                             //display on
}


void Lcd_HzN(uchar row, uchar col, uint code)
{
   uchar i;
   ulong addr = ( (code>>8)-0xA1 )*94 + ( (code&0xFF)-0xA1 );
   addr = HANZI_OFFSET + (addr<<5);
   
   lcd_write_ctl(0x10 + (col>>4) );           //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                 //配置低4字節(jié)
   lcd_write_ctl(0xb0 + row);
   
   for(i=0;i<16;i++)
   { 
     lcd_write_data(~Spi_Read(addr++));       //寫數(shù)據(jù)
   }
   
   lcd_write_ctl(0x10 + (col>>4));           //配置高4字節(jié)
   lcd_write_ctl(col & 0x0f);                //配置低4字節(jié)
   lcd_write_ctl(0xb1 + row);
   
   for(i=0;i<16;i++)
   { 
     lcd_write_data(~Spi_Read(addr++));      //寫數(shù)據(jù)
   }
   
   lcd_write_ctl(0xAf);                      //display on
}

void Lcd_ShowN(uchar row, uchar col, uchar *str)
{
    uchar rw=row,cl=col;
    uchar *pStr=str;
    while (*pStr)
    {
        if ((*pStr)&0x80)
        {
            if (cl>112) {rw+=2;cl=0;}//換行
            if (rw>6)  break;
            //漢字
            Lcd_HzN(rw,cl,((*pStr)<<8) + ((*(pStr+1))&0xFF) );
            pStr+=2;
            cl += 16;
        }else{
            if (cl>120) {rw+=2;cl=0;}//換行
            if (rw>6)  break;
            Lcd_CharN(rw,cl, *pStr);
            ++pStr;
            cl += 8;
        }
    }
}
//初始化LCD
void Init_LCD(void)                          
{
    P4DIR = 0XFF;                    // LCD 輸出
    P5DIR |= 0X3F;                  // P5.4 背光
                                    // P5.5 復(fù)位                 
    P5OUT |= BIT5;                  //結(jié)束復(fù)位

    lcd_write_ctl(0xa3);            //lcd bias set (1/7)
    lcd_write_ctl(0xa0);            //ADC normal
    lcd_write_ctl(0xc8);            //output scan normal direction(COM正向顯示)
    
    //lcd_write_ctl(0x2c);          //VC ON
    //lcd_write_ctl(0x2e);          //VR ON
    lcd_write_ctl(0X2f);            //VF ON 
    lcd_write_ctl(0xa6);            //Display normal
    lcd_write_ctl(0xf8);            //Booster ratio set
    lcd_write_ctl(0);               //2x 3x 4x
    Delay(5);
    
    lcd_write_ctl(0x81);                             
    Delay(5);
    lcd_write_ctl(0x05);            //對比度調(diào)整                           
    Delay(5);
    
    lcd_write_ctl(0x26);            //設(shè)置電阻分壓
    Delay(5);
    
    lcd_write_ctl(0xaf);            //display on  
    lcd_write_ctl(0x40);            //first line = COM1
    Delay(5);
}

void Lcd_Clear(uchar pattern)
{
    uint i,j;
    uchar tempdata=0xb0;
    
    for(j=0;j<8;j++)
    {
        lcd_write_ctl(0x10);
        lcd_write_ctl(0);              //設(shè)置為第一列
        
        lcd_write_ctl(tempdata++);     //第一列
        
        for(i=0;i<128;i++)
        {
            lcd_write_data(pattern);
        }
    }
}

void Lcd_ClearRow(uchar row ,uchar pattern)
{
    uint i;
   
    lcd_write_ctl(0x10);
    lcd_write_ctl(0);                                 //設(shè)置為第一列
    lcd_write_ctl(0xB0 + row);                        //指定行
    for(i=0;i<128;i++)
    {
        lcd_write_data(pattern);
    }
}

void Lcd_Hex(uchar row, uchar col, uchar val)
{
    Lcd_Char(row,col, HexTbl[(val>>4)&0xF] );
    Lcd_Char(row,col+8, HexTbl[val&0xF] );
}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产情人综合久久777777| 亚洲黄色性网站| 综合久久综合久久| 美女视频网站久久| 99精品欧美一区二区三区综合在线| 欧美精品一卡二卡| 亚洲综合色在线| 成人在线综合网站| 欧美一级理论片| 亚洲二区在线视频| 91视频在线观看免费| 久久久久久电影| 精品一区二区三区在线观看 | 国产精品白丝在线| 精品一区二区三区免费毛片爱 | 一区二区在线免费观看| 国产美女一区二区| 日韩精品一区二区三区视频在线观看 | 亚洲国产精品久久不卡毛片 | 日韩三级免费观看| 亚洲国产毛片aaaaa无费看| 99久久精品国产一区| 国产欧美一区在线| 国产乱人伦偷精品视频免下载| 欧美一区二区三级| 天堂av在线一区| 欧美丰满嫩嫩电影| 日韩福利电影在线观看| 欧美乱妇15p| 青青草原综合久久大伊人精品 | 丝袜亚洲另类欧美| 欧美高清视频一二三区| 午夜精品aaa| 欧美一区二区观看视频| 男男成人高潮片免费网站| 欧美一区日韩一区| 久久爱www久久做| 久久久高清一区二区三区| 国产一区二区免费视频| 国产亚洲精品久| 成人精品一区二区三区中文字幕| 国产欧美日韩综合| 波多野结衣中文字幕一区二区三区| 国产精品三级av在线播放| 成人激情免费视频| 一区二区三区在线不卡| 欧美日韩一本到| 日本视频一区二区| 精品福利一区二区三区免费视频| 国产在线不卡一区| 亚洲欧洲日韩女同| 日本高清不卡视频| 日韩福利视频网| 久久精品日韩一区二区三区| 99综合电影在线视频| 亚洲亚洲精品在线观看| 日韩午夜av电影| 国产精品一品视频| 一区二区三区自拍| 日韩一区和二区| 国产成人8x视频一区二区| 亚洲天堂成人在线观看| 欧美精品一二三四| 国产精品影视在线观看| 亚洲伦理在线免费看| 日韩一区二区视频在线观看| 国产.精品.日韩.另类.中文.在线.播放| 日韩一区在线播放| 日韩欧美精品在线| 一本色道**综合亚洲精品蜜桃冫| 日韩av成人高清| 国产精品久久久久天堂| 8x福利精品第一导航| 国产福利精品一区二区| 午夜精品免费在线观看| 国产色综合一区| 91精品国产综合久久国产大片| 国产99精品国产| 男人的天堂久久精品| 一区二区三区.www| 欧美激情综合五月色丁香| 欧美一级专区免费大片| 91蜜桃在线免费视频| 国产曰批免费观看久久久| 亚洲电影一级片| 国产精品乱人伦| 亚洲精品一区二区三区四区高清| 一本大道av伊人久久综合| 国产精品综合在线视频| 日韩av午夜在线观看| 一区二区三区不卡视频在线观看| 久久综合狠狠综合久久激情| 欧美老女人在线| 972aa.com艺术欧美| 国产精品亚洲成人| 麻豆传媒一区二区三区| 五月天婷婷综合| 亚洲sss视频在线视频| 一区二区三区在线免费视频| 国产精品情趣视频| 久久精品日韩一区二区三区| 欧美刺激午夜性久久久久久久| 欧美日韩国产乱码电影| 91丨国产丨九色丨pron| 成人美女视频在线观看| 国产精品99精品久久免费| 另类中文字幕网| 免费成人你懂的| 日韩精品午夜视频| 日本成人在线看| 日韩av不卡在线观看| 婷婷综合久久一区二区三区| 亚洲v精品v日韩v欧美v专区| 亚洲自拍都市欧美小说| 亚洲va韩国va欧美va| 午夜一区二区三区在线观看| 亚洲成人1区2区| 天天av天天翘天天综合网色鬼国产| 亚洲午夜久久久久久久久久久| 亚洲精品成人在线| 一区二区三区中文在线观看| 亚洲人精品一区| 亚洲国产精品一区二区www在线 | 色婷婷综合视频在线观看| 成人黄色777网| 一本大道av伊人久久综合| 欧美在线不卡视频| 6080午夜不卡| 亚洲精品在线电影| 欧美国产欧美综合| 亚洲精品免费视频| 日韩电影在线看| 国产一区二区主播在线| 成人激情动漫在线观看| 欧美午夜精品久久久久久超碰| 欧美福利视频一区| 久久久精品日韩欧美| 亚洲裸体xxx| 日av在线不卡| 成人成人成人在线视频| 91国产免费观看| 日韩欧美一级二级三级久久久| 久久亚洲免费视频| 亚洲欧美乱综合| 麻豆国产欧美一区二区三区| 国产精品原创巨作av| 欧亚洲嫩模精品一区三区| 欧美精品日日鲁夜夜添| 国产日产精品1区| 亚洲一区二区av在线| 国内精品伊人久久久久av一坑 | 欧美最猛黑人xxxxx猛交| 日韩欧美一级在线播放| 中文字幕一区不卡| 天天综合网 天天综合色| 国产一区二区三区国产| 欧美日韩黄色一区二区| 国产日韩在线不卡| 丝袜a∨在线一区二区三区不卡| 国产一区视频在线看| 欧美日韩视频专区在线播放| 久久久久久综合| 日韩精品久久久久久| a4yy欧美一区二区三区| 精品国产一区二区三区久久影院| 亚洲综合一区二区精品导航| 国产一区二区伦理| 3d成人h动漫网站入口| 日韩毛片一二三区| 国产精品一区不卡| 日韩欧美国产高清| 亚洲成人精品在线观看| 成人高清在线视频| www一区二区| 麻豆精品久久精品色综合| 91色porny| 国产精品网站在线播放| 韩国午夜理伦三级不卡影院| 精品视频在线看| 亚洲欧美激情一区二区| 福利视频网站一区二区三区| 日韩小视频在线观看专区| 亚洲一卡二卡三卡四卡| 91在线视频免费91| 国产精品乱码妇女bbbb| 国产福利一区在线观看| 欧美一级xxx| 免费成人美女在线观看| 欧美人与z0zoxxxx视频| 亚洲在线视频免费观看| 94-欧美-setu| 中文字幕亚洲视频| 成人午夜精品一区二区三区| 26uuu成人网一区二区三区| 免费久久99精品国产| 欧美一级二级在线观看| 日韩二区三区四区| 91精品国产综合久久久久久漫画 | 久久se精品一区精品二区| 91精品国产综合久久久蜜臀粉嫩|