找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9927|回复: 5
收起左侧

第一次玩ILI9325彩屏真他妈的爽!附51单片机测试程序

[复制链接]
ID:83710 发表于 2015-6-23 16:58 | 显示全部楼层 |阅读模式
    这是一款TFT262万彩色液晶,控制器是9325,屏幕2.4寸,比他妈的12864爽多了,这叫一个色彩斑斓啊!想要什么颜色,只要写入相应的数字就在屏幕上显现出来,那还有什么比这个更令人高兴那?对于我来说,可喜可贺了,下一步就是SD卡配合TFT彩屏共同完成彩色图像的显示了,加油啊!  12月21日19:34分天津第四项目部!额,今天晚上还要去看工地!


  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define DATE P0
  5.    sbit RS=P3^7;
  6.    sbit RW=P3^6;
  7.    sbit RES=P3^5;
  8.    sbit CS=P3^4;
  9.    sbit DB0=P0^0;
  10.    sbit DB1=P0^1;
  11.    sbit DB3=P0^3;
  12.    sbit DB2=P0^2;
  13.    sbit DB4=P0^4;
  14.    sbit DB5=P0^5;
  15.    sbit DB6=P0^6;
  16.    sbit DB7=P0^7;
  17. void delay1ms(uint x) //延时程序
  18. {  unsigned char a,b,c;
  19.          uint z;
  20.          for(z=x;z;z--)
  21.      {
  22.           for(c=8;c>0;c--)
  23.           for(b=197;b>0;b--)
  24.              for(a=2;a>0;a--);
  25.        }
  26.   }
  27. void write_date(uchar hight,uchar low) //定义搞八位字节和低八位字节写然后写入数据
  28. {
  29.   CS=0;
  30.   RS=1;
  31.   DATE=hight;
  32.   RW=0;
  33.   RW=1;
  34.   DATE=low;
  35.   RW=0;
  36.      RW=1;
  37.   CS=1;

  38. }
  39. void write_cmd(uchar hight,uchar low )//定义搞八位字节和低八位字节写然后写入指令
  40. {

  41.      CS=0;
  42.   RS=0;
  43.   DATE=hight;
  44.   RW=0;
  45.   RW=1;
  46.   DATE=low;
  47.   RW=0;
  48.      RW=1;
  49.   CS=1;

  50. }
  51. void wr_cmd_date(uint cmmd,uint datesh) //写入指令和相应的数据;
  52. {
  53.    uchar g,d,g1,d1;       /* 2010年12月21日与天津第四项目部终于做完了9325的TFT262万色彩色液晶,感觉比他妈的12864爽多了,
  54.                                               毕竟一个是黑白的一个是彩色的,呵呵,加油啊,下一步是组合SD卡和TFT液晶,让液晶显示彩色图片,加油吧!*/
  55.          

  56.     d=datesh;
  57.     d=(d&0x00ff);
  58.     g=(datesh>>8)&0x0ff;
  59.   
  60.   
  61.     d1=cmmd;
  62.     d1=(d1&0x00ff);
  63.     g1=(cmmd>>8)&0x0ff;
  64.   
  65.    write_cmd(g1,d1 );
  66.     write_date(g,d ) ;


  67. }
  68. void initTFT()//注意:这里是用的设置库,网络上多的很,感谢网络啊。
  69. {  
  70.    wr_cmd_date(0x0001,0x0100);
  71.   wr_cmd_date(0x0002,0x0700);
  72.   wr_cmd_date(0x0003,0x1030);
  73. wr_cmd_date(0x0004,0x0000);
  74.   wr_cmd_date(0x0008,0x0207);
  75.   wr_cmd_date(0x0009,0x0000);
  76.   wr_cmd_date(0x000A,0x0000);
  77.   wr_cmd_date(0x000C,0x0000);
  78.   wr_cmd_date(0x000D,0x0000);
  79. wr_cmd_date(0x000F,0x0000);
  80. //power on sequence VGHVGL
  81.   wr_cmd_date(0x0010,0x0000);  
  82.   wr_cmd_date(0x0011,0x0007);
  83.   wr_cmd_date(0x0012,0x0000);
  84.   wr_cmd_date(0x0013,0x0000);
  85. //vgh
  86.   wr_cmd_date(0x0010,0x1290);  
  87.   wr_cmd_date(0x0011,0x0227);
  88. delay1ms(100);
  89. //vregiout
  90.   wr_cmd_date(0x0012,0x001d); //0x001b
  91. delay1ms(100);
  92. //vom amplitude
  93.   wr_cmd_date(0x0013,0x1500);
  94. delay1ms(100);
  95. //vom H
  96.   wr_cmd_date(0x0029,0x0018);
  97.   wr_cmd_date(0x002B,0x000D);

  98. //gamma
  99.   wr_cmd_date(0x0030,0x0004);
  100.   wr_cmd_date(0x0031,0x0307);
  101.   wr_cmd_date(0x0032,0x0002);// 0006
  102.   wr_cmd_date(0x0035,0x0206);
  103.   wr_cmd_date(0x0036,0x0408);
  104.   wr_cmd_date(0x0037,0x0507);
  105.   wr_cmd_date(0x0038,0x0204);//0200
  106.   wr_cmd_date(0x0039,0x0707);
  107.   wr_cmd_date(0x003C,0x0405);// 0504
  108.   wr_cmd_date(0x003D,0x0F02);
  109. //ram
  110.   wr_cmd_date(0x0050,0x0000);
  111.   wr_cmd_date(0x0051,0x00EF);
  112.   wr_cmd_date(0x0052,0x0000);
  113.   wr_cmd_date(0x0053,0x013F);
  114.   wr_cmd_date(0x0060,0xA700);
  115.   wr_cmd_date(0x0061,0x0001);
  116.   wr_cmd_date(0x006A,0x0000);
  117. //
  118.   wr_cmd_date(0x0080,0x0000);
  119.   wr_cmd_date(0x0081,0x0000);
  120.   wr_cmd_date(0x0082,0x0000);
  121.   wr_cmd_date(0x0083,0x0000);
  122.   wr_cmd_date(0x0084,0x0000);
  123.   wr_cmd_date(0x0085,0x0000);
  124. //
  125.   wr_cmd_date(0x0090,0x0010);
  126.   wr_cmd_date(0x0093,0x0003);
  127.   wr_cmd_date(0x0095,0x0110);
  128.   wr_cmd_date(0x0097,0x0000);
  129.   wr_cmd_date(0x0098,0x0000);
  130.   wr_cmd_date(0x0007,0x0133);


  131. }
  132. void main ()
  133. {unsigned long a;
  134.    delay1ms(30);
  135.    CS=1;
  136.    RES=0;
  137.    delay1ms(150);
  138.    RES=1;
  139.    delay1ms(50);
  140.    initTFT();

  141.    for(a=76800;a;a--)
  142.    {
  143.   
  144.        wr_cmd_date(0x0022,0x0000);  //运行刷屏程序,经验证,刷屏时间大约在2S间,没法子,CPU毕竟是8位的!你让他?呵呵
  145.   
  146.   
  147.   
  148.    }

  149. while(1);


  150. }
复制代码




回复

使用道具 举报

ID:73848 发表于 2015-6-29 22:24 来自手机 | 显示全部楼层
贴点图片多好啊,这样光秃秃的。。。
回复

使用道具 举报

ID:84238 发表于 2015-6-30 09:48 | 显示全部楼层
有同感   上圖片分享   看看效果
回复

使用道具 举报

ID:84735 发表于 2015-7-4 11:26 | 显示全部楼层
贴点图片多好啊,这样光秃秃的。。。
回复

使用道具 举报

ID:160072 发表于 2017-5-5 15:04 | 显示全部楼层
赞 不错的
回复

使用道具 举报

ID:110278 发表于 2017-8-6 09:06 | 显示全部楼层
试试看。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表