ILI9235的51單片機(jī)驅(qū)動(dòng)程序-推箱子游戲
完整的代碼下載地址:http://www.51hei.com/bbs/dpj-20611-1.html
下面是ILI9235的驅(qū)動(dòng)程序部分預(yù)覽
#include "mylib.h"
/*******************************************************************************
函數(shù)名稱(chēng):void ClearScreen(uint Color)
函數(shù)功能:刷屏使得全屏顯示單一的顏色
入口參數(shù):Clolr:屏幕背景的顏色(直接寫(xiě)入顏色的英文,在.h中有定義)
出口參數(shù):無(wú)
備 注:
********************************************************************************/
void ClearScreen(uint Color)
{
uint i,j;
LCD_SetPos(0,320,0,240); //設(shè)置起始地址為(0,0) ~(320,240)
for (i=0;i<325;i++)
{
for (j=0;j<240;j++)
{
Write_Data_U16(Color);
}
}
}
/*******************************************************************************
函數(shù)名稱(chēng):void Show_RGB (uint x0,uint x1,uint y0,uint y1,uint Color)
函數(shù)功能:在屏幕的(x0,y0)到(x1,y1)區(qū)域顯示某一種顏色
入口參數(shù):(x0,y0)和(x1,y1)表示位置;
Color :顯示區(qū)域的顏色
出口參數(shù):無(wú)
備 注:可以實(shí)現(xiàn)畫(huà)點(diǎn)和畫(huà)水平和垂直的直線
顯示時(shí)輸入的參數(shù)x:0-320,y:0-240(橫向)
*******************************************************************************/
void Show_RGB (uint x0,uint x1,uint y0,uint y1,uint Color)
{
uint i,j;
i=x0;x0=y0;y0=i;
i=x1;x1=y1;y1=i;
i = y0;
y0 = 320-y1;
y1 = 320-i;
LCD_SetPos(x0,x1,y0,y1);
for (i=y0;i<=y1;i++)
{
for (j=x0;j<=x1;j++)
{
Write_Data_U16(Color);
}
}
}
/*******************************************************************************
函數(shù)名稱(chēng):void DrawCoord(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函數(shù)功能:在屏幕上畫(huà)坐標(biāo),屏幕是橫放的
入口參數(shù):(x0,y0)和(x1,y1)表示位置;
Color :顯示區(qū)域的顏色
Line_Width:坐標(biāo)軸的線寬
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void DrawCoord(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
{
LineWidth = LineWidth-1;
Show_RGB (x0,x0+LineWidth,y0,y1,Color); //豎
Show_RGB (x0,x1,y1-LineWidth,y1,Color); //橫
}
/*******************************************************************************
函數(shù)名稱(chēng):void Show_Xmark(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函數(shù)功能:在屏幕上畫(huà)橫線,屏幕是橫放的
入口參數(shù):(x0,y0)和(x1,y1)表示位置;
Color :顯示區(qū)域的顏色
Line_Width:坐標(biāo)軸的線寬
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Show_Xmark(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
{
LineWidth = LineWidth-1;
Show_RGB (x0,x0+LineWidth,y0,y1,Color); //豎
}
/*******************************************************************************
函數(shù)名稱(chēng):void Show_Xmark(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函數(shù)功能:在屏幕上畫(huà)豎線,屏幕是橫放的
入口參數(shù):(x0,y0)和(x1,y1)表示位置;
Color :顯示區(qū)域的顏色
Line_Width:坐標(biāo)軸的線寬
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Show_Ymark (uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
{
LineWidth = LineWidth-1;
Show_RGB (x0,x1,y0,y0+LineWidth,Color);
}
/*******************************************************************************
函數(shù)名稱(chēng):void Init_data (uchar x,uint y)
函數(shù)功能:些數(shù)據(jù)到寄存器
入口參數(shù):x,y 需要寫(xiě)入的數(shù)據(jù)
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Init_data (uchar x,uint y)
{
uchar m,n;
m=y>>8;
n=y;
Write_Cmd(0x00,x);
Write_Data(m,n);
}
/*******************************************************************************
函數(shù)名稱(chēng):void Write_Data_U16(uint y)
函數(shù)功能:寫(xiě)入顏色
入口參數(shù):y 顏色數(shù)據(jù)
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Write_Data_U16(uint y)
{
uchar m,n;
m=y>>8;
n=y;
Write_Data(m,n);
}
/*******************************************************************************
函數(shù)名稱(chēng):void Write_Cmd(uchar DH,uchar DL)
函數(shù)功能:寫(xiě)指令
入口參數(shù):DH 高8位數(shù)據(jù) DL 低8位數(shù)據(jù)
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Write_Cmd(uchar DH,uchar DL)
{
CS0
RS0
P4DIR = 0xff;
P4OUT = DH;
RW0
RW1
P4OUT = DL;
RW0
RW1
CS1
}
/*******************************************************************************
函數(shù)名稱(chēng):void Write_Data(uchar DH,uchar DL)
函數(shù)功能:寫(xiě)數(shù)據(jù)
入口參數(shù):DH 高8位數(shù)據(jù) DL 低8位數(shù)據(jù)
出口參數(shù):無(wú)
備 注:無(wú)
*******************************************************************************/
void Write_Data(uchar DH,uchar DL)
{
CS0
RS1
P4DIR = 0xff;
P4OUT=DH;
RW0
RW1
P4OUT=DL;
RW0
RW1
CS1
}
評(píng)論