注册 登录
查看: 305|回复: 7

在用KL26编写12864的时候出现问题,程序编译没问题,但不显示。我调用的函数有问题...

[复制链接]
发表于 2014-8-14 23:08:53 | 显示全部楼层 |阅读模式
主函数
void main()
{
    uint8 dis[]={"denghong"};
   dhport_12864();
   dhlcd_init_12864();
   dhlcd_pos_12864(1,0);
   uint8 i=0;
   while(dis!='\0')
   {
       dhwrite_dat_12864(dis);
       i++;
   }
   
自己写的头文件
#ifndef _MKL26_12864_H_
#define _MKL26_12864_H_
#include "MKL_gpio.h"
#include "common.h"
#define   lcd_rs      PTB2      //接口定义:数据/命令选择端
#define   lcd_wr      PTB1      //接口定义:读/写选择端
#define   lcd_en      PTB0      //接口定义:使能信号
#define   lcd_psb     PTB3      //接口定义:串/并选择端
#define     LCD_RS       PTXn_T(lcd_rs,OUT)
#define     LCD_WR       PTXn_T(lcd_wr,OUT)
#define     LCD_EN       PTXn_T(lcd_en,OUT)
#define     LCD_PSB      PTXn_T(lcd_psb,OUT)
extern void dhport_12864(void);
extern void dhwrite_cmd_12864(uint8 cmd);
extern void dhwrite_dat_12864(uint8 dat);
extern void dhlcd_pos_12864(uint8 x,uint8 y);
extern void dhlcd_init_12864();
#endif
源文件
#include "common.h"
#include "dh12864.h"
void  dhport_12864(void)
{
    gpio_init(lcd_rs, GPO, 0);     //PTb7 为LED0 控制管脚
    gpio_init(lcd_wr,GPO,0);      //PTb7 为LED0 控制管脚
    gpio_init(lcd_en ,GPO,0);      //PTb7 为LED0 控制管脚
    gpio_init(lcd_psb ,GPO,0);      //PTb7 为LED0 控制管脚
}
void dhwrite_cmd_12864(uint8 cmd)
{
    LCD_RS=0;
    LCD_WR=0;
    LCD_EN=0;
    PTC_B0_OUT=cmd;
    DELAY_MS(5);
    LCD_EN=1;
    DELAY_MS(5);
    LCD_EN=0;
}
void dhwrite_dat_12864(uint8 dat)
{
    LCD_RS=1;
    LCD_WR=0;
    LCD_EN=0;
    PTC_B0_OUT=dat;
    DELAY_MS(5);
    LCD_EN=1;
    DELAY_MS(5);
    LCD_EN=0;
}
void dhlcd_pos_12864(uint8 x,uint8 y)
{
    uint8 pos;
     if(x==0)
        x=0x80;
    else if(x==1)
            x=0x90;
    else if(x==2)
            x=0x88;
    else if(x==3)
            x=0x98;
    pos=x+y;
    dhwrite_cmd_12864(pos);
}
void dhlcd_init_12864()
{
  LCD_PSB=1;
  dhwrite_cmd_12864(0x30);
  DELAY_MS(5);
  dhwrite_cmd_12864(0x0c);
  DELAY_MS(5);
  dhwrite_cmd_12864(0x01);
  DELAY_MS(5);
}

回复

使用道具 举报

发表于 2014-8-15 11:05:12 | 显示全部楼层
这东西,需要用示波器或者逻辑分析仪来分析时序的。
回复 支持 反对

使用道具 举报

发表于 2014-8-15 11:06:30 | 显示全部楼层
如果不进行时序分析,我们也是不知道怎么做的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 15:58:31 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-15 11:06
如果不进行时序分析,我们也是不知道怎么做的


这是他们的时序图,帮我看看嘛,我实在弄不出来了,液晶屏为LCM128645zk的。
KL26的芯片频率是多少呢?
ST7735和ST7920有什么区别呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-8-15 15:59:55 | 显示全部楼层
798931248 发表于 2014-8-15 15:58
这是他们的时序图,帮我看看嘛,我实在弄不出来了,液晶屏为LCM128645zk的。
KL26的芯片频率是多少呢? ...

这个必须结合你测得的时序来写程序的。
你要保证你控制输出的时序跟文档提供的一样。
回复 支持 反对

使用道具 举报

发表于 2014-8-15 16:00:16 | 显示全部楼层
798931248 发表于 2014-8-15 15:58
这是他们的时序图,帮我看看嘛,我实在弄不出来了,液晶屏为LCM128645zk的。
KL26的芯片频率是多少呢? ...

两者的差别,我也不知道的哦。得自己对比的啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 16:29:17 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-15 15:59
这个必须结合你测得的时序来写程序的。
你要保证你控制输出的时序跟文档提供的一样。

程序的结构有问题吗?
回复 支持 反对

使用道具 举报

发表于 2014-8-15 16:34:42 | 显示全部楼层
798931248 发表于 2014-8-15 16:29
程序的结构有问题吗?

问题不大,就看输出时序是否跟理论时序相同
回复 支持 反对

使用道具 举报

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

本版积分规则

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