⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 STM8S105S4程序
💻 C
字号:
/******************** 2011电子科技协会 ********************
;名称 :12864液晶屏    
;作者 : 郑品洪
;日期 : 07/25/2011
;描述 : 利用12864显示相应的字符,由于12864并行方式和1602基本一致,在这里不作重复注释,请参考1602程序
;***********************************************************/
#include <stm8s105s4.h>
#define uchar unsigned char
#define uint unsigned int
uchar table0[]="广东工业大学";
uchar table1[]="电子科技协会";
uchar table2[]=" www.gdutelc.cn";
_Bool RS @PA_ODR:4;
_Bool RW @PA_ODR:5;
_Bool E @PA_ODR:6;
void write_com(uchar com);
void delay(uchar a)
{
    uchar i;
    for(a;a>0;a--)
      for(i=0;i<250;i++);
}
void init_stm8(void)
{
    PA_DDR=0x70;
    PA_CR1=0x70;
    PA_CR2=0x00;
    
    PB_DDR=0xff;
    PB_CR1=0xff;
    PB_CR2=0x00;	
}

void init_12864(void)
{ 
  write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    write_com(0x80);
    RW=0;
}

void write_com(uchar com)
{
    RS=0;
    E=0;
    PB_ODR=com;
    delay(2);
    E=1;
    E=0;
}

void write_data(uchar data)
{
    RS=1;
    E=0;
    PB_ODR=data;
    delay(2);
    E=1;
    E=0;
}
void display(uchar *s)
{
    while(*s>0)
  {
        write_data(*s++);
        delay(200);
    }
}

void main()
{ 
    uchar i;
    init_stm8();
    init_12864();
    write_com(0x81);      //12864和1602唯一的不同就是地址值 不一样 ,这里是第一行地址值
    display(table0);
    
    write_com(0x91);      //第二行地址值
    display(table1);
    write_com(0x88);      //第三行地址值
    display(table2);
    while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -