新闻中心

EEPW首页>嵌入式系统>设计应用> 使用定时器实现长时间的延时

使用定时器实现长时间的延时

作者: 时间:2011-02-25 来源:网络 收藏

;知识要点:计数器的应用

;把定时器设置为50ms, 另外设置两个软件计数器20,60 总时间

;为50ms*20*60=60000ms=1分钟

;t1为方式1则m1m0=01h,使用定时器c/t=0 gate=0 TMOD=10H

;方式1为16位计数器,一共65535, 减去50000等于15536则计数器初值为3cb0h

ORG 0000H;程序开始

LJMP MAIN

ORG 030H

MAIN:MOV 30H,#20;30h,31h分别置常数20,60

MOV 31H,#60;

MOV TMOD,#10H;定时器方式1

MOV TH1,#03CH;置定时器初值

MOV TL1,#0B0H

MOV IE,#00H;禁止中断

SETB TR1;起动定时器

LOOP:JBC TF1,LOOP1;查询定时器时间到转loop1

AJMP LOOP

LOOP1:MOV TH1,#03CH;重置定时器

MOV TL1,#0B0H

DJNZ 30H,LOOP;定时是否到了20次

MOV 30H,#20

DJNZ 31H,LOOP;定时是否到了60次

MOV 31H,#60

CPL P1.0;取反p1.0

AJMP LOOP

END

程序在倚天版运行的状态:程序运行后全灭

程序在倚天版运行的状态:1分钟后p10点亮, 实现长时间的延时

51单片机相关文章:51单片机教程


尘埃粒子计数器相关文章:尘埃粒子计数器原理


评论


相关推荐

技术专区

关闭