单片机
返回首页

c51超长时间延时程序1小时到1000...小时

2016-11-22 来源:eefocus

;;///////////////////////////////////////////////////////////;;
;;[汇编原创]c51超长时间延时程序1小时到1000...小时。
;;19:44 2007-3-10;;
;;6MHZ晶振为100ms;若晶振为12mhz时则50ms;进入一次定时中断;;
;;你用定时中断0方式1,进一次中断,中断内加1如:inc 40h;
;;RUN COMMAND;;执行命令;;
;;///////////////////////////////////////////////////////////;;
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP ET0_0
RETI
ORG 0030H
MAIN:
     MOV SP,#10H
     MOV TMOD,#01H
     MOV IE,#82H
     MOV TH0,#(65536-50000)/256
     MOV TL0,#(65536-50000)MOD 256
     MOV TCON,#10H
     MOV 40H,#00H;;毫秒
     MOV 41H,#00H;;秒
     MOV 42H,#00H;;分
     MOV 43H,#00H;;时
     MOV 44H,#00H;;日
;;..

LOOP:
     NOP
     MOV A,40H
    CJNE A,#10,TIME1;;10*100ms=1000ms=1s
     MOV 40H,#00H
;;RUN COMMAND;;    
     INC 41H
     MOV A,41H
    CJNE A,#60,TIME1;;60*1s=1分钟
     MOV 41H,#00H
     MOV 40H,#00H
;;RUN COMMAND;;    
     INC 42H
     MOV A,42H
    CJNE A,#60,TIME1;;60*1MIN=60分钟=1小时;;
     MOV 42H,#00H
     MOV 41H,#00H
     MOV 40H,#00H
;;RUN COMMAND;;
     INC 43H
     MOV A,43H
    CJNE A,#24,TIME1;;24*1小时=1天
     MOV 43H,#00H
     MOV 42H,#00H
     MOV 41H,#00H
     MOV 40H,#00H
;;RUN COMMAND;;执行命令;;

    INC 44H
    MOV A,44H
   CJNE A,#30,TIME1;;1天*30=1个月;;
    MOV 44H,#00H
    MOV 43H,#00H
    MOV 42H,#00H
    MOV 41H,#00H
    MOV 40H,#00H
;;RUN COMMAND;;

TIME1:
MOV PCON,#01H
AJMP LOOP

ET0_0:
NOP
INC 40H 
     MOV TH0,#(65536-50000)/256;;
     MOV TL0,#(65536-50000)MOD 256
RETI
END


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 带有短路保护系统的5V直流稳压电源电路图

    相关电子头条文章