搜索
bottom↓
回复: 40

上一个ssd1303驱动的12864的驱动程序(完整代码)

[复制链接]

出0入0汤圆

发表于 2006-10-20 22:11:18 | 显示全部楼层 |阅读模式
双色的12864,像纸一样薄。不用背光的。焊接的时候要小心,我自己就烧了一片。只看到一排一排的青烟冒起来。然后屏就挂了。(55元就没了),惨啊。

上传更新的PCB(PROTEL99格式),和驱动程序源代码。









PCB:

点击此处下载armok01132738.rar

驱动程序源代码:点击此处下载armok01132739.rar

贴出来部分,如下:

//编译器:GCC-AVR V20040502 日期: 2006-06-04 13:29:57

//目标芯片 : M16

//时钟: 8.0000Mhz

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

OLED引脚定义

1---VTEST

2---GND

3---V3.3

4---GND

5---GND

6到13--D7-D0

14--RD

15--WR

16--DC

17--RES

18--CS

19--BS2

20--BS1

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

#include <avr/io.h>

#include <avr/delay.h>

#include <avr/interrupt.h>      

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

下面是AVR与OLED连接信息

PA->D0--D7

PC3->RD

PC2->WR

PC1->DC

PC0->CS

PD7->RES

要使用本驱动,改变下面配置信息即可

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

#define OLED_RD_PORT    PORTC   //以下4个要设为同一个口

#define OLED_RD_DDR     DDRC

#define OLED_WR_PORT    PORTC   

#define OLED_WR_DDR     DDRC

#define OLED_DC_PORT    PORTC   

#define OLED_DC_DDR     DDRC

#define OLED_CS_PORT    PORTC   

#define OLED_CS_DDR     DDRC

//以上为四个重要操作的相关定义

#define OLED_RES_PORT    PORTD   //RES个要设为同一个口

#define OLED_RES_DDR     DDRD

//以上为复位操作

#define OLED_DATA_PORT  PORTA   

#define OLED_DATA_DDR   DDRA   

#define OLED_DATA_PIN   PINA

//以上为数据端口定义

#define OLED_RD         (1<<PC3)

#define OLED_WR         (1<<PC2)

#define OLED_DC         (1<<PC1)

#define OLED_CS         (1<<PC0)

#define OLED_RES         (1<<PD7)

//以上为接口定义



//OLDE INITIAL FUNCTION AND OPERATERS



unsigned char ReadData(void);

unsigned char ReadCommand(void);

void WriteCommand(unsigned com);

void WriteData(unsigned dat);

void esbusini(void);

void ini_oled(void);



觉得好的顶啊,不要沉了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2006-10-20 22:31:16 | 显示全部楼层
顶一下,这个屏不错

出0入0汤圆

发表于 2006-10-20 22:42:25 | 显示全部楼层
我顶,oled的寿命如何?

出0入0汤圆

发表于 2006-10-20 22:47:59 | 显示全部楼层
请问楼主12864多少钱?

出0入0汤圆

 楼主| 发表于 2006-10-20 23:06:16 | 显示全部楼层
裸屏55元。有热转印的PCB(带力矩的电容和电阻)卖,10元块。我是自己做的转接板(买现成的就不会烧屏了,555)。屏上显示的那个网站有。

出0入0汤圆

 楼主| 发表于 2006-10-21 11:38:43 | 显示全部楼层
再上一个用PC机串口控制的上位机程序(VC++ 6.0)编写。

上位机界面(正在更新,近期做得更完善点,急的朋友可以先试试)。



下边是打包程序:

点击此处下载armok01132780.rar





有兴趣的顶一下,要不然做起来没动力啊。

用M8做的软USB(不虚拟串口)也可以控制,不过速度有点慢。

出0入0汤圆

发表于 2006-10-21 12:49:29 | 显示全部楼层
我感兴趣,顶一下.



不过最上面的驱动程序源码不全呀.



另,VC6串口这个也开源就更好了,呵呵.


-----此内容被passerby于2006-10-21,13:03:37编辑过

出0入0汤圆

发表于 2006-10-21 13:00:17 | 显示全部楼层
顶一下

出0入0汤圆

 楼主| 发表于 2006-10-21 14:54:45 | 显示全部楼层
好,有人顶我就放上VC上位机程序的全部源代码。



其实那个好简单的,就是用的国标码查找定位字模的。不能选择字体,只有16*16的宋体显示。



oled的驱动全了。有个libssd1303.a,添加到工程中,相应的调用接口在ssd1303.h中。头文件中所有要用的接口已经完全完成了。再放上一份ssd1303的datasheet,看完datasheet就会很明了了。



datasheet:点击此处打开armok01132789.pdf



VC++上位机的所有源代码:点击此处下载armok01132790.rar

在工作文件目录下要放上那两个字体文件,用VC的资料添加可以将那两个文件放到程序中去,我还没有完善,有兴趣的可以自己去加一下。还有一个PC版本的直接驱动液晶或是oled的软件,还没有完全写好,是用M8或是2313模拟的USB通信做的。完成后也会传上源代码。

出0入0汤圆

发表于 2006-10-21 15:46:05 | 显示全部楼层
“驱动程序源代码”不知道是什么文件,有一个是****.a文件?

出0入0汤圆

 楼主| 发表于 2006-10-21 15:57:03 | 显示全部楼层
那个是WINAVR(AVRGCC)的库文件。



将那个库文件放到C:\Program Files\WinAVR\avr\lib或你的安装目录\avr\lib下边。



然后在AVR Studio4.12里边的配置里边就可以添加。

出0入0汤圆

发表于 2006-10-21 18:40:06 | 显示全部楼层
很好,顶下.

屏幕真的很好看.比起其它很多LCM液晶模块.



不知,点阵有多大呢?

出0入0汤圆

 楼主| 发表于 2006-10-21 19:23:08 | 显示全部楼层
上传的datasheet上有。整个屏大概是1.2inch的吧。很小。和MP3上的那种是一样大的。

出0入0汤圆

发表于 2006-10-22 20:21:54 | 显示全部楼层
先谢谢楼主.



我自以为VC的SDK编程学得很不错了,但是一看到了MFC的message map的地方就晕菜.

也许message map也不是个孤立的问题,但这后面就看不懂了.VC也一直没有真正用起来.



搂主或过路的高手,能否给提点一两句,

或者你们当初是看哪本书过来的,给推荐一下.万分感谢.万分感谢.

(比如侯捷的深入浅出mfc如何)



也许VC已经算很老了,但我还是想能把它用起来.有时我甚至想,一个确实能用,但不再发展的技术,也未尝不是个好东西,如果总是追着微软的先进技术跑,那非得把人累死.我又不是软件科班出身.



过一阵可能需要编个串口小程序.可能vc也赶不上用了,只能用delphi了.

delphi,嗯,也得从头学.不过看起来不太难.



恳请指教,谢谢.
-----此内容被passerby于2006-10-22,20:23:56编辑过

出0入0汤圆

 楼主| 发表于 2006-10-22 20:37:48 | 显示全部楼层
其实VC++不是传说中的那样难学习的。



我只上过C语言的课,面像对象是自学的。候的那本书的确是不错,对SDK的了解及控制台程序的运行有很大的帮助。



其实在用MFC的时候,MFC只是提供一个框架,自己往框架中填入代码就行了。当然,VC++是面像过程和面向对像相结合的,想提高程序运行的效率的话,还得用多线程。



有些高校的教材,面向对像语言C++版的就不错。关键是要有恒心学下去。网站上有那个VC++的视频教程(孙鑫的),那个东西也很不错的。你可以下下来看看。



用VC++做通信的例子就太多了。AVR309的USB通信那个我就反编译了一个LIB库。可惜没人顶啊。用那个库可以直接通信(不用虚串口)。



祝楼上的成功!!!

出0入0汤圆

发表于 2006-10-22 21:51:21 | 显示全部楼层
多谢指点,回复真快,没想到.



c++我应该算是很熟悉了.那些高级的技术是不懂的,什么范型之类的,stl之类的,一窍不通,但是基本上所有的面向对象的各种概念已经很理解了.



再麻烦问一下,关于MFC,楼主看的是哪本书,孙鑫那个我下载过了.我觉得,现在我就差mfc不明白了.哦,对了还有多线程也不懂,但那个可以慢慢看,我想,因为delphi里面也讲到了线程.



我想没人顶的原因可能是很多人都不用VC,总的来说,用这个比用别的花费的时间多,我如果不是以前学过一阵,也不会顶----对自己一点都不懂的东西,不好意思顶呀,都不知道说点啥.



另,我的邮箱:xiyuloulan@163.com,请多指教.
-----此内容被passerby于2006-10-22,22:08:33编辑过

出0入0汤圆

 楼主| 发表于 2006-10-22 22:55:35 | 显示全部楼层
我看的是我们学校图书馆的书,叫什么书名不记得了。超星格式的。现在打算看那个视频教程。



我改天查下那本书,然后给你回复吧。各位要什么书,我可以帮在我们学校图书下的。呵呵。

出0入0汤圆

发表于 2006-10-23 08:05:19 | 显示全部楼层
好的,拜托了.

出0入0汤圆

发表于 2007-1-10 18:14:05 | 显示全部楼层
正学 VC++,对我很有帮助,谢谢楼主。

出0入0汤圆

发表于 2007-1-10 18:31:54 | 显示全部楼层
passerby:

    你对红应该很了解吧(me故意不改错别字)?

    MFC的消息映射实际上就是宏,说得简单一点就是:什么消息出来,用哪个成员方法处理。你用SDK有一堆的“if(某某消息) 某个方法”,MFC里的消息映射就是用一行映射代理一个if。这样使代码看起来简洁一点,因为你关心的是什么消息用什么方法去处理,而不是那个if写得对不对。

    让你晕的可能是MFC里的一些基类已经映射好了消息,你只要重载方法就可以,所以你看不到某些消息的映射。比如CWnd::Create()的方法处理的就是WM_CREATE消息,但是消息映射里没有。

    当你理解上面这段话,估计就不用搬砖头了。

出0入0汤圆

发表于 2007-1-10 18:52:46 | 显示全部楼层
谢谢jimo.

我好好理解一下.

jimo讲道理,大多深入浅出.上次讲编译链接的问题,我很佩服.

我用sdk也没写过大程序,所以处理消息只是简单的在WindowProcedure函数里面写switch.
-----此内容被passerby于2007-01-10,18:55:02编辑过

出0入0汤圆

发表于 2007-6-12 10:37:30 | 显示全部楼层
顶啊,chen_xq111@126.com

出0入0汤圆

发表于 2007-10-19 10:22:36 | 显示全部楼层
楼主。。我用了你的驱动还是点不亮呢。。我的OLED和你一样的。

能不能给个驱动的使用范例,你的网站也打不开了

出0入0汤圆

发表于 2007-10-20 15:09:19 | 显示全部楼层
LZ,能不能放上你的程序源代码啊?

出0入0汤圆

发表于 2008-2-2 22:25:13 | 显示全部楼层
楼主这位同志,做广告没人说你~
但是说是全部代码却给个.a真有点不厚道了

我找了这个OLED模块的驱动资料(SSD1303),大家也许有用:
点击此处打开ourdev_210755.pdf(文件大小:568K)

在下面一个是SSD1339的资料,目前很多彩色OLED就使用它驱动的:
点击此处打开ourdev_210756.pdf(文件大小:703K)

出0入0汤圆

发表于 2008-4-21 16:15:57 | 显示全部楼层
呵呵.

出0入0汤圆

发表于 2008-5-3 14:17:10 | 显示全部楼层
代码只有一个.a的,没法看。

出0入0汤圆

发表于 2008-5-3 17:56:09 | 显示全部楼层
Mark

出0入0汤圆

 楼主| 发表于 2008-6-4 09:28:40 | 显示全部楼层
所有代码见http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1030124&bbs_page_no=1&bbs_id=3003

出0入0汤圆

发表于 2009-4-23 08:41:39 | 显示全部楼层
mark,谢谢。

出0入0汤圆

发表于 2009-5-28 16:12:45 | 显示全部楼层
有谁用串口控制控制过ssd1303

出0入0汤圆

发表于 2009-6-16 13:37:15 | 显示全部楼层
学习 谢谢

出0入0汤圆

发表于 2009-7-2 09:46:49 | 显示全部楼层
ddddddddddddddddddddddd

出0入0汤圆

发表于 2009-7-8 17:24:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-16 12:51:02 | 显示全部楼层
谢谢LZ

出0入0汤圆

发表于 2010-2-16 13:27:33 | 显示全部楼层
我也mark下吧

出0入0汤圆

发表于 2010-7-29 16:42:45 | 显示全部楼层
请问 vcc 12v 片内如何接法?
晕,datasheet 上面都没有写,
资料一点都不详细,如何用啊!
厂家也真是的!

出0入0汤圆

发表于 2011-4-25 19:54:41 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2011-8-25 20:16:24 | 显示全部楼层
漂亮!!支持

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-28 11:25

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

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