智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4086|回复: 10
打印 上一主题 下一主题

帮看下5110液晶代码的问题

[复制链接]

14

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2809
威望
1451
贡献
826
兑换币
314
注册时间
2011-3-18
在线时间
266 小时
跳转到指定楼层
1#
发表于 2011-8-1 11:20:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>
#include"derivative.h"
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
//---------------------------------------------
unsigned char code asc2[84][6]=
{
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   // sp
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $
    { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },   // %
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +
    { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },   // ,
    { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },   // -
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @
    { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },   // A
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [
    { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55
    { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ]
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f
    { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },   // g
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i
    { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },   // j
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o
    { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },   // p
    { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },   // q
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x
    { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },   // y
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z
    { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }   // horiz lines
};
//---------------------------------------------

#define RST_5110   PTJ_PTJ3           //P2_0 //low active          重启
#define CE_5110    PTJ_PTJ4           //P2_1 //low active          选通
#define DC_5110    PTJ_PTJ5           //P2_2 //0=command,1=data    输入字符或命令
#define SDI_5110   PTJ_PTJ6           //P2_3 //rise edge enable    输入,高电平触发
#define SCK_5110   PTJ_PTJ7           //P2_4 //clock               输入时钟

#define DATA 1
#define CMD   0

//-----------------------------------------------
void Delay_us(uchar t);
void Init_5110(void);
void Write_Byte_5110(uchar Data ,bit CMD_DATA);
void Clear_5110(void);
void Set_R_C_5110(uchar R,uchar C);
void Write_Char_5110(uchar Char);
void Write_String_5110(uchar *P);
//-----------------------------------------------

void Delay_us(uchar t)
{
    while(--t);
}
                                      
void Init_5110(void)   //初始化
{
    Delay_us(1);   //reset LCD
    RST_5110=0;
    Delay_us(1);
    RST_5110=1;
    Write_Byte_5110(0x21,CMD);   //扩展指令
    Write_Byte_5110(0xc8,CMD);   //设置偏压
    Write_Byte_5110(0x20,CMD);   //标准指令
    Clear_5110();
    Write_Byte_5110(0x0c,CMD);   //标准显示模式
}

void Clear_5110(void)            //清屏指令
{
uint i;
Write_Byte_5110(0x80,CMD);   //set the addr as 0x00
for(i=0;i<504;i++)
{
   Write_Byte_5110(0x00,DATA);
}
}

void Set_R_C_5110(uchar R,uchar C) //R=0~5;C=0~83       //设置字符在码表中的起始位置
{
if(R<=5 && C<=83)
{
   Write_Byte_5110(0x40|R,CMD);
   Write_Byte_5110(0x80|C,CMD);
}
}

void Write_Byte_5110(uchar Data ,bit CMD_DATA)    //按位传输字符
{
    uchar i;
    CE_5110=0;     //Enable LCD
    DC_5110=CMD_DATA;

    for(i=0;i<8;i++)
    {
       SCK_5110=0;      
       if(Data & 0x80)   //MSB first
        SDI_5110=1;      //时钟上升沿采样
       else
        SDI_5110=0;
       SCK_5110=1;
       Data<<=1;
    }
    SCK_5110=0;
    CE_5110=1; //disable LCD
}

void Write_Char_5110(uchar Char)   //输入一个字符
{
    uchar i,j;
    i=Char-0x20;                    //在输入该字符的行起始位置
    for(j=0;j<6;j++)
    {
       Write_Byte_5110(asc2[i][j],DATA); //一个字符有六个列组成
    }
}

void Write_String_5110(uchar *P)       //输入一个字符串,由n个字符组成
{
    uchar i;
    for(i=0;i<strlen(P);i++)
    {
       Write_Char_5110(P[i]);
    }
}



//---------------------------


void Delay_Long(int t)
{
    while(--t);
}

void main(void)
{
    uchar Disp_Buffer[]  ="=armjishu.com=Nokia 5110 LCD=ARMJISHU.COM=";
    uchar Disp_Buffer2[] ="=ARMJISHU.COM=Nokia 5110 LCD=armjishu.com=";

    Init_5110();
    while(1)
    {
        Set_R_C_5110(0,0);
        Write_String_5110(Disp_Buffer);
        
        Delay_Long(1000000);
        
        Set_R_C_5110(0,0);
        Write_String_5110(Disp_Buffer2);
    }
}

14

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2809
威望
1451
贡献
826
兑换币
314
注册时间
2011-3-18
在线时间
266 小时
2#
 楼主| 发表于 2011-8-1 11:22:13 | 只看该作者
代码调试时,提示前面asc2【84】【6】数组处出问题了
  哎,搞了一个上午了,没解决,求朋友指教啊
回复 支持 反对

使用道具 举报

6

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
威望
209
贡献
44
兑换币
0
注册时间
2010-3-11
在线时间
86 小时
3#
发表于 2011-8-1 11:47:25 | 只看该作者
nokia5110驱动程序网上一搜一大堆啊。。。
回复 支持 反对

使用道具 举报

14

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2809
威望
1451
贡献
826
兑换币
314
注册时间
2011-3-18
在线时间
266 小时
4#
 楼主| 发表于 2011-8-1 14:13:24 | 只看该作者
哦,兄台,我在51上运行的时候一切正常,移植到s12x上时就出着问题了
回复 支持 反对

使用道具 举报

7

主题

77

帖子

0

精华

高级会员

Rank: 4

积分
811
QQ
威望
338
贡献
71
兑换币
0
注册时间
2010-3-5
在线时间
201 小时
5#
发表于 2011-8-1 14:29:00 | 只看该作者
你试着把code去掉
回复 支持 反对

使用道具 举报

14

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2809
威望
1451
贡献
826
兑换币
314
注册时间
2011-3-18
在线时间
266 小时
6#
 楼主| 发表于 2011-8-1 14:39:06 | 只看该作者
code去掉试过了,没效果
回复 支持 反对

使用道具 举报

4

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
174
贡献
61
兑换币
0
注册时间
2012-6-6
在线时间
15 小时
7#
发表于 2012-8-17 16:27:35 | 只看该作者
可以试着把数组里面的84去掉
回复 支持 反对

使用道具 举报

7

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
697
威望
428
贡献
135
兑换币
52
注册时间
2012-3-17
在线时间
67 小时
毕业学校
麻涌中学
8#
发表于 2012-12-5 17:10:33 | 只看该作者
正在学
回复 支持 反对

使用道具 举报

2

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
470
威望
258
贡献
130
兑换币
171
注册时间
2012-12-10
在线时间
41 小时
9#
发表于 2013-4-19 13:31:25 | 只看该作者
学习的
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

注册会员

Rank: 2

积分
115
威望
70
贡献
23
兑换币
33
注册时间
2013-4-10
在线时间
11 小时
毕业学校
西安建筑科技大学
10#
发表于 2013-4-25 22:24:01 | 只看该作者
你的程序可以显示路况信息吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 21:45 , Processed in 0.390831 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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