最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

STM32的1602程序

来源:动视网 责编:小OO 时间:2025-09-30 01:18:28
文档

STM32的1602程序

/****************************************************************************文件名称:stm_1602.hforSTM32**byzyy2013-12-02**************************************************************************/#ifndefLCD1602_STM32_H#defineLCD1602_STM32_H#defineLCD_RS
推荐度:
导读/****************************************************************************文件名称:stm_1602.hforSTM32**byzyy2013-12-02**************************************************************************/#ifndefLCD1602_STM32_H#defineLCD1602_STM32_H#defineLCD_RS
/**************************************************************************

**文件名称:stm_1602.h  for  STM32

**by zyy  2013-12-02

**************************************************************************/

#ifndef  LCD1602_STM32_H

#define  LCD1602_STM32_H

#define LCD_RS_1 GPIOE->BSRR=GPIO_Pin_0 //PE.0--(LCD)RS

#define LCD_RS_0 GPIOE->BRR =GPIO_Pin_0

#define LCD_RW_1 GPIOE->BSRR=GPIO_Pin_1 //PE.1--(LCD)RW

#define LCD_RW_0 GPIOE->BRR =GPIO_Pin_1

#define LCD_EN_1 GPIOE->BSRR=GPIO_Pin_2 //PE.2--(LCD)E

#define LCD_EN_0 GPIOE->BRR =GPIO_Pin_2

#ifndef uchar

#define uchar unsigned char

#endif

#ifndef uint

#define uint unsigned int

#endif

extern void delay_nms(unsigned long n);

extern void delay_nus(unsigned long n);

void LCD_Writecmd(uchar cmd);

void LCD_Writedata(uchar dat);

void LCD_write_char(uchar row,uchar col,char ch);

void LCD_write_str(uchar x,uchar y,char str[]);

void LCD_clear(void);

void LCD_Init(void);

//延时n us

void delay_nus(unsigned long n);

void delay_nms(unsigned long n);

void A1602_GPIO_Configuration(void);

void LCD_Init(void);

#endif

/**************************************************************************

**文件名称:stm_1602.c  for  STM32

**by zyy  2013-12-02

**************************************************************************/

#include "stm32f10x.h"

#include "stm_1602.h"

#ifndef  LCD1602_STM32_C

#define  LCD1602_STM32_C

/*********************************************************************

*名 称:LCD_Writecmd()

*功 能:写指令到LCD1602,指令数据占一个字节

*入口参数:cmd:待写入的指令

*出口参数:无

*********************************************************************/

void LCD_Writecmd(uchar cmd)

{

 对同一个寄存器的两次写入,中间延时一会

 必要的延时

 下降沿,LCD1602开始工作

}

/*********************************************************************

*名 称:LCD_Writedata()

*功 能:写一字节数据到LCD1602

*入口参数:dat:无符号字节类型,0~255  包括各个ASCII码字符

*出口参数:无

*********************************************************************/

void LCD_Writedata(uchar dat)

{

 

 先拉高 

 很重要的延时,经调试,延时300us以上才可以

 下降沿,开始写入有效数据

}

/*********************************************************************

*功  能:在指定位置显示一个字符  

*入口参数:y:行 0或1列,0~15,ch:待显示的字符

*********************************************************************/

void LCD_write_char(uchar x,uchar y,char ch)

{

 

 

}

/*********************************************************************

*名 称:LCD_write_str()

*功 能:使LCD1602显示一个字符串

*入口参数:y:行 0或1列,0~15,str[]:待显示的字符串

*出口参数:无

*********************************************************************/

void LCD_write_str(uchar x,uchar y,char str[])

{

 

 

 

 

}

/******************************************************************/

/*      清屏函数       

/******************************************************************/

void LCD_clear(void)

{

}

/*********************************************************************

*名 称:LCD_Init()

*功 能:初始化LCD1602

*入口参数:无

*出口参数:无

*常用命令:0x38:16*2显示,5*&点阵显示字符,8位数据;指令执行时间40us

*开显示,关光标

*关显示,关光标

*字符闪烁,关光标,接着设定位置,闪烁周期0.4ms左右

*字符闪烁,开光标

*写完数据自动右移光标,普通情形,从左向右显示  40us

*写完数据自动左移光标,可以从右向左显示  40us

*清除显示内容,即清屏  1.ms

*使光标还回起始位置

*屏幕上所有字符同时左移一格,适合滚动显示 40us

*屏幕上所有字符同时右移一格,适合滚动显示 40us

*********************************************************************/

void LCD_Init(void)

{  

    delay_nms(100);           //延时

 显示,5*7点阵,8位数据

 显示,5*7点阵,8位数据

 显示,5*7点阵,8位数据

 

 显示,5*7点阵,8位数据

 

 先关显示,后开显示

 清除LCD的显示内容

 自动右移光标,0x04为左移光标

 

 显示开,关光标;0x08为关显示

}

//延时n us

void delay_nus(unsigned long n)

{

 

 

}

//延时n ms

void delay_nms(unsigned long n)

{

 

/******************************************************************/

/*      配置函数      

/******************************************************************/

void A1602_GPIO_Configuration(void)

{

 开启端口D的时钟

 推挽输出,不能有漏极输出,除非外有有上拉电阻

 开启端口E的时钟

 推挽输出,不能有漏极输出,除非外有有上拉电阻

}

#endif  //防止多次编译

 

文档

STM32的1602程序

/****************************************************************************文件名称:stm_1602.hforSTM32**byzyy2013-12-02**************************************************************************/#ifndefLCD1602_STM32_H#defineLCD1602_STM32_H#defineLCD_RS
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top