基于stm32及LM041L的对角棋游戏

文章详细介绍了如何使用STM32微控制器配合LM041L液晶显示屏来实现对角棋游戏。提供了系统的电路图和关键的驱动函数,包括写命令、写数据、屏幕初始化等步骤,并给出了在LCD上显示内容的具体方法。此外,还提到了游戏的实现代码,帮助读者理解整个项目的实施过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、对角棋游戏规则

 

 二、系统电路图

 

三、LM041L的驱动(操作函数)

1.写命令

void LcdWcmd (uchar cmd)
{
	HAL_GPIO_WritePin(GPIOA,RS,0);
	HAL_GPIO_WritePin(GPIOA,RW,0);
	GPIOC->ODR=0X00FF&cmd;
	HAL_Delay(1);
	HAL_GPIO_WritePin(GPIOA,E,1);
	HAL_Delay(1);
	HAL_GPIO_WritePin(GPIOA,E,0);
}

2.传入要显示的数据

void LcdWdat(uchar dat)
{
	HAL_GPIO_WritePin(GPIOA,RS,1);
	HAL_GPIO_WritePin(GPIOA,RW,0);
	GPIOC->ODR=0X00FF&dat;
	HAL_Delay(1);
	HAL_GPIO_WritePin(GPIOA,E,1);
	HAL_Delay(1);
	HAL_GPIO_WritePin(GPIOA,E,0);
}

3.Lcd屏幕初始化

void LcdInit()
{
	LcdWcmd(0x38);//显示模式设置
	LcdWcmd(0x0c);//显示开/关以及光标设置指令
	LcdWcmd(0x06);//RAM地址设置指令
	LcdWcmd(0x01);//清屏指令
}

4.要显示数据的位置

void LcdShow(uchar x,uchar y)
{
	uchar addr;
	switch(x)
	{
		case 0:
			addr=0x80+y;break;
		case 1:
			addr=0xc0+y;break;
		case 2:
			addr=0x90+y;break;
		case 3:
			addr=0xd0+y;break;
	}
	LcdWcmd(addr|0x80);
}

5.向LCD写入多个字节的数据

void LcdWstr(uchar *dat)			
{
	while(*dat != '\0')
	{
		LcdWdat(*dat);
		dat++;	
		HAL_Delay(100);
	}
}

四、对角棋游戏实现代码、电路图如下

(1条消息) 基于stm32及LM041L的对角棋游戏-单片机文档类资源-优快云文库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值