51单片机如何用计数器检测脉冲信号(高低电平),程序怎么做!没有思路!

作者&投稿:乾清 (若有异议请与网页底部的电邮联系)
~

可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断。进入计数服务中断程序。

计数原理:

例如:可以用计数器完成计数计件打包,生产线每传送一件产品,就用光感传感器产生一个脉冲,送单片机计数,当计满100个数时,产生中断,进入产品打包工序。

      具体程序可以自己设计。也不是很难,        QQ: 826870446




单片机计数器怎样累计?
如图所示,当X0每次有信号,计数器C0计数加一,数据寄存器D0也加一,用D0作为累计计数。当C0计数到20,C0常开触点导通,M0输出并自锁,同时C0复位清零。T0开始计时,此时M0常闭触点不通,因此即使X0有信号,C0和D0也都不会计数,当T0计时到5s,断开M0输出,并解除自锁,此时,就可以重新开始计数了。...

单片机怎么快速输入数字每次只可以输一位
1、首先需要设置一个计数器,用来记录当前输入的是第几位数字。初始值为0。2、当用户按下数字按键时,单片机会检测到按键的信号,并将输入的数字存储到一个变量中。3、将输入的数字存储到一个数组中,数组下标为计数器的值。4、计数器加1,表示已经输入了一位数字。判断计数器的值是否等于所需输入的...

怎么用单片机实现一个计数器
M = 0 ,预置数 = 1011 = 11 ,即计数器的初始值;计数器最大值:1001 = 9 ;计数范围:11、12、13、14、15、0、1、2、3、4、5、6、7、8、9,共15个状态,是15进制计数器。状态转换图就是画15个圈,头尾相连的循环,圈内标出数值:1011、1100 ~ 0 ~ 1001 。M = 1 ,初始值...

51单片机如何用计数器检测脉冲信号(高低电平),程序怎么做!没有思路...
可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断。进入计数服务中断程序。如果有脉冲信号,经过电容微分后,在下降沿会产生一个向下的尖端脉冲,电阻R2是作为一个偏置,当有向下的尖端脉冲来后,反相端的电压会低于同向端的电压。从而比较器...

简述8051单片机的定时\/计数器的四种工作方式的特点。
C\/T:C\/T为0就是用作定时器(开关往上打),如果C\/T为1就是用作计数器(开关往下打)。GATE:GATE后非门后是一或门,GATE=0时只要TR1=0则开关闭合。2、是16位的定时\/计数方式,将M1、M0设为01即可,其它特性与工作方式0相同。3、自动装入预置数的工作方式。当溢出后,T(0\/1)高、低八位...

单片机为什么有定时\/计数两种工作方式?
2. 每接收到一个计数脉冲,加法计数器的值会增加1。当计数器达到预设的满值时,会发生溢出,计数器将从0重新开始计数,并且设置相应的溢出标志位(TF0或TF1)。3. 在定时模式下,计数器的输入脉冲来源于晶振的12分频信号。例如,如果晶振频率为12MHz,那么计数器每增加1,对应的时间间隔可以根据计数...

有关单片机定时器的使用和定时器的介绍
用作计数器:此时设置为计数器模式,外部事件计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。定时器的使用 定时器的使用主要分为五个步骤,首先是要打开中断的可以允许的位置,主要是对IE寄存器的控制,...

关于C51单片机计数、器计时器的用法
单片机的计数器可以说是一个傻瓜计数器,你要设置它的工作方式、计数初值、开中断并开启计数器,它才会工作。开启后,它会以你设置的工作方式(计数方式)从你设置的初值开始计数,直到计数值溢出,这时产生计数器中断,执行计数器中断服务程序(一般要重新设置初值),完成后再由中断服务程序给的初值开始...

单片机计数器是怎么计数的
有定时器和计数器模式的区别,所谓定时器,就是对机器内部频率计数,可以做时钟,如果为计数器模式,就是对P3.4,P3.5所接受到得脉冲计数,可以设置低电平或者下降沿触发……

单片机计数初值的计算
1 可以按定时时间的计算公式, 计算出定时器的时间常数X:定时时间T=(2的N次方-X)12\/单片机晶振频率 2 N为定时器的工作方式:方式0时,N=13 方式1时,N=16 方式2时,N=8 3 根据定时时间和工作方式,计算出时间常数X 把X转换成二进制数,高8位送给TH1,低8位送给TL1,就可以启动定时器开始...

遂宁市13318752776: 51单片机如何用计数器检测脉冲信号(高低电平),程序怎么做!没有思路! -
瞿成银治: 可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断.进入计数服务中断程序.计数原理:例如:可以用计数器完成计数计件打包,生产线每传送一件产品,就用光感传感器产生一个脉冲,送单片机计数,当计满100个数时,产生中断,进入产品打包工序. 具体程序可以自己设计.也不是很难, QQ: 826870446

遂宁市13318752776: 怎样用51单片机的计数器0来计一个脉冲宽度 -
瞿成银治: 将计数器设置成计数模式,时钟输入选择外部输入,也就是你那个脉冲作为时钟,开始计数即可

遂宁市13318752776: 怎样用51单片机计数器测量一个高电平脉冲的宽度,c语言程式,高电平开始计数,低电平停止并读取计数值.谢 -
瞿成银治: 设你的P0.0接入脉冲,用T0定时计数器计数: TR0 = 0; while(P0.0 == 0) //当检测到高电平,开启计数器 TR0 =1; while(P0.0 == 1) //当脉冲变低,关闭计数器 TR0 = 0;然后直接读取 TH0和TL0中的计数数据,再乘以你的计数时间间隔(每计一个数的时间,跟你的时钟频率有关系).

遂宁市13318752776: 51单片机的计数器怎么用 -
瞿成银治: 首先将定时器设置为计数器模式. 其次,将外部脉冲接入到相应定时器的输入端. 这样就可以使用计数器了.

遂宁市13318752776: 如何使用单片机内部定时计数器来测量一脉冲信号的高电平宽度 -
瞿成银治: 分别用脉冲的上升沿和下降沿出发单片机,上升沿给出中断1开始计数,下降沿给出中断2停止计数,最后换算出高电平宽度=计数周期数*一个计数的时间

遂宁市13318752776: 51单片机的计数器如何来记录外部送给单片机的脉冲的C程序 -
瞿成银治: #include "reg51.h" unsigned char time; void main() { ex0=1; //开外部中断 it0=1;//设置边沿触发 ea=1; //开放全局中断 while(1) { p0=~time; // 通过p0口的led显示出计数值(二进制形式) } }void int_0() interrupt 0 { while(int0==0); time++;//每按下一次计数加1. }

遂宁市13318752776: 用51单片机做频率计实物时那个测量脉冲怎么弄 -
瞿成银治: INT0(INT1)口接脉冲信号,开通INT0(INT1)上升沿或下降沿中断,中断到来时利用T0或T1定时器计算I输入信号2个脉冲之间的脉宽时间,可以达到测量脉冲频率的目的.

遂宁市13318752776: 51单片机 对外部脉冲计数是用中断口INT0还是定时计数器T0实现?它们有什么区别吗? -
瞿成银治: 【1】用T0计数实现.根据计数次数要求,设置计数初值.溢出后引起一次中断,进入服务程序. 【2】用INT0中断实现,检测管脚电平变化,适合低频周期脉冲个数计数,这里可设为下降沿触发,每周期引起中断一次,累加次数,结合定时器还可测周期. 两种方案均可,高速用Ti更高效,低速也可用/INTi以节省定时计数资源.

遂宁市13318752776: 如何用单片机输出脉冲信号 -
瞿成银治: 利用单片机产生脉冲信号有多种方法.最简单的方法,就是在单片机的程序中对一个引脚反复置1,清0,置1,清0....,这个引脚上就会出现脉冲信号. 当需要产生指定周期和宽度的脉冲信号时,通常使用单片机中的计数器来实现:给计数器赋于不同的计数初值,在计数到0时产生中断去置1或清0某引脚即可.

遂宁市13318752776: 单片机外部脉冲宽度测量(外部脉宽变化的) 如何利用单片机内部计数器来测出其中一个脉冲的宽度 及程序? -
瞿成银治: 脉宽可理解为高电平或低电平的持续时间长度,而单片机计数刚好能计算时间长度.首先要计算出单片机的指令周期,即每次计数+1的时间.用两个计数器分别监视某一引脚,分别计数高电平和低电平的时间长度(用if()判断就可以了).因为脉宽是周期性,所以记得保存数据和清零重新计数,可以计算出几次的平均脉宽.上述方法适用于普通单片机(如51),当然其它也适用,但有些单片机有自己特有的功能来实现外部脉冲的测量.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网