找回密码
 立即注册
查看: 797|回复: 16

LCD12864驱动程序 【C语言】

[复制链接]
  • TA的每日心情
    开心
    2024-2-19 18:02
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    11

    主题

    23

    回帖

    84

    积分

    注册会员

    积分
    84
    发表于 2023-11-11 08:55:19 来自手机 | 显示全部楼层 |阅读模式

    主控芯片:stc8h8k64u(打狗棒)

    #include "stc8h.h"
    #include "intrins.h"
    #define uint unsigned int
    #define uchar unsigned char
    #define lcd P2
    sbit rs=P0^0;
    sbit rw=P0^1;
    sbit e=P0^2;
    sbit psb=P0^3;
    uchar code tab1[]={"店铺链接:"};
    uchar code tab2[]={"KCER001.taobao.c"};
    uchar code tab3[]={"STC 国芯启航"};
    uchar code tab4[]={"STCMCUAI.COM"};
    void init_io()
    {
        P0M0 = 0x00; P0M1 = 0x00;
        P1M0 = 0x00; P1M1 = 0x00;
        P2M0 = 0x00; P2M1 = 0x00;
        P3M0 = 0x00; P3M1 = 0x00;
        P4M0 = 0x00; P4M1 = 0x00;
        P5M0 = 0x00; P5M1 = 0x00;
        P6M0 = 0x00; P6M1 = 0x00;
        P7M0 = 0x00; P7M1 = 0x00;
    }
    void Delay1000ms()        //@11.0592MHz
    {
        unsigned char data i, j, k;
        i = 57;
        j = 27;
        k = 112;
        do
        {
            do
            {
                while (--k);
            } while (--j);
        } while (--i);
    }
    void Delay100ms()        //@11.0592MHz
    {
        unsigned char data i, j, k;
        _nop_();
        i = 6;
        j = 157;
        k = 59;
        do
        {
            do
            {
                while (--k);
            } while (--j);
        } while (--i);
    }
    void delayus(uint us)
    {
        while (us--);
    }
    void lcd_busy()
    {
        rs=0;
        rw=1;
        e=1;
        lcd=0xff;
        while((lcd&0x80)==0x80);
        e=0;
    }
    void lcd_wcmd(uchar cmd)
    {
        lcd_busy();
        rs=0;
        rw=0;
        e=0;
        delayus(10);
        lcd = cmd;
        delayus(10);
        e =1 ;
        delayus(10);
        e =0 ;
    }
    void lcd_wdat(uchar dat)
    {
        lcd_busy();
        rs=1;
        rw=0;
        e=0;
        delayus(10);
        lcd = dat;
        delayus(10);
        e =1 ;
        delayus(10);
        e =0 ;
    }
    void lcd_pos(uchar x,uchar y)
    {
        uchar pos;
        if (x==0) {x=0x80;}
        else if (x==1) {x=0x90;}
        else if (x==2) {x=0x88;}
        else if (x==3) {x=0x98;}
       
        if (y==0) {y=0x00;}
        else if (y==1) {y=0x01;}
        else if (y==2) {y=0x02;}
        else if (y==3) {y=0x03;}
        else if (y==1) {y=0x04;}
        else if (y==2) {y=0x05;}
        else if (y==3) {y=0x06;}   
        else if (y==3) {y=0x07;}
       
        pos=x+y;
       
        lcd_wcmd( pos );
    }
    void lcd_init()
    {
        psb= 1;
        lcd_wcmd(0x34);
        delayus(50);
        lcd_wcmd(0x30);
        delayus(50);
        lcd_wcmd(0x0c);
        delayus(50);
        lcd_wcmd(0x01);
        delayus(50);
    }
    main()
    {
        uchar i,z,x,j;
        init_io();
        lcd_init();
        z=0;j=0;
       
    lcd_pos(z,j); i = 0;
    while(tab1[i] != '\0')  {lcd_wdat(tab1[i]);Delay100ms(); i++ ;}   
    z++;
    lcd_pos(z,j); i = 0;
    while(tab2[i] != '\0')  {lcd_wdat(tab2[i]);Delay100ms(); i++ ;}   
    z++;
    lcd_pos(z,j); i = 0;
    while(tab3[i] != '\0')  {lcd_wdat(tab3[i]);Delay100ms(); i++ ;}   
    z++;
    lcd_pos(z,j); i = 0;
    while(tab4[i] != '\0')  {lcd_wdat(tab4[i]);Delay100ms(); i++ ;}   
    while(1);
    }
    IMG_6731.jpeg
    LED点亮世界🇨🇳
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-19 18:02
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    11

    主题

    23

    回帖

    84

    积分

    注册会员

    积分
    84
     楼主| 发表于 2023-11-11 08:57:41 来自手机 | 显示全部楼层
    此代码 实现效果原图片为:
    IMG_6745.jpeg
    LED点亮世界🇨🇳
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    5

    主题

    49

    回帖

    611

    积分

    高级会员

    积分
    611
    发表于 2023-11-11 10:11:55 | 显示全部楼层
    这个代码软件延迟是不是太长啦
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-19 18:02
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    11

    主题

    23

    回帖

    84

    积分

    注册会员

    积分
    84
     楼主| 发表于 2023-11-11 10:58:23 来自手机 | 显示全部楼层
    wzaefd 发表于 2023-11-11 10:11
    这个代码软件延迟是不是太长啦

    体现“动态”的效果
    不然速度太快 直接就显示在屏幕上了😋
    当然可自行安排延时时间的
    LED点亮世界🇨🇳
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    2023-12-5 19:37
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    3

    主题

    325

    回帖

    363

    积分

    禁止发言

    积分
    363
    发表于 2023-11-13 23:50:35 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-19 18:02
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    11

    主题

    23

    回帖

    84

    积分

    注册会员

    积分
    84
     楼主| 发表于 2023-11-15 07:35:13 来自手机 | 显示全部楼层
    WangChong 发表于 2023-11-13 23:50
    这一个屏多少钱?

    10元左右
    LED点亮世界🇨🇳
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 142 天

    [LV.7]常住居民III

    13

    主题

    103

    回帖

    871

    积分

    高级会员

    积分
    871
    发表于 2023-11-17 18:06:30 | 显示全部楼层
    学习一下
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-21 21:08
  • 签到天数: 70 天

    [LV.6]常住居民II

    3

    主题

    38

    回帖

    77

    积分

    注册会员

    积分
    77
    发表于 2023-11-23 23:16:46 | 显示全部楼层
    🤙🤙🤙
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 117 天

    [LV.6]常住居民II

    0

    主题

    43

    回帖

    108

    积分

    注册会员

    积分
    108
    发表于 2023-12-1 16:02:54 | 显示全部楼层
    学习一下
    心里装着小星星生活才能亮晶晶
    回复 送花

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    回帖

    95

    积分

    注册会员

    积分
    95
    发表于 2023-12-3 02:37:13 来自手机 | 显示全部楼层
    这个屏驱动芯片是什么型号?链接发一下。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-2 13:24 , Processed in 0.074809 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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