這個u為同事調走了,丟棄的,隨手撿來,感覺是個有用的東西,插USB供電顯示“金某某家”,OLED顯示不錯,有驅動的愿望,如果不能驅動,則是真正的垃圾了。此U稱為第二代。 前段時間搞T12焊臺,拆裝OLED,去年買過一個12832長條的OLED,當時9元覺得便宜,但現在想還是貴了,找到芯片型號,試了一下驅動,OK。 此U是OLED12864,顯示內容比12832多一倍,有一定價值,再說如果焊臺OLED壞,是否可以換此屏呢。 12864想要驅動,最關鍵的是知道COG芯片是什么?才知道接線、指令、數據。別人能有接線方式更好。 搜了全網,有第一代U LCD12864的驅動案例,芯片是ST7920。LCD是交流電壓驅動,OLED是電流驅動,有點類似LED,不用多想,OLED絕對不是這種了。再也搜不到一點信息了,沒shortcut可走。 按照T12焊臺oLED及原來買過的12832oLED等信息,OLED的驅動芯片大多為SSD1301、1306、1317等,猜想、假設它是SSD1306吧,開拓的路只有這樣試探。 找SSD1306的手冊分析對比,見附件《SSD1306 接口圖.xls》
看來很有共同點,有希望成功。 PCB背面,這個SC(32)-A0160是8位的MCU,資料不多,沒有多少價值
2.jpg (480.95 KB, 下載次數: 93)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
正面是線31,與其它oLED有相同處
3.jpg (444.19 KB, 下載次數: 101)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
準備手術
4.jpg (357.24 KB, 下載次數: 102)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線-------------------- 切除心臟SC(32)-A0160,好起死回生
5.jpg (290.57 KB, 下載次數: 98)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
決定用IIC方式,雖然知道此款是4線SPI,但一手搞定IIC,以免多線,拆oLED,好斷銅
6.jpg (400.19 KB, 下載次數: 95)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
排線下藏著接GND的銅,為什么要斷銅,見xls表或芯片手冊
7.jpg (304.37 KB, 下載次數: 97)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
斷了
8.jpg (291.15 KB, 下載次數: 107)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
中間一度點不亮,黑黑的屏心情不好,浪費時間。加Reset線,用IO口復位,驅動成功
9.jpg (669.88 KB, 下載次數: 104)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線--------------------
寫字試試,加了幾個字庫程序,中央是51Hei DZ
a1.jpg (173.28 KB, 下載次數: 86)
下載附件
2020-4-26 17:24 上傳
------------------------我是分隔線-------------------- 完工后剪線,拆線,當寶貝收藏好,總有使用它的時候,第2天再試RST線接VCC,不需要復位!成功。 望admin多獎點黑幣! 程序在家了,晚上補上,是MSP430F415的,IAR6環境。手上也有C51、STM32、arduino等其它的,估計版權問題不上傳了。
程序已上傳。
單片機源程序如下:
- //////////////////////////////////////////////////////////////////////////////////
- //本程序只供學習使用,未經作者許可,不得用于其它任何用途
- //#include <io430.h>
- #include "msp430x41x.h"
- #include "intrinsics.h"
- #define CPU_F ((double)8388608)
- #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
- #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
- #include "oled.c"
- void main(void)
- {
- unsigned char t;
- WDTCTL = WDTPW + WDTHOLD;
- FLL_CTL0 |= XCAP10PF;
- IFG1 &=~OFIFG;
- while(IFG1 & OFIFG) IFG1 &=~OFIFG;
-
- /*-----------------DCO精準 20191208,-----------------*/
- SCFQCTL = SCFQ_4M; // =SCFQ_M + SCFQ_4M; 1禁調制 + 頻
- FLL_CTL0 |= DCOPLUS; //2倍頻
-
-
- P1DIR |= 0xff; //方向設為輸出
- P1OUT |= 0;
-
- Initial_M096128x64_ssd1306();
- delay_ms(5);
- while(1)
- {
- // fill_picture(0x05);//全屏顯示
- // delay_ms(1000);
- // fill_picture(0xaa);//半屏熄滅;出現一條一條的亮線
- // delay_ms(1000);
- // Picture();//顯示一張圖片
- // delay_ms(1000);
-
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);
- OLED_ShowCHinese(18,0,1);
- OLED_ShowCHinese(36,0,2);
- OLED_ShowCHinese(54,0,3);
- OLED_ShowCHinese(72,0,4);
- OLED_ShowCHinese(90,0,5);
- OLED_ShowString(0,2,"0.96' OLED TEST");
- OLED_ShowString(20,4,"51Hei DZ");
- OLED_ShowString(0,6,"ASCII:");
- OLED_ShowString(63,6,"CODE:");
- OLED_ShowChar(48,6,t);//顯示ASCII字符
- t++;
- if(t>'~')t=' ';
- OLED_ShowNum(103,6,t,3,16);//顯示ASCII字符的碼值
-
-
- delay_ms(100);
-
- delay_ms(50);
- // OLED_DrawBMP(0,0,128,8,BMP1); //圖片顯示(圖片顯示慎用,生成的字表較大,會占用較多空間,FLASH空間8K以下慎用)
- OLED_DrawBMP(BMP1); //圖片顯示(圖片顯示慎用,生成的字表較大,會占用較多空間,FLASH空間8K以下慎用)
- // delay_ms(50);
- // OLED_DrawBMP(BMP2); //圖片顯示(圖片顯示慎用,生成的字表較大,會占用較多空間,FLASH空間8K以下慎用)
- delay_ms(500);
- }
- }
復制代碼
51hei.png (6.93 KB, 下載次數: 89)
下載附件
2020-4-26 22:43 上傳
所有資料51hei提供下載:
|