使用定时器实现长时间的延时
时间: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单片机 MCU 单片机视频教程 单片机开发 ARM单片机 AVR单片机 PIC单片机 Atmel stm32 单片机学习 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)