⑴ 51单片机脉冲计数
你好!
那就用外部中断来检测吧,速度快精度高
void outside() interrupt 0
{
T0count++;
}
然后将计数,通过液晶显示出来就可
⑵ 用C51单片机统计脉冲次数
举例解答如下:
利用定时器T1,对外部脉冲(P3.5引脚输入)计数,
每输入200次脉冲产生一次中断,累加器+1,
选用T1,计数器模式,方式2(自动重装初值8位计数器),
TMOD
=0110
0000B
=60H
计数初值
=2^8
-200
=256
-200
=56d
=38H,
汇编程序如下:
;
;
主程序:
MAIN:
CLR
A
;
;
累加器清零
MOV
TMOD,
#60H
;
;置T1计数模式、方式2
MOV
TL1,
#38H
;
;
写入计数初值
MOV
TH1,
#38H
;
;
写入留待自动重装的初值
SETB
TR1
;
;
启动T1计数
SETB
ET1
;
;
允许T1中断
SETB
EB
;
;
CPU开中断
SJMP
$
;
;
等待一轮对外部脉冲计数溢出中断
;
;
以下是T1中断处理子程序:
T1_INT:
INC
A
;
;
累加器加1
RETI
;
;
中断返回
⑶ 如何用单片机输出脉冲信号
利用单片机产生脉冲信号有多种方法。最简单的方法,就是在单片机的程序中对一个引脚反复置1,清0,置1,清0....,这个引脚上就会出现脉冲信号。
当需要产生指定周期和宽度的脉冲信号时,通常使用单片机中的计数器来实现:给计数器赋于不同的计数初值,在计数到0时产生中断去置1或清0某引脚即可。
⑷ 求单片机脉冲计数程序
,显示的是每分钟的脉冲个数。
----
需要等待一分钟后,显示出来吗?
对1Hz的脉冲计数,显示的数字,不就是 60 吗?
定时5MS,是什么意思?
⑸ STC12C5A60S2单片机如何接收计数脉冲信号脉冲信号需要电压范围吗对外部脉冲信号的要求是什么
STC12C5A60S2中有2个定时/计数器T0和T1,对应外部引脚是P3.4和P3.5,你可以用其中一个定时/计数器接收脉冲信号。以T1定时器为例,把需要计数的脉冲接在P3.5口,编程时把TOMD定时器中的TOMD.6设置为1(即设为计数工作模式),通过读取寄存器TH1,TL1值得到脉冲的计数值。需要注意的是最大计数值为65535,超过计数范围则翻转,启动计数前先把TH1,TL1清零。脉冲信号的电压范围是0~5V,脉冲宽度不小于1个机器周期。如果脉冲信号和单片机不共地,最好用光耦隔离。
⑹ 51单片机怎么实现每50个脉冲计一次数
这个实现还是挺简单的
可以使用外部中断方式接收脉冲信号,将外部中断设置为下降沿触发,每次产生中断在中断处理程序中做一个累加的变量(i),当i值累加到50的时候 再对计数50次脉冲的变量(k)加1,再清i变量为0。
⑺ 单片机:车轮每转一圈产生一脉冲信号,通过单片机完成此脉冲信号计数及显示
电路比较简单,程序原理,设置定时器/计数器为16位外部计数状态,主程序中不断地读取计数器数据并显示即可。
51单片机程序大致如下:
TMOD=0x05;
TH0=0;
TL0=0;
TR0=1;
while(1)
{
a=TH0*256+TL0;
display(a);
}
⑻ 51单片机对脉冲计数的问题
破题:
“脉冲够10次,"->既然没有时间的限制,则推断应该为连续的10个脉冲。
“点亮一个LED,"->应该有多个LED,每当有连续的十个脉冲,则多点亮一个LED。
"脉冲不够10次,一切回零,”->没有脉冲了,或者说脉冲连续不上了,则熄灭所有LED。
”等待下次脉冲计数。"->既然已经开始等待下次脉冲计数了,就说明,在脉冲消失的同时应该熄灭所有灯,不需要继续向后延续10个周期。
分两个理解:
一、点亮过程:
从第0秒算起,以4秒为一个周期,至第40秒,如果存在“连续”的十个脉冲,点亮LED1。
继续计算,至第80秒,如果存存在“连续”的十个脉冲,点亮LED2。
.......以此类推,直至点亮LEDn。
二、熄灭过程:
只要有一次,在4秒的周期内没有脉冲,则判断为,不够十次!
不知道项目是谁给你的,最好还是问问提出者,否则一旦出了问题,你的工作就白做了!
⑼ 51单片机如何用计数器检测脉冲信号(高低电平),程序怎么做!没有思路!
可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断。进入计数服务中断程序。
如果有脉冲信号,经过电容微分后,在下降沿会产生一个向下的尖端脉冲,电阻R2是作为一个偏置,当有向下的尖端脉冲来后,反相端的电压会低于同向端的电压。
从而比较器输出高电平,这个电路图要注意的两个参数是,1,比较器的选择,你可以选LM339,要加上拉电阻。
(9)单片机脉冲信号计数扩展阅读:
通向输入端的那两个电阻是用来产生一个参考电压的,电容用来微分你的PWM波,你可以用示波器在反向输入端观察微分信号。
主程序中可根据不同运行状态调用部分子函数。需要开机按键设置时,优先执行按键程序,其它需要设置以后才能运行的子函数暂时不调用,减少单片机被占用过多。
设置后,不需要按键了,就不调用按键程序了。如果需要随时按键都要反应,可以把按键接到外部中断上,以中断方式响应按键,不受其他子函数影响。