56星座屋
当前位置: 首页 星座百科

51单片机能驱动的屏幕(51驱动电子时钟1602显示)

时间:2023-06-13 作者: 小编 阅读量: 1 栏目名: 星座百科

模组选型解析模组具体图片如下:DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能;LCD1602液晶显示屏为工业字符型液晶,能够同时显示16x02即32个字符。由于51没有直接的SPI通信而DS1302与LCD1602有点类似三线SPI通信可使用软件进行模拟通信。

模组选型

模组选型解析

设计思路

产品接线

部分代码解析

总结

模组选型

设计电子时钟的时候采取了最基础的单片机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位循环读取。代码如下:

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

读的时序刚好和写的相反,在上升沿写入:

void DS1302_Write_Byte( u8 Byte ){u8 i ;for( i=0; i<8; i){if( ( Byte&0x01 )==0x01 )//判断最低位是1DS_IO = 1 ;//数据线拉高发送1elseDS_IO = 0 ;//数据线拉低发送0Byte >>= 1 ;//数据右移一个位DS_CLK = 0 ;//时钟线复位DS_CLK = 1 ;//时钟线拉高产生上升沿}}

1:LCD1602初始化代码

void LCD_init(void) {Write_Instruction(0x38);//8bit interface,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时钟的初始值。

void ds1302_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电子时钟的设计过程中,并没有使用到任何其他的校准调试的按键等等按钮,有需要使用到按键进行调试的可在此代码基础上进行添加案件函数做成闹钟配合蜂鸣器加中断函数,有需要全代码的可下方留言邮箱获取,长期发布此类文章,喜欢的可以常关注,有不对的地方欢迎大家指点。

    推荐阅读
  • 形成酸雨的主要气体是什么(形成酸雨的主要气体)

    以下内容大家不妨参考一二希望能帮到您!形成酸雨的主要气体是什么酸雨是指PH小于5.6的雨雪或其他形式的降水,形成的主要气体有二氧化硫、三氧化硫、硫化氢、二氧化氮。酸雨主要是人为的向大气中排放大量酸性物质所造成的。酸雨又分硝酸型酸雨和硫酸型酸雨。

  • 木棉花的花语是什么(木棉花的意义)

    接下来我们就一起去了解一下吧!珍惜眼前的幸福,珍惜身边的人给他们快乐与幸福。它的花期通常在3月或者4月份,在这一段时间盛开,而传说中四月的第十一天,是木棉花盛开的日子,所以4月11被定为木棉花的日子。

  • 炒凉皮不碎技巧(炒凉皮不碎有什么技巧)

    以下内容大家不妨参考一二希望能帮到您!炒凉皮不碎技巧炒凉皮不碎技巧:就是在做凉皮时不能炒太久,变软会失去筋度。胡萝卜切丝,蒜薹切段,葱切花,猪肉切丝,大蒜拍扁。成品凉皮一张张卷起切粗条,抖散备用。生抽,白糖,盐,鸡精,醋,胡椒粉调成汁备用。热锅倒适量食用油烧热加入大蒜,肉丝翻炒至金黄,加入胡萝卜丝和蒜薹炒熟,凉皮翻炒均匀后随即淋入调好的汁儿翻炒均匀。

  • 近几年灭绝的鱼(瞭望在长江源寻鱼)

    长江被誉为我国淡水渔业的摇篮、鱼类基因的宝库。据青海省渔业部门统计,长江流域青海段分布有土著鱼类21种。因此,严格意义上长江源的关键鱼类指的是裂腹鱼中的小头裸裂尻鱼。2019年,李伟带领团队参加长江源科考时,将小头裸裂尻鱼列为长江源鱼类研究的代表对象。2019年4月,科考小组五个人,两台车,开始了沿河寻觅之旅。“全球平均气温上升已是科学界的共识,位于青藏高原的长江源是全球气候变化的敏感区。”科考发现,江源地区

  • 鹧鸪在什么时候季节鸣叫(鹧鸪的孵化期有多长)

    鹧鸪在什么时候季节鸣叫鹧鸪一般会在繁殖季节鸣叫,繁殖期为3-6月,3-4月间开始求偶交配。求偶期间鸣叫更为频繁,常在山岩、树桩、灌木或乔木枝上鸣叫,尤以黎明和黄昏时更甚,往往是一鸟先鸣叫,其他雄鸟一起跟随,此起彼伏。鹧鸪的孵化期在21天左右,雏鸟出壳后不久即可跟随亲鸟活动。鹧鸪的繁殖期为每年的3-6月,3-4月间开始求偶交配,每窝产卵3-6枚,多时可达8枚,卵为椭圆形或梨形,颜色为淡皮黄色至黄褐色。

  • 秋天的诗词(这些都是关于秋天的诗句)

    迢迢新秋夕,亭亭月将圆《戊申岁六月中遇火》,今天小编就来说说关于秋天的诗词?《戊申岁六月中遇火》自古逢秋悲寂寥,我言秋日胜春朝。《秋词》是处红衰翠减,苒苒物华休。惟有长江水,无语东流。宋·柳永《八声甘州》落时西风时候,人共青山都瘦。《昭君怨》雨色秋来寒,风严清江爽。《酬裴侍御对雨感时见赠》秋声万户竹,寒色五陵松。唐·李颀《望秦川》秋色无远近,出门尽寒山。宋·苏轼《九日次韵王巩》

  • 广州有几种车牌(广州车牌你有吗)

    在广州的普通上班族,有房贷还想拥有一辆车,已经不容易了。但有车想让个广州牌,那更是难上加难,再加之限行,参与摇号,竞价的人是越来越多,那中标的机会更是渺茫了!截止日期是8日24时止。9月拟配置的中小客车增量指标共16313个,是这样分配的:1.以摇号方式向单位和个人配置节能车增量指标7285个,其中,单位指标100个,个人指标7185个。

  • qq注销账号有哪几个步骤(QQ将开注销帐号功能)

    1999年2月10日,一个名为OICQ、只有几百K的软件正式上线。当时,腾讯方面表示,这是QQ团队对帐号注销功能的灰度测试。网友截图出于安全考虑,也有网友表示支持有人说,QQ不推出注销服务有自己的考虑,这是为了防止用户QQ密码被他人知道后恶意注销,给用户带来无法挽回的损失。腾讯2018年第三季度财报显示,QQ智能终端月活跃账户同比增长6.9%至6.979亿。

  • 高跟鞋不合脚怎么办(穿高跟鞋不合脚怎么办)

    4、合理利用袜子,如果不喜欢垫各种鞋垫的朋友,可以穿一双船袜,再穿高跟鞋,那样既不影响穿着效果,也不影响美观,也是比较简单和实用的方法。

  • 年四旺名字打分104分 年四旺事迹

    文章目录:一、年四旺相关名字打分113二、年四旺相关名字评分115三、年四旺相关名字推荐四、年四旺相关名字大全五、其他人还看了一、年四旺相关名字打分113年灯石志明年橘纪红兵武尊道后书法孔多塞年贷款孙敬媛年立秋里蓝业珍冯景华年见朱诗词林于思冯桂年粤日林格孟昭毅年家薛邑马布鱼鲁初雪苏沫沫卜庆中年上年掌柜秦源达刘登龙严学锋国韵酒年线高成江裘梦年维泗红沙日年周王克斌王翔千毛淑红龙威信李万和年神范小慧王大