打印
[通用8051核FLASH系列]

SDK-HC89F0541单片机驱动LCD5110屏

[复制链接]
2963|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方QQ 于 2023-7-25 11:07 编辑


为便于编程所作的输出高低电平的宏定义为:
#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

配置各引脚输出功能的函数为:


void LCD_GPIO_Cogfig(void)
{
           P2M4 = 0xC2;
           P3M5 = 0xC2;
           P3M4 = 0xC2;
           P3M3 = 0xC2;
           P2M1 = 0xC2;
           P1M7 = 0xC2;
           LED=1;
}


单字符显示函数为:


void LCD_printc(unsigned char x, unsigned char y, unsigned char c_dat)
{
         unsigned char i, j,u;
         u =c_dat-32;
         x <<= 3;            
         y <<= 1;            
         for(j = 0; j < 2; j++)
         {
                   LCD_pos_byte(x, (y + j));
                   for(i = 0; i < 8; i++)
                   LCD_write_dat(Font_code[u][8 * j + i]);         
         }
}


字符串显示函数为:


void LCD_prints(unsigned char x, unsigned char y, unsigned char *s_dat)
{
         while(*s_dat && x < 10)
         {LCD_printc(x++, y, *s_dat); s_dat++;}
}

void LCD5510_Init(void)
{
         LCD_GPIO_Cogfig();
         mdelay(800);
         LCD_reset_hard;                                
         LCD_write_cmd(0x21);            
         LCD_write_cmd(0x06);            
         LCD_write_cmd(0x13);            
         LCD_write_cmd(0xc8);            
         LCD_write_cmd(0x20);            
         LCD_write_cmd(0x0c);            
         LCD_write_cmd(Y_Page_Addr);     
         LCD_write_cmd(X_Col_Addr);        
         LCD_clr_scr();                           
}


实现演示效果的主程序如下:



void main(void)
{
         while((CLKCON&0x20)!=0x20);
         CLKSWR = 0x51;
         while((CLKSWR&0xC0)!=0x40);
         CLKDIV = 0x01;
         P0M0 = 0xC2;
         LED4 = 0;
         LCD5510_Init();
         LCD5510_Init();
         while(1)
         {
           LED4 =0;
           LCD_prints(0,0,"abcdefghijk");
           LCD_prints(0,1,"lmnopqrstuv");
           LCD_prints(0,2,"wxyz{|}~");
           delay();
           delay();
           delay();
           LED4 = 1;
           LCD_prints(0,0,"ABCDEFGHIJK");
           LCD_prints(0,1,"LMNOPQRSTUV");           
           LCD_prints(0,2,"WXYZ");
           delay();
           delay();
           delay();
   }

}



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




使用特权

评论回复
沙发
1123506| | 2022-3-30 14:31 | 只看该作者
芯圣一级代理现货供应  需要芯圣ic可联系 企鹅号2914373240   价格优势

使用特权

评论回复
板凳
tpgf| | 2022-4-3 15:35 | 只看该作者
这个是什么接口的屏幕啊

使用特权

评论回复
地板
drer| | 2022-4-3 15:50 | 只看该作者
这是用了多少个引脚啊

使用特权

评论回复
5
qcliu| | 2022-4-3 15:57 | 只看该作者
这样做非常不错

使用特权

评论回复
6
coshi| | 2022-4-3 16:05 | 只看该作者
这是什么通讯方式啊

使用特权

评论回复
7
kxsi| | 2022-4-3 16:13 | 只看该作者
宏定义的操作非常不错

使用特权

评论回复
8
wiba| | 2022-4-3 16:21 | 只看该作者
代码风格非常不错哈

使用特权

评论回复
9
jackcat| | 2022-6-2 09:37 | 只看该作者
5110屏不是iic接口吗?   

使用特权

评论回复
10
cemaj| | 2022-6-2 10:42 | 只看该作者
LCD5110如何配置的呢

使用特权

评论回复
11
macpherson| | 2022-6-2 12:03 | 只看该作者
z这个屏幕好多引脚呢。   

使用特权

评论回复
12
cemaj| | 2022-6-2 13:34 | 只看该作者
5110屏感觉不如oled呢  

使用特权

评论回复
13
1988020566| | 2022-6-2 14:56 | 只看该作者
HC89F0541的性能怎么样?

使用特权

评论回复
14
houjiakai| | 2022-7-9 12:57 | 只看该作者
是否可以增加字库呢?  

使用特权

评论回复
15
fengm| | 2022-7-9 13:16 | 只看该作者
OKA5110吗?   

使用特权

评论回复
16
linfelix| | 2022-7-9 13:47 | 只看该作者
这个刷屏的速度怎么样?

使用特权

评论回复
17
lihuami| | 2022-7-9 14:20 | 只看该作者
不如oled好用呢。   

使用特权

评论回复
18
pentruman| | 2022-7-9 14:55 | 只看该作者
驱动LCD5110屏,好久没有用过了。  

使用特权

评论回复
19
jstgotodo| | 2022-7-9 15:37 | 只看该作者
需要在单片机内部使用数组?  

使用特权

评论回复
20
cyclefly|  楼主 | 2022-7-10 19:38 | 只看该作者
这屏的色调真不错

使用特权

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

本版积分规则

106

主题

569

帖子

1

粉丝