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

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

?? lcm12864zk.c

?? ST7920液晶顯示控制器的驅(qū)動編程
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
;************************************************************************************************************
;*									  湖南華盛科技有限公司
;*                                     	                                  研    發(fā)    部
;*
;*                                 	                           http://www.unistrong.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名稱 :Lcm12864zk.c
;* 文件功能 :LCM驅(qū)動程序 
;* 補(bǔ)充說明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : 研    發(fā)    部
;* 修改日期 : 2005/11/29
;* 版本聲明 : V1.0.1
;************************************************************************************************************
;*/
/****和硬件總線相關(guān)定義********/
#define E  0x00000100   /*E腳對應(yīng)P2.8*/
#define RW 0x00000200 /*EW腳對應(yīng)P2.9*/
#define RS 0x00000400 /*RS腳對應(yīng)P2.10*/
#define BG 0x00000001 /*背光對應(yīng)P2.0*/
#define PSB   0x00020000/*PSB腳對應(yīng)P0.17*/
#define RST   0x00008000/*RST腳對應(yīng)P0.15*/
#define NC    0x00010000/*NC腳對應(yīng)P0.16*/
#define DATA_PORTA 0x000000fe/*D0_6對應(yīng)P2.7_P2.1*/
#define DATA_PORTB 0x00100000/*D7對應(yīng)P1.20*/  
#define  _GLOBAL_LCD  

#include "INCLUDES.h"
/*
*************************************************************************************************************
- 函數(shù)名稱 : Delayus(uint8 t)
- 函數(shù)說明 : 延時函數(shù)
- 輸入?yún)?shù) : uint8 t
- 輸出參數(shù) : 無
*************************************************************************************************************
*/
void Delay_Lcd(uint8 t)/*t 為1是1us*/
{
    uint8 i,j;
    for (i=0;i<t;i++)
       for (j=0;j<16;j++);
	
}
/*
*************************************************************************************************************
*************************************************************************************************************
- 函數(shù)名稱 : Data_Shift(uint8 data,uint8 bit_hight,uint8 bit_hight)
- 函數(shù)說明 : 數(shù)據(jù)調(diào)整
- 輸入?yún)?shù) : uint8 data,uint8 bit_hight,uint8 bit_hight
- 輸出參數(shù) : uint8 temp
*************************************************************************************************************
*/
uint8 Data_Shift(uint8 data,uint8 bit_right,uint8 bit_left)
{uint8 temp;
 uint8 left_pointer,right_pointer;
 temp=0;
 left_pointer=bit_left;
 right_pointer=bit_right;
 while(left_pointer!=right_pointer)
    {if(data&(0x01<<left_pointer))
         temp|=(0x80>>(7-right_pointer));
     if(data&(0x80>>(7-right_pointer)))
         temp|=(0x01<<left_pointer);
     left_pointer++;
     right_pointer--;
    } 
 return temp;
}
/*
*************************************************************************************************************
- 函數(shù)名稱 :  Write_command(Uchar CMD,Uchar bb)
- 函數(shù)說明 : LCM寫命令函數(shù)
- 輸入?yún)?shù) : uint8 CMD   命令內(nèi)容
-                          
- 輸出參數(shù) : 無
*************************************************************************************************************
*/     
void Write_command(uint8 CMD)
{ int8 st;
   uint8 t=0x40;
   uint8 j=0x02;
   uint8 i;
   /*轉(zhuǎn)換數(shù)據(jù)格式*/
   for(i=0;i!=7;i++)
   {if((CMD&t)!=0)
   	st|=j;
     else
   	st&=(~j);
     t>>=1;
     j<<=1;
   }
   
   IO2CLR=RS;
   IO2CLR=RW;
   IO2SET=E;
/*送p1.20(最高位)*/
   if((CMD&0x80)!=0)
       IO1SET|=DATA_PORTB;/*p1.20置1*/
   else
   	IO1CLR|=DATA_PORTB;/*p1.20清0*/
 /*送低七位*/
   IO2SET|=(st&0xfe);
   IO2CLR=((~st)&0xfe);
   Delay_Lcd(20);
   IO2CLR=E;
   Delay_Lcd(100);/*100*/
}
/*
*************************************************************************************************************
- 函數(shù)名稱 :  Read_Data(uint8 row,uint8 line)
- 函數(shù)說明 : LCM讀數(shù)據(jù)函數(shù)
- 輸入?yún)?shù) : uint8 row,uint8 line
-                          
- 輸出參數(shù) : 
*************************************************************************************************************
*/
uint8 Read_Data(void)
{uint8 temp1,temp2;
 IO2DIR&=(~0x000000fe);/*改變管腳為輸入模式*/
 IO1DIR&=(~0x00100000);
 IO2SET=RS;
 IO2SET=RW;
 IO2SET=E;
 Delay_Lcd(25);
 temp1=IO2PIN;
 if(IO1PIN&0x00100000)
     temp2=1;
 else
     temp2=0;
 temp1=Data_Shift(temp1,7,1)>>1;
 temp1|=temp2;
 IO2CLR=E;
 IO1DIR|=0x00100000;/*還原LCD管腳模式*/
 IO2DIR|=0x000007ff;
 return temp1;
}
/*
*************************************************************************************************************
- 函數(shù)名稱 : Write_data(Uchar DATA)
- 函數(shù)說明 : LCM寫數(shù)據(jù)
- 輸入?yún)?shù) : uint8 DATA  數(shù)據(jù)
- 輸出參數(shù) : 無
*************************************************************************************************************
*/     
void Write_data(uint8 DATAs)
{   int8 st;
    uint8 t=0x40;
    uint8 j=0x02;
    uint8 i;
    /*轉(zhuǎn)換數(shù)據(jù)格式*/
   for(i=0;i!=7;i++)
   {if((DATAs&t)!=0)
   	st|=j;
     else
   	st&=(~j);
     t>>=1;
     j<<=1;
   }
     IO2SET=RS;
     IO2CLR=RW;
     IO2SET=E;
/*送p1.20(最高位)*/
   if((DATAs&0x80)!=0)
       IO1SET|=DATA_PORTB;/*p1.20置1*/
   else
   	IO1CLR|=DATA_PORTB;/*p1.20清0*/
 /*送低七位*/
   IO2SET|=(st&0xfe);
   IO2CLR=((~st)&0xfe);
   Delay_Lcd(20);
   IO2CLR=E;
   Delay_Lcd(100);/*100*/
}

     
/*
*************************************************************************************************************
- 函數(shù)名稱 : Lcd_init(void)
- 函數(shù)說明 : LCM初始化
- 輸入?yún)?shù) : 無
- 輸出參數(shù) : 無
*************************************************************************************************************
*/  
void Lcd_init(void)
{  
    Delay_Lcd(200);
    Write_command(0x30);/*設(shè)置為8位控制界面*/
    Write_command(0x30);
    Write_command(0x0C);/*開整體顯示*/
    Write_command(0x01);/*清顯示*/
    Write_command(0x06);/*初始化原點(diǎn)*/
}
/*
*************************************************************************************************************
- 函數(shù)名稱 : void Lcd_clr(void)
- 函數(shù)說明 : LCM清屏函數(shù)
- 輸入?yún)?shù) : 無
- 輸出參數(shù) : 無
*************************************************************************************************************
*/     
void Lcd_clr(void)
{ 
    Write_command(0x01);/*清顯示*/
    Write_command(0x06);/*初始化原點(diǎn)*/
    Delay_Lcd(200);/*200*/
} 

/*
*************************************************************************************************************
- 函數(shù)名稱 :uint8 Lcd_dispp(uint8 *ptr,uint8 row,uint8 line,uint8 byte_length)
- 函數(shù)說明 : 字符顯示函數(shù)
- 輸入?yún)?shù) : *ptr  row  line   byte_length
- 輸出參數(shù) :i(顯示的字節(jié)長度)
*************************************************************************************************************
*/   
uint8 Lcd_dispp(uint8 *ptr,uint8 row,uint8 line,uint8 byte_length)
{
  uint8 y,i,f,t;
  f=t=0;/*初次顯示標(biāo)志*/
  switch(row)
     {case 1:{y=0x80+(--line);break;}
      case 2:{y=0x90+(--line);break;}
      case 3:{y=0x88+(--line);break;}
      case 4:{y=0x98+(--line);break;}
     }
 
  Write_command(y); /* 定位顯示起始地址*/
  for(i=0;i!=byte_length;)
  	{if(y>0x0a0) return(i-1);
  	     
  	 if(ptr[i]<0x80)/*ASCII顯示*/
  	      {
  	        if(f==0)
  	           {Write_data(ptr[i]); /*單個ASCII字符*/
  	            i++;
  	            f=1;
		  	    y++;
		  	   } 
		  	else 
		  	  {Write_data(ptr[i]); /*連續(xù)ASCII字符*/
		  	   i++;
		  	   f=0;
		  	  }
	      }
     else/*漢字顯示*/ 
           {
              if(f==1)/*上次是ASCII顯示且顯示單數(shù)個*/
        	     {
        	     f=0;
        	     if(y==0x88|y==0x98|y==0x90)
        	        {
         	          if(row==1)
         	              {row++;
		                   Write_command(0x90); 
			               y=0x90;
               	          }
                      else if(row==2)
               	          {row++;
		                   Write_command(0x88); 
		                   y=0x88;
               	           }
	                  else if(row==3)
	       	              {row++;
		                   Write_command(0x98); 
		                   y=0x98;
	       	              }
                    }
        	     Write_command(y);
		         Write_data(ptr[i]);
		         i++;
		         t=1;
		         y++;
		        }
            else if(t==0)/*第一個字符是漢字或新的漢字*/
		        {
		         Write_data(ptr[i]); /*輸出單個字符*/
		         i++;
		         t=1;
		         y++;
		        }
		    else/*第二次是漢字或上次是ASCII顯示的第二字節(jié)*/ 
		        {
		         Write_data(ptr[i]); /*輸出單個字符*/
		         i++;
		         t=0;
		        }
		   }
     if((y==0x88|y==0x98|y==0x90)&&t!=1&&f!=1)
         
         	{
         	if(row==1)
         	      {row++;
		        Write_command(0x90); 
			    y=0x90;
               	}
            else if(row==2)
               	{row++;
		         Write_command(0x88); 
		         y=0x88;
               	}
	        else if(row==3)
	       	{row++;
		     Write_command(0x98); 
		     y=0x98;
	       	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩极品在线观看| 成人动漫av在线| 久久在线观看免费| 91精品久久久久久久久99蜜臂| 99精品欧美一区二区三区小说 | 成人丝袜高跟foot| 国产综合成人久久大片91| 久久成人综合网| 久久66热re国产| 首页欧美精品中文字幕| 亚洲国产另类av| 国产日韩三级在线| 亚洲自拍偷拍av| 92精品国产成人观看免费| av高清不卡在线| 天天综合网 天天综合色| 久久精品一区二区| 成人动漫在线一区| 国产成人精品一区二区三区四区| 日韩欧美国产三级电影视频| 国产一区二区三区黄视频| 亚洲一区二区三区国产| 一区二区理论电影在线观看| 国产精品美日韩| 日韩一级成人av| 欧美综合一区二区| 色呦呦国产精品| 欧美精品久久久久久久多人混战| 亚洲精品在线免费播放| 精品污污网站免费看| 久久久久国产一区二区三区四区| 国产精品高潮呻吟久久| 免费高清成人在线| 国产99久久久久| 精品国精品国产| 亚洲综合一区在线| 成人精品在线视频观看| 欧美人xxxx| 欧美精品一区二区三区四区| 一区二区三区在线视频观看58| 一区2区3区在线看| 色狠狠综合天天综合综合| 国产亚洲精品资源在线26u| 777午夜精品免费视频| 在线播放日韩导航| 亚洲1区2区3区视频| 成人在线综合网| 国产精品久久久久三级| 国产精品88av| 国产精品久久免费看| 色婷婷精品大在线视频 | jiyouzz国产精品久久| 国产女人aaa级久久久级| 国产美女视频91| 中文一区在线播放| 国产精品白丝jk白祙喷水网站| 国产日产精品一区| 91美女片黄在线观看| 日韩专区在线视频| 欧美日产在线观看| 国产乱码精品一区二区三区av| 久久久99免费| 欧美视频精品在线| 亚洲一线二线三线视频| 欧美三级日韩在线| 高清国产一区二区| 亚洲午夜久久久久中文字幕久| 精品国产乱码久久久久久久久 | 亚洲人成伊人成综合网小说| 99视频在线精品| 欧美网站大全在线观看| 一区二区三区欧美| 国产女主播在线一区二区| 日韩欧美精品在线视频| 7777精品伊人久久久大香线蕉超级流畅 | 欧美二区在线观看| 在线免费亚洲电影| 欧美综合在线视频| 欧美视频在线观看一区| 91精品在线免费| 日韩一区二区精品在线观看| 日韩精品一区二区三区视频播放| 日韩视频在线你懂得| 欧美大尺度电影在线| 中文字幕欧美国产| 亚洲欧美日韩国产综合在线 | 国产精品视频第一区| 中文av字幕一区| 婷婷丁香激情综合| 韩国三级中文字幕hd久久精品| 国产乱人伦精品一区二区在线观看 | 精品国产伦一区二区三区观看方式 | 国内不卡的二区三区中文字幕 | 久久久综合九色合综国产精品| 国产欧美一区视频| 日韩制服丝袜av| 91论坛在线播放| 国产亚洲精品免费| 久久69国产一区二区蜜臀| 色综合天天做天天爱| 亚洲精品一区二区三区四区高清| 综合久久久久久| 国产在线乱码一区二区三区| 欧美日韩精品系列| 国产精品每日更新在线播放网址| 日韩综合一区二区| 欧美一级一区二区| 三级久久三级久久| 欧美人与性动xxxx| 五月婷婷色综合| 欧美一级视频精品观看| 亚洲无人区一区| 91精品国产色综合久久不卡电影 | 9久草视频在线视频精品| 久久综合精品国产一区二区三区| 日韩精品免费专区| 欧美精品在线观看播放| 视频在线观看一区| 日韩欧美高清dvd碟片| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美成人性福生活免费看| 国产精品亚洲成人| 欧美国产综合色视频| 欧美亚洲日本一区| 国产毛片精品国产一区二区三区| 26uuu国产在线精品一区二区| 成人一区二区三区在线观看| 亚洲精品中文在线观看| 91精品国产品国语在线不卡| 国产一区二区三区香蕉| 亚洲欧洲精品一区二区三区不卡 | 久久丁香综合五月国产三级网站| 久久久久久久久久久久久久久99| 不卡一区二区在线| 免费在线欧美视频| 亚洲欧美成aⅴ人在线观看| 欧美一卡二卡三卡| 在线观看免费一区| 国内精品国产三级国产a久久| 国产日韩欧美高清| 久久综合色之久久综合| 在线视频国内自拍亚洲视频| 国产精品77777| 五月婷婷综合在线| 亚洲成人一区在线| 亚洲一区二区视频在线| 亚洲美腿欧美偷拍| 亚洲精品中文字幕乱码三区| 综合久久久久久| 一区二区高清视频在线观看| 亚洲欧美一区二区久久| 亚洲欧美在线高清| 亚洲一卡二卡三卡四卡| 亚洲va韩国va欧美va| 天堂久久久久va久久久久| 亚洲综合久久久| 日韩av中文字幕一区二区| 一区二区成人在线视频| 亚洲aaa精品| 国产精品一区二区三区网站| 成人av电影在线观看| 91麻豆福利精品推荐| 69堂成人精品免费视频| 国产亚洲欧美一区在线观看| 中文字幕五月欧美| 日本麻豆一区二区三区视频| 国产伦理精品不卡| 91福利区一区二区三区| 日韩精品一区二区三区在线| 国产精品国产三级国产专播品爱网 | 欧美一卡二卡在线观看| 国产亚洲成年网址在线观看| 1区2区3区国产精品| 久久爱www久久做| 欧洲中文字幕精品| 国产欧美一二三区| 丝袜诱惑亚洲看片| 91福利国产精品| 中文字幕一区二区三区不卡| 精品制服美女丁香| 欧美日本精品一区二区三区| 中文字幕人成不卡一区| 精久久久久久久久久久| 欧美一区二区黄| 日韩av电影天堂| 欧美美女喷水视频| 亚洲一区在线播放| 欧美日韩国产免费| 亚洲高清中文字幕| 欧美日韩一卡二卡三卡 | 国产美女精品在线| 久久久久久久久久美女| 国产精品911| 自拍av一区二区三区| youjizz国产精品| 亚洲福利电影网| 日韩欧美一卡二卡| 国产成人亚洲精品青草天美| 精品对白一区国产伦| 99久久国产综合色|国产精品|