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

发布者:数字翻飞最新更新时间:2016-11-22 来源: eefocus关键字:c51  超长时间  延时程序 手机看文章 扫描二维码
随时随地手机看文章

;;///////////////////////////////////////////////////////////;;
;;[汇编原创]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


关键字:c51  超长时间  延时程序 引用地址:c51超长时间延时程序1小时到1000...小时

上一篇:Keli C51学习
下一篇:89c51按键选择计数模式通过数码管显示

推荐阅读最新更新时间:2024-03-16 15:21

51单片机1s延时程序设计
#include sbit P1_0 = P1^0; void Delay(); // 下面引用时一定要和这里的大小写一致否则会有警告或错误 void Main() { while (1) // 开始一直循环 { P1_0 = 0; Delay(); // 没有参数也要加 () 否则会有Warning P1_0 = 1; Delay(); } } void Delay() // 12M晶振1s延时 { unsigned char h, i, j, k; for (h = 5; h 》 0; h--) for (i = 4; i 》 0; i--) for (j
[单片机]
51单片机1s<font color='red'>延时</font><font color='red'>程序</font>设计
24c02的c51驱动
#include AT89X51.H //#include stdio.h //#include absacc.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit led=P1^0; sbit led2=P1^1; sbit SCL=P3^5; //24c02 SCL sbit SDA=P3^4; //24c02 SDA //sbit DOG=P1^7; //狗 uchar x24c02_read(uchar address); //从24c02的地址address中读取一个字节数据 void x24c02_
[单片机]
24c02的<font color='red'>c51</font>驱动
C51-关于中断系统
中断系统
[单片机]
C51-关于中断系统
C51单片机学习笔记之密码锁
简介 根据之前学的LCD1602显示器和矩阵键盘实现一个简单的密码锁。 原理图 请翻之前的文章 LCD1602:C51单片机学习笔记之LCD1602 矩阵键盘:C51单片机学习笔记之矩阵键盘 代码部分 LCD1602.c #include reg52.h #include intrins.h sbit RS = P2^0; sbit RW = P2^1; sbit EN = P2^2; #define RS_CLR RS = 0 #define RS_SET RS = 1 #define RW_CLR RW = 0 #define RW_SET RW = 1 #define EN_CLR
[单片机]
关于KeilC51的指针
  keil中的指针分为两种,一种是普通指针,兼容标准C语言的指针;另一种是我翻译成内存特殊指针(memory-specific pointers,翻译的不好: )      一、普通指针   普通指针的定义方式如下, char * ptr; 跟标准C的定义方式一样。这种指针占三个字节。第一个字节是标识存储类型,是指针指向的变量的数据类型。 第二个字节是指针存储地址的高位字节。第三个字节是指针存储地址的低位字节。   普通指针默认存储在内部存储器data,即片上RAM。如果想指定指针的存储位置,可以在 * 后加上存储类型,如下面几种定义方式: char * data ptr; //与char * ptr;等价,即默认的定义方
[单片机]
关于KeilC51的指针
C51单片机interrupt和using的使用
8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务 处理程序。中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。8051的中断向量表如下: 中断源 中断向量 上电复位 0000H 外部中断0 0003H 定时器0 溢出 000BH 外部中断1 001
[单片机]
C51中的code关键字
单片机C语言unsigned char code table code 是什么作用? code 的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。 程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data区的数据进行运算处理,因此code区存储在什么介质上并不重要,象以前
[单片机]
Keil C51 总线外设操作问题的深入分析
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C5l编译并未达到预期的结果。原文作
[应用]
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved