微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ILI9235的51单片机驱动程序-推箱子游戏

ILI9235的51单片机驱动程序-推箱子游戏

时间:11-30 来源:互联网 点击:

完整的代码下载地址:http://www.51hei.com/bbs/dpj-20611-1.html
下面是ILI9235的驱动程序部分预览
#include "mylib.h"

/*******************************************************************************
函数名称:void ClearScreen(uint Color)
函数功能:刷屏使得全屏显示单一的颜色
入口参数:Clolr:屏幕背景的颜色(直接写入颜色的英文,在.h中有定义)
出口参数:无
备 注:
********************************************************************************/
void ClearScreen(uint Color)
{
uint i,j;
LCD_SetPos(0,320,0,240); //设置起始地址为(0,0) ~(320,240)
for (i=0;i<325;i++)
{
for (j=0;j<240;j++)
{
Write_Data_U16(Color);
}
}
}

/*******************************************************************************
函数名称:void Show_RGB (uint x0,uint x1,uint y0,uint y1,uint Color)
函数功能:在屏幕的(x0,y0)到(x1,y1)区域显示某一种颜色
入口参数:(x0,y0)和(x1,y1)表示位置;
Color :显示区域的颜色
出口参数:无
备 注:可以实现画点和画水平和垂直的直线
显示时输入的参数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);
}
}
}

/*******************************************************************************
函数名称:void DrawCoord(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函数功能:在屏幕上画坐标,屏幕是横放的
入口参数:(x0,y0)和(x1,y1)表示位置;
Color :显示区域的颜色
Line_Width:坐标轴的线宽
出口参数:无
备 注:无
*******************************************************************************/
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); //横
}

/*******************************************************************************
函数名称:void Show_Xmark(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函数功能:在屏幕上画横线,屏幕是横放的
入口参数:(x0,y0)和(x1,y1)表示位置;
Color :显示区域的颜色
Line_Width:坐标轴的线宽

出口参数:无
备 注:无
*******************************************************************************/
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); //竖
}

/*******************************************************************************
函数名称:void Show_Xmark(uint x0,uint x1, uint y0, uint y1, uint LineWidth, uint Color)
函数功能:在屏幕上画竖线,屏幕是横放的
入口参数:(x0,y0)和(x1,y1)表示位置;
Color :显示区域的颜色
Line_Width:坐标轴的线宽

出口参数:无
备 注:无
*******************************************************************************/
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);
}

/*******************************************************************************
函数名称:void Init_data (uchar x,uint y)
函数功能:些数据到寄存器
入口参数:x,y 需要写入的数据
出口参数:无
备 注:无
*******************************************************************************/
void Init_data (uchar x,uint y)
{
uchar m,n;
m=y>>8;
n=y;
Write_Cmd(0x00,x);
Write_Data(m,n);
}

/*******************************************************************************
函数名称:void Write_Data_U16(uint y)
函数功能:写入颜色
入口参数:y 颜色数据
出口参数:无
备 注:无
*******************************************************************************/
void Write_Data_U16(uint y)
{
uchar m,n;
m=y>>8;
n=y;
Write_Data(m,n);
}

/************************************

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top