打印

求一份驱动IC是ST7567驱动0.96寸小液晶程序 我现在想调试程...

[复制链接]
2187|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
Thefantasy| | 2015-7-18 21:25 | 只看该作者
本帖最后由 Thefantasy 于 2015-7-18 21:27 编辑

没有。楼主得自己写了,写出来了分享下吧,谢谢。

使用特权

评论回复
板凳
低八度的声线|  楼主 | 2015-7-18 21:27 | 只看该作者
command_lcd(0xAE);   //DisPlay OFF  
tcommand_lcd(0xE2);         //initialize interal function
delay_ms(50);

command_lcd(0xA2);   //SET LCD bias(A2-1/9bias; A3-1/7bias)   
command_lcd(0xA1);   //SET ADC NORMAL(OB-POR seg0-00h) A0: NORMAL  A1: REVERSE   
command_lcd(0xC0);   //SET COM OUTPUT SCAN DIRECTION(0XXXB-NORMAL)-POR  COM63-->COM0   
command_lcd(0xA4);   // SET DISPLAY NORMAL (0B-NORMAL)-POR  A4:NORMAL A5:ENTIRE DISPLAY ON   
command_lcd(0xA6);   //SET NORMAL DISPLAY MODE(0B-NORMAL)  A6:NORMAL  A7:REVERSE   
command_lcd(Ratio);   //SET INTERNAL REGULATOR RESISTOR RATIO(100B)-POR   
command_lcd(0x81);   //   
command_lcd(Vop);   // SET CONTRAST CONTROL REGISTER(00,0000H-11,1111H)   
command_lcd(0x2F);   //SET POWER CONTROL REGISTER (ALL INTERNAL)   
command_lcd(0x40);  //40,3F   
                   //end of initialzation   
command_lcd(0xAF); 这个我是用的    好困惑  屏上面什么也没有显示   我就只写 1屏初始化  2清屏  3显示字符 4显示字符串 然后就是画点 再就是一些SPI口的配置   好困惑啊   度娘上找的七七八八的了  原子哥有什么好方法么

使用特权

评论回复
地板
旧影子| | 2015-7-18 21:28 | 只看该作者
可能不够详细吧  我再贴出代码

#include "stm32f10x.h"
#include "oled.h"
#include "delay.h"
#include "oledfont.h"
#include "usart1.h"
#include "gpio.h"

volatile u8 Lcd_Refresh_Int=0;
#define Vop 0x2a//21        //Set Reference Voltage  (0~0x3F)   
#define Ratio 0x24//24     //SET INTERNAL REGULATOR RESISTOR RATIO(100B)-POR(20~27)  

#define Page0    0xb0  //
#define Page_max   0xb8  //

#define Column_h   0x10  //
#define Column_l   0x00  //


void OLED_Init(void)
{
OLED_RST=1;
delay_ms(10);
OLED_RST=0;
delay_ms(50);
OLED_RST=1;


  WriteCmd(0xE2);/
delay_us(20);
WriteCmd(0xA3);//
WriteCmd(0xA0);/
WriteCmd(0xC8);/

WriteCmd(0x25);//
WriteCmd(0x81);/
WriteCmd(0x25);//            ok
WriteCmd(0xF8);//
WriteCmd(0x01);

WriteCmd(0x2F);//
WriteCmd(0xA6);  //°
WriteCmd(0xA4);  //
WriteCmd(0x40);//
WriteCmd(0xAF);  //       
}

//===========LCD_Çå12864ÆÁ=============
void Lcd12864_ClearScreen(void)
{
uchar i, j;

for(i=0; i<8; i++)         Î
{
WriteCmd(0xB0+i);         /
WriteCmd(0x10);          »
WriteCmd(0x00);             
for(j=0; j<128; j++)       
{
WriteData(0x00);   
}
}
}

void displayPhoto (uchar *pic)       
{
uchar a,x;
for(a = 0; a < 8; a++ )
{
WriteCmd(0xB0 + a);   
WriteCmd(0x10);      
WriteCmd(0x00);      
for(  x = 0;  x < 128; x ++ )  
{
WriteData(*pic++);
}
}
}

void WRITE_STRING816(uchar plat,uchar column,uchar p, uchar x0[][16], uchar c)
{
uchar page,page1,col,col_h,col_l;
uchar i,a,j=0;
page1= plat*2;
page=page1+Page0;
col=column*8;
col_h=((col>>4)|0xf0)&0x1f;
col_l=col&0x0f;
for(a = 0; a < 2; a++)
{
WriteCmd(col_h);
WriteCmd(col_l);
WriteCmd(page+a);
           for(i = 0;  i < 8; i ++ )
        {
if(c == 0){WriteData(x0[p][j++]);}
if(c == 1){WriteData(~(x0[p][j++]));}       
}
}          
}



void WriteCmd( u8 cmd)///дÃüÁî
{

OLED_A0=0;
OLED_SCLK=0;
SPI_RW(cmd);       
}

void WriteData(u8 data)//дÊý¾Ý
{
OLED_A0=1;
OLED_SCLK=0;
  SPI_RW(data);
}


以上的这些是我对ST7567的基本操作来的   望大家给点意见  解惑一下迷途小书童

使用特权

评论回复
5
senceoftravel| | 2015-7-22 11:00 | 只看该作者
我也遇到了相同的问题啊,您是怎么解决的?

使用特权

评论回复
6
低八度的声线|  楼主 | 2015-7-31 21:55 | 只看该作者
senceoftravel 发表于 2015-7-22 11:00
我也遇到了相同的问题啊,您是怎么解决的?

直接网上找的资料,然后修改

使用特权

评论回复
7
mcu_c10g16| | 2017-1-5 17:11 | 只看该作者
能否把修改好的程序共享出来啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

233

帖子

0

粉丝