1602液晶模块引脚 LCD1602液晶显示器是工业字符液晶显示器吗|天天快资讯

哈喽小伙伴们 ,今天给大家科普一个小知识。在日常生活中我们或多或少的都会接触到1602引脚图(1602液晶模块引脚) 方面的一些说法,有的小伙伴还不是很了解,今天就给大家详细的介绍一下关于1602引脚图(1602液晶模块引脚) 的相关内容。

602引脚图(1602液晶模块引脚)原心有电子企业专卖店2021-06-01 18:38


(相关资料图)

模块选择

模块选择分析

设计理念

产品布线

部分代码分析

摘要

模块选择

在设计电子钟的时候,采用了最基本的单片机51,使用的芯片是STC89C52RC,开发板使用最小的系统板,也方便朋友们了解接线和原理。简单明了。时钟芯片的选择选用DS1302的时钟模块,布线中采用杜邦线连接,显示采用低功耗的LCD1602。LCD1602的对比度调节选用单匝精度的10K电阻。

模块选择分析

模块的具体图片如下:

DS1302时钟芯片是美国DALLAS公司推出的具有涓流充电能力的低功耗实时时钟电路DS1302的结构、工作原理和应用。可以计时年、月、日、周日、时、分、秒,具有闰年补偿功能;

LCD1602液晶显示器是一种工业字符液晶显示器,可以同时显示16x02或32个字符。(16列2行),上面一行刚好可以显示年、月、日,下面一行可以显示时钟。

设计理念

简介***lcd1602显示实时时钟,时钟芯片的初始值可以在函数中设置。缺点:这个函数因为没有添加其他函数,比较简单,校准时间只能通过源码来校准。

流程:

1.在程序前端定义一个初始化的数组文件。注意,DS1302需要转换成压缩BCD码存储,方便时钟芯片初始化和芯片写保护时调用数组。

2.读写LCD1602和DS1302的初始化序列代码。由于DS51与LCD1602之间没有直接的SPI通信,因此DS1302类似于LCD1602的三线式SPI通信,可以使用软件进行模拟通信。

3.取出DS1302读取的数据,显示在LCD1602上。

产品布线

产品的接线如下图所示。在接线中,LCD的数据端口使用单片机的P0端口,时钟端口使用P2_0至P2 _ 3端口,DS1302使用P1_1至P1_3端口。具体效果和接线见下图:

部分世代

部分代码分析

串行通信字节发送分析:

如何将一个字节拆分成0101的二进制位发送出去,分析如何将0101的二进制位变成一个完整的字节。

首先,23 H=0010 0011B,更低位为1,更高位为0。现在操作0x23&0x01,结果当然是0x01。这时候我们要把数据线改成1,然后0x23右移一个二进制位,结果就是11h = 001 0001b(这里很重要的一点,数据右移,数据右移

假设上述数据右移两次后,初始的23 H变成08 h = 0000 1000 B,现在对0x08&0x01继续运算的结果是0。此时数据线变为0,如此循环重复8次,就可以将一个字节分割成串行数据,逐位传输。

接收解析:

假设串行数据首先发送更低位。首先一个数据00 H右移一个二进制位,得到的数据当然还是00 H。然后如果数据总线上的电平是1,那么此时00 H和80 H进行OR运算,结果是80 H,然后80 H在下一个电平右移一个二进制位,结果是40 H,如果此时数据线的电平还是1,求和继续到80 H。

时间序列分析

从上面的读写顺序可以看出,读取单个字节时,是时钟脉冲的下降沿脉冲信号。因此,在程序中,可以将下降沿脉冲信号变为时钟信号的高电平,然后变为低电平以读取一个字节。一个字节有8位,for循环可以用于8位循环读取。代码如下:

u8DS1302_Read_Byte(){u8i,Byte;DS_CLK=1;//时钟线拉高Byte=0;for(i=0;i>=1;//数据右移一个位DS_CLK=0;//时钟线拉低产生下降沿if(DS_IO==1)//判断数据线上的值为1Byte|=0x80;//字节写入1DS_CLK=1;//时钟线拉高}returnByte;}

读的时序正好与写的时序相反,写在上升沿进行:

voidDS1302_Write_Byte(u8Byte){u8i;for(i=0;i>=1;//数据右移一个位DS_CLK=0;//时钟线复位DS_CLK=1;//时钟线拉高产生上升沿}}

1: LCD1602初始化代码

voidLCD_init(void){Write_Instruction(0x38);//8bitinterface,2line,5*7dotsDelay_xms(5);Write_Instruction(0x38);Delay_xms(5);Write_Instruction(0x38);Write_Instruction(0x08);//关显示,不显光标,光标不闪烁Write_Instruction(0x01);//清屏Delay_xms(5);Write_Instruction(0x04);//写一字符,整屏显示不移动//Write_Instruction(0x05);//写一字符,整屏右移//Write_Instruction(0x06);//写一字符,整屏显示不移动//Write_Instruction(0x07);//写一字符,整屏左移Delay_xms(5);//Write_Instruction(0x0B);//关闭显示(不显示字符,只有背光亮)Write_Instruction(0x0C);//开显示,光标、闪烁都关闭//Write_Instruction(0x0D);//开显示,不显示光标,但光标闪烁//Write_Instruction(0x0E);//开显示,显示光标,但光标不闪烁//Write_Instruction(0x0F);//开显示,光标、闪烁均显示}

2: DS1302写初始值代码是因为前面有一个定义初始化时钟的数组,在先关闭芯片写保护的情况下可以直接写DS1302时钟的初始值。

voidds1302_write_time(void){ds1302_write_byte(ds1302_control_add,0x00);//关闭写保护ds1302_write_byte(ds1302_sec_add,0x80);//暂停时钟//ds1302_write_byte(ds1302_charger_add,0xa9);//涓流充电ds1302_write_byte(ds1302_year_add,time_buf[1]);//年ds1302_write_byte(ds1302_month_add,time_buf[2]);//月ds1302_write_byte(ds1302_date_add,time_buf[3]);//日ds1302_write_byte(ds1302_hr_add,time_buf[4]);//时ds1302_write_byte(ds1302_min_add,time_buf[5]);//分ds1302_write_byte(ds1302_sec_add,time_buf[6]);//秒ds1302_write_byte(ds1302_day_add,time_buf[7]);//周ds1302_write_byte(ds1302_control_add,0x80);//打开写保护}

摘要

在这个51电子钟的设计过程中,没有使用校准和调试的按键等其他按钮。如果需要使用按键进行调试,可以基于这段代码添加case函数,做一个带蜂鸣器和中断功能的闹钟。如果你需要完整的代码,你可以从下面的消息邮箱中获得。这类文章可以一直关注很久。如果你喜欢他们,欢迎指出任何错误。

\
推荐DIY文章
1602液晶模块引脚 LCD1602液晶显示器是工业字符液晶显示器吗|天天快资讯
每日速看!如何才能唱好歌 为什么高音无论怎么唱都唱不出来?
日本举办可以偷的艺术展 主办方还要求游客做“优雅的小偷”|天天快看
office无法复制粘贴怎么办 为什么excel表格不能复制粘贴了
ab血型男人的性格怎么样 他们的言行总是贴近潮流 还有强烈的表现欲 全球观焦点
篮球火台词里经典的篮球语录:生活就像篮球 所以我们从不放弃
精彩新闻

超前放送