STM32F103-LCD1602驱动

news/2024/11/19 0:22:43/

STM32驱动LCD1602,不是很难,主要注意GPIO_Write(GPIOD,(GPIO_ReadOutputData(GPIOD) & 0xff00) | cmd);对电平的读取是整个驱动的核心,其他均与51驱动一致。

 

 

lcd.h文件


#ifndef     __LCD_H__
#define     __LCD_H__
#include "stm32f10x.h"#define LED0 PBout(5)
#define LED1 PEout(5)
#define RS PDout(9)
#define RW PDout(10)
#define EN PDout(11)void LCD_init(void);
void Wcmd(u8 cmd);
void Wdat(u8 dat);#endif

lcd.c文件


#include "sys.h"
#include "LCD.h"
#include "delay.h"//发送命令
void Wcmd(u8 cmd)
{RS = 0;RW = 0;EN = 1;GPIO_Write(GPIOD,(GPIO_ReadOutputData(GPIOD) & 0xff00) | cmd);delay_ms(2);EN = 0;
}
//发送数据
void Wdat(u8 dat)
{RS = 1;RW = 0;EN = 1;GPIO_Write(GPIOD,(GPIO_ReadOutputData(GPIOD) & 0xff00) | dat);delay_ms(2);EN = 0;
}
//
void LCD_init()
{GPIO_InitTypeDef  GPIO_Initlcd;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//GPIO_Initlcd.GPIO_Mode=GPIO_Mode_Out_PP;    //设置工作模式GPIO_Initlcd.GPIO_Pin=GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;  //选定引脚GPIO_Initlcd.GPIO_Speed=GPIO_Speed_50MHz;   //选择工作频率GPIO_Init(GPIOD,&GPIO_Initlcd);             //控制寄存器写入GPIO_Initlcd.GPIO_Mode=GPIO_Mode_Out_PP;    //设置工作模式GPIO_Initlcd.GPIO_Pin=GPIO_Pin_5;  //选定引脚GPIO_Initlcd.GPIO_Speed=GPIO_Speed_50MHz;   //选择工作频率GPIO_Init(GPIOB,&GPIO_Initlcd);GPIO_Initlcd.GPIO_Mode=GPIO_Mode_Out_PP;    //设置工作模式GPIO_Initlcd.GPIO_Pin=GPIO_Pin_5;  //选定引脚GPIO_Initlcd.GPIO_Speed=GPIO_Speed_50MHz;   //选择工作频率GPIO_Init(GPIOE,&GPIO_Initlcd);Wcmd(0x01); //清屏Wcmd(0x02); //光标归位Wcmd(0x06); //设置输入模式Wcmd(0x0C); //显示设置Wcmd(0x38); //功能设置
}

个人见解,感谢阅读。


http://www.ppmy.cn/news/894758.html

相关文章

stm32f103

配置:PLLCLK 32 参考电路图stlink与正点原子的接口连的时候,注意板子上接口实际正反是反的 蓝牙模块 一 蓝牙的AT指令模式 注意EN要接3.3v/EN什么都不接,长按蓝牙按钮的同时然后再上电. 慢闪是AT模式,快闪是透传模式. 指令集: AT //返回OK ATNAME? //返回蓝牙模块的名字…

【mcuclub】时钟模块DS1302

一、实物图 二、原理图 编号名称功能1VCC2双供电配置中的主电源供应引脚。DS1302工作于 VCC1和VCC2中较大者.当VCC2比VCC1高0.2V 时,VCC2 给 DS1302供电。当VCC1比VCC2高时, VCC1给DS1302供电2X132.768kHz晶振引脚3X24GND电源地5CE使能引脚。输入信号,在…

STM32F103操作DS1302时钟芯片串口显示(标准库和HAL库)

目录 DS1302的性能指标 DS1302的寄存器及片内RAM 标准库实现 HAL库实现 源码链接 单片机型号:STM32F103C8T6 在日常生活中,很多情况下会需要使用时间,单片机中虽然也是有定时器但并不能较为准备的实现计时功能,而且定时计时…

高等数学❤️第一章~第二节~极限❤️极限的概念与性质~函数极限(自变量趋于有限值时的极限)详解

【精讲】高等数学中函数极限:自变量趋于有限值时的极限 博主:命运之光的主页 专栏:高等数学 目录 【精讲】高等数学中函数极限:自变量趋于有限值时的极限 导言 二、函数极限自变量趋于有限值的判定方法 三、函数极限自变量趋于…

【LLM】Langchain使用[三](基于文档的问答)

文章目录 一、基于文档的问答1. 创建向量存储2. 不同类型的chain链 二、本地知识库问答Reference 一、基于文档的问答 1. 创建向量存储 使用Dock Array内存搜索向量存储,作为一个内存向量存储,不需要连接外部数据库创建向量存储:导入一个索…

MySQL8.0 msi 版本安装教程

MySQL8.0 msi 版本安装教程 MySQL8.0 msi 版本安装教程 1> 官网下载安装包 MySQL官网下载地址如下:https://dev.mysql.com/downloads/mysql/ 说明: 如果需要8.0版本下的其他小版本,可以参考下图: 如需5.7及其之前版本&#…

mysql-installer-community.msi新手安装教程(详细图文)

安装 先去官网下载需要的msi,在这放出官网下载地址 这里我具体以5.7.25.msi为安装例子,除了最新版安装界面有些变动以往的都是差不多的。 过去的版本在这里 打开5.7的下载页面,点击图片进入到5.7版本的msi下载页面 第一个是在线安装,安装时需要连接网络 第二个离线,我们…

MongoDB数据库和可视化工具Studio 3T的安装及问题调试

目录 1.MongoDB的安装及测试 2.可视化工具Studio 3T的安装及测试 1.MongoDB的安装及测试 1.官网下载数据库(.msi格式文件,并非.zip文件) https://www.mongodb.com/ 2.按照提示一步步安装,注意:不要勾选“Install MongoDB Compass”,否…