×
单片机 > 单片机程序设计 > 详情

NOP.H头文件下载- 可以精确延时40以内(包括40)的时钟周期数

发布时间:2020-06-03 发布时间:
|

/*****************************************************************************

      文件名称:NOP.H

      文件标识:_NOP_H_

      摘    要:精确延时头文件,可以精确延时40以内(包括40)的时钟周期数

      当前版本:V2.0

*****************************************************************************/

#ifndef  _NOP_H_

#define  _NOP_H_


#define  NOP(N)    _NOP(N)

#define  _NOP(N)    do{ NOP_##N(); }while(0)


#define  NOP_0()

#define  NOP_1()   asm("nop")

#define  NOP_2()   NOP_1();asm("nop")

#define  NOP_3()   NOP_2();asm("nop")

#define  NOP_4()   NOP_3();asm("nop")

#define  NOP_5()   NOP_4();asm("nop")

#define  NOP_6()   NOP_5();asm("nop")

#define  NOP_7()   NOP_6();asm("nop")


#ifndef  _DELAY_H_

#define  NOP_8()   NOP_7();asm("nop")

#define  NOP_9()   NOP_8();asm("nop")

#define  NOP_10()  NOP_9();asm("nop")

#define  NOP_11()  NOP_10();asm("nop")

#define  NOP_12()  NOP_11();asm("nop")

#define  NOP_13()  NOP_12();asm("nop")

#define  NOP_14()  NOP_13();asm("nop")

#define  NOP_15()  NOP_14();asm("nop")

#define  NOP_16()  NOP_15();asm("nop")

#define  NOP_17()  NOP_16();asm("nop")

#define  NOP_18()  NOP_17();asm("nop")

#define  NOP_19()  NOP_18();asm("nop")

#define  NOP_20()  NOP_19();asm("nop")

#define  NOP_21()  NOP_20();asm("nop")

#define  NOP_22()  NOP_21();asm("nop")

#define  NOP_23()  NOP_22();asm("nop")

#define  NOP_24()  NOP_23();asm("nop")

#define  NOP_25()  NOP_24();asm("nop")

#define  NOP_26()  NOP_25();asm("nop")

#define  NOP_27()  NOP_26();asm("nop")

#define  NOP_28()  NOP_27();asm("nop")

#define  NOP_29()  NOP_28();asm("nop")

#define  NOP_30()  NOP_29();asm("nop")

#define  NOP_31()  NOP_30();asm("nop")

#define  NOP_32()  NOP_31();asm("nop")

#define  NOP_33()  NOP_32();asm("nop")

#define  NOP_34()  NOP_33();asm("nop")

#define  NOP_35()  NOP_34();asm("nop")

#define  NOP_36()  NOP_35();asm("nop")

#define  NOP_37()  NOP_36();asm("nop")

#define  NOP_38()  NOP_37();asm("nop")

#define  NOP_39()  NOP_38();asm("nop")

#define  NOP_40()  NOP_39();asm("nop")


#else

#define  NOP_8()   wait_us(1);NOP_0()

#define  NOP_9()   wait_us(1);NOP_1()

#define  NOP_10()  wait_us(1);NOP_2()

#define  NOP_11()  wait_us(1);NOP_3()

#define  NOP_12()  wait_us(1);NOP_4()

#define  NOP_13()  wait_us(1);NOP_5()

#define  NOP_14()  wait_us(2);NOP_0()

#define  NOP_15()  wait_us(2);NOP_1()

#define  NOP_16()  wait_us(2);NOP_2()

#define  NOP_17()  wait_us(2);NOP_3()

#define  NOP_18()  wait_us(2);NOP_4()

#define  NOP_19()  wait_us(2);NOP_5()

#define  NOP_20()  wait_us(3);NOP_0()

#define  NOP_21()  wait_us(3);NOP_1()

#define  NOP_22()  wait_us(3);NOP_2()

#define  NOP_23()  wait_us(3);NOP_3()

#define  NOP_24()  wait_us(3);NOP_4()

#define  NOP_25()  wait_us(3);NOP_5()

#define  NOP_26()  wait_us(4);NOP_0()

#define  NOP_27()  wait_us(4);NOP_1()

#define  NOP_28()  wait_us(4);NOP_2()

#define  NOP_29()  wait_us(4);NOP_3()

#define  NOP_30()  wait_us(4);NOP_4()

#define  NOP_31()  wait_us(4);NOP_5()

#define  NOP_32()  wait_us(5);NOP_0()

#define  NOP_33()  wait_us(5);NOP_1()

#define  NOP_34()  wait_us(5);NOP_2()

#define  NOP_35()  wait_us(5);NOP_3()

#define  NOP_36()  wait_us(5);NOP_4()

#define  NOP_37()  wait_us(5);NOP_5()

#define  NOP_38()  wait_us(6);NOP_0()

#define  NOP_39()  wait_us(6);NOP_1()

#define  NOP_40()  wait_us(6);NOP_2()


#endif

#endif




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址