标题:
SSD1289驱动IC的LCD3.2寸TFT屏刷屏,画圆,画矩形等代码
[打印本页]
作者:
布雷斯林
时间:
2015-4-23 21:01
标题:
SSD1289驱动IC的LCD3.2寸TFT屏刷屏,画圆,画矩形等代码
#include <reg52.h>
#include <intrins.h>
#include "string.h"
#define u8 unsigned char
#define u16 unsigned int
#define u32 unsigned long
/*****************************接线部分************************/
#define LCD_DataPortH P2 //高8位数据口,8位模式下只使用高8位
#define LCD_DataPortL P0 //低8位数据口
sbit LCD_RD =P3^5; //读控制
sbit LCD_WR = P3^6; //写控制
sbit LCD_RS = P3^7; //数据/命令切换
sbit LCD_CS=P1^1; //片选
sbit LCD_RESET = P1^0; //复位
//sbit LCD_BL=P1^7; //背光控制
/*****************************接线部分************************/
//LCD重要参数集
typedef struct
{
u16 width; //LCD 宽度
u16 height; //LCD 高度
// u16 id; //LCD ID
u8 dir; //横屏还是竖屏控制:0,竖屏;1,横屏。
u16 wramcmd; //开始写gram指令
// u16 setxcmd; //设置x坐标指令
// u16 setycmd; //设置y坐标指令
}_lcd_dev;
_lcd_dev lcddev;
//LCD的画笔颜色和背景色
u16 POINT_COLOR=0x0000; //画笔颜色
u16 BACK_COLOR=0xFFFF; //背景色
//画笔颜色
#define WHITE 0xFFFF
#define BLACK 0x0000
#define YELLOW 0xFFE0
#define BLUE 0x001F
#define BRED 0XF81F
#define GRED 0XFFE0
#define GBLUE 0X07FF
#define RED 0xF800
#define MAGENTA 0xF81F
#define GREEN 0x07E0
#define CYAN 0x7FFF
#define BROWN 0XBC40 //棕色
#define BRRED 0XFC07 //棕红色
#define GRAY 0X8430 //灰色
//GUI颜色
#define DARKBLUE 0X01CF //深蓝色
#define LIGHTBLUE 0X7D7C //浅蓝色
#define GRAYBLUE 0X5458 //灰蓝色
//以上三色为PANEL的颜色
#define LIGHTGREEN 0X841F //浅绿色
#define LGRAY 0XC618 //浅灰色(PANNEL),窗体背景色
#define LGRAYBLUE 0XA651 //浅灰蓝色(中间层颜色)
#define LBBLUE 0X2B12 //浅棕蓝色(选择条目的反色)
//函数申明*******************************************
void delay_ms(int count);
//void delay_us(int count);
void Lcd_Set_Cursor(u16 Xpos, u16 Ypos);//设置光标位置
void Lcd_Set_Windows(u16 xStar,u16 yStar,u16 xEnd,u16 yEnd);//设置显示窗口
void Lcd_Write_Com(int);//写指令
void Lcd_Write_Data(int);//写数据
void Lcd_Draw_Point(u16 x,u16 y,u16 color);//画点**************************************
void Lcd_Draw_Line(u16 x1, u16 y1, u16 x2, u16 y2,u16 color);//画线********************
void Lcd_Draw_Rectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color,int fill);//画矩形*************
//void Lcd_Draw_FillRectangle(u16 x1, u16 y1, u16 x2, u16 y2);//画实矩形*******
void Lcd_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color);//填充颜色
void GUI_Draw_Point(u16 x,u16 y,u16 color);
void Lcd_Draw_Circle(int xc, int yc,u16 c,int r, int fill);
void _Draw_Circle_8(int xc, int yc, int x, int y, int color); //内部调用
void Lcd_Init(void);//初始化LCD
void Lcd_Clear(u16 Color);//清屏*********************************************
void Lcd_Reset(void);//复位
//void Lcd_Write_RAM_Prepare(void);
void Lcd_Set_Param(void);
void Lcd_Write_Bus(char VH,char VL);//16位并行写入时序
void Lcd_Write_Com_Data(u16 LCD_Reg, u16 LCD_RegValue);
//****************************************************
[见附件]
lcd32.zip
2015-4-23 20:57 上传
点击文件名下载附件
下载积分: 黑币 -5
4.26 KB, 下载次数: 88, 下载积分: 黑币 -5
SSD1289驱动IC的3.2寸TFT
作者:
qinjinglai
时间:
2015-9-23 20:16
错
作者:
liuyimao485812
时间:
2016-6-20 08:44
不错,谢谢分享。
作者:
wjshw
时间:
2016-8-26 18:22
测试很好,谢谢分享~
作者:
dhma
时间:
2017-11-7 10:50
感谢分享。。。。
作者:
zhnyong
时间:
2017-12-5 14:41
谢谢分享。正在用LCD。
作者:
hhuajian
时间:
2018-3-12 11:56
想下来试试,积分不够
作者:
516678
时间:
2018-7-27 17:15
不错,谢谢分享。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1