搜索
bottom↓
回复: 4

写了一个LPC213的12864液晶的程序,但显示乱码,请高手指点迷津!

[复制链接]

出0入0汤圆

发表于 2010-7-23 14:45:31 | 显示全部楼层 |阅读模式
写了一个LPC213的12864液晶的程序,但显示乱码,请高手指点迷津!
程序在下面,我怀疑是写数据那里的问题。比如我写个"1"就会显示"w",高手们看看!
程序:
/********************************************************************
* 文件名  : 液晶12864显示
* 描述    :  该程序实现了LPC2131对液晶12864的控制。
* 创建人  : 刘欢,2010年7月23日
* 联系方式: QQ:282679703
* 版本号  : v1.2
* 说明    : P0.4~P0.11接液晶D1-D8,
*            P0.12接RS,P0.13接RW,P0.14,直接显示内容版
***********************************************************************/
#include "config.h"
#define RS 1<<12     //设数据/命令选择为P0.12
#define RW 1<<13     //设数据/命令选择为P0.13
#define E  1<<14
#define RES 1<<15    //设数据/命令选择为P0.14
#define uchar unsigned char
#define uint  unsigned int
#define FIRST_ADDR 0
/********************************************************************
* 名称 : delay()
* 功能 : 延时
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Delay()
{
int i,j;
for(i=255;i>0;i--)
    for(j=12;j>0;j--);
}
/*------------------延时子程序-----------------------------*/
void Delay1(unsigned int t)
{ unsigned int i,j;
   for(i=0;i<t;i++)
      for(j=0;j<10;j++)
         ;
}
/********************************************************************
* 名称 : Enable(uchar del)
* 功能 : 命令函数
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
void Enable(uint32 del)
{
IO0CLR=RS;
IO0CLR=RW;
IO0SET=E;
IO0PIN=IO0PIN&0xfffff00f|del;
Delay();
IO0CLR=E;
Delay();
}
/********************************************************************
* 名称 : Init()
* 功能 : 初始化
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Init()  
{
PINSEL0=0X00000000; //设端口位GPIO功能   
IO0DIR=0xffffffff;  //设端口位输出功能  
IO0SET=0xffffffff;  //初始化端口
Delay();  
Enable(0x00000300);
Delay();
Enable(0x00000300);
Delay();
Enable(0x000000c0);
Delay();
Enable(0x00000010);
Delay();
Enable(0x00000060);
Delay();
}
/********************************************************************
* 名称 : Write(uchar del)
* 功能 : 写数据函数
* 输入 : 需要写入1602的数据
* 输出 : 无
***********************************************************************/
void Write(uint32 del)  
{
Delay();
IO0SET=RS;
IO0CLR=RW;
IO0SET=E;
IO0PIN=del*16+(IO0PIN&0xfffff00f); //写数据
Delay();
IO0CLR=E;
Delay();      
}
/*------------------显示字符串--------------------------*/
void hzkdis(char *s)
{ while(*s>0)
   { Write(*s);
      s++;
      Delay();
   }
}
/*------------------单字符--------------------------*/
void dzf(char sign)
{
Enable(0x00000010);//清除显示,并且设定地址指针为00H
Delay();
Enable(0x00000800);
Write(sign);
//IO0PIN=IO0PIN&0xfffff00f|0x00000010;
}
/*------------------清整个GDRAM空间----------------------------*/
void clrgdram()
{ unsigned char x,y;
        for(y=0;y<64;y++)
         for(x=0;x<16;x++)
         { Enable(0x00000340);
            Enable(y*16+0x00000800);        //行地址
            Enable(x*16+0x00000800);     //列地址
            Enable(0x00000300);
            Write(0x0000000);
            Write(0x0000000);
          }
}
/*------------------清屏命令--------------------------*/
void clrscreen()
{
   Enable(0x00000010);
   Delay();
   }
           
/********************************************************************
* 名称 : main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
int main(void)
{
//unsigned char i;
IO0CLR=RES;
Delay1(100);
IO0SET=RES;
Init();
IO0CLR=RW;
Init();
   
   while(1)
   {   
      clrscreen();
      dzf('1');                      //显示测试字样
     Delay1(1000);
    // while(1);
   
    }   
return(0);   
}

出0入22汤圆

发表于 2010-7-23 21:29:46 | 显示全部楼层
笑而不语~

出0入0汤圆

发表于 2010-7-23 21:44:02 | 显示全部楼层
笑而不语~???

出0入0汤圆

发表于 2010-7-26 10:45:30 | 显示全部楼层
/********************************************************************
* 名称 : Write(uchar del)
* 功能 : 写数据函数
* 输入 : 需要写入1602的数据
* 输出 : 无
***********************************************************************/

你在做1602还是12864啊??????

出0入0汤圆

 楼主| 发表于 2010-8-8 21:48:46 | 显示全部楼层
不好意思好久没有上来了,现在学习lpc2131,基础不好学起来好吃力,为了省时间直接copy了1602的注释了
现在已经成功了,经过几天的奋斗终于搞定了。
是并口的,具体的看程序吧。
现在就发给大家把,呵呵!
LPC2131的12864程序.txtourdev_573811.txt(文件大小:16K) (原文件名:LPC2131的12864程序.txt)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 06:14

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

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