网站首页知识问答 >正文
文章目录[隐藏]
模块选择模块选择分析设计理念产品布线部分世代部分代码分析摘要602引脚图(1602液晶模块引脚)原心有电子企业专卖店2021-06-01 18:38
模块选择
模块选择分析
设计理念
产品布线
部分代码分析
摘要
模块选择在设计电子钟的时候,采用了最基本的单片机51,使用的芯片是STC89C52RC,开发板使用最小的系统板,也方便朋友们了解接线和原理。简单明了。时钟芯片的选择选用DS1302的时钟模块,布线中采用杜邦线连接,显示采用低功耗的LCD1602。LCD1602的对比度调节选用单匝精度的10K电阻。
模块选择分析模块的具体图片如下:
DS1302时钟芯片是美国DALLAS公司推出的具有涓流充电能力的低功耗实时时钟电路DS1302的结构、工作原理和应用。可以计时年、月、日、周日、时、分、秒,具有闰年补偿功能;
LCD1602液晶显示器是一种工业字符液晶显示器,可以同时显示16x02或32个字符。(16列2行),上面一行刚好可以显示年、月、日,下面一行可以显示时钟。
设计理念简介***lcd1602显示实时时钟,时钟芯片的初始值可以在函数中设置。缺点:这个函数因为没有添加其他函数,比较简单,校准时间只能通过源码来校准。
流程:
在程序前端定义一个初始化的数组文件。注意,DS1302需要转换成压缩BCD码存储,方便时钟芯片初始化和芯片写保护时调用数组。
读写LCD1602和DS1302的初始化序列代码。由于DS51与LCD1602之间没有直接的SPI通信,因此DS1302类似于LCD1602的三线式SPI通信,可以使用软件进行模拟通信。
取出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位循环读取。代码如下:
u8 DS1302_Read_Byte(){ u8 i, Byte ; DS_CLK = 1 ; //时钟线拉高 Byte = 0 ; for( i=0; i>= 1 ; //数据右移一个位 DS_CLK = 0 ; //时钟线拉低产生下降沿 if( DS_IO==1 ) //判断数据线上的值为1 Byte |= 0x80 ; //字节写入1 DS_CLK = 1 ; //时钟线拉高 } return Byte ;}
读的时序正好与写的时序相反,写在上升沿进行:
void DS1302_Write_Byte( u8 Byte ){ u8 i ; for( i=0; i>= 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电子钟的设计过程中,没有使用校准和调试的按键等其他按钮。如果需要使用按键进行调试,可以基于这段代码添加case函数,做一个带蜂鸣器和中断功能的闹钟。如果你需要完整的代码,你可以从下面的消息邮箱中获得。这类文章可以一直关注很久。如果你喜欢他们,欢迎指出任何错误。
目前上述的内容应该能够为大家解答出大家对于1602引脚图(1602液晶模块引脚)的疑惑了,所以如果大家还想要了解更多的知识内容,也可以关注本站其他文章进行了解哦。
版权说明:本文由用户上传,如有侵权请联系删除!
- 上一篇:今日更新燕麦流沙包的制作方法
- 下一篇:最后一页
猜你喜欢:
- 2022-05-11今日更新公司买了医保还要买农村合作医疗吗
- 2022-05-07今日更新12到14周岁对什么犯罪要负责任
- 2022-05-06今日更新詹姆斯要哭晕在厕所 小托马斯刚加盟休战四月罗斯也有机会了
- 2022-05-07今日更新国产篮球鞋哪个牌子好 十大性价比国产实战篮球鞋推荐
- 2022-05-12今日更新离婚后一方的财产是否要分割
- 2022-05-06今日更新诉讼保全指什么呢
- 2022-05-06今日更新除湿袋里的水真的是湿气吗,除湿袋里面的水漏了有毒吗
- 2022-05-05今日更新七夕情人节创意礼物(情人节创意礼物给女朋友)
最新文章:
- 2022-05-13今日更新打完新冠疫苗为什么不能吃辣,打完新冠疫苗又困又累正常吗
- 2022-05-13今日更新小龙虾坏了是什么味道小龙虾坏了是什么样子
- 2022-05-13今日更新ipone变黑白怎么办
- 2022-05-13今日更新拆线需要多久(拆线必须去原医院吗)
- 2022-05-13张岱是哪个时期的诗人(张岱是哪个朝代的)
- 2022-05-13今日更新2023春节初一到十五的禁忌 盘点兔年春节初一到十五的注意事项
- 2022-05-13今日更新两种疫苗间隔14天还是15天,新冠疫苗和狂犬疫苗有冲突吗
- 2022-05-13今日更新猪要养多久(三十斤的猪仔要养多久可出栏)
- 2022-05-13今日更新小龙虾加啤酒会过敏吗小龙虾加啤酒会中毒吗
- 2022-05-13今日更新怎么修改ip地址
- 2022-05-13清明的作者为何被贬到池州任职(清明作者为什么被贬到池州任职)
- 2022-05-13今日更新燕麦流沙包的制作方法
- 2022-05-13今日更新2023年大年初六是几月几号 大年初六介绍
- 2022-05-13今日更新新冠疫苗间隔45天可以打吗,新冠疫苗第二针不打可以吗
- 2022-05-13今日更新孕猫一直叫什么时候生猫咪生孩子会叫唤么
- 热点推荐
- 热评文章