打印
[STM8]

求教,关于stm8L152 12864液晶的问题

[复制链接]
2920|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LINJOSHUA|  楼主 | 2011-8-31 09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近我用STM8L15x的固件库编写一个12864的液晶显示,但是液晶无法显示出来,而且有时会乱码
#include "stm8l15x.h"
#define uchar unsigned char
#define E_H() (GPIO_SetBits(GPIOD,GPIO_Pin_7))
#define E_L() (GPIO_ResetBits(GPIOD,GPIO_Pin_7))
#define RS_H() (GPIO_SetBits(GPIOD,GPIO_Pin_5))
#define RS_L() (GPIO_ResetBits(GPIOD,GPIO_Pin_5))
#define RW_H() (GPIO_SetBits(GPIOD,GPIO_Pin_6))
#define RW_L() (GPIO_ResetBits(GPIOD,GPIO_Pin_6))

uchar table0[]="中国";
uchar table1[]="我爱电子";
uchar table2[]="1234567890";
/***********延时函数*************/
void delay(uint8_t  a)
{
  uchar i;
    for(a;a>0;a--)
  for(i=0;i<200;i++);
}
/************使用外部时钟**************/
void CLK_CONFIG(void)
{
   CLK_HSEConfig(CLK_HSE_ON);  //使用HSE时钟
  CLK_SYSCLKSourceSwitchCmd(ENABLE);//启用切换时钟
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE);//将系统时钟换成HSE
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //系统时钟预分频
  CLK_ClockSecuritySystemEnable();  //使用时钟安全系统CSS
}
/*************GPIO初始化****************/
void GPIO_CONFIG(void)
{
   GPIO_Init(GPIOB,GPIO_Pin_All,GPIO_Mode_Out_PP_Low_Fast);
  //初始化GPIOB推挽输出,低,高速
  GPIO_Init(GPIOD,GPIO_Pin_All,GPIO_Mode_Out_PP_Low_Fast);
}
/***********写指令函数**************/
void wcom(uchar com)
{
    RS_L();
   E_L();
    GPIO_Write(GPIOB,com);
    delay(2);
   E_H();
   E_L();
}
/**************12864液晶初始化********************/
void init_12864(void)
{
    wcom(0x38);
    wcom(0x0c);
    wcom(0x06);
    wcom(0x01);
    wcom(0x80);
    RW_L();
}
/***********写指令函数**************/
void wdata(uchar data)
{
    RS_L();
    E_L();
    GPIO_Write(GPIOB,data);
    delay(2);  
    E_H();
    E_L();
}
/***********显示函数************/
void display(uchar *s)
{
    while(*s<0)
  {
        wdata(*s++);
        delay(200);
    }
}
void main(void)
{
  CLK_CONFIG();
GPIO_CONFIG();
init_12864();
    wcom(0x80);
   
  display(table2);
    wcom(0x91);      //第二行地址值
    display(table1);
    wcom(0x88);      //第三行地址值
   display(table2);
  while(1);
}
沙发
IJK| | 2011-8-31 09:38 | 只看该作者
1.参考别人的代码
2.用示波器来查看SPI发送的数据是否正确

使用特权

评论回复
板凳
LINJOSHUA|  楼主 | 2011-8-31 10:16 | 只看该作者
我在网上找了很久还是没有STM8L 12864驱动的代码

使用特权

评论回复
地板
LINJOSHUA|  楼主 | 2011-8-31 10:17 | 只看该作者
2# IJK
我在网上找了很久还是没有STM8L 12864驱动的代码

使用特权

评论回复
5
yinyangdianzi| | 2011-8-31 10:52 | 只看该作者
L152这类资料还是比较少的。。。。
难哦。。。
目前客户群在逐渐扩大。。。。、
相信这个系列的资料也会铺天盖地

使用特权

评论回复
6
IJK| | 2011-8-31 12:28 | 只看该作者
2# IJK  
我在网上找了很久还是没有STM8L 12864驱动的代码
LINJOSHUA 发表于 2011-8-31 10:17


找其它芯片 12864驱动的代码,只要是C语言的,应该都可以参考

使用特权

评论回复
7
香水城| | 2011-8-31 12:33 | 只看该作者
难道换一双筷子,你就不会吃饭了?

MCU只是实现驱动LCD的一个工具,你要掌握的是驱动的方法。知道了方法,用什么工具无所谓。

使用特权

评论回复
8
LINJOSHUA|  楼主 | 2011-8-31 13:52 | 只看该作者
7# IJK
不用固件库我可以编写出来,而且还行的,但是不知道为什么,用固件库液晶显示的是乱码了,没有我想要的效果

使用特权

评论回复
9
IJK| | 2011-8-31 16:05 | 只看该作者
7# IJK  
不用固件库我可以编写出来,而且还行的,但是不知道为什么,用固件库液晶显示的是乱码了,没有我想要的效果
LINJOSHUA 发表于 2011-8-31 13:52


既然不用固件库可以,为什么还要用固件库? 似乎有点画蛇添足 了

使用特权

评论回复
10
suzhiqiang168| | 2012-11-1 17:01 | 只看该作者
路过

使用特权

评论回复
11
ak470927| | 2012-12-10 11:48 | 只看该作者
单片机的找到,然后移植过去,延时做好,基本上就差不多

使用特权

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

本版积分规则

0

主题

5

帖子

1

粉丝