搜索
bottom↓
回复: 151

开源mega8玩转SPI接口TFT彩屏

[复制链接]

出0入10汤圆

发表于 2009-4-9 22:46:49 | 显示全部楼层 |阅读模式
做了个spi接口的TFT彩屏的转接板 在上面顺便放了个MEGA8以及USB接口 mega8的引脚几乎都引出来了
自己觉得SPI接口的彩屏很有玩头 准备全部开源 欢迎拍砖 以便于提高一下自己的软硬件水平

出0入10汤圆

 楼主| 发表于 2009-4-9 22:51:25 | 显示全部楼层

(原文件名:原理图.JPG)

出0入10汤圆

 楼主| 发表于 2009-4-9 22:54:48 | 显示全部楼层
屏的外观及接口电气特性手册ourdev_434802.pdf(文件大小:248K) (原文件名:130130_SPI.pdf)
屏内置驱动IC手册ourdev_434803.pdf(文件大小:647K) (原文件名:SSD1283A_0.12(1).pdf)

出0入10汤圆

 楼主| 发表于 2009-4-9 23:36:53 | 显示全部楼层
先来个最简单的屏的DEMO代码

RGB3基色显示

//ICC-AVR application builder : 2008-11-2 11:21:49
// Target : M8
// Crystal: 8.0000Mhz

#include <iom8v.h>
#include <macros.h>

//Signal bit definitions
#define        lcd_cs        3        //PB3
#define        lcd_rst        2        //PB2
#define        lcd_cd        4        //PB4
#define        lcd_dta        4        //PC4
#define        lcd_clk        5        //PC5
#define  SetLcdA0 PORTB|=(1<<lcd_cd);
#define  ClrLcdA0 PORTB&=~(1<<lcd_cd);
#define  SetLcdWR PORTC |=(1<<lcd_clk);
#define  ClrLcdWR PORTC &=~(1<<lcd_clk);
#define  Setled PORTB|=(1<<5);
#define  Clrled PORTB&=~(1<<5);
#define  SetLcdRST PORTB|=(1<<lcd_rst);
#define  ClrLcdRST PORTB&=~(1<<lcd_rst);
#define  SetLcdCS PORTB|=(1<<lcd_cs);
#define  ClrLcdCS PORTB&=~(1<<lcd_cs);
#define  SetLcdSdata PORTC|=(1<<lcd_dta);
#define  ClrLcdSdata PORTC&=~(1<<lcd_dta);



void port_init(void)
{
  PORTB = 0x00;
DDRB  = 0xFF;
PORTC = 0x00; //m103 output only
DDRC  = 0x7F;
PORTD = 0x00;
DDRD  = 0xFF;
}

//call this routine to initialize all peripherals
void init_devices(void)
{
  //stop errant interrupts until set up
  CLI(); //disable all interrupts
  port_init();

  MCUCR = 0x00;
  GICR  = 0x00;
  TIMSK = 0x00; //timer interrupt sources
  SEI(); //re-enable interrupts
  //all peripherals are now initialized
}
void Delay_1us(void)//1us延时函数
{
asm("nop");
}
void Delay_nus(unsigned int n)//N us延时函数
{
unsigned int i=0;
for (i=0;i<n;i++)
Delay_1us();
}
void Delay_1ms(void)//1ms延时函数
{
unsigned int i;
for (i=0;i<1140;i++);
}
void Delay_nms(unsigned int n)//N ms延时函数
{
unsigned int i=0;
for (i=0;i<n;i++)
Delay_1ms();
}

void write_data(unsigned char data)
{
unsigned char i;

        SetLcdA0;
        ClrLcdCS;
    for (i=0;i<8;i++)
   {
         if (data>=0x80)
      {  SetLcdSdata;}
     else {ClrLcdSdata;}        
         ClrLcdWR;
    asm("nop");
        SetLcdWR;
        data<<=1;
       
   }
       
        SetLcdCS;

}
void write_data16(unsigned char data,unsigned char dataL)
{
        unsigned char i;

        SetLcdA0;
        ClrLcdCS;

        for (i=0;i<8;i++)
   {
         if (data>=0x80)
        {SetLcdSdata;}
     else {ClrLcdSdata; }       
         ClrLcdWR;
    asm("nop");
        SetLcdWR;
        data<<=1;
       
    }

       
        SetLcdCS;
        //Delay_nus(100);
       
        SetLcdA0;
        ClrLcdCS;
       
           for (i=0;i<8;i++)
   {
         if (dataL>=0x80)
       { SetLcdSdata;}
     else {ClrLcdSdata;}        
         ClrLcdWR;
    asm("nop");
        SetLcdWR;
        dataL<<=1;
       
   }               
        SetLcdCS;
}
void write_cmd(unsigned char data)
{
        unsigned char i;
        ClrLcdA0;
        ClrLcdCS;
   for (i=0;i<8;i++)
   {
         if (data>=0x80)
        {SetLcdSdata;}
     else {ClrLcdSdata;}        
         ClrLcdWR;
    asm("nop");
        SetLcdWR;
        data<<=1;
       
   }
        SetLcdCS;
       
}




//
void main(void)
{unsigned int i,j;
  init_devices();
  Clrled;
  //insert your functional code here...
  Delay_nms(100);
  ClrLcdRST;
  Delay_nms(5);
  SetLcdRST;

  {
  Delay_nms(100);

         write_cmd(0x10);
         write_data16(0x2f,0x8e);

         write_cmd(0x11);
        write_data16(0x00,0x0c);


         write_cmd(0x07);
         write_data16(0x00,0x21);

         write_cmd(0x28);
         write_data16(0x00,0x06);

        write_cmd(0x28);
        write_data16(0x00,0x05);
               
               
         write_cmd(0x27);
         write_data16(0x05,0x7f);
               
         write_cmd(0x29);
         write_data16(0x89,0xa1);                               
               
                  write_cmd(0x00);         
         write_data16(0x00,0x01);   
         Delay_nms(100);                               
               
         write_cmd(0x29);
         write_data16(0x80,0xb0);
         Delay_nms(30);               
         write_cmd(0x29);
         write_data16(0xff,0xfe);
         
                write_cmd(0x07);
         write_data16(0x00,0x23);
                        Delay_nms(30);               
         write_cmd(0x07);
         write_data16(0x00,0x33);               
               
        write_cmd(0x01);
         write_data16(0x21,0x83);
               
                write_cmd(0x2f);
         write_data16(0xff,0xff);
               
         write_cmd(0x2c);
         write_data16(0x80,0x00);
               
         write_cmd(0x03);
         write_data16(0x68,0x30);        //6830
               
         write_cmd(0x27);
         write_data16(0x05,0x70);               
                       
         write_cmd(0x02);
         write_data16(0x03,0x00);
               
         write_cmd(0x0b);
         write_data16(0x58,0x0c);               
               
         write_cmd(0x12);
         write_data16(0x06,0x09);
               
         write_cmd(0x13);
         write_data16(0x31,0x00);       
               
         write_cmd(0x2a);
         write_data16(0x1d,0xd0);               
               
         write_cmd(0x2b);
         write_data16(0x0a,0x90);                                       

         write_cmd(0x2d);
         write_data16(0x31,0x0f);
                        Delay_nms(100);
               
//                write_cmd(0x10);
//        write_data16(0x2f,0x8e);       
               
  //       write_cmd(0x11);
    //     write_data16(0x00,0x0c);
         write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
                write_cmd(0x1e);
         write_data16(0x00,0xbf);
               
                        Delay_nms(1);
                                write_cmd(0x1e);
         write_data16(0x00,0x00);                       
                Delay_nms(100);                       
         write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
         write_cmd(0x22);    //write data to GRAM
                 Setled;       
                while(1)
                {
         write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
         write_cmd(0x22);    //write data to GRAM
        for (i=0;i<17500;i++)
            {write_data(0xf8);
                 write_data(0x00);}
        Delay_nms(5000);       
                write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
         write_cmd(0x22);    //write data to GRAM

        for (i=0;i<17500;i++)
            {write_data(0x07);
                 write_data(0xe0);}
        Delay_nms(5000);       
                                       
                write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
         write_cmd(0x22);    //write data to GRAM
       
        for (i=0;i<17500;i++)
            {write_data(0x00);
                 write_data(0x1f);}
             Delay_nms(5000);                                                       
                                        }

}
}

出0入10汤圆

 楼主| 发表于 2009-4-9 23:54:29 | 显示全部楼层
做个usbasp  来自德国的开源AVR USB编程器 http://www.fischl.de/usbasp/

引脚改动:  USB接到PC0 PC1
           slow sck 改为PD1
代码只改了几行:
点击此处下载 ourdev_434818.rar(文件大小:147K) (原文件名:MyUsbasp.rar)

出0入10汤圆

 楼主| 发表于 2009-4-10 00:02:35 | 显示全部楼层
日本人做的AVR-CDC及CDC IO http://www.recursion.jp/avrcdc/

引脚改动:  USB接到PC0 PC1
           
代码只改了几行:
点击此处下载 ourdev_434844.rar(文件大小:148K) (原文件名:My_avrcdc.rar)
点击此处下载 ourdev_434849.rar(文件大小:234K) (原文件名:MyCDC-IO.rar)

出0入0汤圆

发表于 2009-4-10 02:24:02 | 显示全部楼层
支持

出0入0汤圆

发表于 2009-4-10 08:20:44 | 显示全部楼层
支持

出0入10汤圆

 楼主| 发表于 2009-4-10 08:26:19 | 显示全部楼层

SPI TFT彩屏 (原文件名:apple1.jpg)


PCB (原文件名:NEC_0052.JPG)

出0入0汤圆

发表于 2009-4-10 08:28:09 | 显示全部楼层
好,顶

出0入148汤圆

发表于 2009-4-10 08:54:37 | 显示全部楼层
请问楼主用SPI刷新一屏大概要用长时间?

出0入10汤圆

 楼主| 发表于 2009-4-10 10:40:28 | 显示全部楼层
如果用AVR 硬件spi最高速度是Fosc/2 屏设置为65K色方式 刷新一屏需要130X130X16=270400个SCK
用AVR模拟IO的话时间会慢很多

出0入0汤圆

发表于 2009-4-10 10:57:12 | 显示全部楼层
不错呀,不知道能接在STM32 的开发板上面吗?再移植个UCGUI就更好了。
130X130X16=270400个SPI的SCK,按这个计算,是用内部SPI模块,刷新频率不错呀。
不过不知道这个屏支持的最快SPI频率是多少?STM32的SPI驱动频率可能跑到18M呀!

出0入10汤圆

 楼主| 发表于 2009-4-10 11:16:10 | 显示全部楼层
【12楼】 zy_sh_npk
屏的Clock Cycle Time Typ值是50ns 也就是可以支持20M 最高SPI驱动频率还可以更高

出0入0汤圆

发表于 2009-4-10 11:49:01 | 显示全部楼层
那不错呀,如果驱动能移植到STM32的SPI上,就太好了!
相信坛子里的好多人都在等着呢.
呵呵

出0入10汤圆

 楼主| 发表于 2009-4-10 11:51:14 | 显示全部楼层
好的 那我写个STM32的demo

出0入0汤圆

发表于 2009-4-10 13:14:40 | 显示全部楼层
那太好了,关注这个屏.
顺便也测试一下刷屏的速度!

出0入0汤圆

发表于 2009-4-18 00:27:59 | 显示全部楼层
楼主怎么没有消息了呢?

出0入0汤圆

发表于 2009-5-7 10:13:55 | 显示全部楼层
mark一下~

出0入0汤圆

发表于 2009-5-26 10:01:12 | 显示全部楼层
mark....
头像被屏蔽

出0入0汤圆

发表于 2009-5-26 10:19:35 | 显示全部楼层
Cool啊。

出0入0汤圆

发表于 2009-5-26 14:45:04 | 显示全部楼层
收藏先~

出0入0汤圆

发表于 2009-5-27 23:55:14 | 显示全部楼层
MARK!
做出来我们学习!
如果用STM32,18M下能有66帧秒,不错啊!

出0入0汤圆

发表于 2009-5-29 15:02:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-5-29 16:15:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-5-30 09:40:52 | 显示全部楼层
有搞头

出0入134汤圆

发表于 2009-5-30 10:05:52 | 显示全部楼层
严重支持!!!!

-----------------------------------------------

小声问个私人问题,楼主能不能给个1.8英寸160*128,4410驱动 的资料或测试程序啊,51或AVR的都行
提前谢了!

出0入0汤圆

发表于 2009-5-30 13:07:21 | 显示全部楼层
关注中。呵呵。

出0入0汤圆

发表于 2009-5-31 13:25:14 | 显示全部楼层

出0入0汤圆

发表于 2009-5-31 13:29:13 | 显示全部楼层
关注

出0入0汤圆

发表于 2009-5-31 13:42:08 | 显示全部楼层
怎么卖啊?

出0入0汤圆

发表于 2009-5-31 13:45:13 | 显示全部楼层
关注...

出0入0汤圆

发表于 2009-5-31 17:19:13 | 显示全部楼层
光注.......

出0入10汤圆

 楼主| 发表于 2009-6-2 10:38:58 | 显示全部楼层
【26楼】 elecfun

小声问个私人问题,楼主能不能给个1.8英寸160*128,4410驱动 的资料或测试程序啊,51或AVR的都行
提前谢了!

==========================================================================================
好像没有4410的驱动芯片 您应该是记错了吧  是三星的0144?

出0入134汤圆

发表于 2009-6-7 22:23:33 | 显示全部楼层
对就是0144,我搞错了
有没有资料啊

出0入0汤圆

发表于 2009-6-8 15:56:26 | 显示全部楼层
mark

出0入10汤圆

 楼主| 发表于 2009-6-10 19:33:04 | 显示全部楼层
【30楼】 mfkqqw 寡言的商人
积分:286
派别:
等级:------
来自:
        怎么卖啊?
===================================================================================
PCB 5元 网友优惠价3元

出0入0汤圆

发表于 2009-6-13 02:09:45 | 显示全部楼层
全是好东西,学习,都像这个网站的同志一样,中国富强了,

出0入0汤圆

发表于 2009-6-13 12:37:19 | 显示全部楼层
我买了一块STM32的板子上朋友送了我一块你这样的TFT屏,也是SPI接口带转接板的,DEMO程序用的是51,接线上我看只要5根对吗?但是你这扳子上表注了6个针,除了电源和地,请问转接板上表注为1~6的6个针分别对应程序的哪几个IO口呢,请多多指点~

出0入0汤圆

发表于 2009-6-13 14:03:26 | 显示全部楼层
mark!

出0入0汤圆

发表于 2009-6-13 20:46:40 | 显示全部楼层
mark

出0入10汤圆

 楼主| 发表于 2009-6-15 07:32:33 | 显示全部楼层
TO【38楼】 joyko

转换板连接座丝印      对应屏信号

  1、SCL              SCLK
  2、SDA              SDATA
  3、MOSI             /CS
  4、RST              RESET
  5、MISO             D/C  
  6、SCK
  7、
  8、+5V              +5V 或者 3.3V(5v模块用5v 3.3V模块用3.3v)
  9、GND
  10、GND             GND

出0入0汤圆

发表于 2009-6-15 15:36:03 | 显示全部楼层
mark

出0入10汤圆

 楼主| 发表于 2009-6-25 08:25:35 | 显示全部楼层

(原文件名:NEC_0028.JPG)

出0入0汤圆

发表于 2009-7-1 21:08:24 | 显示全部楼层
谢谢LUCKROLL,我后来看了PDF介绍那块液晶的,确实是这么连。但是现在还是驱动不了,不知道哪个地方出问题了。

    看下图的右边,我那块板子只有下半部分才和你发的板子相同。板子原来焊好了5V转3.3V的模块,焊了几个电阻,如图。

    但是我看那电路还不通,如转接板的1脚通过R15之后就没有了,我用焊锡连到R16的同一头(用黄色箭头表示),R16那头有个小孔到转接板正面,连到LCD的11脚,和原理一样了。另外改的地方还有R1,R2,R3的地方原来没有和3.3V的相连,我用焊锡把这三个电阻并联了连到R4那去,R4那地方本来是直接用焊锡连通的。

    改了之后还是没有,用的是和液晶一起发过来的程序。难道是我改错了吗,还是别的问题,麻烦大哥你指点下了,再次谢过!


图片 (原文件名:001.jpg)

出0入0汤圆

发表于 2009-7-2 08:50:22 | 显示全部楼层
COOL

出0入0汤圆

发表于 2009-7-2 12:15:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-3 13:17:35 | 显示全部楼层
这是我收到的51 DEMO程序

#include <reg52.h>
sbit LcdRST  = P2^0;
sbit LcdCS   = P2^1;
sbit sdata  = P2^2;
sbit sclk   = P2^3;
sbit c_d    = P2^4;
unsigned char code bmp130130[17424];

void Delay_nms(unsigned int MS)
{
     unsigned char us,usn;
     while(MS!=0)            //for 12M
      {
         usn = 2;
         while(usn!=0)
          {
            us = 0xf5;
            while (us!=0)
             {
               us--;
             };
            usn--;
           }
         MS--;
      }
}

void write_data(unsigned char dat)
{
        unsigned char i;
           c_d =1;
               LcdCS=0;
     for(i=0;i<8;i++)
     {
           sclk = 0;
           dat=dat<<1;
           sdata = CY;
           sclk = 1;
           sclk = 0;
     }

        LcdCS=1;

}
void write_data16(unsigned char datH,unsigned char datL)

{
         unsigned char i;
           c_d =1;
               LcdCS=0;
     for(i=0;i<8;i++)
     {
           sclk = 0;
           datH=datH<<1;
           sdata = CY;
           sclk = 1;
           sclk = 0;
     }
     for(i=0;i<8;i++)
     {
           sclk = 0;
           datL=datL<<1;
           sdata = CY;
           sclk = 1;
           sclk = 0;
     }
        LcdCS=1;

}



void write_cmd(unsigned char dat)
{
unsigned char i;
           c_d =0;
           LcdCS=0;

     for(i=0;i<8;i++)
     {
           sclk = 0;
           dat=dat<<1;
           sdata = CY;
           sclk = 1;
           sclk = 0;
     }

        LcdCS=1;
  
}




//
void main(void)
{
  unsigned int i;
  LcdCS=1;
  sclk=0;
  LcdRST=1;
  Delay_nms(100);
  LcdRST=0;
  Delay_nms(5);
  LcdRST=1;
  Delay_nms(100);
         write_cmd(0x10);
         write_data16(0x2f,0x8e);

         write_cmd(0x11);
         write_data16(0x00,0x0c);


         write_cmd(0x07);
         write_data16(0x00,0x21);

         write_cmd(0x28);
         write_data16(0x00,0x06);

         write_cmd(0x28);
         write_data16(0x00,0x05);
               
               
         write_cmd(0x27);
         write_data16(0x05,0x7f);
               
         write_cmd(0x29);
         write_data16(0x89,0xa1);                               
               
                   write_cmd(0x00);           //write index, 16bits, high 8 bits is 0x00
         write_data16(0x00,0x01);   //write instruction, 16bits
         Delay_nms(100);                               
               
         write_cmd(0x29);
         write_data16(0x80,0xb0);
         Delay_nms(30);               
         write_cmd(0x29);
         write_data16(0xff,0xfe);
         
                 write_cmd(0x07);
         write_data16(0x00,0x23);
                        Delay_nms(30);               
         write_cmd(0x07);
         write_data16(0x00,0x33);               
               
         write_cmd(0x01);
         write_data16(0x21,0x83);
               
                 write_cmd(0x2f);
         write_data16(0xff,0xff);
               
         write_cmd(0x2c);
         write_data16(0x80,0x00);
               
         write_cmd(0x03);
         write_data16(0x68,0x30);       
               
         write_cmd(0x27);
         write_data16(0x05,0x70);               
                       
         write_cmd(0x02);
         write_data16(0x03,0x00);
               
         write_cmd(0x0b);
         write_data16(0x58,0x0c);               
               
         write_cmd(0x12);
         write_data16(0x06,0x09);
               
         write_cmd(0x13);
         write_data16(0x31,0x00);       
               
         write_cmd(0x2a);
         write_data16(0x1d,0xd0);               
               
         write_cmd(0x2b);
         write_data16(0x0a,0x90);                                       

         write_cmd(0x2d);
         write_data16(0x31,0x0f);
                        Delay_nms(100);
               

         write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
                 write_cmd(0x1e);
         write_data16(0x00,0xbf);
               
                 Delay_nms(1);
                 write_cmd(0x1e);
         write_data16(0x00,0x00);                       
             Delay_nms(100);                       
         write_cmd(0x45);
         write_data16(0x83,0x00);               
         write_cmd(0x44);
         write_data16(0x83,0x00);       
        
         write_cmd(0x21);
         write_data16(0x00,0x00);
         write_cmd(0x22);    //write data to GRAM
                                for (i=0;i<17424;i++)
            {write_data(0xf8);
                 write_data(0x00);}

                                for (i=0;i<17424;i++)
            write_data(bmp130130);
}

/*
unsigned char code bmp130130[]=
{
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,

0xde ,0xde ,0xde ,0xde ,0x1e ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0xf0 ,0x10 ,0x10 ,0x10 ,0x10 ,0xfc ,0x10 ,0x10 ,
0x10 ,0x10 ,0xf0 ,0x00 ,0xfc ,0x04 ,0x94 ,0x94 ,0x94 ,0xf4 ,0x94 ,0x94 ,0x94 ,0x04 ,0xfc ,0x00 ,
0x08 ,0xf8 ,0x48 ,0xf8 ,0x08 ,0x24 ,0x28 ,0xe0 ,0x28 ,0x24 ,0x00 ,0x00 ,0x44 ,0xd8 ,0x00 ,0xe4 ,
0xa4 ,0xac ,0xf4 ,0xac ,0xa4 ,0xe0 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x1e ,0xde ,0xde ,0xde ,0xde ,

0x7b ,0x7b ,0x7b ,0x03 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x07 ,0x02 ,0x02 ,0x02 ,0x02 ,0x3f ,0x02 ,0x02 ,
0x02 ,0x02 ,0x07 ,0x00 ,0x3f ,0x28 ,0x28 ,0x28 ,0x28 ,0x2f ,0x28 ,0x2a ,0x2c ,0x28 ,0x3f ,0x00 ,
0x08 ,0x0f ,0x09 ,0x3f ,0x25 ,0x11 ,0x0d ,0x03 ,0x0d ,0x11 ,0x21 ,0x00 ,0x20 ,0x1f ,0x10 ,0x2f ,
0x22 ,0x22 ,0x2f ,0x22 ,0x2a ,0x2f ,0x20 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x03 ,0x7b ,0x7b ,0x7b ,

0xef ,0xef ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0xef ,0xef ,

0xbd ,0xbd ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0xbd ,0xbd ,

0x37 ,0x57 ,0xf0 ,0x50 ,0x30 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x1c ,0x1c ,0x02 ,0x01 ,0x11 ,
0x21 ,0x22 ,0x1c ,0x1c ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0xe0 ,0x30 ,0x10 ,0x37 ,0xe7 ,

0x80 ,0x80 ,0x83 ,0x80 ,0x80 ,0x00 ,0xe0 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x80 ,0xc0 ,0xa0 ,0x80 ,
0xc0 ,0x00 ,0xe0 ,0x80 ,0x40 ,0x20 ,0x80 ,0x00 ,0x00 ,0x80 ,0x80 ,0x80 ,0x80 ,0xe0 ,0x80 ,0x80 ,
0x80 ,0x80 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x20 ,0xc0 ,0x00 ,0x20 ,
0x20 ,0x60 ,0xa0 ,0x60 ,0x20 ,0x00 ,0x00 ,0x00 ,0x20 ,0x40 ,0x00 ,0x40 ,0xc0 ,0x40 ,0x40 ,0x40 ,
0xc0 ,0x00 ,0x00 ,0x00 ,0x00 ,0x40 ,0x40 ,0x40 ,0x40 ,0x40 ,0x40 ,0x43 ,0xc2 ,0x02 ,0x02 ,0x03 ,

0x40 ,0x40 ,0x7f ,0x20 ,0xa0 ,0x61 ,0x1f ,0x01 ,0x01 ,0x01 ,0xff ,0x00 ,0x00 ,0xfe ,0x2a ,0x2a ,
0xfe ,0x00 ,0xf9 ,0x42 ,0x22 ,0x12 ,0xc3 ,0x00 ,0x88 ,0x88 ,0x4a ,0x2a ,0xfa ,0x0f ,0x9a ,0x2a ,
0x4a ,0xa8 ,0x88 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x02 ,0xfe ,0x80 ,0x7f ,
0x15 ,0x15 ,0x7f ,0x15 ,0x55 ,0x7f ,0x00 ,0x00 ,0x02 ,0xfe ,0x40 ,0x24 ,0xff ,0x04 ,0x04 ,0x00 ,
0x7f ,0x80 ,0xe0 ,0x00 ,0x84 ,0x8c ,0x55 ,0x25 ,0x15 ,0xfd ,0x15 ,0x25 ,0x57 ,0x8c ,0x84 ,0x00 ,

0x00 ,0x00 ,0x00 ,0x01 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x01 ,0x00 ,0x00 ,0x00 ,0x01 ,0x00 ,0x01 ,
0x01 ,0x00 ,0x00 ,0x01 ,0x01 ,0x01 ,0x01 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x01 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x00 ,0x00 ,0x01 ,
0x01 ,0x01 ,0x01 ,0x01 ,0x01 ,0x01 ,0x01 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x01 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x01 ,0x01 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
};*/

出0入10汤圆

 楼主| 发表于 2009-7-3 13:43:24 | 显示全部楼层
to 【44楼】 joyko

1. 43楼的图是做USBASP或者AVR-CDC CDC-IO用的 上面焊了mega8芯片可以做USBASP或者CDC-IO USB转232等等

2. 51驱动屏的话 有些51芯片的驱动能力不够 P2口要加上拉电阻

出0入0汤圆

发表于 2009-7-4 23:57:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-5 14:06:28 | 显示全部楼层
我用的是 STC的51,除了P0口好像都片内加上啦电阻了啊,43楼的图和我收到的转接板很相似,电路连接不知道还有没有问题,我再检查一下P2口输出的电平看看

出0入0汤圆

发表于 2009-7-7 18:28:33 | 显示全部楼层
p2口 输出为高时是4.7~4.8V的 电压,看这个屏的资料说IO口输入电压最大值是4V,不知道有没有烧坏了。
经过多次折腾,背光灯的排线已经接触不行了,该屏只能废弃了。

出0入10汤圆

 楼主| 发表于 2009-7-7 18:51:02 | 显示全部楼层
to 【51楼】 joyko

5v系统的话 屏按这个图焊接

(原文件名:NEC_0033.JPG)

出0入0汤圆

发表于 2009-7-7 18:56:47 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-7-8 15:59:54 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-7-8 23:54:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-26 19:09:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-26 19:27:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-26 19:29:37 | 显示全部楼层
KANKN

出0入0汤圆

发表于 2009-7-27 06:56:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-11 16:03:57 | 显示全部楼层
收藏了 备用呵呵
牛人

出0入0汤圆

发表于 2009-8-12 01:15:34 | 显示全部楼层
ding

出0入0汤圆

发表于 2009-8-12 09:58:13 | 显示全部楼层
厉害  厉害  佩服

出0入0汤圆

发表于 2009-8-29 14:08:29 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-8-30 11:09:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-30 15:31:53 | 显示全部楼层
记号下

出0入0汤圆

发表于 2009-9-1 12:27:51 | 显示全部楼层
好贴

出0入0汤圆

发表于 2009-9-3 22:06:20 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-9-12 16:54:13 | 显示全部楼层
mark~~~

出0入0汤圆

发表于 2009-10-10 15:15:03 | 显示全部楼层
cool!

出0入0汤圆

发表于 2009-10-10 20:10:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-6 01:34:17 | 显示全部楼层
【50楼】 我用的是 STC的51,除了P0口好像都片内加上啦电阻了啊,...........
=========================================================================
老康那里有51的板子,也是支持这款彩屏的,而且是针对SOP20封装的STC单片机做的。

出0入0汤圆

发表于 2009-11-6 07:26:26 | 显示全部楼层
强贴留名

出0入0汤圆

发表于 2009-11-6 09:53:58 | 显示全部楼层
good

出0入0汤圆

发表于 2009-11-6 11:04:59 | 显示全部楼层
再搞一个 SD 就好了。。。

出0入0汤圆

发表于 2009-11-6 11:14:50 | 显示全部楼层
顶一下。看看我的手机屏能不能用

出0入0汤圆

发表于 2009-11-18 16:14:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-20 15:43:34 | 显示全部楼层
LZ 不知道你这个屏货源怎么样?

出0入10汤圆

 楼主| 发表于 2009-11-20 16:16:54 | 显示全部楼层
to ls
长期供货 10K以内有现货 10K以上需要订货
全新原厂原包装 每箱400片

出0入0汤圆

发表于 2009-11-20 23:24:52 | 显示全部楼层
我收藏了

出0入0汤圆

发表于 2009-11-21 01:06:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-21 22:39:34 | 显示全部楼层
为何不用并行接口的屏呢?速度能提高很多吧!

出0入10汤圆

 楼主| 发表于 2009-11-21 23:37:30 | 显示全部楼层
to【81楼】 zhaoyongke
也有128X128 26万色TFT模块 支持8 9 16 18位并口

出0入0汤圆

发表于 2009-11-30 10:45:53 | 显示全部楼层
用SPI接口, 挺有想法,且还开源, 顶一下啊

出0入0汤圆

发表于 2009-11-30 13:13:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-30 21:55:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-7 14:35:08 | 显示全部楼层
还是没太明白模块的用法  能不能在明白一点啊

出0入0汤圆

发表于 2009-12-7 14:36:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-7 14:42:09 | 显示全部楼层
我做的是下面链接里的贪食蛇制作
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3630075&bbs_page_no=1&bbs_id=1006
关于TFT模块没有弄特别明白  想具体请教一下  谢谢

出0入10汤圆

 楼主| 发表于 2009-12-7 16:57:21 | 显示全部楼层
【88楼】 20071103  
上面原理图的模块就是这个SPI彩屏模块 按照原理图接线就可以了

出0入0汤圆

发表于 2009-12-28 01:25:52 | 显示全部楼层
这个屏能不能用AVR的硬件SPI接口驱动呢?

出0入10汤圆

 楼主| 发表于 2009-12-28 17:55:06 | 显示全部楼层
回复【90楼】onesyu  
这个屏能不能用AVR的硬件SPI接口驱动呢?
-----------------------------------------------------------------------

可以

出0入0汤圆

发表于 2009-12-29 16:36:25 | 显示全部楼层
谢谢! 已经用硬件SPI驱动成功

出0入0汤圆

发表于 2009-12-29 17:54:12 | 显示全部楼层
顶啊!!!!!!!!!!!

出0入0汤圆

发表于 2009-12-30 09:25:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-30 15:59:42 | 显示全部楼层
强贴留名

出0入0汤圆

发表于 2010-1-1 04:01:51 | 显示全部楼层
//ICC-AVR application builder : 2009-12-27 23:15:35
// Target : M16
// Crystal: 12.000Mhz

#include <iom16v.h>
#include <macros.h>

#define uint8  unsigned char
#define uint16 unsigned int

#define Lcd_A0_H  PORTD|=(1<<0)
#define Lcd_A0_L  PORTD&=~(1<<0)
#define Lcd_Rst_H PORTD|=(1<<1)
#define Lcd_Rst_L PORTD&=~(1<<1)
#define Lcd_Cs_H  PORTB|=(1<<4)
#define Lcd_Cs_L  PORTB&=~(1<<4)

uint16 color[]={0xf800,0x07e0,0x001f,0xffe0,0x0000,0xffff,0x07ff,0xf81f};



/*-----------------------------------------------------------------------
delay_us           :1us延时函数
-----------------------------------------------------------------------*/
void delayus(void)
{
   unsigned char t=120;
   t--;
}

/*-----------------------------------------------------------------------
delay_nus          :长延时函数

输入参数: t        :延时时间 us
-----------------------------------------------------------------------*/
void delay_us(uint16 t)
{
    while (t--)
       delayus();
}

/*-----------------------------------------------------------------------
delay_ms           :1ms延时函数
-----------------------------------------------------------------------*/
void delayms(void)
{
   delay_us(1000);
}

/*-----------------------------------------------------------------------
delay_nms          :长延时函数

输入参数: t        :延时时间 ms
-----------------------------------------------------------------------*/
void Delay_nms(uint16 t)
{
    while (t--)
       delayms();
}


/*端口初始化*/
void port_init(void)
{
PORTA = 0x00;
DDRA  = 0x00;
PORTB = 0xFF;
DDRB  = 0xB0;
PORTC = 0x00; //m103 output only
DDRC  = 0x00;
PORTD = 0xFF;
DDRD  = 0x03;
}

//SPI initialize
// clock rate: 750000hz
void spi_init(void)
{
SPCR = 0x50; //setup SPI
SPSR = 0x00; //setup SPI
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
spi_init();
MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

/*SPI发送函数*/
void spi_send(uint8 dat)
{

SPDR = dat;
while(!(SPSR & (1<<SPIF)));

}

/*向LCD写8位数据函数*/
void write_8d(uint8 dat)
{
        Lcd_A0_H;
        Lcd_Cs_L;
        spi_send(dat);
        Lcd_Cs_H;

}

/*向LCD写16位数据函数*/
void write_16d(uint16 dat)
{
        Lcd_A0_H;
        Lcd_Cs_L;
        spi_send(dat>>8);
        Lcd_Cs_H;
       
        Lcd_Cs_L;
        spi_send(dat);
        Lcd_Cs_H;

}

/*向LCD写指令函数*/
void write_cmd(uint8 cmd)
{
        Lcd_A0_L;
        Lcd_Cs_L;
        spi_send(cmd);
        Lcd_Cs_H;
}


void LCD_WR_CMD(uint8 index,uint16 val)
{
        write_cmd(index);
        write_16d(val);
}



/*清屏函数 color为设置的背景颜色*/
void Lcd_Clear(uint16 color)
{
        uint8 i,j;
        LCD_WR_CMD(0x44,0x8302);        //设定X坐标范围
        LCD_WR_CMD(0x45,0x8302);        //设定Y坐标范围
        LCD_WR_CMD(0x21,0x0202);        //设定写入坐标
        write_cmd(0x22);    //write data to GRAM
        for(i=0;i<130;i++)
    {
         for(j=0;j<130;j++)
         {
           write_16d(color);
         }
        }
}


/*画点函数*/
void LCD_Point(uint8 x,uint8 y,uint16 color)
{
        LCD_WR_CMD(0x44,0x8302);        //设定X坐标范围
        LCD_WR_CMD(0x45,0x8302);        //设定Y坐标范围
        //LCD_WR_CMD(0x21,0x0202);        //设定写入坐标
        write_cmd(0x21);
        write_8d(0x02+x);
        write_8d(0x02+y);  
        write_cmd(0x22);    //write data to GRAM
        write_16d(color);
}

/*画横线函数*/
void Lcd_Hline(uint8 x,uint8 y,uint8 length,uint16 color)
{
    LCD_WR_CMD(0x44,0x8302);        //设定X坐标范围
        LCD_WR_CMD(0x45,0x8302);        //设定Y坐标范围
        //LCD_WR_CMD(0x21,0x0202);        //设定写入坐标
          //write data to GRAM
    do{
          write_cmd(0x21);
          write_8d(0x02+x+length-1);
          write_8d(0x02+y);  
          write_cmd(0x22);  
          write_16d(color);
          length--;
        }while(length);
}

/*画竖线函数*/
void Lcd_Rline(uint8 x,uint8 y,uint8 high,uint16 color)
{
    LCD_WR_CMD(0x44,0x8302);        //设定X坐标范围
        LCD_WR_CMD(0x45,0x8302);        //设定Y坐标范围
        //LCD_WR_CMD(0x21,0x0202);        //设定写入坐标
          //write data to GRAM
    do{
          write_cmd(0x21);
          write_8d(0x02+x);
          write_8d(0x02+y+high-1);  
          write_cmd(0x22);  
          write_16d(color);
          high--;
        }while(high);
}


void LCD_init()
{   
   
        //Delay_nms(100);
        Lcd_Rst_L;
        Delay_nms(100);
        Lcd_Rst_H;
        Delay_nms(100);

        LCD_WR_CMD(0x10,0x2F8E);

        LCD_WR_CMD(0x11,0x000C);
        LCD_WR_CMD(0x07,0x0021);
        LCD_WR_CMD(0x28,0x0006);
        LCD_WR_CMD(0x28,0x0005);
        LCD_WR_CMD(0x27,0x057F);
        LCD_WR_CMD(0x29,0x89A1);
        LCD_WR_CMD(0x00,0x0001);
        Delay_nms(100);
        LCD_WR_CMD(0x29,0x80B0);
        Delay_nms(30);
        LCD_WR_CMD(0x29,0xFFFE);
        LCD_WR_CMD(0x07,0x0023);
        Delay_nms(30);
        LCD_WR_CMD(0x07,0x0033);
        LCD_WR_CMD(0x01,0x2183);
        LCD_WR_CMD(0x2F,0xFFFF);
        LCD_WR_CMD(0x2C,0x8000);
        LCD_WR_CMD(0x03,0x6830);
        LCD_WR_CMD(0x27,0x0570);
        LCD_WR_CMD(0x02,0x0300);
        LCD_WR_CMD(0x0B,0x580C);
        LCD_WR_CMD(0x12,0x0609);
        LCD_WR_CMD(0x13,0x3100);
        LCD_WR_CMD(0x2A,0x1DD0);
        LCD_WR_CMD(0x2B,0x0A90);
        LCD_WR_CMD(0x2D,0x310F);
        Delay_nms(100);
        LCD_WR_CMD(0x45,0x8302);
        LCD_WR_CMD(0x44,0x8302);
        LCD_WR_CMD(0x21,0x0202);
        LCD_WR_CMD(0x1E,0x00BF);
        Delay_nms(1);
        LCD_WR_CMD(0x1E,0x0000);
        Delay_nms(100);
   
}


void main(void)
{
        uint8 i,j,t;
        uint16 temp;
        init_devices();
        Lcd_Cs_H;
        Lcd_Rst_H;
        LCD_init();
        Lcd_Clear(0xffff);
        Delay_nms(100);
   
        while(1)
        {
           
                for(t=0;t<8;t++)
                {
                        temp = color[t];
                        Lcd_Clear(temp);
                        Delay_nms(1000);   
                }
               
               Lcd_Clear(0xffff);
               Lcd_Hline(0,64,130,0xf800);
               Lcd_Rline(64,0,130,0xf800);
               Delay_nms(1000);
                      
        }
       
}

出0入0汤圆

发表于 2010-1-15 16:42:13 | 显示全部楼层
M128  如何连接该SPI屏?  程序能用M16的吗?

出0入0汤圆

发表于 2010-1-15 17:49:38 | 显示全部楼层
这个一定要顶,屏和M16都有了,嘿嘿,试试硬件SPI

出0入0汤圆

发表于 2010-1-22 21:24:27 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 10:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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