TFT画线程序

发布者:WanderlustGlow最新更新时间:2015-10-16 来源: eefocus关键字:TFT  画线程序 手机看文章 扫描二维码
随时随地手机看文章
在刚刚接触到TFT选视屏时,确实对他产生过恐惧感,但是韩式坚持学习下去;在最后用它打出点时一切问题都迎刃而解TFT画线程序!!因为会打点了,也就会划线了,会划线了也就会画出自己的坐标系了!!TFT画线程序还是之前的那句话,越是高级的外围设备,它在出厂时都会有自己的一套驱动程序!只要掌握了就可以对他进行操作了,而不需要你去写程序!!

   所以从一定意义上来讲,玩转TFT的难度要比你玩转四位数码管的难度小!!确实如此!其中的乐趣只有自己去做才能体会! 

#include
#define  uint unsigned int
#define uchar unsigned char
#define  TYPE_LCD_DATA  1
#define  TYPE_LCD_COMMAND 0
#define  LCD_SIZE_X  128
#define  LCD_SIZE_Y  160
#define  DATA   P0

sbit LCD_RST  = P2^7;    //RST 引脚定义
sbit LCD_RD   = P3^2;  //RD  引脚定义
sbit LCD_WR   = P3^3;  //WR  引脚定义
sbit LCD_RS   = P2^5;  //RS  引脚定义
sbit LCD_CS   = P2^6;  //CS  引脚定义

//TFT画线程序想玩转任何一种外围设备都必须首先了解他的引脚的作用,才能随心所欲的移植代码,按自己的要求去操作!!

//以下函数大多部分都是TFT的驱动函数,都有自己的功能注解,了解功能后就可使用!!
uint colors[]=
{
  0xf800,0x07e0,0x001f,0xffe0,0x0000,0x07ff,0xf81f,0xffff
};


void delay_ms(uint ms)
{
  unsigned char k;

  while (ms--)
  {
    for (k = 0; k < 228; k++)
      ;
  }
}


void LCD_Write(uchar type, uint value) 
{
 LCD_CS = 0;
 LCD_RS  = type;      // 0: command    1: data
 
 LCD_WR  = 0;
 DATA  = (uchar)value;;
 LCD_WR  = 1;
 LCD_CS = 1;
}

 



void LCD_Wirte_Data16(uint value)    // color data
{
 LCD_CS = 0;
    LCD_RS  = 1;
 LCD_WR  = 0;
 DATA  = (uchar)value;
 LCD_WR  = 1;
 LCD_WR  = 0;
 DATA  = (uchar)(value>>8) ;
 LCD_WR  = 1;
 LCD_CS = 1;
}


void Reg_Write(uint reg,uint value)
{
   LCD_Write(TYPE_LCD_COMMAND,reg);
   LCD_Write(TYPE_LCD_DATA,value);
}



void LCD_SetRamAddr(uint xStart, uint xEnd, uint yStart, uint yEnd)
{
    Reg_Write(0x09, xStart);
    Reg_Write(0x10, yStart);
    Reg_Write(0x11, xEnd);
    Reg_Write(0x12, yEnd);
    Reg_Write(0x18, xStart);
 Reg_Write(0x19, yStart);
    LCD_Write(TYPE_LCD_COMMAND,0x22);  // 0x22
}



void LCD_init(void)

 uint num;
 Reg_Write(0x0001,0x0002);  //MODE_SEL1
 Reg_Write(0x0002,0x0012);   //MODE_SEL2
 Reg_Write(0x0003,0x0000);   //MODE_SEL3
 Reg_Write(0x0004,0x0010); //MODE_SEL3
 LCD_SetRamAddr(0,127, 0,159);
 for(num=20480;num>0;num--)
    LCD_Wirte_Data16(0xffff);
  
 Reg_Write(0x0005,0x0008);   //VCO_MODE 
 Reg_Write(0x0007,0x007f); //VCOMHT_CTRL
 Reg_Write(0x0008,0x0017);   //VCOMLT_CTRL     
 Reg_Write(0x0009,0x0000);   //write SRAM window start X point
 Reg_Write(0x0010,0x0000);   //write SRAM window start y point
 Reg_Write(0x0011,0x0083);   //write SRAM window end x point
 Reg_Write(0x0012,0x009f);   //write SRAM window end y point
 Reg_Write(0x0017,0x0000);   //SRAM contrl
 Reg_Write(0x0018,0x0000);   //SRAM x position
 Reg_Write(0x0019,0x0000);   //SRAM y position
 Reg_Write(0x0006,0x00c5);   //DAC_OP_CTRL2
 delay_ms(10); //延时

}



void  LCD_clear(uchar n)
{
   uint num;
  
   LCD_SetRamAddr(0,127, 0,159);

   for(num=20480;num>0;num--)          //160*128=20480
   {
     LCD_Wirte_Data16(colors[n]);
   }
}
//===============================================================
//设定当前显示坐标
//入口参数: x,y为当前显示坐标。
//出口参数: 无
//说明:本函数实际上是LCD_setwindow函数的一个特例,显示窗口为最小,仅是一个像素点。
void LCD_setxy(unsigned char x,unsigned int y)
{
 LCD_SetRamAddr(x,y,x,y); 
}

void GUI_Point(uchar x, uint y, uint n)

 LCD_setxy(x,y);
  LCD_Wirte_Data16(colors[n]);
}
void main()
{
  uint num;
  P2 = 0xff;
     P0 = 0xff;
 LCD_init();
  while(1)
  {   
    LCD_SetRamAddr(50,100, 50,50);
       for(num=2500;num>0;num--)          //160*128=20480
       {
       LCD_Wirte_Data16(colors[2]);//比如此函数只需知道是用来设置点的颜色即可,以及其参数是colors[]
       }
  }
}

关键字:TFT  画线程序 引用地址:TFT画线程序

上一篇:TFT显示图片的驱动函数
下一篇:定时的应用方法与技巧

推荐阅读最新更新时间:2024-03-16 14:36

JZ2440开发板-TFT LCD实验
本实验CPU:s3c2440 LCD: 4.3寸 分辨率(Resolution) 480*272 TFT-LCD 型号AT043TN24 V.1 s3c2440 LCD控制器支持: ①1/2/4/8bpp调色板显示模式,16bpp/24bpp非调色板显示模式 当选定了LCD型号后,硬件工程师做出电路板后,LCD模块接线确定,显示模式就确定了,如本实验使用8bpp调色板显示模式和16bpp非调色板显示模式,两种模式均为565像素格式 NOTE: ①24bpp表示24bit per pixel 即每像素用24位表示,正好对应RRGGBB颜色值 24bpp内存数据格式为: P1是位于内存地址000H的高位
[单片机]
JZ2440开发板-<font color='red'>TFT</font> LCD实验
TFT-LCD面板产业将在第8代制造工艺后迷失发展方向吗?
不断朝着更高级的生产设备前进的大型薄膜晶体管液晶显示器(TFT-LCD)面板产业将在第8代制造工艺后迷失发展方向吗? 这是日前在iSuppli公司主办的2006平板显示大会(FID 2006)上的热点讨论话题。对于要转向第8代制造设备的TFT-LCD供应商而言,没有人为此技术上是否可行争论,这样一种动机下的经济性可能无法保证我们的努力。 新一代工厂的经济性 iSuppli目前预计大型TFT-LCD面板市场将会在2006到2010年期间维持在13%的复合年增长率。iSuppli 把对角线尺寸不小于10寸的面板定义为大型液晶面板。液晶电视已成为所有大型TFT-LCD的主要应用,到2010年在这一领域的面板出货量有望增长到1亿40
[焦点新闻]
TFT景气回升、晶圆吃紧助阵 LCD驱动IC获利劲扬
虽然台系LCD驱动IC供应商被冠上薄利多销之名多年,甚至平均毛利率更居所有台湾IC设计业者最低恶名,不过面对2014年TFT产业景气似有谷底反弹之势。加上上游晶圆代工产能吃紧,有效稳定LCD驱动IC报价,台系LCD驱动IC业者自结2014年毛利率及获利表现,普遍创下近年来新高纪录。 展望2015年上半,虽然TFT产业景气似有反覆,但在4Kx2K解析度升级趋势不变,加上晶圆代工产能依旧看紧,包括矽创、联咏、奇景、奕力、敦泰、瑞鼎及天钰初估第1季与第2季获利表现仍可维持高档水准。 全球LCD驱动IC产业由于身受上游晶圆代工伙伴及下游TFT面板厂等客户所掌控,因此一直以来,台系LCD驱动IC设计公司身上不免染上一些色彩,例
[半导体设计/制造]
大尺寸TFT-LCD面板迎来新时代?Q2本土超日本
随着新世代线和更高世代线的投产,中国TFT- LCD供应商正在扩大生产计划。DisplaySearch最新报告Quarterly Large-Area Production Strategy Report指出,2011年第二季度中国大陆将有望在大尺寸TFT-LCD面板产量上超过日本。第一季度,中国大陆大尺寸TFT-LCD面板平均月产量为270万片,日本月产量为320万片,这些面板主要应用于上网本、平板电脑、笔记本电脑、显示器和电视机。但到第二季度,中国大陆平均月产量提高到340万片,而日本则减少到230万片;并且从2011年第三季度到2012年第一季度,中国大陆面板产量将持续超过日本。 “韩国一直是大尺寸TFT-LCD的
[家用电子]
大尺寸<font color='red'>TFT</font>-LCD面板迎来新时代?Q2本土超日本
大尺寸TFT显示器源极驱动解决方案
  TFT LCD(薄膜晶体管液晶显示器)正在改变人们看计算机和TV的界面。低EMI的特点使得它可以变得很薄、很轻,节省空间,而且亮度更高,更好地融入环境,因此很多人都认为这些平板显示器件引领未来之路。   Solomon Systech公司在显示器驱动方面已经取得和掌握了丰富的经验、技术,现在他们已开发出多种TFT源驱动器,可以通过一个驱动电路单元及一个大尺寸的TFT LCD应用相匹配。该类源驱动采用了高速RSDS接口,电压输出水平精确,有电荷分享能力,并采取了TCP设计,故能充分发挥TFT稳定的平板显示的各种重要优势,包括良好的对比度、很高的帧频率、响应快和视角宽等。一个TFT LCD模块由一个TFT面板、一个驱动电路单元、
[电源管理]
大尺寸<font color='red'>TFT</font>显示器源极驱动解决方案
TFT-LCD驱动电路的设计
薄膜晶体管液晶显示器(TFT-LCD)具有重量轻、平板化、低功耗、无辐射、显示品质优良等特点,其应用领域正在逐步扩大,已经从音像制品、笔记本电脑等显示器发展到台式计算机、工程工作站(EWS)用监视器。对液晶显示器的要求也正在向高分辨率、高彩色化发展。 由于CRT显示器和液晶屏具有不同的显示特性,两者的显示信号参数也不同,因此在计算机(或MCU)和液晶屏之间设计液晶显示器的驱动电路是必需的,其主要功能是通过调制输出到LCD电极上的电位信号、峰值、频率等参数来建立交流驱动电场。 本文实现了将VGA接口信号转换到模拟液晶屏上显示的驱动电路,采用ADI公司的高性能DSP芯片ADSP-21160来实现驱动电路的主要功能。 硬件电
[应用]
JZ2440 LCD笔记
屏幕类型STN TFT LCD原理图 VDn 传输颜色引脚 VLINE 水平方向的同步信号 VFRAME 垂直方向的同步信号 X1 、 Y1 、 X2 、Y2 触摸屏 Vled 背光引脚 LCD 操作原理 电子枪发射给屏幕RGB颜色 (1) 电子枪如何移动 每来一个CLK,移动一个像素 (2)颜色如何确定 RGB三组线 (3)电子枪如何得知应跳到下一行 HSYNC (接收到HSYNC脉冲) (4) 电子枪如何得知跳到 原点 VSYNC (接收到VSYNC脉冲) (5) RGB 线上数据如何来 内存中framebuffer LCD上每一个像素都对应FreameBuffer中的一个值 硬件上面
[单片机]
JZ2440 LCD笔记
利用单片机I/O口直接驱动LCD
  如何将小家电成本降低的同时,又保证其性能,是对应用工程师提出的更高要求。本控制板需要进行温度控制,显示界面要求LCD显示。带专用LCD驱动器,又带A/D转换器的单片机成本太高,因此选用台湾义隆公司带A/D的单片机EM78P259N直接驱动LCD。该款单片机性价比高,性能可靠,很适合在家电控制中应用。 1 LCD简介   目前,市面主流LCD(液晶显示器)分成以下几大类:TN(扭曲阵列型)、STN(超扭曲阵列型)、DSTN(双层超扭曲阵列)、HPA(高性能定址或快速DSTN)、TFT(薄膜场效应晶体管)等。由于成本因素,目前小家电大多数采用的是TN型单色液晶显示器,它的原理是把液晶灌入两个列有细槽的平面之间。这两个平面上的槽
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved