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

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

?? lcd_driver.c

?? ST7565_Driver_menu.rar
?? C
字號:
/*
控制器:st7565
串行驅動方式,唯一要注意的一點就是WR和RD這兩個引腳雖然用不到,但是要接地,
否則無法正常顯示。當時調了很久。不知道其他廠家的是否也這樣。 

*/
#include <AT89X52.H>
#include <INTRINS.H>

#include  "LCD_Driver.h"
//字庫
#include "hzk.h"

//當前字符顯示的位置
//unsigned char  Lcd_Charcter_CurrentX,Lcd_Charcter_CurrentY;
//當前像素顯示位置
unsigned char  Lcd_CurrentX,Lcd_CurrentY;
//圖像反色顯示 0 否 1是
bit LCD_DisplayReserve_Driver; 

//定義LCD顯示的全局變量
#define CS_Port                 P3_0
#define A0_Port                 P3_1
#define SI_Port                 P3_2
#define SCL_Port                P3_3
#define RST_Port                P3_4
enum PINDefine{CS,A0,SI,SCL,RST};

//設置某一位
void  SETBit(unsigned char PIN)
{

switch (PIN)
{
case CS :
CS_Port=1;
break;

case A0 :
A0_Port=1;
break;

case SI :
SI_Port=1;
break;

case SCL :
SCL_Port=1;
break;

case RST :
RST_Port=1;
break;
}


}

//清某一位
void  CLRBit(unsigned char PIN)
{
switch (PIN)
{
case CS :
CS_Port=0;
break;

case A0 :
A0_Port=0;
break;

case SI :
SI_Port=0;
break;

case SCL :
SCL_Port=0;
break;

case RST :
RST_Port=0;
break;
}
}


/***********************************
** 函數名稱: Delay
** 功能描述: 延時時間=(n*9+17)*12/F
** 輸 入: n
** 輸 出 : 無
** 全局變量:無
** 調用模塊: 無
******************************************/

void LCD_DelayMS(unsigned int n)
{
    while(n--);
	return;
}

//--------------------------------------------------------------------------
//串口移位輸出
//--------------------------------------------------------------------------
void LCDShiftWrite(char datain)
{ 
unsigned char i;
unsigned char Series,Temp;
Series = datain;

for(i=8;i>0;i--)
{
CLRBit(SCL); //SCL=0
Temp=Series & 0x80;
if(Temp)
{
SETBit(SI);//SI=1
}
else 
{
CLRBit(SI);//SI=0
}
SETBit(SCL); //SCL=1 
Series = Series << 1; 
}

}
/***********************************
** 函數名稱: Write_Data
** 功能描述: 傳送數據
** 輸 入: dat
** 輸 出 : 無
** 全局變量:無
** 調用模塊: Busy,
******************************************/

void Write_Data(unsigned char dat) 
{
CLRBit(CS); //CS=0
SETBit(A0); //A0=1,數據
LCDShiftWrite(dat); 
SETBit(CS); //CS=1;
return;			    
}

/***********************************
** 函數名稱: Write_Instruction
** 功能描述: 傳送命令
** 輸 入: dat
** 輸 出 : 無
** 全局變量:無
** 調用模塊: Busy,
******************************************/

void Write_Instruction(unsigned char cmd)
{
CLRBit(CS); //CS=0
CLRBit(A0); //A0=0,命令
LCDShiftWrite(cmd);
SETBit(CS); //CS=1;
return;
}

//==============================================================================高一級函數
//設置像素顯示坐標(x:0-127,y:0-7)
void LCD_setpos_Driver(unsigned char Lx,unsigned char Ly)
{
 Write_Instruction(0xB0|Ly);// Page(Row)
 Write_Instruction((0x10|(Lx>>4)));
 Write_Instruction((0x0f&Lx));
 Lcd_CurrentX=Lx;
 Lcd_CurrentY=Ly;

}
/*
//設置像素顯示坐標(x:0-127)
void LCD_setposX_Driver(unsigned char Lx)
{
 Write_Instruction((0x10|(Lx>>4)));
 Write_Instruction((0x0f&Lx));
}
//設置像素顯示坐標(y:0-7)
void LCD_setposY_Driver(unsigned char Ly)
{
 Write_Instruction(0xB0|Ly);// Page(Row)
}
*/

//設置字符位置(x:0-8,y:0-3)
void LCD_setCharpos_Driver(unsigned char Lx,unsigned char Ly)
{
//當前像素顯示位置
Lcd_CurrentX=Lx*16;
Lcd_CurrentY=Ly*2;
LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
}


//清屏
void LCD_CLS_Driver(char value)  
{  
unsigned char i,n;  

for(i=0;i<9;i++)  
{  
LCD_setpos_Driver(0,i);  
          
for(n=0;n<128;n++)  
{  
Write_Data(value);  
}
}

}
//顯示BMP圖片
void LCD_DisplayBMP_Driver(unsigned char *PicData)  //信息顯示
{
unsigned char BMPwithLen,BMPheightLen;
unsigned char BMPwith; 
unsigned char BMPheight;
BMPwith=*PicData;
PicData++;
BMPheight=(*PicData)/8;
PicData++; 

//BMPLen=BMPheight/8*BMPwith

for(BMPheightLen=0;BMPheightLen<BMPheight;BMPheightLen++)
{
   Lcd_CurrentY++;
   LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
    for(BMPwithLen=0;BMPwithLen<BMPwith;BMPwithLen++)
    {
        //圖像反色顯示 0 否 1是
        if (LCD_DisplayReserve_Driver==0)
        {
        Write_Data(*PicData);
        }
        else
        {
        Write_Data(~(*PicData));
        }
        PicData++;
    };
}

}

void LCD_disp_DisplayImage_Driver(unsigned char * PicData,unsigned char PicLen)  //信息顯示
{

for(;PicLen>0;PicLen--)
{

//圖像反色顯示 0 否 1是
if (LCD_DisplayReserve_Driver==0)
{
Write_Data(*PicData);
}
else
{
Write_Data(~(*PicData));
}


PicData++;
};

}




//顯示一個Unicode
void LCD_disp_Putchar_Driver(unsigned int uChar) 
{  
unsigned int i;
unsigned char *p;
   if(uChar<128)
   {
      //for(i=0;i != ENGLISHCHARNUMBER;i++)
      //{  
      //if(uChar==EnglishCode[i][0])
         //{  
         p=(uChar-0x20)*(ENGLISHCHARLegth)+&nAsciiDot[0];
         
            LCD_disp_DisplayImage_Driver(p, ENGLISHCHARLegth/2);
            Lcd_CurrentY++;
            //設置像素顯示坐標(y:0-7)
	        LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
            LCD_disp_DisplayImage_Driver(p+(ENGLISHCHARLegth/2),(ENGLISHCHARLegth/2));
            Lcd_CurrentY--;
            Lcd_CurrentX+=8;
            //設置像素顯示坐標(y:0-7)
	        LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
            //break;
         //}
      //}
    }
        else
        {
      for(i=0;i!=GB_ZK_NUM;i++)
      {  
      if(uChar==(GB_16[i].Index[0]*256+GB_16[i].Index[1]))
         {  
            //分別在兩頁顯示
            LCD_disp_DisplayImage_Driver(GB_16[i].Msk,(CHINESECHARlegth/2));
            Lcd_CurrentY++;
            //設置像素顯示坐標(y:0-7)
	        LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
            LCD_disp_DisplayImage_Driver(GB_16[i].Msk+(CHINESECHARlegth/2),(CHINESECHARlegth/2));
            Lcd_CurrentY--;
            Lcd_CurrentX+=16;
            //設置像素顯示坐標(y:0-7)
	        LCD_setpos_Driver(Lcd_CurrentX,Lcd_CurrentY);
            break;
         }
      }
      }
}


//圖像反色顯示 0 否 1是,執行此命令后的所有操作均是按照設置顯示
void LCD_disp_SetReverse_Driver(unsigned char ReverseTrue)
{
//圖像反色顯示 0 否 1是
if  (ReverseTrue==0)
{
LCD_DisplayReserve_Driver=0;
}
else
{
LCD_DisplayReserve_Driver=1;
} 
}
//對比度設置
void Set_Contrast_Control_Register(unsigned char Level)
{
unsigned char Num,Temp1,Temp2;
Temp1 = (Level/16)<<4;
switch(Level%16)
{
case 10: 
Temp2 = 0x0a;
break;
case 11: 
Temp2 = 0x0b;
break;
case 12: 
Temp2 = 0x0c;
break;
case 13: 
Temp2 = 0x0d;
break;
case 14: 
Temp2 = 0x0e;
break;
case 15: 
Temp2 = 0x0f; 
break;
default:
Temp2 = Level%16;
break;
}
Num = Temp1|Temp2;
Write_Instruction(0x81);
Write_Instruction(Num);
}




//初始化LCD屏
void init_LCD_Driver()
{

CLRBit(RST); // RST=0;
LCD_DelayMS(50);
SETBit(RST); // RST=1;
LCD_DelayMS(50);
Write_Instruction(0xa2); //lcd bias select 1/9 BIAS
Write_Instruction(0xa1); //ADC select,REVERSE 127-->0(a0,a1)
Write_Instruction(0xc0); //com select,NORMAL 0-->63(c8,c0)
Write_Instruction(0x26); //RESISTOR RATIO
Write_Instruction(0x81); //ELECTRONIC VOLUME mode setting 100B 對比度命令
Write_Instruction(0x10); //Set reference voltagel register 對比度數值
Write_Instruction(0x2f); //power control(VB,VR,VF=1,1,1)
LCD_DelayMS(50);
Write_Instruction(0xaf); //set display on
Write_Instruction(0xf8); //set booster ratio
Write_Instruction(0x00); 
//當前像素顯示位置
Lcd_CurrentX=0;
Lcd_CurrentY=0;
//圖像反色顯示 0 否 1是
LCD_DisplayReserve_Driver=0; 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91美女在线观看| 国产电影一区在线| 精品一区二区三区久久久| 91福利资源站| 精品系列免费在线观看| 欧美一区二视频| 午夜电影一区二区| 精品国产伦理网| 香蕉加勒比综合久久| 欧美午夜不卡视频| 成人激情图片网| 日韩成人伦理电影在线观看| 欧美tk—视频vk| 欧美性受xxxx黑人xyx性爽| 成人免费小视频| 本田岬高潮一区二区三区| 国产精品素人一区二区| 91在线云播放| 天堂蜜桃91精品| 久久一二三国产| 欧美曰成人黄网| 美国三级日本三级久久99| 国产女主播视频一区二区| 色94色欧美sute亚洲线路二| 亚洲v中文字幕| 国产精品视频一区二区三区不卡| 色网综合在线观看| 狠狠色综合色综合网络| 亚洲人精品一区| 久久久久久麻豆| 91成人看片片| 成人美女视频在线观看18| 午夜在线成人av| 日韩美女视频一区| 久久久精品黄色| 欧美一区二区三区四区在线观看 | 国产一区二区精品久久99| 亚洲综合久久久久| 国产精品久久久久久久久免费丝袜| 欧美日本在线看| 在线免费不卡视频| 99re在线视频这里只有精品| 国产成人啪免费观看软件| 美女精品自拍一二三四| 午夜激情一区二区| 一区二区三区国产| 一区二区三区自拍| 一区二区在线免费观看| 国产精品国产三级国产普通话99 | 7777精品伊人久久久大香线蕉完整版 | 国产精品久久99| 国产精品视频你懂的| 中文字幕国产一区| 国产精品久久久久久久岛一牛影视 | 久久精品国产精品青草| 美女免费视频一区| 国产乱人伦精品一区二区在线观看| 精品一区二区三区在线视频| 久久精品国产99国产| 国产精品综合一区二区| 国产成人综合网站| 色噜噜偷拍精品综合在线| 欧美日精品一区视频| 91精品在线一区二区| 精品国产乱码久久久久久久久| 国产网红主播福利一区二区| 亚洲视频在线一区观看| 天堂一区二区在线| 国产米奇在线777精品观看| av资源网一区| 欧美一区二区国产| 亚洲美女偷拍久久| 国产精品亚洲午夜一区二区三区| 成人高清伦理免费影院在线观看| 欧美日韩中文字幕一区二区| 2014亚洲片线观看视频免费| 洋洋成人永久网站入口| 精品一区二区国语对白| 欧美亚洲精品一区| 久久久电影一区二区三区| 亚洲成人先锋电影| 成人av在线一区二区三区| 日韩精品一区二区三区swag | 久久精品国产精品青草| 91色在线porny| 国产欧美日韩久久| 蜜桃视频一区二区| 欧美日韩在线不卡| 欧美国产精品一区二区三区| 美女视频黄 久久| 欧美日韩一区成人| 亚洲精品久久7777| av男人天堂一区| 国产精品久久久久一区| 国产精品2024| 中文字幕精品一区二区精品绿巨人| 久久不见久久见免费视频7| 欧美高清www午色夜在线视频| 一区二区激情小说| 日本久久一区二区三区| 亚洲婷婷在线视频| 91麻豆国产精品久久| 亚洲美女视频一区| 欧美性高清videossexo| 亚洲一区欧美一区| 精品视频一区二区三区免费| 日韩电影在线一区二区| 91精品国产福利在线观看| 毛片基地黄久久久久久天堂| 精品剧情在线观看| 成人中文字幕电影| 亚洲综合丁香婷婷六月香| 在线免费视频一区二区| 亚洲h动漫在线| www欧美成人18+| 99精品热视频| 免费人成在线不卡| 国产人成亚洲第一网站在线播放 | 色偷偷一区二区三区| 肉肉av福利一精品导航| 久久久不卡网国产精品一区| 99精品国产视频| 精品一区二区三区免费视频| 中文字幕一区不卡| 精品国产不卡一区二区三区| 91亚洲国产成人精品一区二三| 日韩精品欧美成人高清一区二区| 久久伊人中文字幕| 678五月天丁香亚洲综合网| 国产一区二区三区国产| 亚洲h在线观看| 亚洲三级在线看| 国产日韩欧美一区二区三区乱码 | www.亚洲色图.com| 久久99国内精品| 亚洲成人先锋电影| 亚洲欧美另类久久久精品| 久久综合九色综合97_久久久| 欧美日韩免费在线视频| 色综合久久综合网欧美综合网| 国产精一区二区三区| 精一区二区三区| 久久精品国产一区二区| 免费成人美女在线观看.| 午夜久久久久久久久| 一区二区不卡在线播放 | 韩国一区二区在线观看| 日本aⅴ免费视频一区二区三区| 亚洲国产va精品久久久不卡综合| 中文字幕va一区二区三区| 国产精品美女久久久久久| 国产日产欧美一区二区三区| 久久久精品2019中文字幕之3| 久久网站热最新地址| 亚洲国产精品传媒在线观看| 国产精品色在线观看| 中文字幕制服丝袜成人av| 亚洲欧洲精品一区二区三区不卡 | 欧美一区三区二区| 日韩免费看的电影| 国产亚洲欧美色| 亚洲码国产岛国毛片在线| 性做久久久久久久免费看| 日本不卡高清视频| 成人午夜视频免费看| 色综合天天综合网天天看片| 91精品久久久久久久久99蜜臂| 精品国产青草久久久久福利| 国产精品初高中害羞小美女文| 中文字幕一区二区日韩精品绯色| 午夜国产精品一区| 国产久卡久卡久卡久卡视频精品| 99精品欧美一区| 日韩欧美成人一区| 亚洲一区二区三区在线播放| 国产真实乱对白精彩久久| 一本色道综合亚洲| 久久久久久免费网| 亚洲国产精品麻豆| 不卡的电视剧免费网站有什么| 欧美日韩激情一区二区三区| 久久精品视频在线看| 日韩电影一二三区| 欧美日韩夫妻久久| 亚洲精品福利视频网站| 99精品视频在线播放观看| 久久综合九色综合97婷婷| 麻豆国产精品777777在线| 欧美亚洲综合在线| 亚洲精品成a人| a4yy欧美一区二区三区| 日本一区二区三级电影在线观看| 精品一区二区免费看| 2欧美一区二区三区在线观看视频| 亚洲日本青草视频在线怡红院| 97精品久久久午夜一区二区三区| 久久精品欧美日韩| 色综合色综合色综合色综合色综合| 久久这里只有精品首页| 国产乱妇无码大片在线观看|