标题: stm32基于12864显示 字符 文字 图片的源码 [打印本页]

作者: 999994    时间: 2018-4-2 09:33
标题: stm32基于12864显示 字符 文字 图片的源码
应用stm322库函数操作
模块共20个引脚:
    GND,VCC,V0,RS,RW,ECLK,DB0--DB7,PSB,NC,RST,VOUT,BLA,BLK
    各个引脚的并口接法:
    VCC:看模块支持的电压范围 3.3--5V
    V0:不接(空)
    RS:接IO
    RW:接IO
    ECLK:接IO
    DB0--DB7:接IO
    PSB:一般会接IO,可以直接接电源高电平
    NC:不接(空)
    RST:可以接电源正,高电平,也可以不接(空)
    VOUT:不接(空)
    BLA:背光正,接电源正,+5V
    BLK:背光负,接GND

    说明:必须要接的共5+11,5个接电源,11个接IO控制,此接法较精简,    有些程序是把PSB,RST,都接的IO,然后IO控制输出高电平。
    注意:如果程序正确,就用改刀调节液晶模块后面的灰度可变电阻。   

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "display12864.h"  


  6. int main(void)
  7. {       
  8.         delay_init();            //延时函数初始化          
  9.         LED_Init();                          //初始化与LED连接的硬件接口
  10.          
  11.         InitDis();
  12. WriteCmd(0x80);
  13.         DisStr("智能电子哈哈哈");

  14.         DisStr("四轴飞行器");
  15. //        WriteCmd(0x98);
  16.         DisStr("成功了  哈哈哈");
  17.         while(1)
  18.         {
  19. //                LED0=0;
  20. //                LED1=1;
  21. //                delay_ms(300);         //延时300ms
  22. //                LED0=1;
  23. //                LED1=0;
  24. //                lcd_clear();
  25. //          DisStr("    智能电子    ");
  26. //          DisStr("  四轴飞行器  ");
  27. //          //WriteCmd(0x98);
  28. //                lcd_locate(2,1);
  29. //          DisStr("  哈哈哈");
  30. //                lcd_DisStr(3,2,"喵2 喵");
  31. //                lcd_DisStr(4,2,"呵呵呵");
  32.                 delay_ms(300);        //延时300ms
  33.         }
  34. }


  35. /**
  36. *****************下面注视的代码是通过调用库函数来实现IO控制的方法*****************************************
  37. int main(void)
  38. {

  39.         delay_init();                  //初始化延时函数
  40.         LED_Init();                        //初始化LED端口
  41.         while(1)
  42.         {
  43.                         GPIO_ResetBits(GPIOB,GPIO_Pin_5);  //LED0对应引脚GPIOB.5 拉低,亮  等同LED0=0;
  44.                         GPIO_SetBits(GPIOE,GPIO_Pin_5);   //LED1对应引脚GPIOE.5拉高,灭 等同LED1=1;
  45.                         delay_ms(300);                     //延时300ms
  46.                         GPIO_SetBits(GPIOB,GPIO_Pin_5);           //LED0对应引脚GPIOB.5拉高,灭  等同LED0=1;
  47.                         GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1对应引脚GPIOE.5拉低,亮 等同LED1=0;
  48.                         delay_ms(300);                     //延时300ms
  49.         }
  50. }

  51. ****************************************************************************************************
  52. ***/


  53.        
  54. /**
  55. *******************下面注释掉的代码是通过 直接操作寄存器 方式实现IO口控制**************************************
  56. int main(void)
  57. {

  58.         delay_init();                  //初始化延时函数
  59.         LED_Init();                        //初始化LED端口
  60.         while(1)
  61.         {
  62.      GPIOB->BRR=GPIO_Pin_5;//LED0亮
  63.            GPIOE->BSRR=GPIO_Pin_5;//LED1灭
  64.                  delay_ms(300);
  65.      GPIOB->BSRR=GPIO_Pin_5;//LED0灭
  66.            GPIOE->BRR=GPIO_Pin_5;//LED1亮
  67.                  delay_ms(300);

  68.          }
  69. }
  70. **************************************************************************************************
  71. **/

复制代码

所有资料51hei提供下载:
1.STM32-LCD12864显示.rar (279.83 KB, 下载次数: 117)



作者: 天才小壮    时间: 2018-4-6 21:37
请问  我您这引脚怎么接的啊,我直接按着您备注上面的 接的为啥 不亮呢 。。。。
作者: caohuan    时间: 2018-4-6 22:37
正好需要,学习学习
作者: caohuan    时间: 2018-4-6 22:38
正好需要,学习学习
作者: 999994    时间: 2018-4-8 19:05
天才小壮 发表于 2018-4-6 21:37
请问  我您这引脚怎么接的啊,我直接按着您备注上面的 接的为啥 不亮呢 。。。。

主要要看是串行还是并行

作者: mtk1625    时间: 2018-6-23 14:34
能显示汉字吗?
作者: 红心拾箭    时间: 2018-8-5 15:42
可以,很好的参考资料
作者: wubinfan    时间: 2019-8-9 20:42
不能显示图像啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1