STM32单片机- LCD1602显示屏输出实验

STM32单片机- LCD1602显示屏输出实验
核心代码由kingsraywii提供,本文作者对其进行整合、更详细地注释和部分代码改进, 添加了芯片ID获取、字符串输出和printf重定向输出功能

注:使用普中科技开发板测试时,需要拔掉Boot1插口 接5V电压,重启

view plaincopyprint?

  1. /*******************************************************************************
    • 软件功能: LCD1602实验(软件延时方式)
  2. *******************************************************************************/
  3. #include “stm32f10x.h”
  4. #include “delay.h”
  5. #include <stdio.h>
  6. /*
  7. 定义宏变量
  8. lcd_RS = data/command(H/L) 数据/命令操作
  9. .lcd_RW = read/write(H/L) 读写操作
  10. lcd_Enable 使能操作
  11. lcd_GPIO lcd1602接在了GPIOX口
  12. */
  13. //接口
  14. #define lcd_GPIO GPIOB
  15. #define lcd_busyflag GPIO_Pin_15 //DB7对应的口
  16. #define lcd_pin_RS GPIO_Pin_1
  17. #define lcd_pin_RW GPIO_Pin_2
  18. #define lcd_pin_Enable GPIO_Pin_0
  19. //状态
  20. #define lcd_DATA 1
  21. #define lcd_COMMAND 0
  22. #define lcd_READ 1
  23. #define lcd_WRITE 0
  24. //功能
  25. #define lcd_RS(n) n ? GPIO_SetBits(lcd_GPIO,lcd_pin_RS) : GPIO_ResetBits(lcd_GPIO,lcd_pin_RS)
  26. #define lcd_RW(n) n ? GPIO_SetBits(lcd_GPIO,lcd_pin_RW) : GPIO_ResetBits(lcd_GPIO,lcd_pin_RW)
  27. #define lcd_Enable(n) n ? GPIO_SetBits(lcd_GPIO,lcd_pin_Enable) : GPIO_ResetBits(lcd_GPIO,lcd_pin_Enable)
  28. void RCC_Configuration(void);
  29. void GPIO_Configuration(void);
  30. void Lcd_Write(u8 type,u8 buf);
  31. void Lcd_WriteString(u8 *buf);
  32. int Lcd_isbusy(void);
  33. void Lcd_Init(void);
  34. int fputc(int ch, FILE *f);
  35. void getSys_ID(void);
  36. /*************************************************
  37. 函数:
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值