⑴ 单片机定时器/计数器主要有什么作用
作用:可以计时,计数,可以产生时间中断,是系统中比较实用的工具。
大部分单片机提供2~3个定时/计数器,少数提供1个或4个定时器。有些定时/计数器还具有输入捕获、输出比较和PWM(脉冲宽度调制)功能,如AVR单片机。
有的单片机还有专门的PCA(可编程计数器阵列)模块和CCP(输入捕获输出比较PWM)模块,如PIC和Philips的部分中高档单片机。利用这些模块不仅可以简化软件设计,而且能减少占用CPU的资源。现在不少单片机还提供了看门狗定时器(WDT),当单片机“死机”后可以自动复位。
定时/计数器
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
以上内容参考:网络-定时器中断
⑵ 51单片机计数器怎么用
51单片机是基础入门的一个单片机,还是应用最广泛的。
51单片机的定时/计数器的概念
单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流逝,因此,单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的。
51单片机的定时/计数器的工作原理
加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。
作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12;
作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2微秒。;计数器的最高频率一般是时钟振荡频率的1/24;
由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序。所以说,定时器/计数器是单片机中效率高而工作灵活的部件。
⑶ 单片机定时器、计数器怎样使用
工作方式0:13位方式由tl的低5位和th的8位构成13位计数器(tl1的高3位无效)。你说的例子应该是:
假设t=1111
1111
1100
1101
那么th1=1111
1111
tl1=1100
1101
t=1111
1111
0
1101
(tl的高三位110无效去掉)
定时计数器按系统时钟(c8051f)或系统时钟的12分频(8051)计数的时候是数数再跟你写的t值比较,如果一样了,看是不是要中断或其它操作,不是t值进位,你理解有问题。
这种工作方式很少要,一般用方式一代替了。16进制好用。
⑷ 单片机计数器怎么使用
你想用74h系列的计数器来定时,想法是好的,可不容易实现,还不如用单片机定时精确呢。关键的用74h系列的计数器来定时的时钟脉冲呀,这脉冲从哪来的,怎么能保证脉冲的频率(即周期)精确呢,这脉冲不精确就是空想了。如果用晶振来振荡产生,那精确度还是取决于晶振的频率,而单片机的时钟脉冲就是由晶振产生的呀,同样取决于晶振的频率吗,那又何苦在外部用74h系列的计数器来定时呢,这不是自找麻烦吗,也不能提高定时的精度吗,反倒是增加了外部电路,增加了硬件成本,电路变得复杂,所以,不论从哪个角度讲都是不可取的,还是在单片机机的程序上想办法提高定时精确度,完全是可以解决的,一点都不难,比用你的办法要简单多了。
⑸ 单片机定时器 计数器的工作原理,及如何实现定时 计数功能
原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
两个字节最大数据为65536(十进制),或者0FFFFH(十六进制)
高字节为TH0=(65536-X)/256,就是除以256后的整数部分;
低字节为TL0=(65536-X)%256,减去高字节后余下的部分;
定时/计数器
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
以上内容参考:网络-定时器中断
⑹ 计数器如何使用
问题一:计数器怎么使用 计数器一般为两串,分为铃和杵,每串各十颗珠子,以铃为百数位,以杵为千数位,108粒的念珠捻一圈在铃上从下往上推一颗珠子,代表一百遍,推十颗后在杵上推一颗代表千位,这时把铃上的珠子复位,重新开始计数,当杵上的十颗珠子从下往上推完后为一万遍,这时就可用到卡子了,从佛头一侧推一颗珠子卡上,代表一万,一串108粒的念珠转一圈为100万遍,因为一般都是取整的,8万遍为补缺!
问题二:PLC中的计数器如何使用? I0.0...这些项I打头的都是输入触点,开关量CU,CD相当于计数器技术端,R是复位,PV是预设值,就是技术到PV以后计时器位导通或者关断
问题三:C语言中的计数器怎么用啊?给举个例子 计数器?? 你说的是不是C51编程? 计数器是单片机上的一段区域,是个8位的,叫做定时器/计数器。具体情况上网查查!! 计数器的编程涉及到底层方面的东西!!建议你先看看单片机!!
问题四:PLC中 计数器怎么使用 可以实现。计数器值设为2。按一下按钮,计数加1。计数值为了1时,Y0动绩;计数值为2时,Y0、计数器复位。不过,三菱还有一个专用指令,可实现的你的要求,即ALT指令。
问题五:客流量计数器是怎么使用的? 客流量计数器的使用一般在一个出入口安装一个垂直向下的设备即可,精确度高。一般基于视频的客流统计,都可以双向计数。
问题六:西门子PLC计数器怎么用 Cxxx常数 (C0 ?C255)字
CU (LAD)使能位布尔
CU (FBD)I, Q, M, SM, T, C, V, S, L, 使能位布尔
R (LAD)使能位布尔
R (FBD)I, Q, M, SM, T, C, V, S, L, 使能位布尔
PVVW, IW, QW, MW, SMW, LW, AIW, AC, T, C, 常数, *VD, *AC, *LD, SW整数
在STL中,CTU复原输入是堆栈顶值,向上计数输入是装载在第二个堆栈位置的值。
问题七:什么是小学生用的计数器 一种小学生计数器,包括计数珠、拱形穿珠杆、底座和挡板,计数珠可拨动地串在拱形穿珠杆上,拱形穿珠杆的两端固定在底座上,挡板位于拱形穿珠杆的拱形内,其特征在于:挡板通过一滑动机构可滑动地设在底座上。
问题八:手指手动计数器怎么用 定弘法师讲过,十念法,十句佛号按一下,数字是10就是100句佛号,数字是100就是1000声佛号,数珠也是,十句佛号一拨珠,一串108,就是1080声佛号!祝学佛快乐!法喜充满!阿弥陀佛!
问题九:佛珠计数器怎么用 佛珠有108颗(不算佛头和格珠),念诵一圈是108遍。
佛珠每念诵一圈,我们在【金刚铃】计数器上就拨动一个银珠,表示念诵了一个108遍,所以用【金刚铃】代表百。
【金刚铃】的十个银珠拨完以后,这时候就拨动【金刚杵】计数器上的一个银珠,表示念诵了十个108遍,所以用【金刚杵】代表千。
问题十:请教,藏式佛珠上的计数器和卡子怎么使用? 计数器,一边记百,一边记千,卡子记万,常用的是这种计数方法。举例如下:
假如您持诵观世音菩萨圣号,每念一声,手指就拨过一个念珠,108颗的佛珠念诵一圈就是108遍,8遍补缺,算念诵一百遍,这时候,您就要把计数器您决定记百的一边拨出一个记子,以此类推,当您念了十圈也就是一千声圣号的时候,您的百位计数器正好是十个记子都拨了上去,这个时候把百位的记子还原,然后将另外一边记千的计数器的记子,拨出一个,证明您念诵了一千遍。当千位的记子十个都拨了出来,说明您念满了一万遍,这时常把千位记子还原,然后将卡子从佛珠的佛头往下移一颗佛珠,代表一万遍。当您的卡子移动一整圈佛珠后,您的圣号就念诵了108万遍,也可以8万补缺,算100万遍。
顺便谈谈藏式佛珠的计数器,卡子。 *** 持咒,念佛很多,而且许多 *** 的上师都给 *** 规定了数量, *** 也有发愿念诵多少咒语,佛号的习惯,那么统计这个数量,就要用到计数器和卡子。实际上计数器和卡子的用法非常个性化,这也是藏式佛珠的迷人之处,您可以按您的习惯来确定使用的方法,如果发愿念诵有不同的佛号或咒,那么还可以用几个不同的卡子来分别计数用以区别。当您发愿念满佛号,咒语之后,可以用很个性的材料,比如佛家的七宝,或打个金刚结,或挂上什么小东西,来代表您曾经在这串佛珠上念诵了多少遍佛号,非常个性化。这也是许多 *** 手中的佛珠上五花八门挂饰,配饰的原因之一。
⑺ 单片机 计数器值 怎样应用
这个毕业设计真是太简单了,我告诉你个思路,其余的你不明白的给我留言,就是把光信号转化成电信号,计数就是通过中断方式来计数的,当技术到100时候,控制一个引脚输出控制灯的点亮,时间自己控制,用定时器最好。led显示就更简单了,将计数的值显示出来,只要知道led的十个数字显示段码就可以了,应该用两个数码管查询显示,
注意:光信号转换成电信号可能很微弱,你要通过一个放大器或三极管来实现。
⑻ 51单片机计数器如何使用,我想要一个简单一点的程序
将定时器0或者1设置为计数器模式就可以了。举例如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#06H
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB TR1
SETB ET1
SETB EA
SJMP $
T0ISR:
INC A
MOV P1,A
RETI
END
⑼ at89c51单片机计数器的使用,汇编语言,
P1,当做按键输入,低电平有效;
P0,计数输出,低电平发光。
KEYSTA EQU P1.0
KEYADD EQU P1.1
KEYSUB EQU P1.2
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV R2, #255
LOOP:
MOV P0, R2
JB KEYSTA, LOOP1
CALL DELAY
JB KEYSTA, LOOP1
JNB KEYSTA, $
CPL F0
SJMP LOOP
LOOP1:
JNB F0, LOOP2
JB KEYADD, LOOP2
CALL DELAY
JB KEYADD, LOOP2
JNB KEYADD, $
DEC R2
SJMP LOOP
LOOP2:
JNB F0, LOOP
JB KEYSUB, LOOP
CALL DELAY
JB KEYSUB, LOOP
JNB KEYSUB, $
INC R2
SJMP LOOP
DELAY:
MOV R6, #20
DJNZ R7, $
DJNZ R6, $ - 2
RET
END
试验成功。
⑽ 单片机定时器计数器如何使用
使用12MHz晶振,其机器周期为1us
欲产生5000us周期方波,只需在p1.0以2500us时间交替输出高低电平
1.T0为方式0,则M1M0=00H。使用定时功能,C/T=0,GATE=0。T1不用,其有关位设为0。因此,TMOD=00H
2.方式0为13长度计数(TL0高3位不使用),设计数初值为X,则(8192-X)*1us=2500us,得X=5692D。X=1011000111100B。因为TL0高3位不用,所以10110001-00011100B得TH0=B1H,TL0=1CH
3.由控制寄存器TCON的TR0位来控制定时的启动和停止,TR0=1启动,TR0=0停止
C语言程序如下(编译器Keil C)
#include<REG51.H>
sbit FB=p1^0;
void initial(void)
{
TMOD=0x00;
TH0=0xb1;
TL0=0x1c;
IE=0x00;
TR0=1;
}
void main(void)
{
initial();
for(;;)
{
while(!TF0);
TF0=0;
FB=!FB;
}
}
汇编程序如下
ORG 0000H
AJMP START
ORG 30H
START: MOV P1.0,#0FFH
MOV TMOD,#00H
MOV TH0,#0B1H
MOV TL0,#1CH
SETB TR0
LOOP: JBC TF0,NEXT
LJMP LOOP
NEXT: CPL P1.0
MOV TH0,#0B1H
MOV TL0,#1CH
LJMP LOOP
END