‘壹’ 单片机定时/计数器实验--脉冲计数器
这是个简易频率计,程序如下:
;---------------------------------
ORG0000H
JMPSTART
ORG000BH
JMPT0_INT
;---------------------------------
START:
MOVTMOD,#51H;/*01010001T1计数,T0定时*/
MOVTH0,#HIGH(65536-50000);50ms@12MHz
MOVTL0,#LOW(65536-50000)
MOVTH1,#0
MOVTL1,#0
SETBTR0
SETBTR1
SETBET0
SETBEA
MOVR7,#20
SJMP$
;---------------------------------
T0_INT:;50ms执行一次
MOVTL0,#LOW(65536-50000);重新写入初始值
MOVTH0,#HIGH(65536-50000);50ms@12MHz
DJNZR7,T0_END
MOVR7,#20
MOVP1,TL1
MOVP2,TH1
MOVTL1,#0
MOVTH1,#0
T0_END:
RETI
;---------------------------------
用PROTEUS仿真如下图。
图中信号的频率是5000Hz,显示的是16进制,这是题目中要求的形式。
‘贰’ 单片机计数器编程如何计数脉冲,用C语言
每50ms来了多少脉冲,那定时器就不能50ms中断一次,尽量快的中断会比较好,2个变量计数,一个计算50ms,一个累加脉冲
‘叁’ 单片机定时/计数器实验2-脉冲计数器
这是个简易频率计,程序如下:
;---------------------------------
ORG0000H
JMPSTART
ORG000BH
JMPT0_INT
;---------------------------------
START:
MOVTMOD,#51H;/*01010001T1计数,T0定时*/
MOVTH0,#HIGH(65536-50000);50ms@12MHz
MOVTL0,#LOW(65536-50000)
MOVTH1,#0
MOVTL1,#0
SETBTR0
SETBTR1
SETBET0
SETBEA
MOVR7,#20
SJMP$
;---------------------------------
T0_INT:;50ms执行一次
MOVTL0,#LOW(65536-50000);重新写入初始值
MOVTH0,#HIGH(65536-50000);50ms@12MHz
DJNZR7,T0_END
MOVR7,#20
MOVP1,TL1
MOVP2,TH1
MOVTL1,#0
MOVTH1,#0
T0_END:
RETI
;---------------------------------
用PROTEUS仿真如下图。
图中信号的频率是5000Hz,显示的1388是16进制,这是题目中要求的形式。
‘肆’ 51单片机 用LCD12864显示的脉冲计数器该怎么做
1,整理脉冲信号,到可接受范围,用运放,三极管等。
2,根据脉冲最高速率决定运算速率。
3,用触发器捕捉脉冲,输入单片机计数。
4,LCD驱动显示
大概就这些思路
‘伍’ 用单片机对外来脉冲计数(C语言程序)
要设定16位定时读数器T0或T1,工作方式1、2、3,计数值最大为65536=0xFFFFH,即给高低位分别装入计数初始值TH0(TH1)=FFH,TL0=FFH,可设为中断函数,当计数溢出后自动引发中断,在程序运行时调用即可~
键盘设置到处都有,搜一下就行了
‘陆’ 51单片机:利用计数器T1(P3.5)记录脉冲个数,每计满100个脉冲,使n++,然后重新计数 用c51程序怎么写
1,初始化T1为计数器模式,可以用8位自动重装,这儿设计到初值的计算,没计数100次中断一次
2,写中断服务程序,里面直接n++
‘柒’ 51单片机如何用计数器检测脉冲信号(高低电平),程序怎么做!没有思路!
可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断。进入计数服务中断程序。
如果有脉冲信号,经过电容微分后,在下降沿会产生一个向下的尖端脉冲,电阻R2是作为一个偏置,当有向下的尖端脉冲来后,反相端的电压会低于同向端的电压。
从而比较器输出高电平,这个电路图要注意的两个参数是,1,比较器的选择,你可以选LM339,要加上拉电阻。
(7)单片机脉冲计数器程序扩展阅读:
通向输入端的那两个电阻是用来产生一个参考电压的,电容用来微分你的PWM波,你可以用示波器在反向输入端观察微分信号。
主程序中可根据不同运行状态调用部分子函数。需要开机按键设置时,优先执行按键程序,其它需要设置以后才能运行的子函数暂时不调用,减少单片机被占用过多。
设置后,不需要按键了,就不调用按键程序了。如果需要随时按键都要反应,可以把按键接到外部中断上,以中断方式响应按键,不受其他子函数影响。
‘捌’ 求单片机脉冲计数程序
,显示的是每分钟的脉冲个数。
----
需要等待一分钟后,显示出来吗?
对1Hz的脉冲计数,显示的数字,不就是 60 吗?
定时5MS,是什么意思?