LCD1602驱动程序

简单几步配置即可驱动LCD1602
LCD1602的几个可编程的引脚为RS RW E DB0-DB7
MCU的引脚配置输入输出参考自己使用的规格书

只需要了解如下规则就行

  1. RW — 读写控制,RW = 0时,对DB0-DB7写数据,RW = 1时,可读DB0-DB7的数据,一般是写数据并显示,RW=0。
  2. RS — 此位表明写的数据是 指令(0)或者数据(1)(两者作用不同),写指令时候,LCD1602内部的IC会进行配置,写数据时,会显示数据。
  3. E — Enable 脚,上升沿表示开始传输数据,下降沿表示传输结束
  4. BD0-DB7 — 并行传输数据口
//=========写数据部分
//指令一般在配置时使用
void LcdWriteCmd(unsigned char Data)  //写命令
{#if 1//LcdReady();         //可等待lcd准备好再传输数据,简化代码先不添加LCD_RS = 0;LCD_RW = 0;LCD_DATA = Data;delay_ms(1);       //此处需要延时给LCD处理时间LCD_EN = 1;delay_ms(10);  LCD_EN = 0;#endif
}void LcdWriteData(unsigned char Data)  //写数据
{#if 1LCD_RS = 1;LCD_RW = 0;LCD_DATA = Data;delay_ms(1);         //此处需要延时给LCD处理时间LCD_EN = 1;delay_ms(10);LCD_EN = 0;#endif
}
//=======初始化LCD1602
void Lcd1602Init(void)
{LcdWriteCmd(0X01);     //清屏LcdWriteCmd(0X38);      //显示模式LcdWriteCmd(0X0C);        //显示开,光标设置LcdWriteCmd(0X06);     //光标移动设置
}
//========设置LCD1602显示的位置
void LcdSetCursor(unsigned char x,unsigned char y)
{if(y == 0)LcdWriteCmd(x | 0x80);else if(y == 1)LcdWriteCmd(x | 0x80 | 0x40);
}//显示字符串
void LcdShowStr(unsigned char *Data,unsigned x,unsigned y)
{LcdSetCursor(x,y);while(*Data != '\0')LcdWriteData(*Data++);
}

最后调用

void main()
{unsigned char *str = "hello";Lcd1602Init();LcdShowStr(str,3,0);LcdShowStr("hahahaha",2,1);while(1);
}

LCD1602简易驱动程序相关推荐

  1. 51单片机+ds1302+lcd1602简易电子时钟(带闹钟功能)

    51单片机+ds1302+lcd1602简易电子时钟(带闹钟功能) AT89C52.LCD1602.DS1302.speaker. Proteus仿真 实例代码 #include<reg52.H ...

  2. 【Proteus】单片机配合矩阵键盘LCD1602制作简易计算器

    前言 想出一个关于Protues仿真的系列,回想起在大学时做课程设计,大多数是用这个来做,这个系列就围绕一些常用的外设或者说课程设计题目来进行对以前知识的回顾,温故而知新,同时也希望能对新手读者的学习 ...

  3. c51单片机矩阵键盘1602计算器_【Proteus】单片机配合矩阵键盘LCD1602制作简易计算器...

    前言 想出一个关于Protues仿真的系列,回想起在大学时做课程设计,大多数是用这个来做,这个系列就围绕一些常用的外设或者说课程设计题目来进行对以前知识的回顾,温故而知新,同时也希望能对新手读者的学习 ...

  4. 基于51单片机LCD1602的简易数字钟

    LCD1602简易数字钟 选用芯片:AT89S52 此函数功能为:用定时器的中断方式实现数字钟功能,然后在LCD1602上显示,能校时和校分,具有整点报时功能(四低一高). 博主才疏学浅,可能会出现设 ...

  5. 外设驱动库开发笔记33:LCD1602液晶显示屏驱动

      LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形.在这一章我们就来讨论LCD ...

  6. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  7. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  8. Zigbee网关 CC2530驱动1602显示屏

    根据文章zigbee网关 CC2530网关开发板之终端开发板可用的IO点击打开链接 目前开发板可用的IO为 P0_4,P0_5,P0_6,P0_7 -- 空 P1_0,P1_1,P1_2 -- 空 而 ...

  9. 【STM32-HAL库】一步步搭建出FOC矢量控制(附C代码)

    说明 本文为无刷电机或PMSM电机驱动的简易代码,旨在分享一些个人调试过程的小心得,提供一个demo文件,程序仍有许多不完善的地方,建立起个人的FOC底层驱动,可以帮助快速熟悉FOC算法原理与使用方法 ...

  10. 基于STM8的数字温度计设计

    基于STM8的数字温度计设计 这是在2021年12月初完成的一次课程设计,全程自己设计组装完成,现作为记录存档发布,大家也可以借鉴本文来完成自己的课程设计.(建议使用电脑阅读) 课程设计目录 基于ST ...

最新文章

  1. 代码之美——Doom3源代码赏析2
  2. 9.可变参数创建不可变集合
  3. 关于定点机中的比例因子
  4. 数字和字符串的相互转化
  5. java反射机制浅谈
  6. LeetCode 400. 第N个数字(数学)
  7. [Cordova]JS和Native交互实现关键代码(iOS)
  8. Active Directory 回收站之Windows Server 2008 R2
  9. JEECG集成ACTIVITI
  10. 【单片机】msp430几种不同开发平台的对比
  11. Java实现 蓝桥杯VIP 算法训练 步与血(递推 || DFS)
  12. YGG 联合创始人 Gabby Dizon 在 Neckerverse 峰会上分享边玩边赚的故事
  13. Java DOM4J解析String类型XML,Document对象转String
  14. 前端开发的流程与规范
  15. 频上“热搜”的人工智能专业,主要学什么?为什么如此火爆?
  16. Amazon EKS基于GitLab的CICD实践二 基础架构和应用架构创建篇
  17. Cover Letter常用范式和模版
  18. Linux下的文本编辑器和Windows的编辑器
  19. http://jingyan.baidu.com/album/03b2f78c4cc0ad5ea337ae7d.html
  20. JAVA不直接使用指针吗_Java不直接使用指针。

热门文章

  1. Hi3516E V200功能介绍
  2. 百度地图 城市中心点坐标
  3. 记录一次安装gaussian09的经历
  4. 超微服务器怎么开虚拟化,amd服务器开启虚拟化(amd处理器开启虚拟化)
  5. Maxcompute ODPS SQL 日期函数
  6. 【预测模型】基于天牛须算法优化ELman神经网络实现数据预测matlab代码
  7. 2021年中国无线通信模组企业排名
  8. 教你用Access做个简易MIS管理系统
  9. python构建关键词共现矩阵
  10. VSCode开发react-native app进行android apk打包