STM32F103-LCD1602驱动
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); //功能设置
}
个人见解,感谢阅读。
STM32F103-LCD1602驱动相关推荐
- 液晶LCD1602驱动代码
液晶LCD1602简介 LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块.它是由字符型液晶显示屏(LCD).控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻.电容元件 ...
- STM32入门之LCD1602驱动
LCD1602驱动要点:1. STM32的GPIO不是51单片机一样的准双向IO,读忙时需要设置. 平台:STM32F103RCT6 使用的GPIO:PB5,PB6,PB7 :PA0~PA7,具体的配 ...
- 使用STM32F103 I2C驱动SHT30
使用STM32F103 I2C驱动SHT30 SHT30的官方代码见<Sensirion_Humidity_Sensors_SHT3x_Sample_Code_V2>,不过官方是用GPIO ...
- 【Proteus仿真】51单片机+LCD1602驱动模板
[Proteus仿真]51单片机+LCD1602驱动模板 Proteus仿真 主程序 /*51单片机LCD1602驱动模板 */ #include <REGX52.H> #include ...
- 【Proteus仿真】51单片机+LCD1602驱动显示模板程序
[Proteus仿真]51单片机+LCD1602驱动显示模板程序 Proteus仿真 范例工程架构 LCD1602相关驱动显示函数 //函数或者变量声明 extern void LCD1602_del ...
- 【Proteus仿真】STC15单片机+LCD1602驱动显示时间(DEMO)示例
[Proteus仿真]STC15单片机+LCD1602驱动显示时间(DEMO)示例 Proteus仿真 Proteus加载 STC15单片机说明 在Proteus里面唯一能找到的 STC15一款支持仿 ...
- STM32F103单片机驱动TM1637数码管显示模块
最近项目中需要用到数码管显示,于是买了一个TM1637芯片驱动的四位数码显示模块,现将调试过程记录一下,方便以后参考. 使用的单片机是STM32F103C8T6最小系统 使用的数码管模块是TM1637 ...
- STM32F103系列驱动MH-Z14A 二氧化碳(CO2)传感器详解,使用串口输出读取(后附免费免积分程序下载链接)
MH-Z14A 二氧化碳传感器概述 MH-Z14A 二氧化碳气体传感器(以下简称传感器)是一个通用智能小型传感器,利用非色散红外(NDIR)原理对空气中存在的 CO2进行探测,具有很好 ...
- STM32F103 SX1278 驱动
本文记录在SX1278 在STM32F103 驱动,实现收发数据功能.(SPI 驱动参考 https://www.cnblogs.com/T0213-ZH/articles/10573067.html ...
- LCD1602驱动(51单片机)
LCD1602介绍: 是一个只能显示字母.数字.符号的点阵型液晶模块.一行可以显示16个字符,可以显示两行,所以叫做1602. 图片: 硬件分析: 1602一共有16个引脚,其各个引脚的功能如下所示 ...
最新文章
- System.Timers.Timer的Enable、Start、Stop记录
- 数学——Euler方法求解微分方程详解(python3)
- jquery 总结
- java epoll select_Java 非阻塞 IO 和异步 IO
- 11月TIOBE编程语言排行榜,OC已经掉出前十
- Codeforces Beta Round #10 D. LCIS 动态规划
- opencore0.6.4_iOS 13.4/iPadOS 13.4正式版发布:iCloud支持文件夹共享
- 网络数据库的复制和同步(一)
- Windows系统的版本分类
- 环洋调研报告-2021年全球MEMS射频开关行业调研及趋势分析报告
- 语料库mysql_国内语料库建设一览表
- inovance变频器说明书参数设置_汇川(INOVANCE)MD300A变频器说明书.pdf
- filter函数 与filtfilt函数的效果区别
- JSON (JavaScript Object Notation)
- iptables 删除规则
- Linux/Ubuntu18.04安装RTL8811cu驱动
- 江西赣州计算机应用中心,赣州计算机应用与维修专业学校
- [回顾]2007年木马病毒“英雄榜”,你中过几个
- 查找算法【平衡二叉树】 - 平衡二叉树的创建
- Delphi XE6 原生解析json