① 秒表计时器但单位如何换算,如3秒88
我来回答你这个问题,1秒等于1000毫秒(毫秒到秒是千进制),你的问题“3秒88”应该是百进制,是3秒再加百分之八十八秒,可以读数“3.88秒”,还差百分之十二秒才够4秒钟,转换千进制读数是“3.880秒”,即3秒又880毫秒。还差120毫秒才够4秒。 1000-880=120)
② 打点计时器的一般算法
原理: 电磁打点计时器是一种使用交流电源的计时仪器,其工作电压是4~6V,电源的频率是50Hz,它每隔0.02s打一次点。电火花计时器是利用火花放电在纸带上打出小孔而显示出点迹的计时仪器,使用220V交流电压,当频率为50Hz时,它每隔0.02s打一次点,电火花计时器工作时,指导运动所受到的阻力比较小,它比电磁打点计时器实验误差小。
如果运动物体带动的纸带通过打点计时器,在纸带上打下的点就记录了物体运动的时间,纸带上的点也相应的表示出了运动物体在不同时刻的位置。研究纸带上的各点间的间隔,就可分析物体的运动状况
注意事项
1.打点计时器使用的电源必须是交流电源,且电压是4~6V。
2.打点计时器在纸带上应打出轻重合适的小圆点,如遇到打出的是小横线,应调整振针具复写纸片的高度,使之大一点。
3.使用打点计时器,应先接通电源,待打点计时器稳定后再放开纸带。
4.使用电火花计时器时,应注意把两条白纸带正确穿好,墨粉纸盘夹在两纸带之间;使用打点计时器时,应让纸带通过限位孔,压在复写纸下面。
5.复写纸不要装反,每打完一条纸带,应调整一下复写纸的位置,若还不够清晰,考虑更换复写纸。
③ 51定时器初值计算有什么简便算法吗
51单片机定时器初值计算:
void main(void)
{
s1=1;
TMOD=0x01; //使用定时器T0的模式1
TH0=(65536-46083)/256; //定时器T0的高8位设置初值
TL0=(65536-46083)%256; //定时器T0的低8位设置初值
函数功能:定时器T0的中断服务函数
void Time0(void ) interrupt 1 using 0 //定时器T0的中断编号为1,使用第1组工作寄存器
{
count++; //每产生1次中断,中断累计次数加1
if(count==20) //如果中断次数计满20次
count=0; //中断累计次数清0
s++; //秒加1
定时器初值 46083 是怎么计算出来的? 一般我们如用 AT892051的话 定时50MS 就是 TH0=(65536-50000)/256。使用的12M晶体 ,20次为1S。
使用说明
以12M晶振为例:每秒钟可以执行1000000次机器周期个机器周期。而T 每次溢出最多65536 个机器周期。我们尽量应该让溢出中断的次数最少(如50ms),这样对主程序的干扰也就最小。
开发的时候可能会根据需要更换不同频率的晶振(比如c51单片机,用11.0592M的晶振,很适合产生串口时钟,而12M晶振很方便计算定时器的时间),使用插接式比较方便。
对12MHz 1个机器周期 1us 12/fosc = 1us,方式0 13位定时器最大时间间隔 = 2^13 = 8.192ms,方式1 16位定时器最大时间间隔 = 2^16 = 65.536ms,方式2 8位定时器最大时间间隔 = 2^8 = 0.256ms =256 us。
定时5ms,计算计时器初值 M = 2^K-X*Fosc/12 12MHz。方式0: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78。
THx = 0CH,TLx = 78H,方式1: K=16,X=5ms,Fosc=12MHz 则 M = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xEC78。
THx = ECH,TLx = 78H,50ms 12MHz THx = 3CH,TLx = B0H,10ms THx = D8H,TLx = F0H。
④ 单片机编程实现0---20秒计时器
ORG 0000H
JMP BEGIN
ORG 000BH
LJMP T0INT
ORG 001BH
LJMP T1INT
LEDD EQU 30H
LEDC EQU 36H
SECC EQU 37H
TCNT EQU 3AH
ORG 0030H
;---------------------------------------
TABLE: ; 共阴极数码管显示代码表
DB 0FCH ;"0" 00H
DB 60H ;"1" 01H
DB 0DAH ;"2" 02H
DB 0F2H ;"3" 03H
DB 66H ;"4" 04H
DB 0B6H ;"5" 05H
DB 0BEH ;"6" 06H
DB 0E0H ;"7" 07H
DB 0FEH ;"8" 08H
DB 0F6H ;"9" 09H
DB 0EEH ;"A" 0AH
DB 3EH ;"B" 0BH
DB 9CH ;"C" 0CH
DB 7AH ;"D" 0DH
DB 9EH ;"E" 0EH
DB 8EH ;"F" 0FH
DB 00H ;" " 10H
; DB 3FH,06H,5BH,4FH,66H ;12345
; DB 6DH,7DH,07H,7FH, ;6789
;---------------------------------------
DELAY:
MOV R6,#25
DLY01:
MOV R7,#100
DJNZ R7,$
DJNZ R6,DLY01
RET
;---------------------------------------
BEGIN:
MOV SP,#5FH
MOV TMOD,#11H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#0F4H
MOV TL1,#48H
SETB ET1
SETB TR1
MOV P2,#0
MOV TCNT,#0
MOV SECC,#0
SETB ET0
SETB EA
MOV SECC,#00
LCALL DISSEC
SETB TR0
SETB TR1
LOOP:
SJMP $
;---------------------------------------
T1INT:
PUSH ACC
CLR TR1
MOV TH1,#0F4H
MOV TL1,#48H
SETB TR1
MOV DPTR,#TABLE
MOV R0,#LEDD
MOV A,LEDC
T1INT0:
JNZ T1INT1
MOV P2,#01H
MOV A,@R0
MOVC A,@A+DPTR
CPL A
MOV P0,A
SJMP T1INTD
T1INT1:
MOV P2,#02H
INC R0
MOV A,@R0
MOVC A,@A+DPTR
CPL A
MOV P0,A
T1INTD:
INC LEDC
MOV A,LEDC
CJNE A,#2,T1INT6
T1INT6:
JC T1INTE
MOV LEDC,#0
T1INTE:
POP ACC
RETI
;---------------------------------------
HBCD:
MOV B,#10
DIV AB
SWAP A
ORL A,B
RET
;---------------------------------------
T0INT:
PUSH ACC
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
INC TCNT
MOV A,TCNT
CJNE A,#20,T0INT1
T0INT1:
JC T0INTE
MOV TCNT,#0
MOV A,SECC
INC A
MOV SECC,A
CJNE A,#20,T0INT2
MOV SECC,#0
T0INT2:
LCALL DISSEC
T0INTE:
POP ACC
RETI
;---------------------------------------
DISSEC:
MOV A,SECC
LCALL HBCD
PUSH ACC
ANL A,#0FH
MOV 30H,A
POP ACC
SWAP A
ANL A,#0FH
MOV 31H,A
RET
;---------------------------------------
END
⑤ PLC梯形图问题:用定时器T做定时控制,数据寄存器D设定数值,比如设定20秒,计时期间随时都有可能
出现从零开始计时的情况,一般是你程序中在哪个地方把这个计时器给reset了,这个可以搜一下这个计时器,然后找到有rst指令的地方在线监控,另一个可能的原因是T计时器的条件有瞬间是不满足的,因为T计时器相当于线圈,必须一致保持接通,可能是程序中某个地方的指令导致T计时器的执行条件不满足了,这个时候会重新计时。暂时想到这么多,在线监控一下看一看吧~也可以找到该PLC的指令手册,看一下计时器的时序图~更好理解一些~
⑥ 我的世界20秒红石计时器怎么做
红石中继器调到最大档为延时4刻,即0.4秒,所以要做到延时二十秒,用连续50个最大档的红石中继器就可以了。
⑦ java小游戏五子棋中想加入一个倒计时器,每回合玩家有20秒下棋时间,求如何实现
用线程间隔1s
privateThreadplayerThread;//玩家时间所对应的线程
privateThreadrobotThread;//机器人时间所对应的线程
privateintplayerTime=1800;//玩家的总时间30*60,30分钟
//初始化-玩家时间所对应的线程
playerThread=newThread(newRunnable(){
publicvoidrun(){//相执行start方法时该线程启动
while(true){
try{
playerThread.sleep(1000);//线程睡一秒钟
}catch(Exceptione){
e.printStackTrace();
}
playerTime--;//玩家时间减一秒钟
canvas.repaint();//绘制窗囗
if(playerTime==0){//如果玩家的时间用完了,表示玩家输
isGameBegin=false;//游戏没有开始
isGameOver=true;//游戏结束
canvas.repaint();//绘制窗囗
JOptionPane.showMessageDialog(null,"机器人赢了!");
}
}
}
}
});
⑧ 求PPT插入倒计时秒表方法,20秒的即可,谢谢
可以插入一个计时器模型,再在计时器表面插入一个文本框,然后在文本框中输入字,并设置置动画,具体数字的设置方法如下:
你可以设置数字的自定义动画:1、先在文本框中输入20——右键——自定义动画,退出:消失——在出现的动画设置(右边)中选择:开始于鼠标单击时——点出下拉菜单选择计时:延迟1秒——也就是说在你的鼠标单击时开始倒计时。
2、再插入一个文本框,输入9——右键——自定义动画——出现:溶解——在出现的动画设置(右边)中选择:开始于上一项之后(就是一个小钟面之后)——点出下拉菜单选择计时:速度/快速(1秒)——再点出效果——动画播完后/播完动画后隐藏。
3、复制数字20,把复制的内容改为19,再复制18,把复制的内容改为17;如此循环下去只到0就行。注意:一定要先复制,再把复制的数字改为下一个数字,顺序不能错,因为这个过程也就是数字的动画出现的顺序。