久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9659|回復: 5
打印 上一主題 下一主題
收起左側

51單片機nokia6610彩屏成功驅動記-附程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:72705 發表于 2015-1-24 15:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面這個網站是我參考的程序,不過源程序是avr的,現在改用51了。
大家也動手做一下,很考研技術的,焊點就是個大問題,一共接9跳線。
沒有什么技巧,只能硬著頭皮焊接。
6610/6100/7210/7250/5100這幾塊手機的屏,控制指令是一樣的





1    Vdigital     3,3V   
2    RESET        
3    SDATA      
4    SCLK           
5    ~CS            
6    Vdisplay     3,3V   
7    n/c         ---   
8    GND         GND   
9    LED-        GND   
10   LED+        15mA - 30mA (ca. 6,4V)
這是背后10個焊點的引腳定義。

這些圖是我用51做完后的效果,手機的攝像頭太差了,尤其是晚上。
這個網站的程序是這樣的:
#include <avr/io.h>
#include <avr/delay.h>

#define uchar unsigned char
#define uint unsigned int

#define nop asm("NOP")

#define LCD_RET_H PORTD|=0x80    //RESET ---- PD7
#define LCD_RET_L PORTD&=0x7f

#define LCD_CS_H PORTD|=0x40     //CS ---- PD6
#define LCD_CS_L PORTD&=0xbf

#define LCD_CLK_H PORTB|=0x20    //CLK ---- PB5
#define LCD_CLK_L PORTB&=0xdf

#define LCD_DIN_H PORTB|=0x08    //DIN ---- PB3
#define LCD_DIN_L PORTB&=0xf7

// Epson S1D15G10 Command Set
#define DISON        0xaf     
#define DISOFF       0xae     
#define DISNOR       0xa6   
#define DISINV       0xa7   
#define COMSCN       0xbb     
#define DISCTL       0xca     
#define SLPIN        0x95     
#define SLPOUT       0x94     
#define PASET        0x75     
#define CASET        0x15     
#define DATCTL       0xbc     
#define RGBSET8      0xce     
#define RAMWR        0x5c     
#define RAMRD        0x5d     
#define PTLIN        0xa8     
#define PTLOUT       0xa9     
#define RMWIN        0xe0     
#define RMWOUT       0xee     
#define ASCSET       0xaa     
#define SCSTART      0xab     
#define OSCON        0xd1     
#define OSCOFF       0xd2     
#define PWRCTR       0x20     
#define VOLCTR       0x81     
#define VOLUP        0xd6     
#define VOLDOWN      0xd7     
#define TMPGRD       0x82     
#define EPCTIN       0xcd     
#define EPCOUT       0xcc     
#define EPMWR        0xfc     
#define EPMRD        0xfd     
#define EPSRRD1      0x7c     
#define EPSRRD2      0x7d     
#define NOP          0x25     

void init_lcd ();
void init_mcu ();
void lcd_data (uchar data);
void lcd_command (uchar command);

static uchar color[]={0x03,0x38,0xc0,0x00,0xff};

int main ()
{
    uint num;
    uchar x=0,n=0;
     
    init_mcu ();
    init_lcd ();
         
    for (n=0;n<5;n++)
     {
           lcd_command (PASET);
           lcd_data (x);
           x+=25;
           lcd_data (x++);
           lcd_command (CASET);
           lcd_data (2);
           lcd_data (131);
         
           lcd_command (RAMWR);
         
           num=130*26;
           while (num--)
             lcd_data (color[n]);  
     }         
     
    while (1);
     
    return (0);
}  

void init_mcu ()
{  
    DDRD=0xff;
    PORTD=0xff;
    DDRC=0xff;
    PORTC=0xff;
    DDRB=0xff;
    PORTB=0xff;
}
  
void lcd_data (uchar data)
{
    LCD_CS_L;
     
    LCD_CLK_L;
    LCD_DIN_H;        //數據
    LCD_CLK_H;
     
    SPCR=0x50;
     
    SPDR=data;
    while (!(SPSR & (1<<SPIF)));
     
    LCD_CS_H;
    SPCR=0x00;
}
     
void lcd_command (uchar command)
{
    LCD_CS_L;
     
    LCD_CLK_L;
    LCD_DIN_L;       //命令
    LCD_CLK_H;
     
    SPCR=0x50;
     
    SPDR=command;
    while (!(SPSR & (1<<SPIF)));
     
    LCD_CS_H;
    SPCR=0x00;
}
  
void init_lcd ()
{
         LCD_RET_L;
         nop;nop;
         LCD_RET_H;
         
         lcd_command (DISCTL);
         lcd_data (0x0f);
         lcd_data (0x20);
         lcd_data (0x0f);
         lcd_data (0x01);
         
         lcd_command (COMSCN);    //上下半圖象掃描順序
         lcd_data (0x01);
         
         lcd_command (OSCON);
         lcd_command (SLPOUT);
         
         lcd_command (VOLCTR);
         lcd_data (0x0e);          //調整對比度,越大越亮
         lcd_data (0x05);          //色彩調整,5最合適
         
         lcd_command (PWRCTR);
         lcd_data (0x0f);
         
         lcd_command (DISINV);     //顏色順序
         lcd_command (PTLOUT);
         
         lcd_command (DATCTL);
         lcd_data (0x01);          //改變增量方向
         lcd_data (0x00);
         lcd_data (0x01);
         
         lcd_command (RGBSET8);    //調色板設置
         lcd_data (0x00);
         lcd_data (0x02);
         lcd_data (0x04);
         lcd_data (0x06);
         lcd_data (0x08);
         lcd_data (0x0a);
         lcd_data (0x0c);
         lcd_data (0x0f);
         
         lcd_data (0x00);
         lcd_data (0x02);
         lcd_data (0x04);
         lcd_data (0x06);
         lcd_data (0x08);
         lcd_data (0x0a);
         lcd_data (0x0c);
         lcd_data (0x0f);
         
         lcd_data (0x00);
         lcd_data (0x06);
         lcd_data (0x09);
         lcd_data (0x0f);
            
         lcd_command (DISON);
}
大家可以參照一下,把相應的端口改成51的就可以了。
不過51的太慢了,我在考慮用arm或者dsp來做,這樣真彩的效果又好,顯示速度也快.
移植到51以后,明顯能看到刷屏的效果。

評分

參與人數 1黑幣 +5 收起 理由
小奧匈啊 + 5

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:143999 發表于 2016-10-23 00:03 | 只看該作者
有沒有nokia6610的手冊啊
回復

使用道具 舉報

板凳
ID:148440 發表于 2016-11-17 12:45 | 只看該作者
圖片不清晰
回復

使用道具 舉報

地板
ID:148910 發表于 2016-11-20 20:04 | 只看該作者
厲害了,我的哥
回復

使用道具 舉報

5#
ID:153710 發表于 2016-12-12 13:01 | 只看該作者
樓主厲害啊
回復

使用道具 舉報

6#
ID:91691 發表于 2016-12-15 09:30 | 只看該作者
樓主厲害啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 国产精品永久 | 99在线精品视频 | 国产免费观看一级国产 | 国产91一区| 影音先锋亚洲资源 | 亚洲成人一区 | 久久机热 | 亚洲一区二区三区在线播放 | 久久久久久亚洲精品 | 日日操av | 一区二区三区在线电影 | 国产精品1区 | 精品亚洲一区二区 | 亚洲国产精品99久久久久久久久 | 中文一区 | 欧美久久久| 一级做a | 爱草在线 | 久草网址| 国产精品大全 | 亚洲成人av一区二区 | 欧美一区二区三 | 久久国产亚洲 | 懂色av一区二区三区在线播放 | 一区二区三区免费网站 | 欧美性久久久 | 午夜激情视频在线 | 国产精品一区在线观看 | 天天综合久久 | 国产精品国产精品 | 亚洲九色 | av在线播放不卡 | 日韩资源 | 午夜综合 | 欧美激情啪啪 | 91视频观看 | 日本网站在线看 | 欧美激情一区二区三区 | 亚洲成人福利在线观看 | 亚洲第一成人影院 |