定时器的编号范围是

定时器的编号范围是,第1张

定时器的编号范围是T0~T255。定时器在PLC中的作用相当于颤改一个时间继电器,它有一个设定值寄存扒腔器,一个当前值寄存器以及无限个接点。定时器累计PLC内的1ms,10ms,100ms等的时钟脉冲,当达到所定的设定值时,输出接点动作,定时器可以使用用户程序存储器内春洞衫的常数K作为设定值,也可以用后述的数据寄存器D的内容作为设定值。

数码管段选接P1口,位选接P2.0和P2.1,

采用定时器T1定时10ms,60H为1s计数单元,计数100次为1s

ORG

0000H

程序从0地址开始

LJMP

MAIN

跳到MAIN处执行

ORG

001BH

定时器T1

LJMP

TIME1

ORG

0030H

MAIN:MOV

TMOD,#01H

设置T1工作在模式1

MOV

TH1,#068H

赋初值,定时10ms

MOV

TL1,#0F0H

MOV

IE,#88H

开CPU中断,开定时器1中断

SETB

TR1

启动T1定时器工作

MOV

60H,#100

给60H单元赋初值

CLR

4FH

清零4FH单元

DISPLAY:

显示子程序

MOV

DPTR,#TAB

DPTR指向编码表位置

MOV

A,R3

将R3的内容复制到A

MOV

B,#10

DIV

AB

A除B,商给A,余数给B

MOVC

A,@A+DPTR

根据A的值取出编码表中的编码

MOV

P1,A

由P1口输出A的内容

SETB

P2.0

置位磨顷弯P2.0

CLR

P2.0

清零P2.0

MOV

A,B

MOVC

A,@A+DPTR

根据A的值取瞎闷出编码表中的编码

MOV

P1,A

由P1口输出A的内容

SETB

P2.1

置位P2.1

CLR

P2.1

清零P2.1

JNB

4FH,DISPLAY

判断1秒时间是否到,没有到,则跳转到DIAPLAY处

CLR

4FH

1秒到,清4FH

LJMP

DISPLAY

调用显示子程序

TIME1:MOV

TH1,#068H

赋初值

MOV

TL1,#0F0H

DJNZ

60H,TT

60H单元自减1,判断是否为0,不为0则跳转到TT处

MOV

60H,#100

60H单元为0,则重新给其赋值100

SETB

4FH

同时置位4FH单元

INC

R3

R3自加1

CJNE

R3,#60,TT

判断R3是否为60,否乎烂则跳转TT处

MOV

R3,#0

R3为60,则给R3赋0

TT:RETITAB:

编码表

DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

编码

END

程序结束

以下程序使用定时器1计数,定时10ms,60H为妙计数单元,4FH单元为秒标示位,一秒时间到,置位4FH***********************************************************************************************************************ORG 0000H 程序从0地址开始

LJMP MAIN 跳到STRAT处执行

ORG 001BH

LJMP JIA1

ORG 0030H

MAIN:MOV TMOD,#01H 设置T1工作在模式1

MOV TH1,#068H 赋初值,定时10ms

MOV TL1,#0F0H

MOV IE,#88H 开CPU中断,开定时器1中断

SETB TR1 启动T1定时器工作

MOV 60H,#100给60H单元赋初值

CLR 4FH 清零4FH单元

DISPLAY: 显示子程序

MOV DPTR,#TAB DPTR指向编码表位置

MOV A,R3 将R3的内容复制到A

MOV B,#10

DIV AB A除B,商给A,余数给B

MOVC A,@A+DPTR 根据A的值取出编码表中的编码

MOV P1,A 由P1口输出A的内容

SETB P2.0 置位P2.0

CLR P2.0 清零P2.0

MOV A,B

MOVC A,@A+DPTR 根据A的值取出编码表中的编码

MOV P1,A 由P1口输出A的内容

SETB P2.1 置位P2.1

CLR P2.1 清零P2.1

JNB 4FH,DISPLAY 判断1秒时间是否到,没有到,则跳转到DIAPLAY处

CLR 4FH 1秒到,清4FH

LJMP DISPLAY 调用显示子程序宴清 JIA1:MOV TH1,#068H赋初值

MOV TL1,#0F0H

DJNZ 60H,TT 60H单元自减1,判断是否为0,不为0则跳转到TT处

MOV 60H,#100 60H单元为0,则重新给其赋值100

SETB 4FH 同链祥桐时置棚坦位4FH单元

INC R3R3自加1

CJNE R3,#60,TT 判断R3是否为60,否则跳转TT处

MOV R3,#0 R3为60,则给R3赋0

TT:RETITAB: 编码表

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 编码

END程序结束


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存