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

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

?? tft_lcd.c

?? 我改寫的在TFT上顯示SD卡中BMP文件的程序
?? C
字號:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <string.h>
#include "TFT_LCD.h"
#include "portBit.h"
#include "mydelay.h"

//  作者:Jacky.L   13430733249
//  僅供學(xué)習(xí)使用.未經(jīng)本人同意不得任意轉(zhuǎn)載
//  請支持原創(chuàng),謝謝!



/*  		     ------		
	 VCC	22	--|	 |--1	GND
	 VCC	21	--|	 |--2	GND
	 VCC	20	--|	 |--3	GND	
	VCCIO	19	--|	 |--4	#RST
	VCCIO	18	--|	 |--5	NC
	  D0	17	--|	 |--6	#RD
	  D1	16	--|	 |--7	#WR
	  D2	15	--|	 |--8	#CS
	  D3	14	--|	 |--9	RS
	  D4	13	--|	 |--10	D7
	  D5	12	--|	 |--11	D6
			     ------
VCC	:2.6~3.3V
VCCIO	:1.6~3.3V                                */


/*
void DelayUs(unsigned int t)
{
	t+=170;
	while(--t);
}

void DelayMs(unsigned int t)
{
	unsigned char i,j;
	while(--t)
	{
		j=8;
		while(--j)
			while(--i);
	}
}*/


 


//寫寄存器地址函數(shù)
void LCD_WriteRegister(unsigned char index)
{

	L(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);

	DATA_PORT = index;

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );

	H(CTL_PORT,LCD_CS );
//	LCD_RS = 0;
}

//寫8位數(shù)據(jù)函數(shù)
void LCD_WriteByte(unsigned char pd)
{
//	DelayUs(10);

	H(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);

	DATA_PORT = pd;

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );

	H(CTL_PORT,LCD_CS );
}

//寫寄存器數(shù)據(jù)函數(shù)
//輸入:dbw 數(shù)據(jù)位數(shù),1為16位,0為8位。
void LCD_WriteCommand(unsigned char dbw,unsigned char index,unsigned int val)
{
	L(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);

	DATA_PORT = index;

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );

	H(CTL_PORT,LCD_CS );

	DelayUs(1);

	if(dbw)
		{
		H(CTL_PORT,LCD_RS);
		L(CTL_PORT,LCD_CS);

		DATA_PORT = (unsigned char)(val>>8);

  	    L(CTL_PORT,LCD_WR );
	    H(CTL_PORT,LCD_WR );
	    H(CTL_PORT,LCD_CS );
		}

	DelayUs(1);

	H(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);

	DATA_PORT = (unsigned char)val;

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );

	H(CTL_PORT,LCD_CS );
}


//寫16位數(shù)據(jù)函數(shù)
void LCD_WriteWord(unsigned int val)
{
	H(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);

	DATA_PORT = (unsigned char)(val>>8);

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );
	//H(CTL_PORT,LCD_CS );


	//H(CTL_PORT,LCD_RS);
	//L(CTL_PORT,LCD_CS);

	DATA_PORT = (unsigned char)val;

	L(CTL_PORT,LCD_WR );
	H(CTL_PORT,LCD_WR );

	H(CTL_PORT,LCD_CS );
}

//初始化函數(shù)
void LCD_Init()
{
	DATA_PORT_OUT;
	CTL_PORT_OUT;
	CTL_PORT_H;

	L(CTL_PORT,LCD_RST);
	DelayMs(200);
	H(CTL_PORT,LCD_RST);
	DelayMs(200);

	//initializing funciton 1
	DelayUs(10);
	LCD_WriteRegister(0xA1);
	DelayUs(16);
	LCD_WriteByte(0x00);
	DelayUs(90);
	LCD_WriteRegister(0xA0);
	DelayUs(10);
	LCD_WriteByte(0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x70,0xC8);

	DelayMs(20);
	
	LCD_WriteCommand(0,0x72,0xA3);
	DelayUs(10);
	LCD_WriteCommand(0,0x73,0x04);
	DelayUs(10);
	LCD_WriteCommand(0,0x75,0x45);
	DelayUs(10);
	LCD_WriteCommand(0,0x76,0x23);
	DelayUs(10);
	LCD_WriteCommand(0,0x77,0x08);
	DelayUs(10);
	LCD_WriteCommand(0,0x78,0x08);
	DelayUs(10);
	LCD_WriteCommand(0,0x79,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x7F,0xF0);
	DelayUs(10);

	LCD_WriteCommand(0,0x71,0x81);	//

	DelayMs(2);

	LCD_WriteCommand(0,0x0D,0x23);
	DelayUs(10);
	LCD_WriteCommand(0,0x11,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x12,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x21,0x37);
	DelayUs(10);
	LCD_WriteCommand(0,0x22,0x02);
	DelayUs(10);
	LCD_WriteCommand(0,0x23,0x24);
	DelayUs(10);
	DelayUs(10);
	LCD_WriteCommand(0,0x24,0x13);
	DelayUs(10);
	LCD_WriteCommand(0,0x25,0x0A);
	DelayUs(10);
	LCD_WriteCommand(0,0x26,0x82);
	DelayUs(10);
	LCD_WriteCommand(0,0x27,0x01);
	DelayUs(10);
	LCD_WriteCommand(0,0x1E,0x25);
	DelayUs(10);
	LCD_WriteCommand(0,0x1F,0x59);
	DelayUs(10);

	//GAMMA設(shè)置
	LCD_WriteCommand(1,0x30,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x31,0x0444);
	DelayUs(10);
	LCD_WriteCommand(1,0x32,0x0555);
	DelayUs(10);
	LCD_WriteCommand(1,0x33,0x0444);
	DelayUs(10);
	LCD_WriteCommand(1,0x34,0x0333);
	DelayUs(10);
	LCD_WriteCommand(1,0x35,0x0333);
	DelayUs(10);
	LCD_WriteCommand(1,0x36,0x0333);
	DelayUs(10);
	LCD_WriteCommand(1,0x37,0x0333);
	DelayUs(10);
	LCD_WriteCommand(1,0x38,0x0444);
	DelayUs(10);
	LCD_WriteCommand(1,0x39,0x0555);
	DelayUs(10);
	LCD_WriteCommand(1,0x3A,0x0666);
	DelayUs(10);
	LCD_WriteCommand(1,0x3B,0x0666);
	DelayUs(10);
	LCD_WriteCommand(1,0x3C,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x3D,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x3E,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x3F,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x40,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x41,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x42,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x43,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x44,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x45,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x46,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x47,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x48,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x49,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x4A,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x4B,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x4C,0x0777);
	DelayUs(10);
	LCD_WriteCommand(1,0x4D,0x0666);
	DelayUs(10);
	LCD_WriteCommand(1,0x4E,0x0666);
	DelayUs(10);
	LCD_WriteCommand(1,0x4F,0x0666);

	DelayUs(400);

	LCD_WriteCommand(0,0x00,0x04);	//掃描方向控制
	DelayUs(10);
	LCD_WriteCommand(0,0x01,0x07);	//掃描方向控制
	DelayUs(10);

	LCD_WriteCommand(0,0x02,0x00);		//X
	LCD_WriteCommand(1,0x03,0x0000);	//Y

	//面板大小設(shè)置
	LCD_WriteCommand(0,0x04,0xEF);		//結(jié)束列數(shù)(0~239) 0xEF=239	
	LCD_WriteCommand(1,0x05,0x013F);	//結(jié)束行數(shù)(0~319) 0x13F=319

	//窗口設(shè)置
	LCD_WriteCommand(0,0x06,0x00);		//水平起始位置
	LCD_WriteCommand(1,0x07,0x0000);	//垂直起始位置
	LCD_WriteCommand(0,0x08,0xEF);		//水平結(jié)束位置
	LCD_WriteCommand(1,0x09,0x013F);	//垂直結(jié)束位置

	DelayUs(10);
	LCD_WriteCommand(0,0x0A,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x0B,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x0C,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x14,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x15,0x00);
	DelayUs(10);
	LCD_WriteCommand(0,0x16,0x00);
	DelayUs(10);
	LCD_WriteCommand(1,0x17,0x01FF);
	DelayUs(10);
	LCD_WriteCommand(1,0x18,0x01FF);
	DelayUs(10);	
	LCD_WriteCommand(0,0x13,0x00);
	DelayUs(10);
	LCD_WriteCommand(1,0x19,0x01FF);
	DelayUs(10);
	LCD_WriteCommand(1,0x1B,0x01FF);
	DelayUs(10);
	LCD_WriteCommand(1,0x1C,0x01FF);
	DelayUs(10);
	LCD_WriteCommand(1,0x1A,0x01FF);	
	DelayUs(10);
	LCD_WriteCommand(0,0x1D,0x0E);
	DelayUs(10);
	LCD_WriteCommand(0,0x10,0x06);		//開顯示
	LCD_WriteRegister(0x0E);
	DelayUs(100);
}

void LCD_Start_Window(void)
{
	LCD_WriteCommand(0,0x2,0);        //0-239
	LCD_WriteCommand(1,0x3,0);        //0-319
	LCD_WriteCommand(0,0x04,239);	//結(jié)束列數(shù)(0~239)	
	LCD_WriteCommand(1,0x05,319);	//結(jié)束行數(shù)(0~319)
	LCD_WriteRegister(0x0E);
 	H(CTL_PORT,LCD_RS);
	L(CTL_PORT,LCD_CS);
}


void LCD_SetSCRN(unsigned int color)
{
	unsigned int n,num;
	/*
	LCD_Start_Window();
	for(n=0;n<320;n++)
		{
		for(num=0;num<240;num++)
			{
			DATA_PORT = 0;
			L(CTL_PORT,LCD_WR );
			H(CTL_PORT,LCD_WR );
			DATA_PORT = 0x1f;
			L(CTL_PORT,LCD_WR );
			H(CTL_PORT,LCD_WR );
			}
		}*/
    LCD_WriteCommand(0,0x02,0);		//X
	LCD_WriteCommand(1,0x03,0);		//Y
	LCD_WriteCommand(0,0x04,239);	//結(jié)束列數(shù)(0~239)	
	LCD_WriteCommand(1,0x05,319);	//結(jié)束行數(shù)(0~319)
	
	LCD_WriteRegister(0x0E);                //寫顯示數(shù)據(jù)區(qū)
	
	for(n=0;n<320;n++)
		{
		for(num=0;num<240;num++)
			{
			LCD_WriteWord(color);
			}
		}
}


/*********************************************
//畫點(diǎn)函數(shù)
//(x,y)點(diǎn)的坐標(biāo)量,color 點(diǎn)的顏色
**********************************************/
void  LCD_Point(unsigned char x, unsigned int y, unsigned int color)
{  
	LCD_WriteCommand(0,0x02,x);	      //X
	LCD_WriteCommand(1,0x03,y);       //Y
	LCD_WriteCommand(0,0x04,x);	      //結(jié)束列數(shù)(0~239)	
	LCD_WriteCommand(1,0x05,y);       //結(jié)束行數(shù)(0~319)
	
	LCD_WriteRegister(0x0E);          //寫顯示數(shù)據(jù)區(qū)
	LCD_WriteWord(color);
}


/**********************************************************
//畫橫線函數(shù)
//(x,y)開始點(diǎn)的坐標(biāo)量,color 線的顏色, length 橫線長度
************************************************************/
void  LCD_HLine(unsigned char x, unsigned int y, unsigned char length, unsigned int color) 
{  

   LCD_WriteCommand(0,0x02,x);	        //X
   LCD_WriteCommand(1,0x03,y);          //Y
   LCD_WriteCommand(0,0x04,x+length-1);	//結(jié)束列數(shù)(0~239)	
   LCD_WriteCommand(1,0x05,y);          //結(jié)束行數(shù)(0~319)
	
   LCD_WriteRegister(0x0E);             //寫顯示數(shù)據(jù)區(qū)
	
	do{  
		LCD_WriteWord(color);	       // 逐點(diǎn)顯示,描出水平線
		length--;
	}while(length);
}

/**********************************************************
//畫豎線函數(shù)
//(x,y)開始點(diǎn)的坐標(biāo)量,color 線的顏色, high 豎線高度
************************************************************/
/*
void  LCD_RLine(unsigned char x, unsigned int y, unsigned int high, unsigned int color) 
{  
   
    LCD_WriteCommand(0,0x02,x);	        //X
	LCD_WriteCommand(1,0x03,y);         //Y
	LCD_WriteCommand(0,0x04,x);	        //結(jié)束列數(shù)(0~239)	
	LCD_WriteCommand(1,0x05,y+high-1);  //結(jié)束行數(shù)(0~319)
	
	LCD_WriteRegister(0x0E);          //寫顯示數(shù)據(jù)區(qū)
	
	do{  
		LCD_WriteWord(color);	          // 逐點(diǎn)顯示,描出垂直線
		high--;
	}while(high);	
}

*/


/**********************************************************
//顯示圖片函數(shù)
//(x,y)開始點(diǎn)的坐標(biāo)量
//length 圖片長度, high 圖片高度
//pic 圖片數(shù)組的指針
************************************************************/
/*
void  LCD_DisPicture(unsigned char x, unsigned int y, unsigned char length, unsigned int high ,const unsigned char *pic)
{
    unsigned int temp,tmp=0,num=0;
    LCD_WriteCommand(0,0x02,x);	            //X
	LCD_WriteCommand(1,0x03,y);             //Y
	LCD_WriteCommand(0,0x04,x+length-1);	//結(jié)束列數(shù)(0~239)	
	LCD_WriteCommand(1,0x05,y+high-1);      //結(jié)束行數(shù)(0~319)
	num=length*high*2;
	
	LCD_WriteRegister(0x0E);                //寫顯示數(shù)據(jù)區(qū)
	
	do{  
		temp=pic[tmp]| pic[tmp+1]<<8;
		LCD_WriteWord(temp);	            // 逐點(diǎn)顯示
		tmp+=2;
	}while(tmp<num);
}

*/















?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产盗摄一区二区| 国产91在线|亚洲| 久久久久久99精品| 欧美日韩精品一区二区三区蜜桃| 国产精品18久久久久久久久 | 国产精品久久久久一区二区三区共| 欧美性一区二区| 丁香一区二区三区| 麻豆91精品91久久久的内涵| 一区二区三区蜜桃网| 国产日韩视频一区二区三区| 中文字幕一区二区视频| 日韩一区二区三区免费看| 91视频在线看| 不卡一区二区三区四区| 精品一区二区三区在线观看国产| 亚洲一二三区视频在线观看| 国产精品久久一级| 久久精品视频在线免费观看 | 欧美一级二级三级乱码| 91官网在线观看| av亚洲精华国产精华精华| 国产精品18久久久久| 久久国产成人午夜av影院| 午夜精品久久久久久久| 一区二区三区四区激情 | 亚洲一区二区在线观看视频| 国产精品九色蝌蚪自拍| 久久久久久久网| 久久综合色婷婷| 精品不卡在线视频| 欧美xxxxx牲另类人与| 日韩欧美视频在线| 日韩一级完整毛片| 欧美成人乱码一区二区三区| 日韩欧美高清一区| 日韩亚洲欧美一区二区三区| 日韩视频在线你懂得| 欧美一区二区三区在线观看| 日韩三级视频在线观看| 日韩欧美在线一区二区三区| 日韩一区二区在线观看视频 | 色综合天天综合网国产成人综合天| 国产福利一区在线| 成人黄色国产精品网站大全在线免费观看| 国产很黄免费观看久久| 高清不卡在线观看| 97aⅴ精品视频一二三区| 一本大道久久a久久综合 | 久久九九99视频| 国产精品丝袜久久久久久app| 日本一区二区三区dvd视频在线| 国产欧美日韩激情| 亚洲婷婷综合久久一本伊一区| 一区二区三区在线高清| 亚洲高清免费一级二级三级| 人妖欧美一区二区| 狠狠色综合播放一区二区| 国产黄色精品网站| 一本一道波多野结衣一区二区| 欧美日韩国产片| 日韩午夜电影在线观看| 久久精品欧美一区二区三区不卡| 中文字幕av一区 二区| 一区二区三区四区国产精品| 天天av天天翘天天综合网色鬼国产 | 91豆麻精品91久久久久久| 欧美日韩黄色一区二区| 久久综合av免费| 亚洲日本在线看| 欧美aaa在线| 成人小视频在线| 欧美日韩精品高清| 国产亚洲精品精华液| 一区二区三区日韩在线观看| 日本不卡免费在线视频| 成人免费不卡视频| 欧美久久久一区| 亚洲国产精品激情在线观看| 性欧美大战久久久久久久久| 国产ts人妖一区二区| 欧美亚洲免费在线一区| 亚洲精品在线网站| 亚洲欧美日韩精品久久久久| 美脚の诱脚舐め脚责91| 91首页免费视频| 26uuu亚洲综合色欧美 | 国产一区二区三区免费播放| 99久久精品国产麻豆演员表| 日韩欧美电影一区| 亚洲美女屁股眼交| 精品亚洲国内自在自线福利| 色老头久久综合| 国产拍揄自揄精品视频麻豆| 天天色天天爱天天射综合| 成人av在线电影| 日韩欧美二区三区| 亚洲成人av在线电影| 国产不卡视频一区| 精品入口麻豆88视频| 亚洲综合小说图片| 成人性生交大片免费看视频在线 | 亚洲综合激情网| 国产美女精品人人做人人爽| 4438x亚洲最大成人网| 国产精品欧美一级免费| 毛片基地黄久久久久久天堂| 欧美在线影院一区二区| 国产精品三级视频| 国产一区不卡精品| 日韩欧美国产wwwww| 午夜欧美在线一二页| 91在线免费播放| 国产精品不卡在线观看| 国产美女一区二区三区| 欧美一区二区三区免费观看视频| 亚洲欧美日韩中文播放| 成人黄色小视频| 中文成人综合网| 国产传媒欧美日韩成人| 日韩亚洲电影在线| 免费在线看一区| 91精品在线观看入口| 亚洲bt欧美bt精品777| 色av一区二区| 一区二区三区中文字幕电影| 色综合 综合色| 亚洲乱码国产乱码精品精98午夜| www.成人在线| 亚洲欧洲成人自拍| 99久久99久久久精品齐齐| 成人欧美一区二区三区黑人麻豆| 国产成人精品在线看| 中文子幕无线码一区tr| 懂色av中文字幕一区二区三区| 国产欧美精品一区二区色综合朱莉| 韩国毛片一区二区三区| 久久久久久夜精品精品免费| 国产一区二区视频在线播放| 精品国免费一区二区三区| 久久精品国产99久久6| 日韩免费观看2025年上映的电影| 午夜精品福利在线| 欧美一区二区精品久久911| 久久不见久久见免费视频1| 日韩一区二区精品| 国产毛片一区二区| 国产精品毛片高清在线完整版| 波多野结衣91| 亚洲一区在线观看视频| 欧美日本免费一区二区三区| 日韩av电影免费观看高清完整版在线观看 | 国产亚洲成aⅴ人片在线观看| 成人做爰69片免费看网站| 国产精品久久久久久久久搜平片| 91视频免费观看| 亚州成人在线电影| 2024国产精品视频| 大尺度一区二区| 亚洲成人午夜影院| 日韩美女一区二区三区| 国产成人亚洲精品青草天美| |精品福利一区二区三区| 欧美午夜一区二区| 激情图片小说一区| 亚洲欧美日韩国产成人精品影院 | 一区二区三区欧美视频| 日韩一区二区三区电影| 国产成人在线看| 亚洲国产精品麻豆| 亚洲精品在线免费播放| 国产成人在线看| 亚洲超碰精品一区二区| 国产三级精品在线| 欧美日韩一区视频| 豆国产96在线|亚洲| 天堂在线亚洲视频| 国产女同性恋一区二区| 欧美丰满少妇xxxbbb| 高清国产一区二区| 日本sm残虐另类| 亚洲三级视频在线观看| 精品国产污污免费网站入口 | 欧美二区乱c少妇| 成人av一区二区三区| 日本不卡视频在线| 亚洲毛片av在线| 久久久久久久久97黄色工厂| 欧美主播一区二区三区| 粉嫩在线一区二区三区视频| 日韩国产欧美在线播放| 中文字幕亚洲精品在线观看| 精品国产伦一区二区三区观看方式| 日本久久一区二区三区| 国产很黄免费观看久久| 看片的网站亚洲| 亚洲成人精品影院| 亚洲欧美成aⅴ人在线观看| 久久久www成人免费毛片麻豆| 欧美群妇大交群中文字幕|