delay.c

来自「楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的」· C语言 代码 · 共 64 行

C
64
字号
/***********************************************************/
/*							                               */
/*                CPU:AT89c55   20MHZ                      */
/*                Copyright  2004.09  Comelit              */
/*                AUTHOR:  LV_XIAO_LU                      */
/*                                                         */
/***********************************************************/
#include "reg52.h"
/*11.059MHZ 1machine time = 1.085us*/
void Delay_10ms(void);
/*以下函数为在CPU时钟是11.0592MHZ时所用*/
/*void Delay_10ms(void)
{
#pragma asm
  push 0H          //1
  push 1H          //1
  mov r0,#0x0a     //1
/*1ms*/
/*large_loop:
  mov r1 ,#0x73     //1
small_loop:
     nop
	 nop
	 nop
	 nop
	 nop
	 nop
     djnz r1, small_loop   //2
/*1ms over*/
/*	 djnz r0,large_loop    //2
  pop 1H                   //1
  pop 0H                   //1
#pragma endasm

}*/
/*以下函数为CPU时钟是20MHZ时所用*/
/* 1个时钟周期为0.6us*/
void Delay_10ms(void)
{
#pragma asm
  push 0H          //1
  push 1H          //1
  mov r0,#0x0a     //1
/*1ms*/
large_loop:
  mov r1 ,#0xd0     //1
     nop
	 nop
small_loop:
     nop
	 nop
	 nop
	 nop
	 nop
	 nop
     djnz r1, small_loop   //2
/*1ms over*/
	 djnz r0,large_loop    //2
  pop 1H                   //1
  pop 0H                   //1
#pragma endasm

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?