立即注册 找回密码

微雪课堂

搜索
微雪课堂 STM8 STM8单片机笑傲江湖 查看内容

STM8 LCD602显示子程序

2015-7-16 13:54| 发布者: waveshare-admin| 查看: 5868| 评论: 0

摘要: 软件设计/*********************************************************************微 雪 电 子 WaveSharehttp://www.waveShare.net目 的: 建立LCD1602操作库目标系统: 基于STM8单片机应用软件: Cosmic CxSTM8说 明: ...
软件设计

/*********************************************************************
微 雪 电 子 WaveShare http://www.waveShare.net 
目 的: 建立LCD1602操作库
目标系统: 基于STM8单片机 
应用软件: Cosmic CxSTM8 
说 明: 若用于商业用途,请保留此段文字或注明代码来源
深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 
*********************************************************************/

#define PORT_busy PB_DDR=0x00;PB_CR1=0xff;
#define busy PB_IDR

#define PORT_OUT PB_DDR=0xff;PB_CR1=0xff;
#define PORT PB_ODR
#define EN_SET sbi(PC_DDR,5);sbi(PC_CR1,5);sbi(PC_ODR,5);
#define EN_CLR sbi(PC_DDR,5);sbi(PC_CR1,5);cbi(PC_ODR,5);

#define RW_SET sbi(PC_DDR,6);sbi(PC_CR1,6);sbi(PC_ODR,6);
#define RW_CLR sbi(PC_DDR,6);sbi(PC_CR1,6);cbi(PC_ODR,6);

#define RS_SET sbi(PE_DDR,5);sbi(PE_CR1,5);sbi(PE_ODR,5);
#define RS_CLR sbi(PE_DDR,5);sbi(PE_CR1,5);cbi(PE_ODR,5);
_Bool lcd1602_busy(void)
{
	_Bool result;
	RS_CLR;
	RW_SET;
	EN_SET;
	delay(5);
	PORT_busy;
	result=(busy & 0x80);
	EN_CLR;
	return result;
}

void lcd1602_write_com(u8 com)
{
	while(lcd1602_busy());
	RS_CLR;
	RW_CLR;
	EN_CLR;
	PORT_OUT;
	PORT=com;
	EN_SET;
	delay(5);
	EN_CLR;
}

void lcd1602_write_data(u8 dat)
{
	while(lcd1602_busy());
	RS_SET;
	RW_CLR;
	EN_CLR;
	PORT_OUT;
	PORT=dat;
	EN_SET;
	delay(5);
	EN_CLR;
}

void lcd1602_gotoxy(u8 x,u8 y)
{
	u8 add;
	if(y==0)
		add=0x80+x;
	else
		add=0xc0+x;
	lcd1602_write_com(add);
	
}

void lcd1602_init(void)
{
	delay(100);
	lcd1602_write_com(0x38);
	lcd1602_write_com(0x0c);
	lcd1602_write_com(0x06);
	lcd1602_write_com(0x01);
}


void lcd1602_display(void)
{
	for(num=0;num<12;num++)
		{
			lcd1602_write_data(table[num]);
			delay(5);
		}
}

以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!


422

顶一下

刚表态过的朋友 (422 人)

最新评论

所有教程
STM8

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-18 22:39 , Processed in 0.027361 second(s), 20 queries .

返回顶部