标题: 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

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