160-基于stm32单片机中文汉字LCD12864显示Proteus仿真+源程序

资料编号:160

一:功能介绍

1、采用stm32单片机+LCD12864显示屏,制作一个基于stm32单片机中文汉字LCD12864显示Proteus仿真;

2、采用LCD12864显示屏可以显示"静夜思"古诗;

3、可以通过取模软件自行进行中文取模,显示相关的汉字;

二:仿真演示视频+程序简要讲解(程序有中文注释,新手容易看懂)

160-基于stm32单片机中文汉字LCD12864显示Proteus仿真+源程序

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真,演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压! !!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

4cde40899bea7590d8a8e9e9d245c2b8.png

316fc36432fc64d9c6a6d553b3dcc455.png

程序部分展示,有中文注释,新手容易看懂
int main(void)//主函数
{
    u8 word1[6]={1,2,3,4,5,6}; //数组1-6对应的汉字
    u8 word2[6]={7,8,9,10,11,12}; //数组7-12对应的汉字
    u8 word3[6]={13,14,15,16,17,18};//数组13-18对应的汉字
    u8 word4[6]={19,20,21,22,23,24};//数组19-24对应的汉字
    u8 word5[1]={25}; //数组25
    u8 word6[1]={26}; //数组26
    u8 word7[1]={27}; //数组27
    LCD_Init();//初始化
  
    LCD_DIS_WORD(0,1,word1,LONG);   LCD_DIS_WORD(0,100,word5,LONG);//窗前明月光  静
    LCD_DIS_WORD(2,1,word2,LONG);   LCD_DIS_WORD(2,100,word6,LONG);//疑是地上霜  夜
    LCD_DIS_WORD(4,1,word3,LONG);   LCD_DIS_WORD(4,100,word7,LONG);//举头望明月  思
    LCD_DIS_WORD(6,1,word4,LONG);                                  //低头思故乡
    while(1); 
}
void LCD_Init(void)        //lcd初始化
{
  LCD_GPIO_Config();
  LCD_FUNCTION_Config();
  LCD12864_RES_0;
  delay_ms(10);
  LCD12864_RES_1;
  delay_ms(50);
  LCD_CMD_DIS(ON);
  LCD_INITIAL_COLUNM(INITIAL_COLUNM);
  
}


void LCD_GPIO_MASK(u8 data)       //数据掩码包装 
{
  u16 mask;
  mask = GPIO_ReadOutputData(LCD12864_GPIO) & 0XFF00 ; 
  
  mask = mask | data ;
  GPIO_Write(LCD12864_GPIO,mask);
}


void LCD_CMD_BUSY(void)    //忙检测
{
  LCD12864_RS_CMD;
  LCD12864_RW_R;
  LCD12864_E_1;
  LCD_GPIO_MASK(0xFF);
  while(1)
  {
    LCD12864_E_0;
    delay_us(2);
    LCD12864_E_1;
    if(!(GPIO_ReadInputData(LCD12864_GPIO)&CMD_BUSY))
      break;
  }
  LCD12864_E_0;
}


//parameter: ON/OFF
void LCD_CMD_DIS(u8 Switch)
{
  LCD_CMD_BUSY();
  LCD12864_RS_CMD;
  LCD12864_RW_W;
  LCD12864_E_1;
  if(Switch)
    LCD_GPIO_MASK(CMD_DIS_ON);
  else
    LCD_GPIO_MASK(CMD_DIS_OFF);
  delay_us(2);
  LCD12864_E_0;
}




void LCD_DIS_SELECT(u8 select)   //0全灭 1左屏 2右屏 3全屏
{
  select%=4;
  switch(select)
  {
    case DIS_RIGHT:
      LCD12864_CS2_ON;
      LCD12864_CS1_OFF;
      break;
    case DIS_LEFT:
      LCD12864_CS2_OFF;
      LCD12864_CS1_ON;
      break;
    case DIS_ALL:
      LCD12864_CS2_ON;
      LCD12864_CS1_ON;
      break;
    case DIS_NONE:
      LCD12864_CS2_OFF;
      LCD12864_CS1_OFF;
      break;
  }
}

五:仿真文件(采用Proteus打开)

dba4c8df078a694bc621a1f296da7a9f.png

77b79215d969315e53cb1fed479b9e23.png

73801caa5cabc294ecc6c6c14f7599c7.png

0e31269b62e53f4b4562b8c05c84efe2.png

六:资料清单展示(文件中包含的相关资料)

7e23c2d36ef0898274f5304580124bf6.png

百度网盘资料下载链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值