首页编程语言编程 时序 语言有哪些

编程 时序 语言有哪些

cysgjjcysgjj时间2024-05-25 08:08:35分类编程语言浏览29
导读:如何弄懂单片机时序?如何弄懂单片机时序?时序对于数字电路而言非常重要,可以说时序是数字电路正常工作的基础。说到时序,一般是指可编程器件的编程方法,在单片机编程时,需要根据被控芯片的时序去写程序,把芯片手册上规定好的时序用代码来实现,放可以实现单片机和芯片之间的通讯。下面以几种常用芯片的时序来简单介绍一下如何看懂时序。IIC是常用的芯片……...
  1. 如何弄懂单片机时序?

如何弄懂单片机时序

时序对于数字电路而言非常重要,可以说时序是数字电路正常工作基础。说到时序,一般是指可编程器件的编程方法,在单片机编程时,需要根据被控芯片的时序去写程序,把芯片手册上规定好的时序用代码实现,放可以实现单片机和芯片之间的通讯。下面以几种常用芯片的时序来简单介绍一下如何看懂时序。

IIC是常用的芯片间的通讯方式,也叫I2C,适合于PCB板内近距离的通讯,总共具有两跟线,可挂接不同地址的多个设备,其硬件连线如下图所示。

IIC在通讯时需要首先发送一个开始信号数据结束时需要发送结束信号,开始和结束就在器件手册上就给出了时序图,在编程时就需要用C语言代码去实现开始和结束的时序,时序图如下所示。

编程 时序 语言有哪些
图片来源网络,侵删)

SCL是IIC的时钟线,SDA是数据线,SDA数据如何传输需要在特定的SCL时序上。从图中可以看出,在开始时,必须SCL是高电平,而SDA是下降沿,这就是开始的时序。在发送结束信号时,必须让SCL为高电平,让SDA是上升沿,这就构成了结束信号。用C语言代码所实现的结束信号如下所示。

IIC在发送完开始信号后,就要开始发送数据,发送数据的过程也必须得遵守IIC的时序,IIC数据传输的时序如下图所示。

从时序图上,可以看出,在SCL为高电平期间是不允许SDA数据发生变化的,如果改变SDA数据必须发在SCL为低电平期间。这就是这个时序图的含义。单片机在编程时要遵循这个规则才可以。

编程 时序 语言有哪些
(图片来源网络,侵删)

单片机时序,我的理解是依据时钟信号,遵循标准,传输数据的过程。那么如果要弄清楚单片机时序,首先需要先弄清楚单片机的时钟信号,时钟信号驱动内核、外设工作。那么时钟信号从哪里来,又如何驱动内核,外设工作呢?先从晶振说起。

晶振

晶振,全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器,通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。

编程 时序 语言有哪些
(图片来源网络,侵删)

该正弦波信号通过单片机内部的时钟电路,可倍频/分频为需要的时钟信号频率,如原始晶振8M,可以最终产生72M的时钟给内核使用,到达内核与外设的时钟。

时钟周期是单片机中最基本的、最小的时间单位。在一个时钟周期内,内核仅完成一个最基本的动作,一个时钟周期从RoM中取一条指令然后下一个时钟周期执行,周而复始。

时钟差不多了,那么时序基于时钟信号,外设以spi为例说明时序如何实现的。

时序(SPI)

SPI主要有一个时钟CLOCK,两个数据线MISO/MOSI,其中CLOCK由主动发起的外设产生,如设备1的外设要读设备2的外设,那么设备1的外设产生时钟,设备2的外设只能由设备1的外设时钟操控。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/13705.html

时序时钟单片机
关于互联网技术的新闻标题 科技战疫创新强国