1602引脚图(1602液晶模块引脚)
1602引脚图(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的读写初始化时序代码。由于51没有直接的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往右移动一个二进制位,得出的结果是11 H=0001 0001 B(这里有一个重点,数据右移的时候,最高位是补0的,数据左移的时候,最低位补0)。
假设上面的数据右移了2次后,最初的23 H变成了08 H=0000 1000 B,现在继续对0x08&0x01做运算得出的结果是0,这时,将数据线变为0,如此循环8次,就可以将1个字节分成串行数据一位一位的传送出去了。
接收解析:
假设串行数据先发送最低位,首先将一个数据00 H右移一个二进制位,得出的数据当然还是00 H,然后如果数据总线上的电平是1,那么此时就把00 H和80 H做或运算,得出的结果就是80 H,然后下一个电平的时候80 H右移一个二进制位,得出的结果是40 H,如果此时数据线的电平还是1,那就继续和80 H做或运算,得C0 H,最终通过8次运算,就可以将1个字节全部接收完毕。
时序解析
上面读写时序可以知道,读单字节的时候是在时钟脉冲的下降沿脉冲信号,因此在程序中可以先给时钟信号高电平再给低电平制造一个下降沿的脉冲信号从而读取一个字节,一个字节有8位可以使用for循环进行8位循环读取。代码如下:u8DS1302_Read_Byte() { u8i,Byte; DS_CLK=1;//时钟线拉高 Byte=0;for(i=0;i<8;i++) {Byte>>=1;//数据右移一个位 DS_CLK=0;//时钟线拉低产生下降沿 if(DS_IO==1)//判断数据线上的值为1 Byte|=0x80;//字节写入1 DS_CLK=1;//时钟线拉高 }returnByte; }
读的时序刚好和写的相反,在上升沿写入:voidDS1302_Write_Byte(u8Byte) { u8i;for(i=0;i<8;i++) {if((Byte&0x01)==0x01)//判断最低位是1 DS_IO=1;//数据线拉高发送1 else DS_IO=0;//数据线拉低发送0 Byte>>=1;//数据右移一个位 DS_CLK=0;//时钟线复位 DS_CLK=1;//时钟线拉高产生上升沿 } }
1:LCD1602初始化代码voidLCD_init(void) { Write_Instruction(0x38); //8bitinterface,2line,5*7dots Delay_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电子时钟的设计过程中,并没有使用到任何其他的校准调试的按键等等按钮,有需要使用到按键进行调试的可在此代码基础上进行添加案件函数做成闹钟配合蜂鸣器加中断函数,有需要全代码的可下方留言邮箱获取,长期发布此类文章,喜欢的可以常关注,有不对的地方欢迎大家指点。
春节期间机票可免费退改(退票免费改签更方便)春节期间机票可免费退改(退票免费改签更方便)响应国家号召就地过年,已经买了火车票机票的旅客打算退票该怎么办?小布为大家汇总了最新的铁路民航退票信息。赶紧收藏,同时转给有需要的朋友铁
数码知识12306可以提前多少天买票?12306最多提前多少天如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道12306可以提前
请领导吃饭祝酒词(请领导吃饭祝酒开场白)请领导吃饭祝酒词(请领导吃饭祝酒开场白)闻乐飞扬202105301805一个员工给领导的祝酒词,首先最主要的就是尊重,还有要说出所有员工们的心声,但是又不能说不好的话,这就非常考验
管理小故事(这9个故事,看懂的都是管理高手!)管理小故事(这9个故事,看懂的都是管理高手!)笨拙的领导训道理,聪明的领导讲故事。小故事蕴含着大道理,更是藏着深刻的为人处事之道。特别是在管理学领域中,讲故事会比讲道理更能够让人信
数码知识小米手机支付保护中心在哪里怎么找如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米手机支付保护中
再生人陈明道骗局揭晓(揭秘再生人陈明道转世之谜)再生人陈明道骗局揭晓(揭秘再生人陈明道转世之谜)他是陈明道,死后托生到东方县的感城镇,如今回老家寻找前世父亲。他一边说一边跑进房间,把他的神牌和使用过的物品一件件搬出来。并且说,他
明道冒险王(中国冒险王,我只认明道)明道冒险王(中国冒险王,我只认明道)如果你不出去走走,你会以为这就是世界。当站在食物链顶端的男人遇上洪荒少女(呸,如果可以我想封杀洪荒这个词),会是谁胜谁负?最近贝尔和傅园慧一段吃
明道最新电视剧(明道霸道总裁电视剧)明道最新电视剧(明道霸道总裁电视剧)原创八卦阿乐20210528121821今日,一组台星明道首演音乐剧赵氏孤儿的造型曝光,黑色古装长袍配满头白发,脸上还留着胡渣,满满的电影人物氛
小s和林志玲(小S怎么老损林志玲)小s和林志玲(小S怎么老损林志玲)比看林志玲跟言承旭复合更难得的,是看林志玲跟小S抱在一块儿。都知道小S的第一敏感词就是林志玲,谁在她面前提起,都会死得很惨。结果现在,两人可以一起
黑盒测试用例(软件测试2个月能学会吗)黑盒测试用例(软件测试2个月能学会吗)黑盒测试仅关注输入和输出,将程序看成一个黑盒子。在不遗漏需求的情况下,打开这个黑盒子,从代码实现的角度进行分析,可以更好的理解测试用例,帮助我
特斯拉供应商天齐锂业董事兼总裁吴薇因个人原因辞职文章来源科技讯近日,特斯拉供应商天齐锂业发布公告称,公司董事兼总裁吴薇因个人原因辞职。天齐锂业在公告中表示,吴薇因个人原因申请辞去公司董事总裁职务。辞职后,她不再担任公司及子公司参
数码知识小米10青春版怎么应用分身微信分身教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米10青春版怎么
数码知识小米10青春版怎么分屏分屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米10青春版怎么
数码知识小米10青春版怎么设置5g网开启5g网教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米10青春版怎么
数码知识一加8pro怎么关机关机教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道一加8pro怎么关
数码知识华为nova8pro怎么关机关机教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为nova8pr
数码知识华为nova5pro怎么分屏分屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为nova5pr
数码知识opporeno3pro怎么分屏分屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道opporeno3
数码知识荣耀30pro怎么分屏分屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道荣耀30pro怎么
数码知识vivox60pro怎么分屏分屏教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道vivox60pr
数码知识联想z5pro怎么分屏分屏使用教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道联想z5pro怎么
数码知识华为p40怎么取卡槽装卡教程如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为p40怎么取卡