找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2201|回复: 2
打印 上一主题 下一主题
收起左侧

芯圣SDK-HC89F0541单片机驱动LCD5110屏

[复制链接]
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2020-7-10 08:42 编辑

LCD5110显示屏是一款显示内容相对丰富,能耗相对比较低的显示器件,为实现显示功能它与SDK-HC89F0541开发板的连接关系为:
SEC  --- P2_4
RST  ---  P3_5         
DC    ---  P3_4  
SDI   ---  P3_3   
SCK  ---  P1_6  
LED  --- P1_7  

为便于编程所作的输出高低电平的宏定义为:
#define LCD_LED_High()    LED=1   

#define LCD_CLK_H           SCK=1
#define LCD_CLK_L           SCK=0

#define LCD_DIN_H           SDI=1
#define LCD_DIN_L           SDI=0

#define LCD_DC_H           DC=1
#define LCD_DC_L           DC=0

#define LCD_RST_H         RST=1
#define LCD_RST_L          RST=0

#define LCD_CS_H           SEC=1
#define LCD_CS_L            SEC=0

配置各引脚输出功能的函数为:
  1. void LCD_GPIO_Cogfig(void)
  2. {
  3.            P2M4 = 0xC2;
  4.            P3M5 = 0xC2;
  5.            P3M4 = 0xC2;
  6.            P3M3 = 0xC2;
  7.            P2M1 = 0xC2;
  8.            P1M7 = 0xC2;
  9.            LED=1;
  10. }
复制代码

单字符显示函数为:
  1. void LCD_printc(unsigned char x, unsigned char y, unsigned char c_dat)
  2. {
  3.          unsigned char i, j,u;
  4.          u =c_dat-32;
  5.          x <<= 3;            
  6.          y <<= 1;            
  7.          for(j = 0; j < 2; j++)
  8.          {
  9.                    LCD_pos_byte(x, (y + j));
  10.                    for(i = 0; i < 8; i++)
  11.                    LCD_write_dat(Font_code[u][8 * j + i]);         
  12.          }
  13. }
复制代码

字符串显示函数为:
  1. void LCD_prints(unsigned char x, unsigned char y, unsigned char *s_dat)
  2. {
  3.          while(*s_dat && x < 10)
  4.          {LCD_printc(x++, y, *s_dat); s_dat++;}
  5. }

  6. void LCD5510_Init(void)
  7. {
  8.          LCD_GPIO_Cogfig();
  9.          mdelay(800);
  10.          LCD_reset_hard;                                
  11.          LCD_write_cmd(0x21);            
  12.          LCD_write_cmd(0x06);            
  13.          LCD_write_cmd(0x13);            
  14.          LCD_write_cmd(0xc8);            
  15.          LCD_write_cmd(0x20);            
  16.          LCD_write_cmd(0x0c);            
  17.          LCD_write_cmd(Y_Page_Addr);     
  18.          LCD_write_cmd(X_Col_Addr);        
  19.          LCD_clr_scr();                           
  20. }
复制代码

实现演示效果的主程序如下:
  1. void main(void)
  2. {
  3.          while((CLKCON&0x20)!=0x20);
  4.          CLKSWR = 0x51;
  5.          while((CLKSWR&0xC0)!=0x40);
  6.          CLKDIV = 0x01;
  7.          P0M0 = 0xC2;
  8.          LED4 = 0;
  9.          LCD5510_Init();
  10.          LCD5510_Init();
  11.          while(1)
  12.          {
  13.            LED4 =0;
  14.            LCD_prints(0,0,"abcdefghijk");
  15.            LCD_prints(0,1,"lmnopqrstuv");
  16.            LCD_prints(0,2,"wxyz{|}~");
  17.            delay();
  18.            delay();
  19.            delay();
  20.            LED4 = 1;
  21.            LCD_prints(0,0,"ABCDEFGHIJK");
  22.            LCD_prints(0,1,"LMNOPQRSTUV");           
  23.            LCD_prints(0,2,"WXYZ");
  24.            delay();
  25.            delay();
  26.            delay();
  27.    }

  28. }
复制代码

显示小写字符串


显示大写字符串

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:276663 发表于 2020-10-10 10:04 | 只看该作者
芯圣的板子已经集齐,开始召唤神龙
回复

使用道具 举报

板凳
ID:956246 发表于 2021-8-23 14:08 | 只看该作者
圣芯的外设全映射功能做的非常好,例如UART的TXD可以映射到P21/P22/P23....等等,这个功能非常实用
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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