⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dssearch.lst

📁 转载别人ds18b20proteus作品希望对proteus library里没有ds18b20的xdjm们有用!
💻 LST
📖 第 1 页 / 共 5 页
字号:
                                           ;*             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

⌨️ 快捷键说明

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