OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5619|回复: 8

有关于ST7567点不亮的问题,想让它先显示一个字母

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-8-31
在线时间
0 小时
发表于 2015-9-2 19:44:54 | 显示全部楼层 |阅读模式
5金钱
#include <ADUC824.h>
#include <stdio.h>
#include <intrins.h>
#define  uchar unsigned char
#define  uint unsigned int

/****************Serial*************************/

sbit R_S=P1^1;//指令/数据选择信号
sbit RES=P1^2;//复位信号
sbit SCK=P1^0;//时钟信号
sbit SDA=P3^4;//串口输入
sbit    C_S=P3^3;//片选
uchar code table[]={"h"};
/**********************************************/


void delay(uint ms)           //延时部分
{
uchar j;
while(ms--)
{ for(j=0;j<=110;j++);} //20us=0.02ms//                     
}
/************Serial*************/

void WrateC(uchar com)        //写命令

{
    unsigned char data i,j;
   C_S=0;
   R_S=0;  
        SCK=0;
for(i=0;i<8;i++)
   { 
j=com;
SCK=0;
if(com&&0x80) SDA=1;
else SDA=0;
         SCK=1;     
com=j<<1;
}
R_S=1;
}
void WrateD(uchar dat)         //写数据
{
    unsigned char data i,j;
   C_S=0;
   R_S=1;  
        SCK=0;
for(i=0;i<8;i++)
   { 
j=dat;
SCK=0;
if(dat&&0x80) SDA=1;
else SDA=0;
         SCK=1;     
dat=j<<1;
}
R_S=0;
}
void ClearScreen() 

uchar i, j; 

for(i=0; i<8; i++)

WrateC(0xB0+i);
WrateC(0x10);
WrateC(0x00);             
for(j=0; j<128; j++)        

WrateD(0x00);   



void ClearDisplay()            //显示部分
{       
C_S=0;
WrateC(0xb0);
WrateC(0x00);
WrateC(0x10);          
        WrateD(table[0]);   //发送数据
delay(1000);
}
void LcdInit()   //液晶初始化
{
C_S=0;
RES=1;
delay(10);//最少2um
RES=0;
delay(5);
RES=1;
delay(5);

WrateC(0xe2);//软件复位
WrateC(0xa2);//Bais set 显示偏压1/7
WrateC(0xa0);//ADC seg镜像选择 0xa0正常,0xA1左右镜像
WrateC(0xc8);//com output scan direction,com镜像选择 0xc0正常,0xC8上下镜像
/****Select internal resistor ratio****/
WrateC(0x2c);//内部电源管理
delay(5);
WrateC(0x2e);//三条指令间隔时间2um
delay(5);
WrateC(0x2f);//
delay(5);
/**************************************/

WrateC(0x80);//电压模式选择
WrateC(0x27);//电压调整寄存器高位 范围:0x21-0x27 ,值越大,显示效果越浓(底影越浓)
WrateC(0x1d);//电压调整寄存器低位 范围:0x00-0x3f
WrateC(0xaf);//显示开         
WrateC(0x40);//从首行开始显示
// WrateC(0xb0);//从第一页开始显示
}


void main() //主函数
{  
 delay(50);
      LcdInit();
 ClearScreen();
      while(1)
{
ClearDisplay();
}
}





最佳答案

查看完整内容[请看2#楼]

有个显示字符的驱动,你拿去试试。里面的SPI_ReadWriteByte改成你的写位函数就行了。 还有个中英文混合显示的,你要的再说。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-6-27
在线时间
981 小时
发表于 2015-9-2 19:44:55 | 显示全部楼层
有个显示字符的驱动,你拿去试试。里面的SPI_ReadWriteByte改成你的写位函数就行了。
还有个中英文混合显示的,你要的再说。

LCD_ST7567r.C

21.85 KB, 下载次数: 378

回复

使用道具 举报

32

主题

300

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2012-3-30
在线时间
321 小时
发表于 2015-9-3 06:14:42 | 显示全部楼层
也买了几块,在画驱动PCB。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 22:50:29 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-3-20
在线时间
2 小时
发表于 2015-9-4 09:51:09 | 显示全部楼层
LZ的问题解决了没?void WrateC(uchar com)        //写命令

{
    unsigned char data i,j;
   C_S=0;
   R_S=0;  
        SCK=0;
for(i=0;i<8;i++)
   { 
j=com;
SCK=0;
if(com&&0x80) SDA=1;
else SDA=0;
         SCK=1;     
com=j<<1;
}
R_S=1; //这个地方 不是C_S = 1;么?
}
一分耕耘一分收获
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-8-31
在线时间
0 小时
 楼主| 发表于 2015-9-10 16:18:42 | 显示全部楼层
回复【4楼】luodanoo:
---------------------------------
这个可能是粘贴的时候出问题了,改了之后还是没什么效果,我就在想是不是程序中少了那一部分的设置
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2015-8-31
在线时间
0 小时
 楼主| 发表于 2015-9-16 15:34:35 | 显示全部楼层
回复【6楼】TinyBoy:
--------------------------------回复【6楼】TinyBoy:
---------------------------------
把那个中英文共享的也给我发一下吧,谢谢了
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-6-27
在线时间
981 小时
发表于 2015-9-17 09:35:25 | 显示全部楼层
这里有个中英混合显示的例子,lcd_display.c里面有个函数,按照里面的操作就可以了。字库如果没有的,自己添加,文件多余的东西,自己定夺删除。

LCD12864.zip

904.17 KB, 下载次数: 438

回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-6-27
在线时间
981 小时
发表于 2015-9-17 09:35:57 | 显示全部楼层
回复【7楼】克尔森:
---------------------------------
文件已发,你可以试试看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 10:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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