|
当x大于291时,延时时间就是错误的,但小于或等于291时,又是正确的。
真是差之毫离,矢之千里
#define CPU_F 7372800
#define delay_us(x) __delay_cycles(x*CPU_F/1000000)
#define delay_ms(x) __delay_cycles(x*CPU_F/1000)
当x大于291时,差之毫离,矢之千里
70 delay_us(292); delay_us(250);
\ 00000004 E405 LDI R16, 69
\ 00000006 EA19 LDI R17, 169
\ 00000008 EA2A LDI R18, 170
\ 0000000A E23A LDI R19, 42
\ 0000000C 5001 SUBI R16, 1
\ 0000000E 4010 SBCI R17, 0
\ 00000010 4020 SBCI R18, 0
\ 00000012 4030 SBCI R19, 0
\ 00000014 F7D9 BRNE $-8
\ 00000016 0000 NOP
\ 00000018 EC0C LDI R16, 204
\ 0000001A E011 LDI R17, 1
\ 0000001C 5001 SUBI R16, 1
\ 0000001E 4010 SBCI R17, 0
\ 00000020 F7E9 BRNE $-4
\ 00000022 C000 RJMP $+2
当x小于或等于291时
70 delay_us(291); delay_us(250);
\ 00000004 E108 LDI R16, 24
\ 00000006 E012 LDI R17, 2
\ 00000008 5001 SUBI R16, 1
\ 0000000A 4010 SBCI R17, 0
\ 0000000C F7E9 BRNE $-4
\ 0000000E EC0C LDI R16, 204
\ 00000010 E011 LDI R17, 1
\ 00000012 5001 SUBI R16, 1
\ 00000014 4010 SBCI R17, 0
\ 00000016 F7E9 BRNE $-4
\ 00000018 C000 RJMP $+2 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|