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

📄 main.c

📁 STM8S105S4程序
💻 C
字号:
/******************** 2011电子科技协会 ********************
;名称 :1602液晶屏    
;作者 : 郑品洪
;日期 : 07/25/2011
;描述 : 利用1602显示”today···,I am very happy,以及电协网站www.gdutelc.cn,welcome to LCD“
;***********************************************************/
#include <stm8s105c_s.h>
#define uchar unsigned char
#define uint unsigned int
uchar table0[]="today...";
uchar table1[]="I am very happy!";
uchar table2[]="www.gdutelc.cn";
uchar table3[]="Welcome to LCD";
_Bool RS @PA_ODR:4;
_Bool RW @PA_ODR:5;
_Bool E @PA_ODR:6;
void write_com(uchar com);

void delay(uint 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_1602(void)
{ 
  write_com(0x38);        //显示模式设置
	write_com(0x0c);        //开显示,不显示光标
	write_com(0x06);        //地址指针自动加一
	write_com(0x01);        //清屏
	write_com(0x80+0x04);   //指针指向第一行第四格
	RW=0;                   //因只涉及向1602写数据,不涉及读,写的时候RW引脚都为低电平,故将RW置低
}

//写指令子函数,涉及1602时序,请参考1602资料
void write_com(uchar com)
{
	RS=0;
	E=0;
	PB_ODR=com;
	delay(2);
	E=1;
	E=0;
}
//写数据子函数,写指令和数据区别在RS电平的高低
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)             //在有n个字符的字符组中有n+1字节,最后一字节为0,故这里就是把所有字符显示完后退出显示
  {
		write_data(*s++);     //显示指针×s所指地址的字符
		delay(50);
	}
}

void main()
{ 
  uchar i;
  init_stm8();
	while(1)
	{
    init_1602();              //初始化1602
		display(table0);          //显示today···
		
		write_com(0x80+0x40);     //将地址指针移到第二行
		display(table1);          //显示table1中的字符
		delay(1000);               //延时一段时间
		
		write_com(0x01);          //清屏
		write_com(0x38);          //显示模式设置
		write_com(0x80+0x10);     //地址指针移到第一行第17列中
		display(table2);
		 
		write_com(0x80+0x40+0x10); //地址指针移到第二行第17列中
		display(table3);
		for(i=0;i<15;i++)         //整屏左移15行
	  {
		  write_com(0x18);        //整屏向左移
			delay(200);
		}
		delay(2000);
  }
}

⌨️ 快捷键说明

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