搜索
bottom↓
回复: 26

分享: WINAVR下液晶3310的驱动

[复制链接]

出0入0汤圆

发表于 2005-6-25 12:40:07 | 显示全部楼层 |阅读模式
刚刚从网址邮购处买到3310的液晶显示。试了一下,感觉很好,屏幕很清晰,很适合自己做点小项目。参考网站上的例子,用WINAVR(2005/02/14) 重新写了一个驱动,贴出来与大家共享。



网站上的例子, 初始化当中有一点DUG,提出来与大家讨论:

1. PB4当作RES的控制脚不妥当,因为在SPI下,PB4只能是输入,作输出控制RES不妥。



2. 屏幕的最上面一行,显示不停滚动的中文:“欢迎光临本网站!” 好像后面还跟一些乱码(不知是否WINAVR的原因)。我在程序中改变了一下,现在正常了。

//NokiaLCD.h

/***********************************************************************************

Name         :  NokiaLCD.h

Description  :  Header file for Nokia 84x48 graphic LCD driver.

Author       :  2005-06-24 - TestCode

Compiler     :  WINAVR Version: 20050214

************************************************************************************/

#ifndef NOKIALCD_INCLUDED

#define NOKIALCD_INCLUDED



#include <avr/pgmspace.h>



#define LCD_X_RES        (84)

#define LCD_Y_RES        (48)



#define LCD_Array_SIZE   ((LCD_X_RES * LCD_Y_RES) / 8)



#define LCD_DC_PORT                    PORTB                //  LCD&micro;&Uacute;4&frac12;&Aring;&pound;&not; Mega32&pound;&ordm;PB1  &micro;&Uacute;2&frac12;&Aring;

#define LCD_DC_DDR                    DDRB       

#define LCD_DC_BIT_NUM                (1)               



#define LCD_CE_PORT                    PORTB                //  LCD&micro;&Uacute;5&frac12;&Aring;&pound;&not; Mega32&pound;&ordm;PB0  &micro;&Uacute;1&frac12;&Aring;

#define LCD_CE_DDR                    DDRB       

#define LCD_CE_BIT_NUM                (0)               



#define LCD_RST_PORT                  PORTA                 //  LCD&micro;&Uacute;8&frac12;&Aring;&pound;&not; Mega32&pound;&ordm;PA2 &micro;&Uacute;3&frac12;&Aring;

#define LCD_RST_DDR                    DDRA       

#define LCD_RST_BIT_NUM                (2)               



/*****************************************************************************

*                                           SPI Definitions

*/

#define SPI_PORT                        PORTB

#define SPI_DDR       DDRB                //Data direction register

#define SPI_PIN       PINB                //Port used for SPI

#define SPI_SS_NUM                        (4)                        //SPI Slave select, must be set as output

#define SPI_MOSI_NUM                (5)                        //SPI CPU master output

#define SPI_MISO_NUM                (6)                        //SPI CPU master input

#define SPI_SCK_NUM                 (7)                        //SPI clock, CPU master





#define delay_1us()       _delay_us(1)

#define delay_1ms()       _delay_ms(1)



#ifndef BIT

#define BIT(x)        (1 << (x))

#endif



enum {LCD_CMD  = 0, LCD_DATA = 1};



class NokiaLcd{

private:

        unsigned char LcdRow,LcdCol;

        void InitLCDSPI(void);

       

public:

        NokiaLcd(unsigned char mRow = LCD_Y_RES,

                                   unsigned char mCol= LCD_X_RES);       

        void LCD_init(void);

        void LCD_clear(void);

        void LCD_set_XY(unsigned char X, unsigned char Y);

        void LCD_write_string(unsigned char X,unsigned char Y,char *s);

        void LCD_write_chinese_string(unsigned char X, unsigned char Y,

                           unsigned char ch_with,unsigned char num,

                           unsigned char line,unsigned char row);

        void LCD_move_chinese_string(unsigned char X, unsigned char Y, unsigned char T);                 

        void LCD_write_char(unsigned char c);

        void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,PGM_P map,

                          unsigned char Pix_x,unsigned char Pix_y);                  

        void LCD_write_byte(unsigned char data, unsigned char dc);   

        void delay_nus(unsigned int n);

        void delay_nms(unsigned int n);            

};



#endif

/////////////////////////////////////////////////////////////////////////////////



//NokiaLCD.c

/****************************************************************************

Name         :  NokiaLCD.c

Description  :  This is a driver for the Nokia 84x48 graphic LCD.

Author       :  2005-06-24 - TestCode

Compiler     :  WINAVR Version: 20050214

*****************************************************************************/

#include <avr/io.h>

#include <avr/delay.h>

#include "NokiaLCD.h"

#include "english_6x8_pixel.h"

#include "move_chinese_string_pixel.h"

#include "write_chinese_string_pixel.h"



NokiaLcd::NokiaLcd(unsigned char mRow, unsigned char mCol)

                                                                        : LcdRow(mRow),

                                                                                LcdCol(mCol)

{

  InitLCDSPI();

  LCD_init();

}



/*****************************************************************************

* WriteReadSPI: Send character to SPI and return character read back

*/

void NokiaLcd::InitLCDSPI(void)

{

                //Set SPI ports as output

          SPI_DDR |= SPI_DDR|(1<<SPI_SCK_NUM)|(1<<SPI_MOSI_NUM)|(1<<SPI_SS_NUM);               

          SPI_PORT = SPI_PORT & (~(1<<SPI_MISO_NUM));        //Turn off pull-up

                /* Enable SPI, Master, set clock rate fck/16 */

                SPSR |= (1<<SPI2X);                 // &Eacute;è&Ouml;&Atilde;SPI&Ecirc;±&Ouml;&Oacute;±&para;&Euml;&Ugrave;

    SPCR |= (1<<SPE)|(1<<MSTR);                // &Ecirc;&sup1;&Auml;&Uuml;SPI&frac12;&Oacute;&iquest;&Uacute;&pound;&not;&Ouml;÷&raquo;ú&Auml;&pound;&Ecirc;&frac12;&pound;&not;4M&Ecirc;±&Ouml;&Oacute;

}



/*-----------------------------------------------------------------------

Name         :  LcdInit

Description  :  Performs MCU SPI & LCD controller initialization.

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_init(void)

{

          _delay_ms(30);  //30ms power on delay

          LCD_DC_DDR |= (1<<LCD_DC_BIT_NUM); //Set DC pin as output

          LCD_CE_DDR |= (1<<LCD_CE_BIT_NUM); //Seet Ce pin as output

          LCD_RST_DDR |= (1<<LCD_RST_BIT_NUM);//Set reset pin as output

   

    //Toggle display reset pin.

    LCD_RST_PORT &= ~(1<<LCD_RST_BIT_NUM);//LCD reset low

    delay_1us(); //delay 1us

    LCD_RST_PORT |= (1<<LCD_RST_BIT_NUM);   

     

    LCD_CE_PORT &= ~(1<<LCD_CE_BIT_NUM);

    delay_1us();

    LCD_CE_PORT |= (1<<LCD_CE_BIT_NUM);

    delay_1us();



    LCD_write_byte(0x21, LCD_CMD);        // LCD Extended Commands.

    LCD_write_byte(0xc8, LCD_CMD);        // Set LCD Vop (Contrast).

    LCD_write_byte(0x06, LCD_CMD);        // Set Temp coefficent.

    LCD_write_byte(0x13, LCD_CMD);        // LCD bias mode 1:48.

    LCD_write_byte(0x20, LCD_CMD);        // LCD Standard Commands, Horizontal addressing mode

    LCD_clear();                                            // Lcd clear screen

    LCD_write_byte(0x0c, LCD_CMD);        // LCD Standard Commands, Horizontal addressing mode   

    LCD_CE_PORT &= ~(1<<LCD_CE_BIT_NUM);  // Deselect Lcd

}



/*-----------------------------------------------------------------------

Name    : LCD Clear Screen

Description  : LcdClear Screen

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_clear(void)

  {

    unsigned int i;



    LCD_write_byte(0x0c, LCD_CMD);                       

    LCD_write_byte(0x80, LCD_CMD);                       



    for (i=0; i<504; i++)

      LCD_write_byte(0, LCD_DATA);                       

  }



/*-----------------------------------------------------------------------

Name         :  LCD_set_XY

Description  : Set Lcd X(Page) Y(Column) position

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_set_XY(unsigned char X, unsigned char Y)

{

    LCD_write_byte(0x40 | Y, LCD_CMD);                // column

    LCD_write_byte(0x80 | X, LCD_CMD);    // row

}



/*-----------------------------------------------------------------------

Name         :  LCD_write_char

Description  :  Display one ASCII character

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_write_char(unsigned char c)

  {

    unsigned char line;



    c -= 32;

                LCD_write_byte(0x00,LCD_DATA);

    for (line=0; line<5; line++)

      LCD_write_byte(pgm_read_byte(&font6x8[c][line]), LCD_DATA);

  }



/*-----------------------------------------------------------------------

Name         :  LCD_writeString

Description  :  Write English string to Lcd Screen

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_write_string(unsigned char X,unsigned char Y,char *s)

  {

    LCD_set_XY(X,Y);

    while (*s)

    {

                         LCD_write_char(*s);

                         ++s;

    }

  }

/*-----------------------------------------------------------------------

Name         :  LCD_write_chinese_string

Description  :  Write chinese character string to LCD Screen

Argument(s)  :  X, Y -> Coordinate for new cursor position.

                                  ch_with -> Chinese Character width

                                  num  -> number of characters to display

                                  line -> start line of the chinese character

                                  row   ->Space lines between each char

-----------------------------------------------------------------------*/                        

void NokiaLcd::LCD_write_chinese_string(unsigned char X, unsigned char Y,

                   unsigned char ch_with,unsigned char num,

                   unsigned char line,unsigned char row)

  {

    unsigned char i,n;

   

    LCD_set_XY(X,Y);                             //&Eacute;è&Ouml;&Atilde;&sup3;&otilde;&Ecirc;&frac14;&Icirc;&raquo;&Ouml;&Atilde;   

    for (i=0;i<num;)

      {

              for (n=0; n<ch_with*2; n++)              //&ETH;&acute;&Ograve;&raquo;&cedil;&ouml;&ordm;&ordm;×&Ouml;

                {

                  if (n==ch_with)                      //&ETH;&acute;&ordm;&ordm;×&Ouml;&micro;&Auml;&Iuml;&Acirc;°&euml;&sup2;&iquest;·&Ouml;

                    {

                      LCD_set_XY((X+(ch_with+row)*i),Y+1);

              }

                LCD_write_byte(pgm_read_byte(&write_chinese_string[line+i][n]),LCD_DATA);

                }

              i++;

              LCD_set_XY((X+(ch_with+row)*i),Y);

      }

  }

  

/*-----------------------------------------------------------------------

Name         :  LCD_move_chinese_string

Description  :  move the chinese string line on the screen;

Argument(s)  :  X, Y -> Coordinate for new cursor position.

                      T -> moving speed

-----------------------------------------------------------------------*/                        

void NokiaLcd::LCD_move_chinese_string (unsigned char X, unsigned char Y, unsigned char T)

  {

    unsigned char i,n,j=0;

    unsigned char buffer_h[84]={0};

    unsigned char buffer_l[84]={0};

      

    for (i=0; i<96; i++)

      {

        buffer_h[83] = pgm_read_byte(&move_chinese_string[i/12][j]);

        buffer_l[83] = pgm_read_byte(&move_chinese_string[i/12][j+12]);

        j++;

        if (j==12) j=0;

        

        for (n=0; n<83; n++)

          {

            buffer_h[n]=buffer_h[n+1];

            buffer_l[n]=buffer_l[n+1];

          }

        

        LCD_set_XY(X,Y);

        for (n=0; n<83; n++)

          {

            LCD_write_byte(buffer_h[n],LCD_DATA);

          }

        

        LCD_set_XY(X,Y+1);

        for (n=0; n<83; n++)

          {

            LCD_write_byte(buffer_l[n],LCD_DATA);

          }

         

       delay_nms(T);

      }

  }



/*-----------------------------------------------------------------------

Name         :  LCD_draw_bmp_pixel

Description  :  draw a picture on the Lcd screen

Argument(s)  :  X, Y -> start position on thelcd screen

                map  ->picture array on the flash

                Pix_x   ->picture height (pixes)

                Pix_y   ->picture width (pixes)

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,PGM_P map,

                          unsigned char Pix_x,unsigned char Pix_y)           

  {

    unsigned int i,n;

    unsigned char row;

   

    if (Pix_y%8==0) row=Pix_y/8;  //Cal. the total page numbers

      else

        row=Pix_y/8+1;

   

    for (n=0;n<row;n++)

      {

              LCD_set_XY(X,Y);

        for(i=0; i<Pix_x; i++)

          {

            LCD_write_byte(pgm_read_byte( &map[i+n*Pix_x]), LCD_DATA);

          }

        Y++;                         //go to next page

      }      

  }



/*-----------------------------------------------------------------------

Name         :  LCD_write_byte

Description  :  Sends data to display controller.

Argument(s)  :  data -> Data to be sent

                cd   -> Command or data (see/use enum)

-----------------------------------------------------------------------*/

void NokiaLcd::LCD_write_byte(unsigned char data, unsigned char command)

{

    LCD_CE_PORT &= ~(1<<LCD_CE_BIT_NUM);                // Enable SPI

    if (command == LCD_CMD)  // Send command

      LCD_DC_PORT &= ~(1<<LCD_DC_BIT_NUM);                   

    else

      LCD_DC_PORT |= (1<<LCD_DC_BIT_NUM);                        // Send data



    SPDR = data;                        // Load data to SPDR

    while ((SPSR & 0x80) == 0);         // Wait until data sent

    LCD_CE_PORT |= (1<<LCD_CE_BIT_NUM);                        // &sup1;&Oslash;±&Otilde;LCD

}



void NokiaLcd::delay_nus(unsigned int n)       //delay n us

{

   unsigned int i=0;

   for (i=0;i<n;i++)

   _delay_us(1);

}

  

void NokiaLcd::delay_nms(unsigned int n)       //Delay n ms

{

   unsigned int i=0;

   for (i=0;i<n;i++)

   _delay_ms(1);

}



如果大家感兴趣,可以附上全文。





-----此内容被testcode于2005-06-25,12:42:04编辑过


-----此内容被testcode于2005-06-25,22:50:39编辑过
头像被屏蔽

出0入0汤圆

发表于 2005-6-25 13:06:01 | 显示全部楼层
谢谢。很感兴趣啊。



能否将代码等全部打包上传上来?

出0入0汤圆

 楼主| 发表于 2005-6-25 13:54:20 | 显示全部楼层
使用ATMEGA32L,具体连接可以参见"NokiaLCD.h"的定义。

用C++写的代码如下:

点击此处下载armok0154367.rar

用C写的代码如下:(最初写的)

点击此处下载armok0154369.rar

另,请教大家,在WINAVR下,改用C++的程序时,一点奇怪:

<bmp_pixel.h>中要用

prog_char AVR_bmp[] PROGMEM =

{

  ...

}

不能用以下,会出错。

const unsigned char AVR_bmp[] PROGMEM =

{

  ...

}

出0入0汤圆

发表于 2005-7-11 14:23:02 | 显示全部楼层
请问testcode ,你用的什么做的工程文件啊?用什么打开啊?谢谢!

出0入104汤圆

发表于 2005-7-11 16:39:12 | 显示全部楼层
PB4当作LCD_RES的控制脚是可以的,没有不妥当,,PB4只要设为输出,SPI一切正常,但是,SPI初始化时没有对PB4设为输出(自动成为输入),这就很大问题了,SPI有时可正常工作,但大多数都不能正常工作,PB4设为输入,在内部要设置上拉电阻(PORTB4=high),就可解决这问题,所以,PB4(SS)设为输入在SPI作主机操控通讯,PB4(SS)一定要=high, PB4(SS)设为输出,没有影响SPI作主机操控通讯,PB4可作为LCD_RES的控制脚。

出0入104汤圆

发表于 2005-7-12 10:39:52 | 显示全部楼层
将楼主的WINAVR下液晶3310的驱动修改和网站上的例子一样,

用mega16 LCD接脚和网站上的例子一样配置,



PB4设为输出控制当作LCD_RES的控制脚没有不妥当。



/*

#define LCD_DC               0x08  

#define LCD_CE               0x10

#define SPI_MOSI             0x20  

#define LCD_RST              0x40

#define SPI_CLK              0x80

  

*/

#define LCD_DC_PORT          PORTB   //  LCD第4脚, Mega16:PB3  第4脚

#define LCD_DC_DDR                   DDRB       

#define LCD_DC_BIT_NUM        (3)               



#define LCD_CE_PORT          PORTB   //  LCD第5脚, Mega16:PB4  第5脚

#define LCD_CE_DDR                   DDRB       

#define LCD_CE_BIT_NUM        (4)               



#define LCD_RST_PORT         PORTB   //  LCD第8脚, Mega16:PB6  第7脚

#define LCD_RST_DDR          DDRB       

#define LCD_RST_BIT_NUM       (6)



mega16驱动3310_LCD接脚和网站上的例子一样配置,直接烧写LCD_main.hex就可。



点击此处下载armok0155926.rar

出0入0汤圆

 楼主| 发表于 2005-7-12 11:06:56 | 显示全部楼层
工程文件是用UltraEdit做的;



谢谢红日指出!!!

"1. PB4当作RES的控制脚不妥当,因为在SPI下,PB4只能是输入,作输出控制RES不妥。"

我晕头了,那几天更好被SS'的问题搞的头晕晕的。



我本意是要说网站上的范例中是如下设置的:

#define LCD_RST    0x40  //  LCD第8脚, Mega16:PB6(MISO) 第7脚

用PB6(MISO) 第7脚控制RES。在SPI下,PB6只能是输入...

因此,以下的设置有问题,不可以用PB6:

#define LCD_RST_PORT         PORTB   //  LCD第8脚, Mega16:PB6  第7脚

#define LCD_RST_DDR          DDRB   

#define LCD_RST_BIT_NUM       (6)

出0入104汤圆

发表于 2005-7-12 17:25:50 | 显示全部楼层
在这个应用范例中如下设置:

#define LCD_RST 0x40 // LCD第8脚, Mega16:PB6(MISO) 第7脚



没有问题,因为,mega16驱动3310液晶这个应用范例,SPI是单一输出通讯,PB6(MISO)没有输入通讯,所以在这个应用范例PB6(MISO)亦可设为输出控制,作为LCD_RES的控制脚,每次SPI读回PORTB6的内容。



SPI在其他的双向通讯应用PB6(MISO)才要设为输入。

出0入0汤圆

 楼主| 发表于 2005-7-13 11:33:29 | 显示全部楼层
To红日:

如果我理解没有错的话,从datasheet上的解释(见楼主位的Table 16-1图),在Master SPI设置的情况下,MISO是被Overrides为输入,就是说:即使你设置为输出,即使PB6(MISO)没有输入通讯,可是在Master SPI的状态下还是被CPU强制设置为输入状态的。

出0入104汤圆

发表于 2005-7-13 13:57:58 | 显示全部楼层
To testcode:

你理解对了,SPI在Master设置的情况下是将PB6(MISO)强制为输入,PB6作为LCD_RES的控制脚是不妥当。



但在这个mega16驱动3310液晶应用范例中,PB6(MISO)设为输出作为LCD_RES的控制脚,亦没有问题,程序亦可正常运行。因为,主函数执行LCD初始化时,将PB6(MISO)设为输出作为LCD_RES的控制脚,之后SPI在Master设置的情况下是将PB6(MISO)强制为输入,

但有之前的PB6=high[LCD_RST_PORT |= (1<<LCD_RST_BIT_NUM)],PB6=high有上拉电阻一直是高电平输出,SPI在Master设置的情况下是将PB6(MISO)强制为输入,PB6都没有改变为低电平作出对LCD复位控制,所以亦没有问题。问题清楚了,通过这样讨论很好。



void LCD_init(void)

  {

          _delay_ms(30);

          LCD_DC_DDR  |= (1<<LCD_DC_BIT_NUM);

          LCD_CE_DDR  |= (1<<LCD_CE_BIT_NUM);

          LCD_RST_DDR |= (1<<LCD_RST_BIT_NUM);



   

    LCD_RST_PORT &= ~(1<<LCD_RST_BIT_NUM);     // 产生一个让LCD复位的低电平脉冲

    delay_1us();

    LCD_RST_PORT |= (1<<LCD_RST_BIT_NUM);

出0入0汤圆

发表于 2006-3-16 11:24:58 | 显示全部楼层
感谢好帖!

出0入0汤圆

发表于 2006-9-10 20:19:32 | 显示全部楼层
请问,为什么我用gcc写的程序会使LCD显示很多乱码啊?而且有时正常有时是乱码.

出0入0汤圆

发表于 2007-3-26 23:20:41 | 显示全部楼层




楼主,请问我用你的代码驱动3310通电瞬间显示正常,但马上就变黑屏了,请问怎么解决? 谢谢!

出0入0汤圆

 楼主| 发表于 2007-3-26 23:44:11 | 显示全部楼层
请仔细检查代码中控制lcd的脚的定义,是否连接正确。

出0入0汤圆

发表于 2007-3-27 09:54:48 | 显示全部楼层
线没有接错的, 开机能显示正常,不过一会就黑屏了. 如果线接错了,估计不会有显示的.



谢谢!

出0入0汤圆

发表于 2007-3-27 14:08:15 | 显示全部楼层
问题找到啦,我的3310用1117 LDO给他供电,但是显示黑屏,现在我用可调电压慢慢降低到2.0V就是显示正常了,真是怪,难道是这个屏的电压是2V?

出0入0汤圆

发表于 2008-5-14 12:28:04 | 显示全部楼层
做个记号!

出0入0汤圆

发表于 2008-5-14 12:49:58 | 显示全部楼层
记号

出0入0汤圆

发表于 2008-5-14 14:34:32 | 显示全部楼层
你說後面的圖出現亂碼的原因是出全圖的那個函數跟 資料里不太對,它連續輸出全圖的數據是沒錯,可是在里面的好像是行模式的,就是說如果x = 83的時間如果再給一個數據 x=0 y+=1,可是好像x超過83之後不會自動把x回到0!!! 我調試了一下發現應該超過某個數之後才會回到0和y+1;巨具多少沒去試,可以很簡單的編幾行就知道,但我也沒有多理會直接把出全圖函數如下:
void LCD_Draw_Screen(const unsigned char *map)
{
    unsigned int i;
    LCD_set_XY(0, 0);
    for (i = 0; i < 504; i++)
        LCD_write_byte(pgm_read_byte(map++), 1);
}
//改成:
void LCD_Draw_Screen(const unsigned char *map)
{
    unsigned char i, j;             //跟用unsigned int 差不多吧!?
    for(j=0; j<6; j++)              //輸出六行
    {
        LCD_set_XY(0, j);           //設定輸出行數
        for (i = 0; i < 84; i++)    //輸出84個字節數據
        LCD_write_byte(pgm_read_byte(map++), 1);
    }
}
//
關於上面的函數跟 清屏函數同樣出現這個問題的,所以你會發現要清除兩次才能把全屏清除
所以那個清屏函數一樣這樣改,只不過數據全0
其它的都沒有去多看了,那個3310中文pdf我看了幾頁不知溫度校正那些是怎麼一回事不過己經在寫時鐘了
雖然時鐘ic沒去看=.=(在這里買的3310很久言幾天才去驅動)
昨晚己成功寫了個數字轉動效果的函數打算用在時鐘上,如01秒到02秒把1字轉動然後轉回來變成2(是抄襲日本人那個vdf時鐘...他只有一個視頻,沒有給出程式,我是自己想出來的,不知道有沒有高手告知如何寫效果比較好)
ps:我用的是阿莫發表那個m16帶光暗調整的範例..還有就是不知道我用繁體字回帖會不會別人看不到呢?

出0入0汤圆

发表于 2010-3-3 13:56:44 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-3-8 18:06:22 | 显示全部楼层
准备写一个M16+3310,使用三个按键执行与PIC单片机的两线式通信的实验,正好参考一下3310驱动。

出0入0汤圆

发表于 2010-7-1 10:15:48 | 显示全部楼层
C++在写单片机程序时比C好用吗?

出0入0汤圆

发表于 2010-9-26 22:40:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-10 16:57:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-24 23:06:48 | 显示全部楼层
我的也是开机那会能显示,不一会,就没有了,,,,难道也是电压问题

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-6 06:30

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

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