当前位置:文档之家› s7-200高速脉冲计数器及PTO和PWM(1)剖析

s7-200高速脉冲计数器及PTO和PWM(1)剖析

s7-200高速脉冲计数器及PTO和PWM(1)剖析
s7-200高速脉冲计数器及PTO和PWM(1)剖析

高速脉冲计数器

高速计数器专用输入

高速计数器使用的输入

HSC0 I0.0, I0.1, 0.2

HSC1 I0.6, I0.7, I1.0, I1.1

HSC2 I1.2, I1.3, I1.4, I1.5

HSC3 I0.1

HSC4 I0.3, I0.4, I0.5

HSC5 I0.4

有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2中使用HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。

如果所用的HSC0模式不使用输入I0.1,则该输入可用于HSC3或边缘中断。与此相似,如果所选的HSC0模式不使用I0.2,则该输入可用于边缘中断;如果所选HSC4模式不使用I0.4,则该输入可用于HSC5。

请注意HSC0的所有模式均使用I0.0,HSC4的所有模式均使用I0.3,因此当使用这些计数器时,这些输入点

四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择1x或4x计数模式(仅限正交计数器)。这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。

执行HDEF指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x(或4乘以输入时钟频率)。一旦执行了HDEF指令,就不能再改变计数器设置,除非首先将CPU设为STOP(停止)模式。

下表复位和启动输入的有效电平以及1x/4x控制位

**缺省设置为:复位输入和启动输入高电平有效,正交计数率为四倍速(四倍输入时钟频率)。

定义控制字节

一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业:

* 启用或禁止计数器

* 控制方向(仅限模式0、1和2)或初始化所有其他模式的计数方向

* 载入当前值

每台高速计数器都有一个32位初始值和一个32位预设值,初始值和预设值均为带符号的整数值。欲向高速计数器载入新的初始值和预设值,您必须设置包含初始值和/或预设值的控制字节及特殊内存字节。然后您必须执行HSC指令,将新数值传输至高速计数器。下表说明用于包含新当前值和预设值的特殊内存字节。

除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型HC(高速计数器当前值)加计数器号码(0、1、2、3、4或5)读取每台高速计数器的当前值。因此,读取操作可直接存取当前值,但只有用上述HSC指令才能执行写入操作。

所指有定计中数断器模式都支持在HSC的当前值等于预设值时产生一个中断事件。使用外部复位端的计数模式支持外部复位中断。除去模式0、1和2之外,所有计数器模式支持计数方向改变中断。每种中断条件都可以分别使能或者禁止。要得到关于使用中断的更多信息,参见通讯和中断指令一节

注:当使用外部复位中断时,不要写入初始值,或者是在该中断服务程序中禁止再允许高速计数器,否则会产生一个致命错误。

状态字节

每个高速计数器都有一个状态字节,其中的状态存储位指出了当前计数方向,当前值是否大于或者等于预置值。下表给出了每个高速计数器状态位的定义

提示:只有在执行中断服务程序时,状态位才有效。监视高速计数器状态的目的是使其它事件能够产生中断以完成更重要的操作。

脉冲输出指令

脉冲输出(PLS)指令被用于控制在高速输出(Q0.0和Q0.1)中提供的"脉冲串输出"(PTO)和"脉宽调制"(PWM)功能。PTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。

识别S7-200高速输出指令

S7-200有两台PTO/PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。一台发生器指定给数字输出点Q0.0,另一台发生器指定给数字输出点Q0.1。一个指定的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字节(8位值)、一个脉冲计数值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值)。

PTO/PWM发生器和过程映像寄存器共用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置现用时,PTO/PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受过程映像寄存器状态、点强迫数值、执行立即输出指令的影响。PTO/PWM发生器非现用时,输出控制转交给过程映像寄存器。过程映像寄存器决定输出信号波形的初始和最终状态,使信号波形在高位或低位开始和结束。

注释

●在启用PTO或PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。

●所有的控制位、周期、脉宽和脉冲计数值的默认值均为0

●PTO/PWM输出必须至少有10%的额定负载,才能提供陡直的上升沿和下降沿。

每台PTO/PWM发生器有一个控制字节(8位),一个周期值和脉宽值(不带符号的16位值)和一个脉冲计值(不带符号的32位值)。这些值全部存储在特殊内存(SM)区域的指定位置。一旦设置这些特殊内存位的位置,选择所需的操作后,执行脉冲输出指令(PLS)即启动操作。该指令使S7-200读取SM位置,并为PTO/PWM 发生器编程。

通过修改SM区域中(包括控制字节)要求的位置,您可以更改PTO或PWM的信号波形特征,然后执行PLS 指令。您可以在任意时间向控制字节(SM67.7或SM77.7)的PTO/PWM启用位写入零,禁用PTO或PWM信号波形的生成,然后执行PLS指令。

脉冲串操作(PTO)

PTO按照给定的脉冲个数和周期输出一串

方波(占空比50%)。(见右图)PTO可以产

生单段脉冲串或者多段串(使用脉冲包络)。

可以指定脉冲数和周期(以微秒或毫秒为增加

量):

- 脉冲个数: 1到4,294,967,295

- 周期: 10μs到 65,535μs或者

2ms 到 65,535ms。

如果为周期指定一个奇微秒数或毫秒数(例75ms )将会引起占空比失真

下表中是对计数和周期的限定。

PTO

PTO功能允许脉冲串“链接”或者“排队”。当当前脉冲串输出完成时,会立即开始输出一个新的脉冲串。这保证了多个输出脉冲串之间的连续性。

PTO脉管冲的单段管线

在单段线串模式,需要为下一个脉冲串更新特殊寄存器。一旦启动了起始PTO段,就必须按照第二个波形的要求改变特殊寄存器,并再次执行PLS指令。第二个脉冲串的属性在管线中一直保持到第一个脉冲串发送完成。在管线中一次只能存储一段脉冲串的属性。当第一个脉冲串发送完成时,接着输出第二个波形,此时管线可以用于下一个新的脉冲串。重复这个过程可以再次设定下一个脉冲串的特性。

除去以下两种情况之外,脉冲串之间可以作到平滑转换:

时间基准发生了变化或者在利用PLS指令捕捉到新脉冲之前,启动的脉冲串已经完成。

如果您在管线已满时尝试载入,状态寄存器(SM66.6或SM76.6)中的PTO溢出位被设置。进入RUN(运行)模式时,该位被初始化为0。如果您希望探测随后出现的溢出,则必须在探测到溢出之后以手动方式清除该位。

PTO脉冲线串的多段管线

在多段脉管模式, CPU自动从V存储器区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储器区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址偏移量(SMW168或SMW178)。时间基准可以选择微秒或者毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。

每段记录的长度为8个字节,由16位周期值、16位周期增量值和32位脉冲个数值组成。下表中给出了包络表的格式。您可以通过编程的方式使脉冲的周期自动增减。在周期增量处输入一个正值将增加周期;输入一个负值将减少周期;输入0将不改变周期。

如果您指定的周期增量在一定数量的脉冲后导致非法周期则会出现数学溢出条件。PTO功能被终止,输出转换成映象寄存器控制。此外,状态字节(SM66.4或SM76.4)中的增量计算错误位被设为一。如果您以手动方式异常中止正在运行的PTO包络,状态字节(SM66.5或SM76.5)中的用户异常中止位则被设为一。

当PTO包络执行时,当前启动的段的编号保存在SMB166(或SMB176)。

多段PTO操作的包络表格式

1 输入0作为脉冲串的段数会产生一个非致命错误,将不产生PTO输出

脉宽调制(PWM)

PWM产生一个占空比变化周期固定的脉冲输出,(见下图)您可以以微秒或者毫秒为单位指定其周期和脉冲宽度:

- 周期: 10μs到65,535μs或者2ms到65,535ms

- 脉宽: 0μs到65,535μs或者0ms到65,535ms。

如下表所示,设定脉宽等于周期(使占空比

为100%),输出连续接通。设定脉宽等于0(使占

空比为0%),输出断开。

脉宽、周期和PWM功能的执行结果。

有两个方法改变PWM波形的特性:

- 同步更新:如果不需要改变时间基准,就可以进行同步更新。利用同步更新,波形特性的变化发生在周期边沿,提供平滑转换。

- 异步更新:PWM的典型操作是当周期时间保持常数时变化脉冲宽度。所以,不需要改变时间基准。但是,如果需要改变PTO/PWM发生器的时间基准,就要使用异步更新。异步更新会造成PTO/PWM功能被瞬时禁止,和PWM波形不同步。这会引起被控设备的振动。由于这个原因,建议采用PWM同步更新。选择一个适合于所有周期时间的时间基准。

提示:控制字节中的PWM更新方式位(SM67.4或SM77.4)用于指定更新方式。当PLS指令执行时变化生效。

如果改变了时间基准,会产生一个异步更新,而与PWM更新方式位的状态无关。

使用SM来配置和控制PTO/PWM操作

PLS指令会从特殊存储器SM中读取数据,使程序按照其存储值控制PTO/PWM发生器。SMB67控制PTO0或者PWM0,SMB77控制PTO1或者PWM1。下表对用于控制PTO/PWM操作的存储器给出了描述。您可以使用PTO/PWM控制字节参考表作为一个快速参考,用其中的数值作为PTO/PWM控制寄存器的值来实现需要的操作。

您可以通过修改SM存储区(包括控制字节),然后执行PLS指令来改变PTO或PWM波形的特性。您可以在任意时刻禁止PTO或者PWM波形,方法为:首先将控制字节中的使能位(SM67.7或者SM77.7)清0,然后执行PLS指令。

PTO状态字节中的空闲位(SM66.7或者SM76.7)标志着脉冲串输出完成。另外,在脉冲串输出完成时,您可以执行一段中断服务程序。如果您使用多段操作,可以在整个包络表完成之后执行中断服务程序。

下列条件使SM66.4(或SM76.4)或SM66.5(或SM76.5)置位:

- 如果周期增量使PTO在许多脉冲后产生非法周期值,会产生一个算术溢出错误,这会终止PTO功能并在状态字节中将增量计算错误位(SM66.4或者SM76.4)置1,PLC的输出变为由映象寄存器控制。

- 如果要手动终止一个正在进行中的PTO包络,要把状态字节中的用户终止位(SM66.5或SM76.5)置1。

- 当管线满时,如果试图装载管线,状态存储器中的PTO溢出位(SM66.6或者SM76.6)置1。如果想用该位检测序列的溢出,必须在检测到溢出后手动清除该位。当CPU切换至RUN模式时,该位被初始化为0。

提示:如果要装入新的脉冲数(SMD72或SMD82)、脉冲宽度(SMW70或SMW80)或周期(SMW68或SMW78),应该在执行PLS指令前装入这些值和控制寄存器。如果要使用多段脉冲串操作,在使用PLS指令前也需要装入包络表的起始偏移量(SMW168或SMW178)和包络表的值。

PTO/PWM控制寄存器的SM标志

计算包络表的值

PTO/PWM发生器的多段管线功能在许多应用中非常有用,尤其在步进电机控制中。

例如:您可以用带有脉冲包络的PTO来控制一台步进电机,来实现一个简单的加速、匀速和减速过程或者一个由最多255段脉冲包络组成的复杂过程,而其中每一段包络都是加速、匀速或者减速操作。

下图示例给出的包络表值要求产生一个输出波形包括三段:步进电机加速(第一段);步进电机匀速(第二段)和步进电机减速(第三段)。

对该例,假定需要4000个脉冲达到要求的电机转动数,启动和结束频率是2kHz,最大脉冲频率是10kHz。由于包络表中的值是用周期表示的,而不是用频率,需要把给定的频率值转换成周期值。所以,启动和结束的脉冲周期为500μs,最高频率的对应周期为100μs。在输出包络的加速部分,要求在200个脉冲左右达到

最大脉冲频率。也假定包络的减速部分,在400

个脉冲完成。

在该例中,使用一个简单公式计算PTO/PWM

发生器用来调整每个脉冲周期所使用的周期

增量值:

De给定段的周期增量=|ECT--ICT|/Q

其中: ECT = 该段结束周期时间

ICT = 该段初始化周期时间

Q = 该段的脉冲数量

利用这个公式,加速部分(第1段)的周

期增量是-2。由于第2段是恒速控制,因此,

该段的周期增量是0。相似地,减速部分(第3

段)的周期增量是1。

假定包络表存放在从VB500开始的V存储

器区,下表给出了产生所要求波形的值。该表

的值可以在用户程序中用指令放在V存储器中。一种方法是在数据块中定义包络表的值。

段的最后一个脉冲的周期在包络中不直接指定,但必须计算出来(除非周期增量是0)。如果在段之间需要平滑转换,知道段的最后一个脉冲的周期是有用的。计算段的最后一个脉冲周期的公式是:段的最后一个脉冲的周期时间=ICT+(DEL*(Q--1))

其中: ICT = 该段的初始化周期时间

DEL = 该段的增量周期时间

Q = 该段的脉冲数量

作为介绍,上面的简例是有用的,实际应用可能需要更复杂的波形包络。记住:周期增量只能以微秒数或毫秒数指定,周期的修改在每个脉冲上进行。这两项的影响使对于一个段的周期增量的计算可能需要叠代方法。对于结束周期值或给定段的脉冲个数,可能需要作调整。

在确定校正包络表值的过程中,包络段的持续时间很有用。按照下面的公式可以计算完成一个包络段的时间长短:

包络段的持续时间 = Q*(ICT+((DEL/2)*(Q--1)))

其中: Q = 该段的脉冲数量

ICT = 该段的初始化周期时间

DEL = 该段的增量周期时间

PTO/PWM初始化和操作顺序

以下是初始化和操作顺序说明,能够帮助您更好地识别PTO和PWM功能操作。在整个顺序说明过程中一直使用脉冲输出Q0.0。初始化说明假定S7-200刚刚置入RUN(运行)模式,因此首次扫描内存位为真实。如果

不是如此或者如果必须对PTO/PWM功能重新初始化,您可以利用除首次扫描内存位之外的一个条件调用初始化例行程序。

PWM初始化

以下PWM初始化和操作顺序说明建议使用"首次扫描"位(SM0.1)初始化脉冲输出。使用"首次扫描"位调用初始化子程序可降低扫描时间,因为随后的扫描无须调用该子程序。(仅需在转换为RUN(运行)模式后的首次扫描时设置"首次扫描"位。)但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您可以使用另一个条件调用初始化例行程序。

通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。

从主程序建立初始化子程序调用后,用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:1. 通过将以下一个值载入SMB67: 16#D3(选择微秒递增)或16#DB(选择毫秒递增)的方法配置控制字节。

两个数值均可启用PTO/PWM功能、选择PWM操作、设置更新脉宽和周期值、以及选择(微秒或毫秒)。

2. 在SMW68中载入一个周期的字尺寸值。

3. 在SMW70中载入脉宽的字尺寸值。

4. 执行PLS指令(以便S7-200为PTO/PWM发生器编程)。

5. 欲为随后的脉宽变化预载一个新控制字节数值(选项),在SMB67: 16#D2(微秒)或16#DA(毫秒)中载

入下列数值之一。

6. 退出子程序。

为PWM输出更改脉宽

如果您用16#D2或16#DA预载SMB67(请参阅以上第5步),您可以使用一个将脉宽改变为脉冲输出(Q0.0)的子程序。建立对该子程序的调用后,使用以下步骤建立改变脉宽的控制逻辑:

1. 在SMW70中载入新脉宽的字尺寸值。

2. 执行PLS指令,使S7-200为PTO/PWM发生器编程。

3. 退出子程序。

PTO初始化-单段操作

以下PWM初始化和操作顺序说明建议使用"首次扫描"位(SM0.1)初始化脉冲输出。使用"首次扫描"位调用初始化子程序可降低扫描时间,因为随后的扫描无须调用该子程序。(仅需在转换为RUN(运行)模式后的首次扫描时设置"首次扫描"位。)但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您可以使用另一个条件调用初始化例行程序。

通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。

从主程序建立初始化子程序调用后,用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:

1. 通过将以下一个值载入SMB67: 16#85(选择微秒增加)或16#8D(选择毫秒增加)的方法配置控制字节。

2. 两个值均可启用PTO/PWM功能、选择PWM操作、设置更新脉宽和周期值、以及选择(微秒或毫秒)。在SMW68

中载入一个周期的字尺寸值。

3. 在SMD72中载入脉冲计数的双字尺寸值。

4. (选项)如果您希望在脉冲串输出完成后立即执行相关功能,您可以将脉冲串完成事件(中断类别19)

附加于中断子程序,为中断编程,使用ATCH指令并执行全局中断启用指令ENI。

5. 执行PLS指令,使S7-200为PTO/PWM发生器编程。

6. 退出子程序。

改变PTO周期-单段操作

对于单段PTO操作,您可以使用中断例行程序或子程序改变周期。欲使用单段PTO操作更改中断例行程序或子程序中的PTO周期,请遵循下列步骤:

* 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期值),方法是在SMB67: 16#81(用

于微秒)或16#89(用于毫秒)中载入下列一个值。

* 在SMW68中,载入新周期的一个字尺寸值。

* 执行PLS指令,使S7-200为PTO/PWM发生器编程。更新脉冲计数信号波形输出开始之前,CPU必须完成所有进行中的PTO。

* 退出中断例行程序或子程序。

改变PTO脉冲计数-单段操作

对于单段PTO操作,您可以使用中断例行程序或子程序改变脉冲计数。欲使用单段PTO操作在中断例行程序或子程序中改变PTO脉冲计数,请遵循下列步骤:

1. 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期值),方法是在SMB67: 16#84(用

于微秒)或16#8C(用于毫秒)中载入以下两个值之一。

2. 在SMD72中,载入新脉冲计数的一个双字尺寸值。

3. 执行PLS指令(以便S7-200为PTO/PWM发生器编程)。开始用更新脉冲计数生成信号波形之前,S7-200完成

所有进行中的PTO。

4. 退出中断例行程序或子程序。

改变PTO周期和脉冲计数-单段操作

对于单段PTO操作,您可以使用中断例行程序或子程序改变周期和脉冲计数。欲使用单段PTO操作更改中断例行程序或子程序中的PTO周期和脉冲计数,请遵循下列步骤:

1. 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期和脉冲计数值),方法是在SMB67:

16#85(用于微秒)或16#8D(用于毫秒)中载入以下两个值之一。

2. 在SMW68中,载入新周期的一个字尺寸值。

3. 在SMC72中,载入新脉冲计数的一个双字尺寸值。

4. 执行PLS指令,使S7-200为PTO/PWM发生器编程。用更新脉冲计数和脉冲时间信号波形输出开始之前,CPU

必须完成所有进行中的PTO。

5. 退出中断例行程序或子程序。

PTO初始化-多段操作

通常,您用一个子程序为多段操作的脉冲输出配置和初始化PTO。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将PTO使用的输出初始化为0,并调用子程序,执行初始化操作。当您使用"首次扫描"位调用初始化子程序时,随后的扫描不再调用该子程序,这样会降低扫描时间执行。

从主程序建立对初始化例行程序的调用后,使用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:使用首次扫描内存位(SM0.1)将输出初始化为0,并调用您所需的子程序,执行初始化操作。这样会降低扫描时间执行,并提供结构更严谨的程序。

1. 通过将以下一个值载入SMB67: 16#A0(选择微秒增加)或16#A8(选择毫秒增加)的方法配置控制字节。

两个数值均可启用PTO/PWM功能、选择PTO操作、选择多段操作、以及选择(微秒或毫秒)。

2. 在SMW168中载入一个字尺寸值,用作包络表起始V内存偏移量。

3. 使用V内存在包络表中设置段值。确保"段数"域(表的第一个字节)正确无误。

4. (选项)如果您希望在PTO包络完成后立即执行相关功能,您可以将脉冲串完成事件(中断类别19)附加

在中断子程序中,为中断编程。使用ATCH执行全局中断启用指令ENI。

5. 执行PLS指令,使S7-200为PTO/PWM发生器编程。

6. 退出子程序。

s高速脉冲计数器及PTO和PWM

s高速脉冲计数器及 P T O和P W M Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

高速脉冲计数器 高速计数器专用输入 高速计数器使用的输入 HSC0 , , HSC1 , , , HSC2 , , , HSC3 HSC4 , , HSC5 有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2中使用HSC0,模式2使用和,则可用于边缘中断或用于HSC3。 如果所用的HSC0模式不使用输入,则该输入可用于HSC3或边缘中断。与此相似,如果所选的HSC0模式不使用,则该输入可用于边缘中断;如果所选HSC4模式不使用,则该输入可用于HSC5。 请注意HSC0的所有模式均使用,HSC4的所有模式均使用,因此当使用这些计数器时,这些输

(仅限正交计数器)。这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。 执行HDEF指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x(或4乘以输入时钟频率)。一旦执行了HDEF指令,就不能再改变计数器设置,除非首先将CPU设为STOP(停止)模式。 ** 率)。 定义控制字节 一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业: * 启用或禁止计数器 * 控制方向(仅限模式0、1和2)或初始化所有其他模式的计数方向 * 载入当前值 每台高速计数器都有一个32位初始值和一个32位预设值,初始值和预设值均为带符号的整数值。欲向高速计数器载入新的初始值和预设值,您必须设置包含初始值和/或预设值的控制字节及特殊内存字节。然后您必须执行HSC指令,将新数值传输至高速计数器。下表说明用于包含新当前值和预设值的特殊内存字节。

CCU6测试频率与占空比

1. 根据待测波形频率与占空比计算波形的周期值,正频宽时间,负频宽时间. 2. 选择合适的T12分频比,设置的分频比后时钟分辨率不能导致T12溢出. 例如:80HZ的周期为12.5ms;T12溢出时间设置为25ms.触发上升沿中断,触发下降沿中断,再次触发上升沿中断。假设设置分频比为fclk/8 = 0.333usec, 25,000/0.333 = 0x 1,24FF;超出T12计数范围.分频比选择不合适。Fclk/16 = 0.667, 25,000/0.6667 = 0x927A;T12计数器未溢出满足要求。 3. T12的溢出时间设置为待测波形周期的2倍时间. 4. 根据Dave工具配置工程. 4.1 使能CCU模块 4.2 配置采样引脚 4.3 配置T12定时器 4.4 配置中断 4.5 配置采样模式 4.6 配置函数双寄存器模式四:任意沿采样. CC6N任意沿将CC6nSR中的内容复制到CC6nR中,T12的实际计数值立即保存在映射寄存器CC6nSR 中。第一种计算方法: // USER CODE BEGIN (NodeI0,1) unsigned int HighWidth,LowWidth; // USER CODE END void SHINT_viXINTR10Isr(void) interrupt XINTR10INT { // USER CODE BEGIN (NodeI0,2) unsigned int uiCapRiseL, uiCapFallL,uiCapRiseH, uiCapFallH; // USER CODE END SFR_PAGE(_su3, SST0); // switch to page 3 // CCU6 Node 0 interrupt handling section... 读映射寄存器CC6nSR函数 读通道寄存器CC6nR函数 if (IRCON3 & 0x01) // if CCU6SR0 { IRCON3 &= ~(ubyte)0x01; // USER CODE BEGIN (NodeI0,3) // USER CODE END SFR_PAGE(_cc3, noSST); // switch to page 3 if(CCU6_ISL & 0x01) //if ISL_ICC60R { //capture, compare match rising edge detection an channel 0 SFR_PAGE(_cc0, noSST); // switch to page 0 CCU6_ISRL = 0x01; //clear flag ISL_ICC60R // USER CODE BEGIN (NodeI0,10) SFR_PAGE(_cc1,SST0); uiCapFallH = CCU6_CC60RLH; SFR_PAGE(_cc1,RST0); uiCapRiseH = CCU6_CC60SRLH; LowWidth = 0xFFFF + 1 + uiCapRiseH - uiCapFallH; // USER CODE END } SFR_PAGE(_cc3, noSST); // switch to page 3 if(CCU6_ISL & 0x02) //if ISL_ICC60F { //capture, compare match faling edge detection an channel 0

脉冲计数

实验九脉冲计数(定时/计数器实验) 1、实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。 2、实验内容:把定时器0外部输入的脉冲进行计数,并送显示器显示 3、实验程序框图: 4、实验接线图:

5、实验步骤:P3.4 依次接T0~T7或单脉冲输出孔,执行程序,观察数码管上 计数脉冲的速度及个数。 6、思考:修改程序使显示器上可显示到999999个脉冲个数。 7、程序清单文件名:SW09.ASM;脉冲计数实验 ORG 0000H LJMP SE15 ORG 06E0H SE15: MOV SP,#53H MOV P2,#0FFH MOV A,#81H MOV DPTR,#0FF23H MOVX @DPTR,A ; 1 MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0 LO29: MOV R2,TH0 MOV R3,TL0 LCALL ZOY0 MOV R0,#79H MOV A,R6 LCALL PTDS MOV A,R5 LCALL PTDS MOV A,R4 LCALL PTDS LCALL SSEE SJMP LO29 ZOY0: CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H LO30: CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LO30 RET PTDS: MOV R1,A

s高速脉冲计数器及PTO和PWM

高速脉冲计数器 高速计数器专用输入 高速计数器使用的输入 HSC0 I0.0, I0.1, 0.2 HSC1 I0.6, I0.7, I1.0, I1.1 HSC2 I1.2, I1.3, I1.4, I1.5 HSC3 I0.1 HSC4 I0.3, I0.4, I0.5 HSC5 I0.4 有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2中使用HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。 如果所用的HSC0模式不使用输入I0.1,则该输入可用于HSC3或边缘中断。与此相似,如果所选的HSC0模式不使用I0.2,则该输入可用于边缘中断;如果所选HSC4模式不使用I0.4,则该输入可用于HSC5。 请注意HSC0的所有模式均使用I0.0,HSC4的所有模式均使用I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。

四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择1x或4x计数模式(仅限正交计数器)。这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。 执行HDEF指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x(或4乘以输入时钟频率)。一旦执行了HDEF指令,就不能再改变计数器设置,除非首先将CPU设为STOP(停止)模式。 下表复位和启动输入的有效电平以及1x/4x控制位

**缺省设置为:复位输入和启动输入高电平有效,正交计数率为四倍速(四倍输入时钟频率)。 定义控制字节 一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业: * 启用或禁止计数器 * 控制方向(仅限模式0、1和2)或初始化所有其他模式的计数方向 * 载入当前值 通过执行HSC指令可激活控制字节以及相关当前值和预设值检查。下表说明每个控制位。

单片机课程设计外部脉冲计数器

目录 摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本课程设计的指导思想是控制单片机实现从0到99的计数功能,其结果显示在两位一体的共阳极数码管上。 关键词:脉冲计数器数码管单片机 本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出脉冲,按下键就开始计数,并将数值显示在两位一体的共阳极数码管上。 1课题原理 PCB板上设置开始计数按键和清零按键,以上按键与89C52单片机的P1口连接,通过查询按键是否被按下来判断进行计数或者清零。若按下计数健,则单片机控制两位一体的共阳极数码管显示从00开始的数字,按下一次,则数字加一,一次类推;若按下清零键,则程序返回程序开始处,并且数码管显示00。

2 硬件及软件设计 2.1 硬件系统 2.1.1 硬件系统设计 此设计是在单片机最小系统的基础上进行开发和拓展,增加了按键电路和和数码管显示电路,由于单片机输出电流不足以驱动数码管发光,所以数码管需要驱动电路。我们采用了三极管对数码管电流进行放大,使电流大小达到要求值。 2.1.2 单元电路设计 基本框架如下图2.1 2.1基本框架

1.STC89C52芯片 STC89C52RC芯片包括: 8k字节 Flash,512字节RAM, 32位I/O口 线,看门狗定时器,两个数据指针, 三个16位定时器/计数器,一个6向 量2级中断结构,全双工串行口,片 内晶振及时钟电路。STC89C52RC芯片 可降至0Hz静态逻辑操作,时钟频率 0-80MHz,支持2种软件可选择节电 模式。空闲模式下,CPU停止工作, 允许RAM、定时器/计数器、串口、中 断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片 机一切工作停止,直到下一个中断或 硬件复位为止。8位微控制器8K字节 在系统可编程。芯片如图2.4所示。 图2.4 STC89C52芯片 2.按键电路 K1键为启动键,K2键为清零键,K3键为计数键,通过按钮的连接,实现开始、计数清零功能,连接电路如图2.5所示。 图2.5 按键电路

编码器的脉冲计数,高速计数器小归纳

我们一般采用高速输出信号控制步进电机和伺服电机做位置,角度和速度的控制,比如定位,要实现这个目的,我们要知道这几个条件:1、PLC高速输出需要晶体管输出,继电器属于机械动作,反应缓慢,而且易坏 2、以三菱PLC为例,高速输出口采用Y0 、Y1 3、高速输出指令常用的有 PLSY 脉冲输出 PLSR 带加减速 PLSV……可变速的脉冲输出 ZRN……原点回归 DRVI……相对定位 DRVA……绝对定位 4、脉冲结束标志位M8029 5、D8140 D8141 为Y0总输出脉冲数 6、在同一个程序里面Y0做为脉冲输出,程序可以存在一次,当需要多次使用的时候,可以采用变址V进行数据的切换,频率,脉冲在不同的动作模式中,改变数据

正对上述讲解的内容:我们用一个程序来表示若我们以后可能接触步进。伺服这一块,上述内容,大家一定要熟练掌握! 23、PLC编程实现编码器的脉冲计数 在高速计数器与编码器配合使用之前,我们首先要知道是单向计数,还是双向计数,需要记录记录的数据,需要多少个编码器,在PLC 中也需要多少个高速输入点,我们先要确认清楚。 当我们了解上面的问题以后,参照上题的寄存器分配表得知我们该选择什么高速计数器 如:现在需要测量升降机上升和下降的高度,那么我们需要采用双向编码器,即可加可减的,AB相编码器,PLC需要两个IO点,查表

得知,X0 X1为一路采用C251高速计数器那么我们可以这样编程,如图 开机即启动计数,上升时(方向),C251加计数 下降时(方向),C251减计数 我们要求编码器转动的数据达到多少时,就表示判断实际升降机到达的位置 注意:在整个程序中没有出现X0、X1这个两个软元件? 是因为C251为X0、X1的内置高速计数器,他们是一一对应的,只要见到c251,X0 X1就在里面了,当然,用了C251以后,X 0 、X1不能在程序里面再当做开关量使用了

占空比

占空比 占空比的图例 占空比(Duty Ratio)在电信领域中有如下含义:在一串理想的脉冲周期序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。在一段连续工作时间内脉冲占用的时间与总时间的比值。在CVSD调制(continuously variable slope delta modulation)中,比特“1”的平均比例(未完成)。引申义:在周期型的现象中,某种现象发生的时间与总时间的比。例如,在成语中有句话:「三天打渔,两天晒网」,如果以五天为一个周期,“打渔“的占空比则为0.6。 编辑本段定义 占空比是指高电平在一个周期之内所占的时间比率。方波的占空比为50%,占空比为0.5,说明正电平所占时间为0.5个周期。定义1:如果占空比定义为d=rTc。那么,分量F。为:F.一Ub(2d一1)及肛案sin(n)枷一江。脉宽调制波形同时应能明显看出从一个周期到另一个周期,傅里叶分量的幅值将随着占宽比发生的变化而变化。定义2:Dutycycle=Width(Delay+Width)含步进电机的CCD线阵列式位置传感器支架。传感器是CCD线阵列式位置传感器,它是一种新型的固体成像器件,是在大规模集成电路工艺基础上研制而成的模拟集成电路芯片。定义3:所谓占空比是指压缩机持续开启时间与控制周期之比。在确定占空比时必须满足压缩机两次开启时间间隔大于制冷系统高低压侧平衡所需最小时间。定义4:Ts为脉冲周期,Tw为脉冲宽度,定义τ=TwT's×100τ称为占空比。PWM根据输入信号的大小对脉冲宽度进行调制,使得在一个载波周期内输出占空比是输入的函数。定义5:可见改变电源加在负载上正弦电压波形的个数和关断正弦电压波形个数的比率,称为占空比,(占空比用n表示)。改变占空比可实现交流调压.这种微机控制交流调压法属有级调压,由于级数(对应占空比)可以做得很多,故电压级差可以做得很小。定义6:系统工作原理如下,占空比的设定所谓占空比是指直流电机在一个通电与断电周期中其通电时间所占的比例常用下述公式表示:式中Ti—通电时间。定义7:因此黑色区域是探测器的有效区域,与探测元的窗口面积之比称为占空比,此比率的大小直接影响探测器输出信号的大小。定义8:在忽略开关管T和续流二级管D 的正向压降的情况下:Uo=TONTON+TOFF·Ui式中TON为开关管T的导通时间

开关电源占空比的选择与开关变压器初次级线圈匝数比的计算

开关电源占空比的选择与开关变压器初次级线圈匝数比的计算 作者:陶显芳发布时间:2011-07-04文章来源:华强北·电子市场价格指数浏览量:50466 下面是开关电源设计务必掌握的知识 1、开关电源占空比的选择与计算 2、开关变压器初次级线圈匝数比的计算 希望从事开关电源设计的工程师对此感兴趣 概述:占空比是脉冲宽度调制(PWM)开关电源的调制度,开关电源的稳压功能就是通过自动改变占空比来实现的,开关电源的输出电压与占空比成正比,开关电源输出电压的变化范围基本上就是占空比的变化范围。由于开关电源输出电压的变化范围受到电源开关管击穿电压的限制,因此,正确选择占空比的变化范围是决定开关电源是否可靠工作的重要因素;而占空比的选择主要与开关电源变压器初、次级线圈的匝数比有关,因此,正确选择开关电源变压器初、次级线圈的匝数比也是一个非常重要的因素。 开关电源占空比和开关电源变压器初、次级线圈的匝数比的正确选择涉及到对开关电源变压器初、次级线圈感应电动势的计算。因此,下面我们先从分析开关电源变压器初、次级线圈感应电动势开始。 1.1占空比的定义 占空比一般是指,在开关电源中,开关管导通的时间与工作周期之比,即: (1)式中:D为占空比,Ton为开关管导通的时间,Toff为开关管关断的时间,T为开关电源的工作周期。 对于一个脉冲波形也可以用占空比来表示,如图1所示。 在反激式开关电源中,开关管导通的时候,变压器次级线圈是没有功率输出的,如果把(1)中的D记为D1,(2)式中的D记为D2,则D1、D2有下面关系: 1.2开关变压器初次级线圈的输出波形

图2a是输出电压为交流的开关电源工作原理图。为了便于分析,我们假说变压器初次级线圈的变压比为1:1(即N1=N2,L1=L2),当开关K又导通转断开时,变压器初级、次 级线圈产生感应电动势为: (6)式中:为变压器初级线圈的励磁电流,由此可知,变压器初、次级线圈产生 的反电动势主要是由励磁电流产生的。我们从(5)可以看出,当变压器初、次级线圈的负载电阻R很大或者开路的情况下,变压器初、次级线圈产生的感应电动势峰值是非常高的,如果这个电压直接加到电源开关管两端,电源开关管一定会被击穿。 为了便于分析,我们引进一个半波平均值的概念,我们把Upa、Upa-分别定义为变压器初、次级线圈感应电动势正、负半周的半波平均值。半波平均值就是把反电动势等效成一 个幅度等于Upa或Upa-的方波,如图2b中的Upa-所示。

对外部脉冲计数系统的设计计数器课程设计(单片机)

湖南工业大学 课程设计 资料袋 理学学院(系、部)2012 ~ 2013 学年第 1 学期 课程名称单片机应用系统指导教师周玉职称副教授学生姓名张思远专业班级电子科学102 学号10411400223 题目对外部脉冲计数系统的设计 成绩起止日期2013 年01 月06 日~2013 年01 月10 日 目录清单

湖南工业大学 课程设计任务书 2012 —2013 学年第1 学期 理学院学院(系、部)电子科学专业102 班级 课程名称:单片机应用系统 设计题目:对外部脉冲计数系统的设计 完成期限:自2013 年01 月06 日至2013 年01 月10 日共 1 周

指导教师(签字):年月日系(教研室)主任(签字):年月日

附件三 (单片机应用系统) 设计说明书 (题目) 对外部脉冲计数系统的设计 起止日期:2013 年01 月06 日至2013 年01 月10 日 学生姓名张思远 班级电子科学102 学号10411400223 成绩 指导教师(签字) 电气与信息工程学院 2012年12 月10 日

一、设计任务: 1.1 外部脉冲自动计数,自动显示。 1.1.1设计一个255计数器:0-255计数,计满后自动清0,重 新计数(在数码管中显示)。 1.1.2设计一个50000计数器:0-50000计数,计满后自动清0, 重新计数(在数码管中显示)。 注:要求首先采用PROTEUS完成单片机最小系统的硬件电路 设计及仿真;程序仿真测试通过后,再下载到单片机实训 板上执行。 二、硬件设计介绍: ※STC89C52单片机; ※6位共阴或者共阴极数码管; ※外部晶振电路; ※ISP下载接口(In system program,在系统编程); ※DC+5V电源试配器(选配); ※ISP下载线(选配) ※6个PNP(NPN)三极管 ※12个碳膜电阻 三、硬件设计思路 方案一:五个1位7段数码管,无译码器 方案二:五个1位7段数码管,译码器 方案三:1个6位7段数码管,译码器 方案四:1个6位7段数码管,无译码器 考虑实际中外围设备、资金、单片机资源利用率、节省端口数量,可实行性以及连接方便等问题,采用6为数码管(共阳或者共阴极)由于实际中没买到6位的,采用2个三位数码管并接组合一个6位数码管形式;由于实际P口驱动能力有限,故采用6位三极管增大驱动能力,已便足以使得6位数码管亮度明显正常工作,增加6个电阻限流保护数码管不被烧坏。让数码管a-g7段分别接P1.6—P1.0,6位位选分别接P2.5—P2.0。 方法一:共阴极数码管 硬件图1.0所示:通过npn管放大后,段选高电平有效,位选低电平有效

脉冲计数器分类及作用

成像硬件用于获得清晰有效的菌落图像,以便分析计数。现今的成像硬件有拍照成像的、扫描成像的。由摄像头拍照成像的优点是:成像速度快,能确保在0.5秒内获得菌落图像。由单反相机、卡片机拍照成像的优点是:能自动对焦、且像素分辨率一般更高,但其成像需要3~4秒的时间。 然而,拍照成像的致命弱点是:成像环境中的光线强度,无论是暗视野,还是背光,想要做到图像中心与边缘保持完全一致,相对来说比较困难。从而引起平皿上亮度的不一致。针对环境光干扰成像方面,通过对仪器照明系统进行精密的设计,上下光源采用了宽光带的LED柔光系统,并结合“悬浮式暗视野”成像系统,不仅能够消除玻璃培养皿的折射光斑,而且通过改变光比,使得菌落表面的皱折、凹陷、边缘的锯齿更富立体感。 扫描成像与在灯箱中营造均匀面光源不同,是将线光源通过移动变成面光源的,光线强度相对比较均匀,其均匀度通常比拍照灯箱的面光源要高一个数量级,从成像硬件的上解决了菌落目标的亮度不匀问题,但扫描只是平面的效果,不能展现培养基表层和深层的细微菌落,且不能展现菌落颜色等多方面的情况,对于观察分析而言构成了一定难度。随着科技发展,高清晰的CMOS、CCD的涌现加上高清晰的镜头,对菌落色彩的还原性、清晰度等都很高,能够解决某些复杂菌落计数问题。对于这类的产品越来越受到科研单位、检测部门、大专院校等的喜爱。 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解相关仪器仪表产品的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城城https://www.doczj.com/doc/835762351.html,/

脉冲宽度调制(PWM)技术

脉冲宽度调制(PWM)技术 在电力电子变流器控制系统中,对于控制电路的要求往往是除能够控制负载的加电与断电外,还应该能够控制加载到负载上的电压高低及功率大小。在大功率电力电子电路中,控制加载至负载上电压及功率的实用方法就是脉冲宽度调制(pulse width modulation, PWM)。 1. 面积等效原理 在控制理论中,有一个重要的原理,即冲量等效原理:大小、波形不相同的窄脉冲变量(冲量)作用在具有惯性的环节上时,只要这些变量对时间的积分相等,其作用的效果将基本相同。这里所说的效果基本相同是指惯性环节的输出响应波形基本相同。例如,下图1示出的三个窄脉冲电压波形分别为矩形波、三角波和正弦波,但这二个窄脉冲电压对时间的积分相等,或者说它们的面积相等。当这三个窄脉冲分别作用在只有惯性的同一环节上时,其输出响应基本相同。因此,冲量等效原理也可以称为面积等效原理。 从数学角度进行分析,对上图1所示的三个窄脉冲电压波形进行傅里叶变换,则其低频段的特性非常相近,仅在高频段有所不同,而高频段对于具有惯性负载的电路影响非常小。由此进一步证明了面积等效原理的正确性。 2. 脉冲宽度调制技术

依据面积等效原理,在电路中可以利用低端电源开关或高端电源开关,以一定频率的导通和截止连续切换,使电源电压U i以一系列等幅脉冲(或称为矩形波)的形式加载到负载上,加载在负载上的电源电压Uo波形如图2所示。 图2所示的矩形波的电压平均值: 此式表明在一个脉冲周期内,电压的平均值与脉冲的占空比是成正比的,于是,可以通过改变脉冲的占空比来调整加载到负载上的电压大小。当占空比小时,加载到负载上的平均电压就低,即加载到负载上的功率小;而占空比大时,加载到负载上的平均电压就高,加载到负载上的功率大。这种通过等幅脉冲调节负载平均电压及功率的方法称为脉冲宽度调制,也称为斩波控制。 采用脉冲宽度调制方式为负载供电,由于供电电压是脉动的,势必会产生出各种谐波。为了明确脉冲宽度调制技术对负载产生的影响,且考虑此分析结果便于以后章节引用,可将图2所示的等幅脉冲序列描述为 式中,G(t)为开关函数,其波形如图3所示。 在此式中,第一项DUi是等幅脉冲序列的直流成分,也即输出电压的平均值。可见,输出电

单片机实验 脉冲计数和电脑时钟程序

南昌航空大学实验报告 二0一一年九月二十九日 课程名称:单片微型机实验名称:脉冲计数和电脑时钟程序 班级: 080611 学生姓名:学号: 08061108 指导教师评定:签名: 一、实验目的 1、熟悉8031定时/计数功能,掌握定时/计数初始化编程方法; 2、熟悉MCS—51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧; 3、编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。 二、实验内容及要求 1、脉冲计数 对定时器0外部输入的脉冲进行计数,并送显示器显示。程序框图如下: 图1 二进制转换子程序 2、电脑时钟程序程序 程序框图如下:

图2 定时中断服务程序 三、实验步骤及操作结果 1、脉冲计数程序 (1) 当DVCC 单片机仿真实验系统独立工作时 1) 把8032CPU 的P3.4插孔接T0—T7任一根信号线或单脉冲输出空“SP ”。 2)用连续方式从起始地址02A0H 开始运行程序(按02A0后按EXEC 键)。 3)观察数码管显示的内容应为脉冲个数。 (2) 脉冲计数程序(源文件名:Cont .Asm )。汇编程序代码如下: ORG 02A0H CONT: MOV SP,#53H MOV TMOD,#05H ;初始化定时/计数器 MOV TH0,#00H MOV TL0,#00H SETB TR0 ;允许定时/计数中断 CONT1: MOV R2,TH0 ;取计数值 MOV R3,TL0 LCALL CONT2 ;调二转十进制子程序 MOV R0,#79H MOV A,R6 LCALL PWOR MOV A,R5 LCALL PWOR MOV A,R4 LCALL PWOR LCALL DISP ;调显示子程序 SJMP CONT1 ;循环 CONT2: CLR A ;清R4、R5、R6 MOV R4,A MOV R5,A MOV R6,A MOV R7,#10H CONT3: CLR C ;R2、R3左移,移出的位送CY MOV A,R3 RLC A

计数器工作原理

计数器工作原理及应用 除了计数功能外,计数器产品还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。下面我们举两个例子。在这两个例子中,我们分别用同步十进制加法计数器74LS160构成一个六进制计数器和一个一百进制计数器。 因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我们只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000、0001、0010、0011、0100、0101、0110、0111、1000、1001[图5-1]。 图5-1 我们保留哪六个状态呢?理论上,我们保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我们总是保留0000和1001两个状态。因为74LS160从100 1变化到0000时,将在进位输出端产生一个进位脉冲,所以我们保留了0000和1001这两个状态后,我们就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是0000、0001、0010、0011、0100和1001,也可以是0000、0101、0110、0111、1000和1001。我们不妨采用0000、0001、0010、0011、0100和1001这六个状态。 如何让74LS160从0100状态跳到1001状态呢?我们用一个混合逻辑与非门构成一个译码器[图5. 3.37b],当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于等于1001,74LS160就会预置成1001,从而我们实现了状态跳跃。

占空比可调的脉冲发生器

沈阳航空航天大学 课程设计报告 课程设计名称:微机系统综合课程设计课程设计题目:占空比可调的脉冲发生器 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师:张维君 完成日期:2012年7月15日

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1课程设计的内容和要求 (1) 1.2课程设计原理 (1) 1.3方案设计 (1) 1.4方案论证 (2) 1.5设计环境 (2) 第2章详细设计方案 (3) 2.1模块设计 (3) 2.2程序流程图 (4) 2.3硬件连线图 (6) 第3章调试及结果分析 (7) 3.1调试步骤及方法 (7) 3.2实验结果 (7) 3.3结果分析 (8) 参考文献 (9) 附录(源程序) (10)

沈阳航空航天大学课程设计报告错误!未指定书签。第 1章总体设计方案 第1章总体设计方案 1.1课程设计的内容和要求 一、课程设计内容: 具体内容如下: 1.用8255和8253产生脉宽可调的脉冲信号; 2.用实验箱上键盘中的两个按键调节脉冲; 3.按脉宽增加键脉宽逐渐增大,按脉宽减小键脉宽逐渐减小; 二、课程设计要求: 1.认真查阅相关资料; 2.独立设计、调试并通过指导教师现场验收; 3.撰写课程设计报告。 1.2 课程设计原理 根据课设要求,要实现通过键盘按键调节脉宽的脉冲信号发生器。本次设计中主要使用了8259可编程中断控制器,8255可编程并行接口芯片,8279键盘/显示芯片,8253定时/计数器以及部分连线来实现以上功能。利用8253芯片产生一定频率的脉冲信号,并用8255芯片以程序查询方式,检测该信号上高、低电平的持续时间,还要利用8259芯片的中断信号扫描信号,通过改变高电平的持续时间来调节占空比。最后,应用8279芯片将结果显示到数码管上。 1.3 方案设计 根据本次课程设计要求,用8253芯片计数器0产生低频率的方波信号,然后叠加一个矩形波,使之成为一个改变分频就可以改变占空比的矩形波。再将该矩形波作为计数器1产生的输入信号,使计数器1产生脉宽可调的脉冲信号,并把该脉冲信号接到8255的一个引脚(PB0),运用程序查询方式循环检测这个引脚高、低电平持续时间。利用芯片8259的中断功能循环扫描芯片8253计数器1的分频数,通过分频数计算占空比的值。在BX中存放分频数NUM,在CX中

高速计数器

5.3 高速计数器 前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。高速计数器HSC用来累计比PLC扫描频率高得多的脉冲输入,利用产生的中断事件完成预定的操作。 一、高速计数器介绍 S7-200系列PLC设计了高速计数功能(HSC),其计数自动进行不受扫描周期的影响,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz。高速计数器在程序中使用时的地址编号用HC n来表示(在非正式程序中有时用HSC n),HC (HSC)表示编程元件名称为高速计数器,n为编号。 表5-3 高速计数器的数量与编号表 1.高速计数器输入端的连接 每个高速计数器对它所支持的时钟、方向控制、复位和启动都有专用的输入点,通过中断控制完成预定的操作。每个高速计数器专用输入点如表5-4所示。 注意:同一个输入端不能用于两种不同的功能。但是高速计数器当前模式未使用的输入端均可用于其他用途,如作为中断输入端或作为数字量输入端。每个高速计数器的3种中断的优先级由高到低,各个高速计数器引起的中断事件如表5-5所示。

S7-200系列PLC高速计数器HSC0~HSC5可以分别定义为四种工作类型:带有内部方向控制的单相计数器;带有外部方向控制的单相计数器;带有增/减计数脉冲输入的双相计数器;A/B相正交计数器。 根据有无复位输入和启动输入,每种高速计数器类型可以设定为三种工作状态:无复位且无启动输入;有复位但无启动输入;有复位且有启动输入。 HSC0~HSC5可以根据外部输入端的不同配置12种模式(模式0~模式11),高速计数器的工作模式见表6-4。 表6-5 高速计数器的控制字节(位)

脉冲信号发生器与计数器

中南林业科技大学涉外学院 认识实习报告 名称:脉冲信号发生器与计数器 姓名学号: 系:理工系专业:电子信息工程班级:实习时间:实习地点:

目录 一、题目 二、任务和要求 三、内容 (1)如何用仪表测量 (2)如何焊接 (3)如何调试 四、结论 五、体会和收获

一、题目脉冲信号发生其与计数器 二、任务和要求 1:焊接电路板 2:装配电阻、安装短路线、装配芯片、装配按键S、装配电容、装配发光二极管、安装电源插座、测试 三、内容 (1)安装好后,目测检查,是否焊接好了。插入电源线,电源线额另一端接电源,一定不要接错了,印刷板上标有+的一端接电源+5V,另一端接 地。千万注意,电源不要接错了。打开电源,测试电源电压,测试芯片 上各脚电压。按下按键,试着短按和长按,观察现象。测试各发光二极 管(有亮的也有不亮的都测)的电压。短按时,每次产生一个脉冲,观 察到由发光二极管显示的二进制数加一。长按时,产生连续脉冲,观察 到由发光二极管显示的二进制数连续累加。 (2)加热焊件;移入焊锡;焊锡融化后,移开焊锡;移开电烙铁。注意掌握好时间,焊接好后,剪去焊盘外的导线 (3)打开电源,测试电源电压,测试芯片上各脚电压。按下按键,试着短按和长按,观察现象 四、结论 利用集成定时器(芯片 NE555)产生信号,当按键被单次单次地按下时,产生一个一个的单脉冲信号;当按键按下不动时,产生连续脉冲信号。可利用集成技术器(芯片4024)计数。其状态反映脉冲的个数。利用发光二级管显示已经计数的脉冲数,其中74LS04是驱动电路。 五、体会和收获 经过这次实习,了解到了如何焊接电路板、焊接电路板所需注意的事项、认识各种原配件和如何检测焊成后的电路板,同时培养了自己的动手能力和对电路这门课程的认知

台达eh2高速计数器的使用

1. 以脉冲输出来控制步进及伺服定位的应用中,脉冲+方向型式、正反转型式、 AB相型式等三种型式,为较常见的脉冲型式。以下为三种脉冲信号的型式:2. 脉冲+方向型式:即为1相1输出脉冲型式。Pulse(或CLK)为运转脉冲输入信号,DIR为控制步进或伺服电机的运转方向。如下所示: 正反转型式(CW/CCW):即为1相2输出脉冲型式。CW为正转脉冲信号,CCW为反转脉冲信号。如下所示: AB相型式:即为2相2输出脉冲型式。A与B相两信号相位角相差90°,为正交脉冲信号。如下所示: 以上三种为一般步进或伺服控制器所应用的输入及输出的脉冲型式,因此于高速计数器所支持的脉冲型式,也以此三种信号模式为主要输入信号的规格。 台达EH2系列的plc的高速计数器有4个HHSC0~3,计数的模式也得进行选择默认的事进行2倍频 1.选用一相一输入c241(HHSC0),J监视X0口的计数,X0口通过M1241(flag 标志位)进行加减计数。 2.选用1相两输入C246(HHSC0),X0口作为加计数,X1作为减计数,计数器的启动和复位可以用输入口X3X4,也可以用特殊辅助寄存器M1272M1273作为启动和复位,也可以通过高速计数器控制启动复位的寄存器,M1264和M1265全为一,关闭外部输入口的启动复位功能,让其作为普通的输入口使用。 3.选用2相2输入同一相2输入很相似但是存在三倍频和四倍频

2. 将步进或伺服控制器编码器反馈的脉冲信号提供给高速计数器进行计数的工作,可得到实际脉冲数,此脉冲数可应用在脉冲输出比较位置是否到达,还可进行脉冲计数到达判断的控制,以提升位置控制的精确度。 RJ11 RJ11接口和RJ45接口很类似,但只有4根针脚(RJ45为8根)。在计算机系统中,RJ11主要用来联接modem调制解调器。 RJ11通常指的是6个位置(6针)模块化的插孔或插头。这种接插件没有国际化的标准并且在通用综合布线标准中提及。而且,这个名称往往也用于4针版本的模块化接插件,从而引起混乱。

实实验二 脉冲产生电路及计数器的使用1

实验二脉冲产生电路及计数器的使用 一、实验目的 1、掌握使用门电路、555定时器构成脉冲信号产生电路的方法。 2、掌握中规模集成计数器的使用及功能测试方法。 二、实验设备与器件 1、数字电路实验箱。 2、集成门电路:CC4011×1 3、电阻器: 100Ω×1、1MΩ×2、2MΩ×1、 4、电容器:0.01μF×1、0.1μF×1、1μF×1 5、555定时器×1 6、集成计数器:CC40192(74LS192)×2 16 15 14 13 12 11 10 9 V D D D0 CR BO CO LD D2 D3 CC40192(74LS192) D1Q1Q0 CP D CP U Q2 Q3V S S 1 2 3 4 5 6 7 8 图中:CP U——加法计数时钟脉冲输入端, CP D——减法计数时钟脉冲输入端, LD——置数端,CR——清除端, CO——非同步进位输出端,

BO——非同步借位输出端, D0、D1、D2、D3——数据输入端, Q0、Q1、Q2、Q3——数据输出端。 CC40192(74LS192)的功能如下表一所示: 表一 三、实验过程 1、依图一所示带RC延迟电路环形振荡器原理图,在数字电路实验箱上,用1片CC4011、100Ω及2MΩ电阻各1个、0.1μF电容器1个接成脉冲产生电路的实际电路。 图一 图一电路中,R为2MΩ电阻,R S为100Ω电阻,C为0.1μF电容器。电路利用电容C的充放电过程,控制d点的电位,从而控制非门的自动启

闭,形成多谐振荡。改变R和C可改变电路输出的振荡周期T=2.2RC。 (1)请画出带RC延迟电路环形振荡器的实际接线图。 (2)电路是否一次接线成功且实现应有功能?若不是,请将遇到的情况记下,并说明解决的方法。

单片机方波脉冲计数控制 设计说明书

桂林电子科技大学微机综合设计 设 计 报 告 指导老师:吴兆华 学生:fdb 学号:1000150310

目录 一、设计题目 (2) 二、设计内容与要求 (2) 三、设计目的和意义 (2) 四、设计任务分析 (2) 五、系统硬件电路 (3) 5.1 电路原理图绘制 (7) 5.1.1 电路图绘制要点 (7) 5.1.2 硬件电路制作 (8) 5.2 硬件电路说明 (8) 5.2.1 单片机基本知识 (8) 5.2.2 AT89S51单片机介绍 (11) 5.2.3最小系统控制部分 (14) 5.2.4 数码管显示电路部分 (17) 六、软件设计 (20) 6.1程序流程图 (20) 6.2程序源代码 (22) 八、调试过程 (27) 8.1 硬件调试 (27) 8.1.1 静态调试 (27) 8.1.2 动态调试 (27) 8.2 软件调试 (29) 8.3 调试收获与改进意见 (29) 九、设计总结 (30) 十、参考文献 (31)

一、设计题目 用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲。 二、设计内容与要求 设计方波脉冲控制显示系统,用51单片机控制输出方波输出,频率范围为1~100Hz,并用数码管显示每分钟计数的脉冲数和当前频率,用两个按键分别控制频率的增减,同时用一个复位键,可以快速回到起始状态。 三、设计目的和意义 1、通过方波脉冲控制系统的设计,将单片机原理课上所学的知识融会贯通、加深理解。培养独立设计、制作和调试单片机应用系统的能力,熟悉单片机应用系统的软硬件调试方法和系统的设计开发过程,为今后的工作实践活动夯实基础。 2、通过方波脉冲计数控制系统的设计,掌握51系列单片机的内部定时/计数器的功能和使用方法;掌握单片机外部中断的应用和程序的编程方法;掌握数码管的使用和编程方法。通过设计方案分析、选择和设计,设计并搭制硬件电路,编写控制程序等一系列工作,掌握单片机应用的基本方法,更重要的是学会一种科学的解决问题的逻辑思维,和完成任务的方法。 3、培养一个解决困难问题的积极心态,为今后在工作上奠定坚实的基础。 四、设计任务分析 设计题目要求用单片机控制可测方波脉冲1~100Hz,并显示每分钟计数的脉冲数。由要求可知道,任务包括方波的产生和方波脉冲数的显示两个部分。方波由单片机内部定时器来产生,通过改变其定时初值来改变方波的频率,在硬件电路中可利用按键来控制频率的增减。方波的波形利用示波器来观察。 由此,可有几个方案来实现题目的要求。 方案一:51单片机最小系统,外接上一个数码管显示电路用以显示每分钟的脉冲数。数码管的断码选择端直接与单片机的P0口连接,位码选择端与P2口连接。利用改变定时初值的方式来改变方波频率。这个方案的优点是硬件电路简单,节省元器件,程序编写容易。但是缺点也明显,只用一个数码管,无法显示当前的脉冲频率,而且无法用硬件实现频率的+1,-1的变化。虽然实现了题目的基本功能,但是功能简单有限,也就达不到课程设计的目的了。以下是方案一的电路图:

相关主题
文本预览
相关文档 最新文档