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

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

?? nokia_5110.c

?? nokia5110 lcd 的 keil C51 驅動程序
?? C
字號:


#include "nokia_5110.h"
#include "english_6x8_pixel.h"
#include "write_chinese_string_pixel.h"
#include "move_chinese_string_pixel.h"


/*-----------------------------------------------------------------------
LCD_init          : 3310LCD初始化

編寫日期          :2004-8-10 
最后修改日期      :2004-8-10 
-----------------------------------------------------------------------*/

void delay_1us(void)                 //1us延時函數
  {
   unsigned int i;
  for(i=0;i<1000;i++);
  }

  void delay_1ms(void)                 //1ms延時函數
  {
   unsigned int i;
   for (i=0;i<1140;i++);
  }
  
void delay_nms(unsigned int n)       //N ms延時函數
  {
   unsigned int i=0;
   for (i=0;i<n;i++)
   delay_1ms();
  }


void LCD_init(void)
  {
            // 產生一個讓LCD復位的低電平脈沖
   LCD_RST = 0;
    delay_1us();

   LCD_RST = 1;
    
		// 關閉LCD
   LCD_CE = 0;
    delay_1us();
		// 使能LCD
   LCD_CE = 1;
    delay_1us();

    LCD_write_byte(0x21, 0);	// 使用擴展命令設置LCD模式
    LCD_write_byte(0xc8, 0);	// 設置偏置電壓
    LCD_write_byte(0x06, 0);	// 溫度校正
    LCD_write_byte(0x13, 0);	// 1:48
    LCD_write_byte(0x20, 0);	// 使用基本命令
    LCD_clear();	        // 清屏
    LCD_write_byte(0x0c, 0);	// 設定顯示模式,正常顯示
        
           // 關閉LCD
   LCD_CE = 0;
  }

/*-----------------------------------------------------------------------
LCD_clear         : LCD清屏函數

編寫日期          :2004-8-10 
最后修改日期      :2004-8-10 
-----------------------------------------------------------------------*/
void LCD_clear(void)
  {
    unsigned int i;

    LCD_write_byte(0x0c, 0);			
    LCD_write_byte(0x80, 0);			

    for (i=0; i<504; i++)
      LCD_write_byte(0, 1);			
  }

/*-----------------------------------------------------------------------
LCD_set_XY        : 設置LCD坐標函數

輸入參數:X       :0-83
          Y       :0-5

編寫日期          :2004-8-10 
最后修改日期      :2004-8-10 
-----------------------------------------------------------------------*/
void LCD_set_XY(unsigned char X, unsigned char Y)
  {
    LCD_write_byte(0x40 | Y, 0);		// column
    LCD_write_byte(0x80 | X, 0);          	// row
  }

/*-----------------------------------------------------------------------
LCD_write_char    : 顯示英文字符

輸入參數:c       :顯示的字符;

編寫日期          :2004-8-10 
最后修改日期      :2004-8-10 
-----------------------------------------------------------------------*/
void LCD_write_char(unsigned char c)
  {
    unsigned char line;

    c -= 32;

    for (line=0; line<6; line++)
      LCD_write_byte(font6x8[c][line], 1);
  }

/*-----------------------------------------------------------------------
LCD_write_english_String  : 英文字符串顯示函數

輸入參數:*s      :英文字符串指針;
          X、Y    : 顯示字符串的位置,x 0-83 ,y 0-5

編寫日期          :2004-8-10 
最后修改日期      :2004-8-10 		
-----------------------------------------------------------------------*/
void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)
  {
    LCD_set_XY(X,Y);
    while (*s) 
      {
	 LCD_write_char(*s);
	 s++;
      }
  }
/*-----------------------------------------------------------------------
LCD_write_chinese_string: 在LCD上顯示漢字

輸入參數:X、Y    :顯示漢字的起始X、Y坐標;
          ch_with :漢字點陣的寬度
          num     :顯示漢字的個數;  
          line    :漢字點陣數組中的起始行數
          row     :漢字顯示的行間距
編寫日期          :2004-8-11 
最后修改日期      :2004-8-12 
測試:
	LCD_write_chi(0,0,12,7,0,0);
	LCD_write_chi(0,2,12,7,0,0);
	LCD_write_chi(0,4,12,7,0,0);	
-----------------------------------------------------------------------*/                        
void LCD_write_chinese_string(unsigned char X, unsigned char Y, 
                   unsigned char ch_with,unsigned char num,
                   unsigned char line,unsigned char row)
  {
    unsigned char i,n;
    
    LCD_set_XY(X,Y);                             //設置初始位置
    
    for (i=0;i<num;)
      {
      	for (n=0; n<ch_with*2; n++)              //寫一個漢字
      	  { 
      	    if (n==ch_with)                      //寫漢字的下半部分
      	      {
      	        if (i==0) LCD_set_XY(X,Y+1);
      	        else
      	           LCD_set_XY((X+(ch_with+row)*i),Y+1);
              }
      	    LCD_write_byte(write_chinese[line+i][n],1);
      	  }
      	i++;
      	LCD_set_XY((X+(ch_with+row)*i),Y);
      }
  }
  
/*-----------------------------------------------------------------------
LCD_move_chinese_string: 漢字移動

輸入參數:X、Y    :顯示漢字的起始X、Y坐標;
          T       :移動速度;

編寫日期          :2004-8-13 
最后修改日期      :2004-8-13 
-----------------------------------------------------------------------*/                        
void chinese_string (unsigned char X, unsigned char Y, unsigned char T)
  {
    unsigned char i,n,j=0;
    unsigned char buffer_h[84]={0};
    unsigned char buffer_l[84]={0};
      
    for (i=0; i<156; i++)
      {
        buffer_h[83] = move_chinese_string[i/12][j];
        buffer_l[83] = move_chinese_string[i/12][j+12];
        j++;
        if (j==12) j=0;
        
        for (n=0; n<83; n++)
          { 
            buffer_h[n]=buffer_h[n+1];
            buffer_l[n]=buffer_l[n+1];
          } 
        
        LCD_set_XY(X,Y);
        for (n=0; n<83; n++)
          { 
            LCD_write_byte(buffer_h[n],1);
          } 
        
        LCD_set_XY(X,Y+1); 
        for (n=0; n<83; n++)
          { 
            LCD_write_byte(buffer_l[n],1);
          } 
          
       delay_nms(T);
      }
}

/*-----------------------------------------------------------------------
LCD_draw_map      : 位圖繪制函數

輸入參數:X、Y    :位圖繪制的起始X、Y坐標;
          *map    :位圖點陣數據;
          Pix_x   :位圖像素(長)
          Pix_y   :位圖像素(寬)

編寫日期          :2004-8-13
最后修改日期      :2004-8-13 
-----------------------------------------------------------------------*/
void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map,
                  unsigned char Pix_x,unsigned char Pix_y)
  {
    unsigned int i,n;
    unsigned char row;
    
    if (Pix_y%8==0) row=Pix_y/8;      //計算位圖所占行數
      else
        row=Pix_y/8+1;
    
    for (n=0;n<row;n++)
      {
      	LCD_set_XY(X,Y);
        for(i=0; i<Pix_x; i++)
          {
            LCD_write_byte(map[i+n*Pix_x], 1);
          }
        Y++;                         //換行
      }      
  }

/*-----------------------------------------------------------------------
LCD_write_byte    : 使用SPI接口寫數據到LCD

輸入參數:data    :寫入的數據;
          command :寫數據/命令選擇;

編寫日期          :2004-8-10 
最后修改日期      :2004-8-13 
-----------------------------------------------------------------------*/
void LCD_write_byte(unsigned char dat, unsigned char command)
  {
    unsigned char i;
    //PORTB &= ~LCD_CE ;		        // 使能LCD
    LCD_CE = 0;
    
    if (command == 0)
     // PORTB &= ~LCD_DC ;	        // 傳送命令
     LCD_DC = 0;
    else
     // PORTB |= LCD_DC ;		        // 傳送數據
     LCD_DC = 1;
		for(i=0;i<8;i++)
		{
			if(dat&0x80)
				SDIN = 1;
			else
				SDIN = 0;
			SCLK = 0;
			dat = dat << 1;
			SCLK = 1;
		}
   // SPDR = data;			// 傳送數據到SPI寄存器

    //while ((SPSR & 0x80) == 0);         // 等待數據傳送完畢
	
    //PORTB |= LCD_CE ;			// 關閉LCD
     LCD_CE = 1;
  }


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕 久热精品 视频在线| 色婷婷精品久久二区二区蜜臀av| 91麻豆精品国产91久久久资源速度 | 久久久99精品免费观看| 免费国产亚洲视频| 2017欧美狠狠色| 国产高清精品久久久久| 国产精品久久久久9999吃药| 99精品视频中文字幕| 亚洲伊人色欲综合网| 欧美日韩一区二区三区在线| 美女脱光内衣内裤视频久久网站 | 欧美精品日日鲁夜夜添| 日韩精品一区第一页| 精品国产自在久精品国产| 国产一区不卡在线| 中文字幕一区二区三区在线播放 | 91美女在线观看| 亚洲一区二区在线播放相泽| 欧美一级一区二区| 国产成人精品午夜视频免费| 亚洲人123区| 欧美一区二区三区在线观看| 国产麻豆视频一区二区| 中文字幕在线一区| 欧美日韩国产精选| 国产精品一二一区| 一区二区三区免费看视频| 欧美一区二区三区色| 国产激情一区二区三区桃花岛亚洲| 18涩涩午夜精品.www| 日韩网站在线看片你懂的| 成人美女视频在线看| 日韩精品欧美成人高清一区二区| 国产亚洲午夜高清国产拍精品 | 中文字幕一区二区日韩精品绯色| 欧美性猛交一区二区三区精品| 麻豆成人免费电影| 亚洲三级在线观看| 日韩精品一区二区三区在线观看 | 国模娜娜一区二区三区| 亚洲精品网站在线观看| 欧美精品一区二区精品网| 91天堂素人约啪| 久久99久久久久久久久久久| **性色生活片久久毛片| 日韩女优电影在线观看| 欧美视频在线一区二区三区| 国产99精品国产| 日韩国产高清在线| 亚洲精品va在线观看| 久久久久久毛片| 欧美绝品在线观看成人午夜影视| 成人免费看视频| 狠狠色2019综合网| 午夜精品福利在线| 亚洲精品亚洲人成人网| 欧美国产日韩在线观看| 精品国产伦一区二区三区观看体验 | 136国产福利精品导航| 久久免费精品国产久精品久久久久| 欧美日韩在线观看一区二区| 色综合中文综合网| 色网站国产精品| 国产ts人妖一区二区| 国产在线观看一区二区| 麻豆国产欧美日韩综合精品二区 | 日韩二区三区四区| 亚洲一区二区三区四区在线观看 | 欧美大黄免费观看| 69成人精品免费视频| 欧美日韩一区二区三区在线 | 成人一区在线看| 国产在线精品一区二区不卡了| 日本欧美久久久久免费播放网| 亚洲超碰精品一区二区| 亚洲第一精品在线| 亚洲综合色噜噜狠狠| 亚洲一区二区在线免费观看视频| 亚洲欧美日韩久久精品| 自拍偷拍欧美激情| 亚洲精品老司机| 亚洲激情中文1区| 亚洲黄色性网站| 一区二区三区四区国产精品| 一区二区三区精品在线观看| 伊人一区二区三区| 亚洲h在线观看| 免费国产亚洲视频| 国产在线国偷精品免费看| 国产一区二区三区观看| 成人午夜av在线| 99精品欧美一区| 欧美亚洲一区二区三区四区| 欧美精品久久天天躁| 日韩一本二本av| 久久久一区二区三区| 国产精品久久久久三级| 亚洲免费观看高清在线观看| 亚瑟在线精品视频| 美女国产一区二区三区| 丰满放荡岳乱妇91ww| 色综合亚洲欧洲| 在线观看91精品国产麻豆| 精品久久久久久久久久久久久久久久久| 欧美成人精品1314www| 中文乱码免费一区二区 | 亚洲一区在线观看免费 | 国产a久久麻豆| 一本大道久久a久久综合| 欧美久久一区二区| 精品国产1区二区| 亚洲天天做日日做天天谢日日欢| 午夜精品aaa| 国产成a人亚洲| 欧美午夜一区二区| 欧美精品一区二区在线播放| 亚洲欧美日韩国产综合在线| 日本亚洲视频在线| 成人国产一区二区三区精品| 欧美日韩日日摸| 久久精品免视看| 午夜天堂影视香蕉久久| 粉嫩嫩av羞羞动漫久久久| 欧美亚洲综合在线| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人性生交大片| 欧美乱妇20p| **性色生活片久久毛片| 久久精品国产网站| 在线精品视频免费播放| 2017欧美狠狠色| 亚洲成人一区二区| 成人国产精品免费观看| 4438亚洲最大| 亚洲精品伦理在线| 丁香桃色午夜亚洲一区二区三区| 欧美高清视频不卡网| 中文字幕一区免费在线观看| 九九视频精品免费| 欧美高清激情brazzers| 日韩一区日韩二区| 国产成人在线色| 欧美一级夜夜爽| 亚洲综合精品自拍| 成人av网站在线| 国产校园另类小说区| 日韩av电影免费观看高清完整版在线观看 | 久久嫩草精品久久久精品一| 蜜臀久久99精品久久久久宅男 | 色婷婷亚洲综合| 国产三级一区二区| 国产在线精品一区二区不卡了 | 精品亚洲aⅴ乱码一区二区三区| 欧美午夜影院一区| 一区二区三区四区在线| 91一区二区在线| 亚洲欧美在线视频观看| 国产不卡在线一区| 国产日产欧美一区二区三区| 久久精品久久精品| 日韩一级片在线播放| 免费欧美日韩国产三级电影| 69精品人人人人| 蜜桃一区二区三区在线| 欧美电影一区二区三区| 丝袜亚洲另类欧美| 欧美性受xxxx| 同产精品九九九| 欧美一级高清片在线观看| 日韩精品乱码av一区二区| 91精品国产色综合久久不卡电影 | 欧美极品少妇xxxxⅹ高跟鞋| 国内精品伊人久久久久av影院 | 香蕉久久一区二区不卡无毒影院| 欧美午夜精品久久久久久孕妇| 一区二区三区自拍| 在线精品视频免费播放| 亚洲国产成人tv| 制服丝袜成人动漫| 麻豆视频观看网址久久| 欧美精品一区二区三区一线天视频| 国内成人免费视频| 久久精品网站免费观看| 波多野结衣91| 夜夜精品视频一区二区 | gogo大胆日本视频一区| 亚洲三级在线免费观看| 欧美色窝79yyyycom| 蜜臀av一区二区| 国产三级一区二区三区| 99久久er热在这里只有精品66| 亚洲制服欧美中文字幕中文字幕| 在线不卡免费欧美| 国产精品一区二区黑丝| 亚洲免费伊人电影| 制服丝袜av成人在线看| 国产成人av电影在线播放| 一区二区三区在线观看视频| 日韩美女视频在线|