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

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

?? 12864p.c

?? MS12864-R驅動
?? C
字號:
/*******************************************************************
*【文 件 名】:12864p.c                                            *
*【建立日期】:2008年7月16日                                       *
*【修改日期】:2008年7月17日                                       *
*【文件作用】:液晶12864驅動程序,包括所有關于液晶得函數           *
*【說    明】:RW=1,從液晶讀數據到MCU;RW=0,寫一個數據到液晶;   *
*              (一般RW都設為0,即只向液晶寫數據,不讀數據)       *
*              RS=1,寫入的是數據;RS=0,寫入的是指令;            *
*              一般模式:RW=0,RS=1;寫數據                         *
*                        RW=0,RS=0;寫指令                         *
*------------------------------------------------------------------*
*【作    者】:郭鑫(ben)                                           *
*【版    權】:國家創新性實驗項目,編號GCS07001                    *
*******************************************************************/



/*******************************************************************
*【函 數 名】:delay                                               *
*【修改日期】:2008年7月2日                                        *
*【函數作用】:延時x MS                                            *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
#include "12864p.h"

void delay(uint ms) 
{ 
    uint i; 
    while(ms--)    
   { 
     for(i=1;i<1142;i++); 
   }   
}



//延時約2us
void delayUs()
{
    _nop_();_nop_();
}
//延時 a * 1ms
void delayMs(uint a)
{
    uint i, j;
    for(i = a; i > 0; i--)
        for(j = 150; j > 0; j--);
}

//檢測LCD是否處于忙狀態, 若忙返回1, 空閑返回0
bit checkBusy()
{
    bit busy;
    RS = 0;
    RW = 1;
    E = 1;
    delayUs();
    busy = (bit)(P0&0x80);
    E = 0;
    delayMs(1);

    return busy;
}

//等待LCD到空閑
void wait()
{
    while(checkBusy());
}

/*******************************************************************
*【函 數 名】:lcd_cmd_w                                           *
*【修改日期】:2008年7月16日                                       *
*【函數作用】:12864寫入一條命令                                   *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_cmd_w(uchar cmd)
{
    wait();
    RS = 0;
    RW = 0;
    E = 0;
    delayUs();
    P0 = cmd;
    delayUs();
    E = 1;
    delayUs();
    E = 0;

    delayMs(1);

}

/*******************************************************************
*【函 數 名】:lcd_dat_w                                           *
*【修改日期】:2008年7月16日                                       *
*【函數作用】:12864寫入一個字節數據                               *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_dat_w(uchar dat)
{
    wait();
    RS = 1;
    RW = 0;
    E = 0;
    delayUs();
    P0 = dat;
    delayUs();
    E = 1;
    delayUs();
    E = 0;

    delayMs(1);

}

/*******************************************************************
*【函 數 名】:lcd_initial                                         *
*【修改日期】:2008年7月6日                                        *
*【函數作用】:12864初始化                                         *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_initial()
{
    lcd_cmd_w(0x30); //基本指令, 擴充指令為34H
    lcd_cmd_w(0x0c); //顯示開, 關光標
    lcd_cmd_w(0x01); //清屏
    lcd_cmd_w(0x02); 
    lcd_cmd_w(0x80); 



}

/*******************************************************************
*【函 數 名】:lcd_setpostion                                      *
*【修改日期】:2008年7月16日                                       *
*【函數作用】:12864寫入8位數據                                    *
*------------------------------------------------------------------*
*【備    注】:從高位開始傳送                                      *
*******************************************************************/
void lcd_setposition(uchar row, uchar col)
{
    uchar p;
    switch(row%5)
    {
        case 1: p = 0x80; break; //第一行開始地址
        case 2: p = 0x90; break; //第二行
        case 3: p = 0x88; break; //第三行
        case 4: p = 0x98; break; //第四行
    }
    p += col;
    lcd_cmd_w(p);
    delayMs(2);

}

/*******************************************************************
*【函 數 名】:lcd_str_w                                           *
*【修改日期】:2008年7月16日                                       *
*【函數作用】:12864寫入字符串                                     *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_str_w(uchar * str)
{
    uchar i = 0;
    while(str[i] != '\0')
    {
        lcd_dat_w(str[i++]);
    }
}

/*******************************************************************
*【函 數 名】:lcd_row_on                                          *
*【修改日期】:2008年7月8日                                        *
*【函數作用】:選擇一行反白顯示                                    *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_row_on(uchar temp)
{
	uchar i, j, x, y;
    y = temp - 1;
    if(y >= 2)
    {
        x = 8;
        y = (y-2)*16;
     }
     else
     {
        x = 0;
        y = y*16;
      }

//	lcd_cmd_w(0x34);
	lcd_cmd_w(0x36);
	for(i=0; i<16; i++)
	{    
        
        lcd_cmd_w(0x80+y);
        lcd_cmd_w(0x80+x);
        y++;

		for(j=0; j<16; j++)
		{
			lcd_dat_w(0xff);    
         }
	}
    lcd_cmd_w(0x30);
    delay(2);
}

/*******************************************************************
*【函 數 名】:lcd_row_off                                         *
*【修改日期】:2008年7月8日                                        *
*【函數作用】:取消一行反白顯示                                    *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_row_off(uchar temp)
{
	uchar i, j, x, y;
    y = temp - 1;  
    if(y >=2)
    {
        x = 8;
        y = (y-2)*16;
     }
     else
     {
        x = 0;
        y = y*16;
      }

//        lcd_cmd_w(0x34);
		lcd_cmd_w(0x36);
    	
        for(i=0; i<16; i++)
	    {    
        lcd_cmd_w(0x80+y);
        lcd_cmd_w(0x80+x);
        y++;

		for(j=0; j<16; j++)
		{
			lcd_dat_w(0x00);    
         }
	}
    lcd_cmd_w(0x30);
    delay(2);
}

/*******************************************************************
*【函 數 名】:lcd_clear_pic                                       *
*【修改日期】:2008年7月8日                                        *
*【函數作用】:清除繪圖部分,即取消全部反白                        *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_clear_pic(void)
{
    uchar i, j;

// 	lcd_cmd_w(0x34);
    lcd_cmd_w(0x36);
	for(i=0; i<32; i++)
	{
        lcd_cmd_w(0x80+i);
        lcd_cmd_w(0x80);
		for(j=0; j<32; j++)
		{
			lcd_dat_w(0x00);    
         }
	}
    lcd_cmd_w(0x30);
    delay(2); 
}

/*******************************************************************
*【函 數 名】:lcd_black_pic                                       *
*【修改日期】:2008年7月8日                                        *
*【函數作用】:全屏黑色                                            *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_black_pic(void)
{
    uchar i, j;
//    lcd_cmd_w(0x34);
    lcd_cmd_w(0x36);

	for(i=0; i<32; i++)
	{
        lcd_cmd_w(0x80+i);
        lcd_cmd_w(0x80);
		for(j=0; j<32; j++)
		{
			lcd_dat_w(0xff);    
         }
	}
    lcd_cmd_w(0x30);
    delay(2); 
}

/*******************************************************************
*【函 數 名】:lcd_block_on                                        *
*【修改日期】:2008年7月10日                                       *
*【函數作用】:反白2個漢字大小的面積                               *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void lcd_block_on(uchar temp)
{
	uchar i, j, x, y;
    y = temp - 1;
    if(y >= 2)
    {
        x = 8;
        y = (y-2)*16;
     }
     else
     {
        x = 0;
        y = y*16;
      }
		
//    lcd_cmd_w(0x34);
    lcd_cmd_w(0x36);

	for(i=0; i<16; i++)
	{    
        
        lcd_cmd_w(0x80+y);
        lcd_cmd_w(0x80+x);
        y++;

		for(j=0; j<12; j++)
			lcd_dat_w(0x00);    

        for(j=0; j<4;j++)
            lcd_dat_w(0xff);
	}
    lcd_cmd_w(0x30);
    delay(2);
}
/*******************************************************************
*【函 數 名】:logo                                                *
*【修改日期】:2008年7月2日                                        *
*【函數作用】:系統開機畫面                                        *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void logo()
{
    

	lcd_initial();

	lcd_cmd_w(0x01);
	lcd_setposition(2,0);
    lcd_str_w("便攜式葉綠素含量");
	lcd_setposition(3,1);
    lcd_str_w("光電檢測儀V2");
	delay(100);
	
	lcd_cmd_w(0x01);
	lcd_setposition(1,1);
	lcd_str_w("國家創新計劃");
	lcd_setposition(2,2);
	lcd_str_w("GCS07001");
	lcd_setposition(3,1);
	lcd_str_w("北京林業大學");
	lcd_setposition(4,0);
	lcd_str_w("理學院基礎樓305 ");
	delay(100);		

} 

/*******************************************************************
*【函 數 名】:logo2                                               *
*【修改日期】:2008年7月8日                                        *
*【函數作用】:系統開機畫面                                        *
*------------------------------------------------------------------*
*【備    注】:                                                    *
*******************************************************************/
void logo2()
{
	lcd_initial();
	lcd_black_pic();	  //完整刷屏
	delay(10); 	
	
	lcd_setposition(2,0);
    lcd_str_w("便攜式葉綠素含量除");

	lcd_row_off(2);


	lcd_setposition(3,1);
    lcd_str_w("光電檢測儀V2");
	lcd_row_off(3);
	delay(100);


	lcd_cmd_w(0x01);
 
	lcd_row_on(2);
	lcd_row_on(3);
	lcd_setposition(1,1);
	lcd_str_w("國家創新計劃");
	lcd_setposition(2,2);
	lcd_str_w("GCS07001");
	lcd_setposition(3,1);
	lcd_str_w("北京林業大學");
	lcd_setposition(4,0);
	lcd_str_w("理學院基礎樓305 ");
	delay(100);		       
	lcd_clear_pic();

}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡二卡三卡| 91久久线看在观草草青青| 丰满白嫩尤物一区二区| 欧美精品久久99久久在免费线 | 91精品国产综合久久香蕉的特点| 国产欧美一区视频| 日韩极品在线观看| 在线中文字幕一区| 国产精品美女久久久久久2018 | 亚洲成国产人片在线观看| 国产成a人无v码亚洲福利| 这里只有精品电影| 香蕉影视欧美成人| 欧美亚洲一区三区| 亚洲欧美色一区| 国产成人精品亚洲午夜麻豆| 日韩免费观看2025年上映的电影| 亚洲国产日韩一级| 在线观看一区日韩| 亚洲人成人一区二区在线观看| 国产精品18久久久久久久久久久久| 在线不卡中文字幕| 午夜精品久久久| 欧美天天综合网| 亚洲成人免费视频| 欧美中文字幕久久| 亚洲国产毛片aaaaa无费看 | 亚洲国产综合在线| 欧美日韩亚洲不卡| 亚洲国产欧美在线| 在线欧美日韩国产| 一区二区日韩电影| 欧美日韩一区二区三区高清| 亚洲一区二区三区四区在线观看 | 美女脱光内衣内裤视频久久网站| 欧美猛男男办公室激情| 亚洲制服丝袜一区| 欧美伦理电影网| 视频一区在线视频| 日韩久久久久久| 国产成人精品网址| 中文字幕日韩欧美一区二区三区| 成人激情电影免费在线观看| 成人欧美一区二区三区白人| 91久久精品午夜一区二区| 亚洲精品日日夜夜| 欧美日韩高清在线播放| 日本一道高清亚洲日美韩| 日韩欧美国产高清| 国产白丝精品91爽爽久久| 中文文精品字幕一区二区| www.亚洲激情.com| 爽爽淫人综合网网站| 久久这里只有精品视频网| 丁香五精品蜜臀久久久久99网站 | 麻豆精品视频在线| 久久久久国产精品麻豆| 国产精品69久久久久水密桃| 一区二区三区中文在线| 777奇米四色成人影色区| 国产在线播精品第三| 亚洲欧洲国产日韩| 欧美喷水一区二区| 成人一区在线观看| 香蕉av福利精品导航| 国产丝袜美腿一区二区三区| 91麻豆成人久久精品二区三区| 日韩专区在线视频| 日本一区二区电影| 欧美精品精品一区| www.欧美.com| 美女高潮久久久| 亚洲乱码精品一二三四区日韩在线| 51久久夜色精品国产麻豆| 懂色av中文字幕一区二区三区| 亚洲无人区一区| 国产精品福利一区二区| 91精品国产综合久久久久久久久久| 成人中文字幕在线| 久久超级碰视频| 一区二区三区精品| 久久久不卡网国产精品一区| 欧美性猛交xxxx黑人交| 国产成人精品亚洲日本在线桃色| 亚洲18色成人| 亚洲人xxxx| 亚洲国产精品成人综合| 91精品一区二区三区在线观看| 99在线精品一区二区三区| 久久成人精品无人区| 天天亚洲美女在线视频| 亚洲视频狠狠干| 中文字幕+乱码+中文字幕一区| 欧美tickle裸体挠脚心vk| 欧美视频一区二| 色婷婷久久99综合精品jk白丝| 国产在线一区二区| 青青草伊人久久| 亚洲国产精品麻豆| 亚洲自拍与偷拍| 亚洲精品第1页| 亚洲精品高清在线| 亚洲日本免费电影| 国产精品久99| 国产精品高清亚洲| 国产精品女主播av| 国产精品色哟哟网站| 国产欧美一区二区精品性| 精品少妇一区二区三区在线播放| 欧美剧在线免费观看网站| 欧美无乱码久久久免费午夜一区| 在线视频一区二区三| 色呦呦一区二区三区| 一本大道久久a久久综合| 色婷婷狠狠综合| 精品视频在线免费看| 欧美日韩欧美一区二区| 欧美日韩另类一区| 4438亚洲最大| 精品少妇一区二区三区在线播放| 日韩精品自拍偷拍| 26uuu国产电影一区二区| 久久尤物电影视频在线观看| 久久精品夜夜夜夜久久| 中文字幕精品三区| 亚洲人精品午夜| 亚洲18色成人| 精品在线播放午夜| 国产成人午夜99999| 成人av综合在线| 91捆绑美女网站| 欧美日本在线看| 欧美sm极限捆绑bd| 国产精品美女久久久久久久| 伊人色综合久久天天人手人婷| 亚洲福利视频三区| 久久 天天综合| 97久久超碰精品国产| 欧美午夜不卡视频| 亚洲精品在线观| 中文字幕在线免费不卡| 五月婷婷另类国产| 国产精品自拍一区| 91欧美激情一区二区三区成人| 欧美日韩国产免费一区二区 | 国产91精品免费| 91老司机福利 在线| 欧美一区二区在线免费播放 | 不卡的av在线播放| 欧美美女网站色| 国产精品久久久久久户外露出 | 亚洲天堂福利av| 蜜臀久久99精品久久久久久9| 成人免费va视频| 91精品国产色综合久久不卡电影| 国产区在线观看成人精品| 亚洲成av人片一区二区三区| 国产精品99久久久| 欧美精品v日韩精品v韩国精品v| 国产欧美精品一区| 日韩av电影一区| 91丨porny丨在线| 久久久精品蜜桃| 五月婷婷久久综合| 91免费国产在线观看| www国产成人免费观看视频 深夜成人网| 日韩一区在线看| 国产精品123| 日韩一区二区三区电影在线观看 | 欧美日韩国产高清一区二区 | 欧美日韩中文另类| 欧美激情一区二区三区蜜桃视频 | 在线视频中文字幕一区二区| 久久久精品国产免大香伊| 日韩av在线播放中文字幕| 91麻豆福利精品推荐| 中文字幕+乱码+中文字幕一区| 狂野欧美性猛交blacked| 欧美人与禽zozo性伦| 亚洲精品综合在线| 成人不卡免费av| 国产欧美一区二区精品仙草咪| 九色综合狠狠综合久久| 91麻豆精品91久久久久久清纯| 亚洲一区二三区| 色88888久久久久久影院野外 | 在线观看日韩毛片| 国产精品久久777777| 成人禁用看黄a在线| 国产亚洲欧美色| 国产精品一区二区x88av| 欧美成人激情免费网| 久久99久久精品| 欧美大尺度电影在线| 日本午夜一本久久久综合| 欧美色网站导航| 亚洲图片欧美色图| 欧美精品成人一区二区三区四区| 亚洲成人手机在线| 7777精品伊人久久久大香线蕉完整版|