做动态图网站外贸soho

bicheng/2026/1/21 4:10:24/文章来源:
做动态图网站,外贸soho,电子政务网站建设出版社,包包网站建设策划书上一节我们讲了DS1302的工作原理#xff0c;这一节我们开始代码演示。 新创建一个工程写上框架 我们需要LCD1602进行显示#xff0c;所以我们要将LCD1602调试工具那一节的LCD1602的模块化代码给添加进来 然后我们开始创建一个DS1302.c和DS1302.h 根据原理图#xff0c;为了…上一节我们讲了DS1302的工作原理这一节我们开始代码演示。 新创建一个工程写上框架 我们需要LCD1602进行显示所以我们要将LCD1602调试工具那一节的LCD1602的模块化代码给添加进来 然后我们开始创建一个DS1302.c和DS1302.h 根据原理图为了方便操作我们要在DS1302.c文件重新定义我们的三个端口 定义好之后我们操作重命名的名字就相当于操作单片机的这三个引脚。 然后我们就可以根据上节讲的工作原理模拟这个时序 首先我们要写一个函数叫做单字节写DS1302模拟这个时序 第二个函数是单字节读DS1302模拟这个时序 然后初始化DS1302 开始写字节第一步将CE置1 下一步把命令字的第0位放在IO线上 然后DS1302_SCLK置1再置0 这里置1后立马置0的话需要考虑我们芯片能够承受的时钟最快频率因为置1后立马置0的过程中可能时钟线操作的太快而时钟芯片反应不过来。 所以要看看芯片手册上支持的最快速率是多少。 比如手册上给出了这个时序上每一段的操作时间表格 还画了图表示哪里到哪里对应的是表格中的哪一个时间 比如说tDC对应的是当VCC是2V的时候操作时间最小不能小过200ns如果VCC是5V的时候时间最小是50ns。 但是由于我们51单片机的速率是比较慢的一个机器周期是1微秒所以置1到置0之间可以不用加延时。如果有的单片机的速度很快的话置1到置0之间要加一段延时等IO后完成数据交互之后再置0。 经过以上三步后我们的时序已经走完到这一步了 接下来我们接着写入命令字的第1位第2位第3位......数据保持CE1 我们可以用for循环来实现 更正图中应该是i8 这个循环完成后整个时序就进行到这个地方 最后那一半时序其实和前面一半的时序操作几乎一模一样只是它的数据不同 可以直接复制过来改一下 更正图中应该是i8 这个循环完成后我们时序已经完成到这里了 最后就是把CE给清零 更正图中应该是i8 这样单字节写的这整个时序就已经完成了。 数据写进去后我们还要让单片机读出来最后再显示出来才能看到我们写进去的数据。 接下来我们就操作单字节读的时序 操作命令字部分的时序几乎一样可以直接复制过来 更正图中应该是i8 这样整个时序就进行到这里了 但是这里有个问题当时钟来一个下降沿的时候时钟芯片就会向单片机输出数据了这就意味着如果我们直接这样写的话那进行到最后一轮for循环的时候就同时有一位数据出来了我们应该想要时序进行到这一步才对 所以得调整一下顺序先给0再给1 更正图中应该是i8 这样当第一个for循环结束后时序就不是到这里来了 而是到这里来了 最后一个for循环结束后就到这里来了 这样我们这个for循环就全部是与命令字有关的 当这一部分时序进行完之后这里单片机就要释放掉对IO口的控制然后把IO口的控制权转交给DS1302。DS1302输出数据然后单片机在这里直接读取IO口的状态。 因此接下来先给下降沿 更正图中应该是i8 那么数据就已经到了IO口的线上了所以我们直接读 所以我们再给一个上升沿 更正图中应该是i8 这个时候时序就进行到这里了 这个时候DS1302操作IO口把它想要输出的数据的D0给到IO口线上了。 然后先定义一个变量Data,然后进行循环读出数据的每一位 这样就和这个时序完全相同了 PS连续两次置1时序上的电平不会产生变化并且单字节读的时序比单字节写的时序少了一个脉冲那么我们这个地方重复置了一个1的话可以补充少了的这个脉冲。 最后别忘记CE清零 把Data返回到时候主程序里面调用这个函数的话返回值就可以打印出来了 返回值类型也要改 这里有一个重点敲黑板重点来了 读取完数据时候一定要给IO口清零 如果不写上这一句代码的话效果是这样的请看视频读出来的数据是乱码的 DS1302实时时钟2 这样读和写的两个时序已经模拟完成我们需要再DS1302.h文件里面进行声明一下这几个函数 到这里我们的读写程序基本已经完成了 BCD码 然后还需要补充一个知识BCD码 DS1302的内部寄存器不是以正常的二进制进行存储的而是以BCD码进行存储的。 BCD码Binary Coded Decimal‎用4位二进制数来表示1位十进制数 高四位表示十进制的十位低四位表示十进制的个位 例0001 0011表示131000 0101表示850001 1010不合法 在十六进制中的体现0x13表示130x85表示850x1A不合法 10的BCD码是0001 0000转换成正常的十进制是16 BCD码转十进制DECBCD/16把高四位提取出来*10BCD%16把低四位提取出来; 2位BCD 十进制转BCD码BCDDEC/10得到十位*16DEC%10得到个位; 2位BCD 所以我们回头这一下这张表格就能看明白了 以秒寄存器为例这张表格上写明低四位存的是秒而高位的那三位0-50就只能用到三位(0)101存的是10秒CH置为1的话秒就会停止整个时钟就会停止。CH0的话时钟时钟是运行的。 所以想要最后的结果显示成正常的十进制数的话就要将结果转换成十进制再显示。 如果还是想转换成十进制再显示的话可以利用这一个转换公式 BCD码转十进制DECBCD/16把高四位提取出来*10BCD%16把低四位提取出来; 2位BCD 设置时间时要将十进制转换成BCD码写进时钟芯片可以利用这个公式 十进制转BCD码BCDDEC/10得到十位*16DEC%10得到个位; 2位BCD 我们要将年月日时分秒星期显示在液晶屏上的话还要在DS1302.c文件中定义是个数组然后再写两个函数方便我们后续设置时间 为了方便后面不用每次都查找这个表上的地址码 我们可以把这个表格上的写入地址重定义 然后我们知道写入时的命令字最低位肯定是0读出时的命令字最低位肯定是1 所以我们在ReadByte()这里加一行这样的代码 因为这个读的命令字一定是1了将Command或0x01之后那它的最低位肯定是1也就是肯定是读然后我们给地址的时候可以直接给写的地址因为写的地址或了0x01之后就是读的地址这样我们就不需要重复定义那么多地址了。因此我们就不需要把读的地址也弄成这样了 要想获得读的地址就直接将写的这个地址|0x01就变成读的地址了 于是两个函数写完之后是这样 将这两个函数和数组都声明一下 最后DS1302.c的完整代码如下 最后我们在主程序中调用函数然后运行 运行后的效果请看视频 DS1302实时时钟1 本节的代码演示就到这里。 之后有时间再演示一个可调时钟的代码 源码放在评论区自取有什么问题可以评论区留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dw做网站怎么上线简约网站模版

1 RowKey设计 重要:一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于 哪个一个预分区的区间内,设计 rowkey的主要目的 ,就是让数据均匀的分布于所有的 region 中,在一定程度…

网站建设软件开发公司深圳做app网站的公司哪家好

题目描述 长江游艇俱乐部在长江上设置了 n 个游艇出租站 1,2,⋯,n。游客可在这些游艇出租站租用游艇&#xff0c;并在下游的任何一个游艇出租站归还游艇。游艇出租站 i 到游艇出租站 j 之间的租金为 r(i,j)&#xff08;1≤i<j≤n&#xff09;。试设计一个算法&#xff0c;计…

林业公司网站模版深圳办公室设计公司排名

在计算机技术中,虑拟化是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。 目前,大多数服务器的容量的利用率不足15%,这导致服务器数量激增以及增加了复杂性。服务…

建站网站免费网站开发技术框架

写在前面&#xff1a; 在进程间通信中&#xff0c;有一种方式内存映射。内存映射也是进程间通信的方式之一&#xff0c;其效率高&#xff0c;可以直接对内存进行操作。本节我们对内存映射进行学习&#xff0c;并结合案例进行实践。 1、基本理论 内存映射&#xff1a;是将磁盘文…

公司使用威联通nas做网站存储厦门城乡住房建设厅网站首页

北大清华在国内可是著名高校&#xff0c;也是不少学子梦寐以求的院校&#xff0c;当然这也就早就竞争激烈的现状&#xff0c;无论是高考还是攻读MBA。那么在剧烈竞争压力下&#xff0c;我们怎么能提高被名校录取的几率呢&#xff0c;我今天从材料关和面试关为大家做一个详细的解…

企业网站建设的类型wordpress 分类显示文章列表

了解了&#xff0c;如果要深入探讨Lambda表达式转换为委托类型的编译过程&#xff0c;我们需要关注C#编译器如何处理这个转换。这个过程涉及到编译时的类型推断、匿名方法的创建&#xff0c;以及生成对应的委托实例。我们来更详细地分析这个过程&#xff1a; 编译阶段 1. 解…

网站服务器租用售价建设网站的一般过程

Hi&#xff0c;大家好&#xff0c;我叫consul&#xff0c;翻译成中文叫做“领事”&#xff0c;其实我更喜欢叫自己为中介&#xff0c;因为我觉得自己做的事情和房产中介非常像。比如说想要卖房的房东到我这边登记&#xff0c;我将房屋信息登录到我的表格中&#xff08;服务注册…

微网站解决方案什么是社交电商平台

FTP&#xff08;File Transfer Protocol&#xff09;是一个用于在网络上的计算机之间传输文件的协议。它属于网络协议组的应用层&#xff0c;主要用于文件的上传、下载和文件管理操作&#xff0c;是一种比较通用、操作也比较简单的传输方式。不过随着国产化大浪潮的推进&#x…

网站页数php网站开发背景

合宙Air724UG-4G模块AT指令调试接线演示 一、前言 上海合宙Air724UG模块是一款高性能的4G Cat.1通信模组(全网通模块,支持移动、联通、电信,支持短信和网络通信),为开发者提供了丰富的接口和开发方式。 在本文中,将详述调试与集成该模块的关键步骤: (1)从基础硬件配…

泰安商城网站开发设计江西建筑人才网

中国移动云能力中心在2020年中国移动全球合作伙伴大会移动云分论坛上&#xff0c;发布了新型自研软硬融合弹性计算架构——大云磐石服务器。该架构以自主设计的可编程芯片HyperCard和轻量级Hypervisor为核心&#xff0c;将存储、网络虚拟化能力卸载到硬件芯片&#xff0c;彻底突…

网站开发学什么语音天元建设集团有限公司黄岛分公司

来源&#xff1a;《科学进展》概要&#xff1a;一种以神经元为模型的超导计算芯片&#xff0c;能比人脑更高效快速地加工处理信息。一种以神经元为模型的超导计算芯片&#xff0c;能比人脑更高效快速地加工处理信息。近日刊登于《科学进展》的新成果&#xff0c;或许将成为科学…

红酒网站建设策划书运营和营销哪个更好

1.具体步骤 大概五个步骤 添加磁盘磁盘分区格式化分区挂载分区到指定目录设置开机自动挂载 目标将sdb1分区挂载到/data目录 2.添加磁盘 使用lsblk -f命令可以查看当前系统磁盘情况 lsblk -f 可以看到已经有一个磁盘sda&#xff0c;现在我们给虚拟机增加一个磁盘 添加完成后…

郑州网站推广公司案例dw安装免费下载

软件详细设计说明书 1.系统总体设计 2.性能设计 3.系统功能模块详细设计 4.数据库设计 5.接口设计 6.系统出错处理设计 7.系统处理规定 软件全套资料&#xff1a;本文末个人名片直接获取或者进主页。

企业网站icp备案申请济南网站优化分析

https://blog.csdn.net/qq_35488967/article/details/54602752 https://blog.csdn.net/xiaolong361/article/details/89417527

国外网站dns改成什么快帝国cms怎么做音乐网站

只有克服了情感的波动&#xff0c;才能专心致志地追求事业的成功 目录 列表 list命令 lpush lpushx rpush rpushx lrange lpop rpop lindex linsert llen lrem ltrim 阻塞命令 小结 列表 列表相当于 数组或者顺序表。 列表类型是用来存储多个有序的字符串&…

郑州网站推广服务个人介绍html代码简单

前端打包工具之Webpack5 什么是打包工具打包工具的作用常见的打包工具一、Webpack1、什么是[webpack](https://webpack.docschina.org/concepts/)2、webpack本身的功能是有限的3、webpack基本使用&#xff1a;基于本身功能只解析JS资源4、webpack配置4.1、entry&#xff08;入口…

国际网站空间企业网站优化分为两个方向

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 之前已经讲了如何地图中如何添加大量点到webgl图层优化大量点浏览器页面卡顿的问题。本章介绍补充一下叠加大量图片图标要素到地图的情况下的问题。 二、依赖和使用 "ol": "7.5.2"使用npm安装依…

芜湖哪里做网站wordpress主页最新文章显示

1.1DaemonSet是什么 Deployment部署的副本Pod会分布在各个Node上&#xff0c;每个Node都可能运行好几个副本。DaemonSet的不同之处在于&#xff1a;每个Node上最多只能运行⼀个副本。DaemonSet的典型应用场景有&#xff1a; &#xff08;1&#xff09;在集群的每个节点上运⾏存…

建筑网站大图哪个网站有高清图片做ppt

引言 串行外设接口(SPI)是微控制器和外围IC&#xff08;如传感器、ADC、DAC、移位寄存器、SRAM等&#xff09;之间使用最广泛的接口之一。本文先简要说明SPI接口&#xff0c;然后介绍ADI公司支持SPI的模拟开关与多路转换器&#xff0c;以及它们如何帮助减少系统电路板设计中的数…

免费的网站关键词查询工具简易软件下载

739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;使用单调栈遍历&#xff0c;循环找栈中比栈顶数小的就出栈&#xff0c;并且记录值。比栈顶数大的就入栈&#xff0c;形成单调递增的栈 class Solution { public:vector<int> dailyTemperatures(…