默认的LCD1602都是8线驱动,数据口D0~D7都要接线,这种方式对于写数据而言,很方便,不需要考虑太多。但是因为要的数据线过多,在实际布线过程中,可能会考虑使用四线驱动。

因为少了4根线,原来的11根线,现在只需要7根就可以了。

proteus电路设计与实验效果:

源代码:

#include <reg52.h>
#include <stdio.h>
#include <string.h>
unsigned char code table1[] = {"hello,world."};
unsigned char code table2[] = {"0123456789"};
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
void delay(unsigned int n)
{unsigned int i=0,j=0;for (i=n;i>0;i--)for (j=0;j<110;j++);
}
void writecmd(unsigned char command)
{    RS = 0;           RW = 0;  P3 = command;              EN = 1;        delay(2);EN = 0;RS = 0;           RW = 0;                P3 = command << 4;EN = 1;        delay(2);EN = 0;
}
void writedata(unsigned char dat)
{RS = 1;        RW = 0; P3 = dat;               EN = 1;        delay(2);EN = 0;RS = 1;        RW = 0;                P3 = dat << 4;EN = 1;        delay(2);EN = 0;
}void display(unsigned int len,unsigned char *s)
{unsigned int i;for(i=0;i<len;i++)writedata(s[i]);
}
void init_1602(void)
{delay(50);writecmd(0x33);//原来1602初始化成4位数据线之前必需先初始化成8位(此时命令发送方式是8位格式,但数据线只需接4位)writecmd(0x32);//然后再改到4位线宽,这样初始化才稳定writecmd(0x28);//四线模式设置writecmd(0x0c);//显示开--对应开关显示控制指令writecmd(0x01);delay(30);
}void main(void)
{init_1602();writecmd(0x80);display(strlen(table1),table1);writecmd(0xc0);display(strlen(table2),table2);while(1);
}

需要注意的是,四线接法,虽然代码上与八线接法很多雷同的地方,但是仍然需要注意,这里四线接法在初始化的时候:

writecmd(0x33);
writecmd(0x32);
writecmd(0x28);

这几个很关键,尤其是0x28是设置四线模式,但是前面几项0x33,0x32是先设置八线模式,然后切换到四线模式,这一步最最关键,往往很多资料上都没有提,我经过很多次试验,发现这两句代码太关键了。

四线模式写指令和数据的时候,需要先写高四位,再写低四位,所以代码上有这样的地方:

P3 = command;
...
P3 = command << 4;

注意了这两块,四线模式就很容易了。

在很多地方提到,四线模式,需要RW接地,其实从代码和试验结果来看,并不是一定要RW接地。

///

按照四线驱动的仿真实验理论,我通过自己的普中-2单片机成功接线并让LCD1602显示了结果。实验现象如下所示:

唯一的缺点就是,显示屏不太亮,我根据仿真实验接线,VDD接到了开发板上的5v电源,效果就这样,但是可以大概看出来,字母和数字显示没问题。

这个接线完全按照仿真实验接线,包括VSS,VDD,VO 都需要接线,VSS,VO需要接地。VDD接电源。

仿真软件proteus构建LCD1602四线驱动实验相关推荐

  1. 仿真软件proteus构建LCD1602显示字符串实验

    LCD1602模块的显示需要注意几点: 1.显示两行,第一行的起始地址是0x80,第二行的地址是0x80+0x40 = 0xC0. 2.RS,RW,EN接线没有说一定要接到P1,P2,P3上,只要给对 ...

  2. STC单片机LCD1602四线驱动模式显示ADC采样电压和温度

    STC单片机LCD1602四线驱动模式显示ADC采样电压和温度

  3. 仿真软件proteus构建七段数码管显示数字0-9实验

    七段数码管显示原理研究在前一篇博客中已经阐述过,就是利用7个数码管构建一个"8"字形,然后利用数字的形状特点,依次点亮某一些段,就可以显示数字了. 七段数码管显示数字还是二极管发光 ...

  4. 电路仿真软件详谈(27),基于电路仿真软件proteus的实时时钟仿真

    电路仿真软件的使用越来越多,因此电路仿真软件的重要性不言而喻.对于电路仿真软件,小编在往期文章中做过诸多介绍.为增进大家对电路仿真软件的了解,本文将对电路仿真软件proteus予以讲解,主要内容为基于 ...

  5. 新字符设备驱动实验(自动分配设备号、自动创建应用层设备节点、新字符设备注册到内核的结构体)

    目录 自动分配和释放设备号 示例代码 新的字符设备注册到内核方法 字符设备结构体(前面的设备号也放进来) cdev_init结构体初始化函数 cdev_add 添加到linux内核 cdev_del内 ...

  6. Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行

    Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行 代码烧写 2.烧写的工具 2.把生成的将 imxdownload 放在工程目录下(led.bin同一个文件夹下 ...

  7. 【正点原子Linux连载】第六十七章 Linux USB驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  8. 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  9. Linux驱动开发之IIC驱动实验【完整教程】

    本实验基于正点原子ALPHT开发板上的AP3216C作为实验开展对象 基础知识 1.IIC总线驱动   IIC总线驱动是对IIC硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在C ...

  10. 【正点原子Linux连载】第六十二章 Linux SPI驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

最新文章

  1. leetcode--删除链表的倒数第N个节点--python
  2. Linux0.11进程分配时间片的策略
  3. python【力扣LeetCode算法题库】面试题13- 机器人的运动范围(BFS)
  4. hdmi 屏幕旋转 树莓派_计算机实验室之树莓派:课程 9 屏幕04
  5. Microsoft .NET Pet Shop 4 架构与技术分析(转)
  6. 字符串匹配rk算法c语言,字符串匹配问题(BFRK算法)
  7. Memcached 工作原理
  8. .NET CORE 怎么样从控制台中读取输入流
  9. CF750F. New Year and Finding Roots
  10. LeetCode —— 面试题 08.12. 八皇后(Python)
  11. LeetCode 1026. 节点与其祖先之间的最大差值
  12. 做数据可视化有什么好
  13. VC++中轻松实现滑动(Slider)控件
  14. 文献整理和论文阅读方法
  15. c语言赋值运算符大全,C语言基础学习运算符-赋值运算符(示例代码)
  16. Plustoken重要操盘手已被遣返回国,警方正全力侦查
  17. android回传数据实验报告,传热综合实验实验报告.doc
  18. 安全态势感知系统java_代码分析平台CodeQL学习手记(十三) - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com...
  19. sklearn.metrics.roc_curve解析
  20. 【面试招聘】超强整理,非科班小硕的进击之路

热门文章

  1. 办公计算机班半学期总结,计算机班的班主任工作总结.docx
  2. Puppeteer + relaxed docker 方案
  3. 代码在线运行工具(PHP、Python、Java等)
  4. html5多重阴影怎么设置,使用CSS3 box-shadow属性实现按钮的多重阴影效果
  5. 嵌入式C语言开发学习笔记 —— CSPL
  6. 中国创新“先锋”企业系列报道
  7. 刘晓燕,考研核心词汇1500,1-20讲【前十讲】【谐音记忆】【没人比我详细】【超级原创】
  8. 高薪的软件测试工程师要掌握哪些专业技能?
  9. wps可以用来学计算机考试吗,国产软件WPS成全国计算机二级考试科目,你确定不来学点编程...
  10. 全球与中国注塑磁体市场竞争策略分析及投资前景研究报告2021-2027年版