单片机定时器应用实验

单片机定时器应用实验,第1张

完全一样的题目呀,真幸运,看我的吧(我的是8052的,没关系的):

汇编程序:

S1   EQU 30H

S2   EQU 31H

ORG 0000H

AJMP MAIN

ORG 001BH

AJMP INTT1

ORG 0100H

MAIN:  ANL TMOD,#0FH

ORL TMOD,#10H

MOV TH1,#3CH

MOV TL1,#0B0H

SETB EA

SETB ET1

SETB TR1

MOV DPTR,#TABLE

MOV S1,#00H

MOV S2,#00H

LP:   MOV A,S2

MOVC A,@A+DPTR

MOV P1,A

AJMP LP

INTT1: PUSH ACC

INC S1

MOV A,S1

CJNE A,#20,NEXTT1

MOV S1,#00H

INC S2

ANL S2,#07H

NEXTT1: POP ACC

RETI

TABLE: DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,00H

C语言程序:

#include<reg52h>

unsigned char s1=0,s2=0;

unsigned char code table[]=

{

0x05,0x0A,0x50,0xA0,0x55,0xAA,0xFF,0x00

};

void main()

{

TMOD=(TMOD&0X0F)|0X10;

TH1=0X3C;

TL1=0XB0;

EA=1;

ET1=1;

TR1=1;

while(1)

{

P1=table[s2];

}

}

void t1(void) interrupt 3 using 0

{

s1++;

if(s1==20)

{

s1=0;

s2++;

s2=s2&0x07;

}

}

步进电机的转速虽说和脉冲频率有关,但不是任何频率都行的。只能在某个特定的范围内调速才行。脉冲频率太快,会丢步,即步进电机转子振荡很厉害。
内部不动,外部在动,那是已经失步了,步进电机在一个位置振荡,根本没启动。
频率不对,也即是你给两个脉冲中间的延时不对。最好是用定时器给一个较精确的延时来调试,找出一个可以让它转的合适的延时。

我用过类似的,你是想设定每天比如说晚上6到第二天6亮,别的时候灭吧。哈哈。
首先,你要确认你手里的延时开关可以定时超过12小时。
其次,两个延时开关,互相闭锁接线,两个互相给对方断电复位。就是用自己的常开或常闭触点串到对方的供电线路~
再者,需要说明的话,如果没有别的配件的话,上述方法,可能在第一次上电的时候锁死。只是一个小概率事件,重新上电即可。
额外,视频就算了,自己折腾把。这才有感觉,

加一个定时器T0,在梯形图中表示为T0 K60。T0计时器为100ms计时器,所以延时时间为100ms60=6s,

(1)基本延时环节,下图中当线圈得电后T0延时6s后其触点导通

(2)延时断开电路,下图中T0延时6s后断开,Y0失电。


扩展资料

1、PLC中的定时器相当于继电器系统中的时间继电器。它有一个设定值寄存器(一个字长)、一个当前值寄存器(一个字长)和一个用来储存其输出触点状态的映像寄存器(占二进制的一位),这三个存储单元使用同一个元件号。FX系列PLC的定时器分为通用定时器和积算定时器。

2、常数K可以作为定时器的设定值,也可以用数据寄存器(D)的内容来设置定时器。例如外部数字开关输入的数据可以存入数据寄存器,作为定时器的设定值。通常使用有电池后备的数据寄存器,这样在断电时不会丢失数据。

什么情况下用?
做定时,闪烁,等梯形图时用,如计时1小时,可以用m8014带计数器,计60个数;再如可以用其串联输出点y,使y每1分钟闪烁1次。等等
K60中计数60中的含义是什么?
c0 k60 为:c0计数60次,到60次后c0的常开触点动作(闭合),常闭触点断开。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13373024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存