标题: [原创]全网首发 废弃的OLED12864驱动成功 附MCU源程序+接口图 [打印本页]

作者: f556    时间: 2020-4-26 17:30
标题: [原创]全网首发 废弃的OLED12864驱动成功 附MCU源程序+接口图
这个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,资料不多,没有多少价值
------------------------我是分隔线--------------------

正面是线31,与其它oLED有相同处
------------------------我是分隔线--------------------


准备手术
------------------------我是分隔线--------------------
切除心脏SC(32)-A0160,好起死回生
------------------------我是分隔线--------------------

决定用IIC方式,虽然知道此款是4线SPI,但一手搞定IIC,以免多线,拆oLED,好断铜
------------------------我是分隔线--------------------

排线下藏着接GND的铜,为什么要断铜,见xls表或芯片手册
------------------------我是分隔线--------------------

断了
------------------------我是分隔线--------------------

中间一度点不亮,黑黑的屏心情不好,浪费时间。加Reset线,用IO口复位,驱动成功
------------------------我是分隔线--------------------

写字试试,加了几个字库程序,中央是51Hei DZ
------------------------我是分隔线--------------------
完工后剪线,拆线,当宝贝收藏好,总有使用它的时候,第2天再试RST线接VCC,不需要复位!成功。
望admin多奖点黑币!
程序在家了,晚上补上,是MSP430F415的,IAR6环境。手上也有C51、STM32、arduino等其它的,估计版权问题不上传了。

程序已上传。

单片机源程序如下:
  1. //////////////////////////////////////////////////////////////////////////////////         
  2. //本程序只供学习使用,未经作者许可,不得用于其它任何用途

  3. //#include <io430.h>
  4. #include "msp430x41x.h"
  5. #include  "intrinsics.h"
  6. #define CPU_F ((double)8388608)
  7. #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
  8. #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

  9. #include "oled.c"

  10. void main(void)
  11. {
  12.       unsigned char t;
  13.               WDTCTL = WDTPW + WDTHOLD;
  14.       FLL_CTL0 |= XCAP10PF;
  15.       IFG1 &=~OFIFG;
  16.       while(IFG1 & OFIFG) IFG1 &=~OFIFG;
  17.       
  18.       /*-----------------DCO精准 20191208,-----------------*/
  19.       SCFQCTL =  SCFQ_4M;                    //  =SCFQ_M + SCFQ_4M; 1禁调制 + 频
  20.       FLL_CTL0 |= DCOPLUS;              //2倍频
  21.       

  22.          P1DIR |= 0xff;                           //方向设为输出
  23.       P1OUT |= 0;                          
  24.       
  25.         Initial_M096128x64_ssd1306();
  26.         delay_ms(5);
  27.         while(1)
  28.         {
  29. //                fill_picture(0x05);//全屏显示
  30. //                delay_ms(1000);
  31. //                fill_picture(0xaa);//半屏熄灭;出现一条一条的亮线
  32. //                delay_ms(1000);
  33. //                Picture();//显示一张图片
  34. //                delay_ms(1000);
  35.               
  36.                               OLED_Clear();
  37.                 OLED_ShowCHinese(0,0,0);
  38.                 OLED_ShowCHinese(18,0,1);
  39.                 OLED_ShowCHinese(36,0,2);
  40.                 OLED_ShowCHinese(54,0,3);
  41.                 OLED_ShowCHinese(72,0,4);
  42.                 OLED_ShowCHinese(90,0,5);
  43.                 OLED_ShowString(0,2,"0.96' OLED TEST");
  44.                  OLED_ShowString(20,4,"51Hei DZ");  
  45.                 OLED_ShowString(0,6,"ASCII:");  
  46.                 OLED_ShowString(63,6,"CODE:");  
  47.                 OLED_ShowChar(48,6,t);//显示ASCII字符           
  48.                 t++;
  49.                 if(t>'~')t=' ';
  50.                 OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值         
  51.                         
  52.                
  53.                 delay_ms(100);
  54.                
  55.                 delay_ms(50);
  56. //                OLED_DrawBMP(0,0,128,8,BMP1);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
  57.                 OLED_DrawBMP(BMP1);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
  58. //                delay_ms(50);
  59. //                OLED_DrawBMP(BMP2);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
  60.                 delay_ms(500);
  61.         }
  62. }
复制代码

所有资料51hei提供下载:

0.96OLED显示屏_SSD1306 UG 数据手册.pdf

1.13 MB, 下载次数: 23, 下载积分: 黑币 -5

0.96OLED显示屏_SSD1306 驱动芯片手册.pdf

1.35 MB, 下载次数: 26, 下载积分: 黑币 -5

SSD1306 接口图.7z

1.23 MB, 下载次数: 22, 下载积分: 黑币 -5

Feng 0.96OLED _IIC H.zip

115.47 KB, 下载次数: 27, 下载积分: 黑币 -5


作者: daocheng    时间: 2020-4-27 15:30
有时就是这样,得到了不用的电子产品,想利用一下又找不到任何资料,有些特别少见,有些名称被磨掉了,很可惜,只能放在箱子里利用不了,唉。。。
作者: f556    时间: 2020-4-27 16:17
此U的拆解、外观等多图见《U拆解attach_img 》 http://www.51hei.com/bbs/dpj-178374-1.html
作者: tian_000    时间: 2020-4-28 15:04
手里有三四个废弃的,可惜没能OLED屏的,学习了,感谢分享
作者: cy_007    时间: 2020-4-28 15:48
我有好几个,感觉是个有用的东西,OLED显示不错,有驱动的愿望,不是垃圾了。
作者: diyfl    时间: 2020-4-30 15:50
我好几个其他的,就因为那屏全都留着,万一哪天能用到呢!!!
类似主题:
http://www.51hei.com/bbs/dpj-27356-1.html
http://www.51hei.com/bbs/dpj-190973-1.html
http://www.51hei.com/bbs/dpj-35520-1.html
http://www.51hei.com/bbs/dpj-213269-1.html
http://www.51hei.com/bbs/dpj-186003-1.html
http://www.51hei.com/bbs/dpj-59981-1.html
http://www.51hei.com/bbs/dpj-129947-1.html
http://www.51hei.com/bbs/dpj-202400-1.html
http://www.51hei.com/bbs/dpj-88462-1.html
http://www.51hei.com/bbs/dpj-36379-1.html
http://www.51hei.com/bbs/dpj-80238-1.html
http://www.51hei.com/bbs/dpj-178374-1.html
http://www.51hei.com/bbs/dpj-151707-1.html
http://www.51hei.com/bbs/dpj-155801-1.html

作者: dhz0105    时间: 2020-5-17 22:20
厉害了,感谢楼主分享~!
作者: daocheng    时间: 2020-5-21 09:04
为什么我的U上面没有屏,就一个像U盘的东西,屏幕是带驱动板的七段LCD数码管,还好使但没有资料引脚定义,整个一个小电路板,有个VCC,GND,TXD,RXD,VSS大概吧,记不太清了,应该从TXD,RXD驱动,但七段LCD数码管也没什么意思,就没研究,大家有知道的吗?
作者: cy_007    时间: 2020-5-21 19:59
我也有几个“金某某家”,但不是OLED显示的
作者: 大电容123    时间: 2020-6-1 12:26
记得有几个呢,晚上回去翻出来看看。
作者: yaoziqiang    时间: 2020-6-1 16:16
楼主厉害了,感谢分享!
作者: dhz0105    时间: 2020-6-6 07:50
膜拜大佬,感谢分享!
作者: soarw    时间: 2020-6-18 16:34
楼主的探索精神令人钦佩!
作者: 欢迎新会员    时间: 2020-8-28 13:51
有时间学习一下,感谢分享
作者: 梁廷明    时间: 2020-8-31 17:24
好多设计,来不及设计
作者: heen1964    时间: 2020-9-27 21:59
正在学习OLED,学习了,谢谢分享!
作者: merlinhung    时间: 2020-9-28 11:16
这都行,强强强!
作者: 448853703    时间: 2020-11-3 08:49
我有好几个,感觉是个有用的东西,oLED显示不错,有驱动的愿望,不是垃圾了。
作者: Tuier    时间: 2020-11-4 21:15
以废为用,楼主厉害。
作者: dqham    时间: 2020-11-27 07:21
点赞
作者: aygxycs    时间: 2020-12-3 11:16
顶,技术好,资料详细
作者: DanmuT    时间: 2021-5-5 21:45
还能这么用?厉害
作者: wsdxpbg    时间: 2021-6-3 15:46
手里有好几个,没有OELD的,也没什么可做的
作者: 113777810    时间: 2021-6-4 06:14
高手果然是高手,佩服佩服!
作者: 啦宇y    时间: 2021-12-8 16:13
大神,受小弟一拜
作者: ge52    时间: 2022-6-14 17:30
废物利用,高手!
作者: 温xyz    时间: 2022-6-15 21:35
高手,膜拜了。
作者: haiyang201    时间: 2022-6-24 09:05
屏好几块,搞不清楚排线顺序,放置压箱底
作者: wturbot    时间: 2022-6-27 20:27
我的是自带两根线的那种
作者: cooleaf    时间: 2022-6-29 21:14
楼主这种专研精神值得赞一个!!
作者: youlinys    时间: 2022-7-2 09:47
单独买屏 是有点贵




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1