?? dssearch.lst
字號(hào):
;* called by Wait <time>, lesscycles * E:\prjPIC\prj_DS1820\searchV03\wait.inc
;************************************************************** E:\prjPIC\prj_DS1820\searchV03\wait.inc
;History E:\prjPIC\prj_DS1820\searchV03\wait.inc
;1.00 - Original E:\prjPIC\prj_DS1820\searchV03\wait.inc
;1.01 - Fixed bug with small even numbers giving an error message E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
Wait macro time_ns, lesscycles ;time_ns gives the wait time required, in ns E:\prjPIC\prj_DS1820\searchV03\wait.inc
radix dec E:\prjPIC\prj_DS1820\searchV03\wait.inc
variable instruct_time_ns = (( 1 Seconds ) / (Clock_Freq / 4 )) E:\prjPIC\prj_DS1820\searchV03\wait.inc
local cycles E:\prjPIC\prj_DS1820\searchV03\wait.inc
variable cycles = ((time_ns) / instruct_time_ns) ;required delay in E:\prjPIC\prj_DS1820\searchV03\wait.inc
;100ths of instructions E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if (cycles < (lesscycles) ) E:\prjPIC\prj_DS1820\searchV03\wait.inc
messg NOTE - negative delay time with lesscycles cycles (no code) E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
exitm E:\prjPIC\prj_DS1820\searchV03\wait.inc
else E:\prjPIC\prj_DS1820\searchV03\wait.inc
variable cycles = (cycles - (lesscycles)) E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if (cycles == 0) E:\prjPIC\prj_DS1820\searchV03\wait.inc
messg "WARNING - delay time less than 1 instructions" E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
nop E:\prjPIC\prj_DS1820\searchV03\wait.inc
exitm E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if (cycles > (255*(256*3 + 6) + 2 + 3)) E:\prjPIC\prj_DS1820\searchV03\wait.inc
messg "ERROR : Too long a wait for the WAIT macro at present!!" E:\prjPIC\prj_DS1820\searchV03\wait.inc
exitm E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
; messg Info - calculated number of cycles = #v(cycles) E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if (cycles > ((255*3)+5)) E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
movlw ((cycles-5)/(256*3+6)) E:\prjPIC\prj_DS1820\searchV03\wait.inc
call longdelay E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
ifndef INCLONGDELAY E:\prjPIC\prj_DS1820\searchV03\wait.inc
#define INCLONGDELAY E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
exitm E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if ((cycles > 8 ) && (cycles < (255*3 + 5))) E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
00004b 30bf MOVLW 0xbf movlw ((cycles-5)/3) E:\prjPIC\prj_DS1820\searchV03\wait.inc
00004e 3012 MOVLW 0x12
000052 308a MOVLW 0x8a
00005a 3012 MOVLW 0x12
000060 3012 MOVLW 0x12
00006d 3011 MOVLW 0x11
000079 3001 MOVLW 0x1
00007e 300e MOVLW 0xe
000087 3001 MOVLW 0x1
000099 300a MOVLW 0xa
00004c 210d CALL 0x10d call shortdelay E:\prjPIC\prj_DS1820\searchV03\wait.inc
00004f 210d CALL 0x10d
000053 210d CALL 0x10d
00005b 210d CALL 0x10d
000061 210d CALL 0x10d
00006e 210d CALL 0x10d
00007a 210d CALL 0x10d
00007f 210d CALL 0x10d
000088 210d CALL 0x10d
00009a 210d CALL 0x10d
E:\prjPIC\prj_DS1820\searchV03\wait.inc
ifndef INCSHORTDELAY E:\prjPIC\prj_DS1820\searchV03\wait.inc
#define INCSHORTDELAY E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
exitm E:\prjPIC\prj_DS1820\searchV03\wait.inc
endif E:\prjPIC\prj_DS1820\searchV03\wait.inc
E:\prjPIC\prj_DS1820\searchV03\wait.inc
if (cycles < 8) E:\prjPIC\prj_DS1820\searchV03\wait.inc
while ( cycles > 1 ) E:\prjPIC\prj_DS1820\searchV03\wait.inc
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -