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

📄 main.ls1

📁 采用PDIUSBD12开发的USB总线与429总线数据转换的单片机固件程序
💻 LS1
📖 第 1 页 / 共 3 页
字号:
001C 120000   F      179             LCALL   ?C?ULCMP
001F 5017            180             JNC     ?C0002
0021 E500     F      181             MOV     A,clk_cnt?040+03H
0023 2401            182             ADD     A,#01H
0025 F500     F      183             MOV     clk_cnt?040+03H,A
0027 E4              184             CLR     A
0028 3500     F      185             ADDC    A,clk_cnt?040+02H
002A F500     F      186             MOV     clk_cnt?040+02H,A
002C E4              187             CLR     A
002D 3500     F      188             ADDC    A,clk_cnt?040+01H
002F F500     F      189             MOV     clk_cnt?040+01H,A
0031 E4              190             CLR     A
A51 MACRO ASSEMBLER  MAIN                                                                 07/08/2004 11:20:33 PAGE     4

0032 3500     F      191             ADDC    A,clk_cnt?040
0034 F500     F      192             MOV     clk_cnt?040,A
0036 80D4            193             SJMP    ?C0001
0038                 194     ?C0002:
                     195     ;     connect_usb();//连接到USB
                     196                             ; SOURCE LINE # 48
0038 020000   F      197             LJMP    connect_usb
                     198     ; END OF reconnect_usb
                     199     
                     200     ; }
                     201     ; 
                     202     ; //断开USB总线
                     203     ; void disconnect_usb(void)
                     204     
----                 205             RSEG  ?PR?disconnect_usb?MAIN
0000                 206     disconnect_usb:
                     207             USING   0
                     208                             ; SOURCE LINE # 52
                     209     ; {
                     210                             ; SOURCE LINE # 53
                     211     ;     //初始化D12工作状态,断开soft connect连接
                     212     ;     D12_SetMode(D12_NOLAZYCLOCK,D12_SETTOONE|D12_CLOCK_6M);
                     213                             ; SOURCE LINE # 55
0000 7D47            214             MOV     R5,#047H
0002 7F02            215             MOV     R7,#02H
0004 020000   F      216             LJMP    _D12_SetMode
                     217     ; END OF disconnect_usb
                     218     
                     219     ; }
                     220     ; 
                     221     ; //连接USB总线
                     222     ; void connect_usb(void)
                     223     
----                 224             RSEG  ?PR?connect_usb?MAIN
0000                 225     connect_usb:
                     226             USING   0
                     227                             ; SOURCE LINE # 59
                     228     ; {
                     229                             ; SOURCE LINE # 60
                     230     ;     DISABLE;
                     231                             ; SOURCE LINE # 61
0000 C2AF            232             CLR     EA
                     233     ;     bEPPflags.value=0;//清标志
                     234                             ; SOURCE LINE # 62
0002 E4              235             CLR     A
0003 F500     F      236             MOV     bEPPflags,A
0005 F500     F      237             MOV     bEPPflags+01H,A
                     238     ;     ENABLE;
                     239                             ; SOURCE LINE # 63
0007 D2AF            240             SETB    EA
                     241     ;     //初始化D12工作状态,接通soft connect
                     242     ;     D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT,D12_SETTOONE|D12_CLOCK_6M);
                     243                             ; SOURCE LINE # 65
0009 7D47            244             MOV     R5,#047H
000B 7F12            245             MOV     R7,#012H
000D 020000   F      246             LJMP    _D12_SetMode
                     247     ; END OF connect_usb
                     248     
----                 249     CSEG    AT      00003H
0003 020000   F      250             LJMP    usb_isr
                     251     
                     252     ; }
                     253     ; 
                     254     ; void usb_isr(void) interrupt 0
                     255     
----                 256             RSEG  ?PR?usb_isr?MAIN
A51 MACRO ASSEMBLER  MAIN                                                                 07/08/2004 11:20:33 PAGE     5

                     257             USING   0
0000                 258     usb_isr:
0000 C0E0            259             PUSH    ACC
0002 C0F0            260             PUSH    B
0004 C083            261             PUSH    DPH
0006 C082            262             PUSH    DPL
0008 C0D0            263             PUSH    PSW
000A 75D000          264             MOV     PSW,#00H
000D C000            265             PUSH    AR0
000F C001            266             PUSH    AR1
0011 C002            267             PUSH    AR2
0013 C003            268             PUSH    AR3
0015 C004            269             PUSH    AR4
0017 C005            270             PUSH    AR5
0019 C006            271             PUSH    AR6
001B C007            272             PUSH    AR7
                     273             USING   0
                     274                             ; SOURCE LINE # 68
                     275     ; {
                     276     ;     DISABLE;
                     277                             ; SOURCE LINE # 70
001D C2AF            278             CLR     EA
                     279     ;     myisr();
                     280                             ; SOURCE LINE # 71
001F 120000   F      281             LCALL   myisr
                     282     ;     ENABLE;
                     283                             ; SOURCE LINE # 72
0022 D2AF            284             SETB    EA
                     285     ; }
                     286                             ; SOURCE LINE # 73
0024 D007            287             POP     AR7
0026 D006            288             POP     AR6
0028 D005            289             POP     AR5
002A D004            290             POP     AR4
002C D003            291             POP     AR3
002E D002            292             POP     AR2
0030 D001            293             POP     AR1
0032 D000            294             POP     AR0
0034 D0D0            295             POP     PSW
0036 D082            296             POP     DPL
0038 D083            297             POP     DPH
003A D0F0            298             POP     B
003C D0E0            299             POP     ACC
003E 32              300             RETI    
                     301     ; END OF usb_isr
                     302     
                     303     ; 
                     304     ; void main(void)
                     305     
----                 306             RSEG  ?PR?main?MAIN
0000                 307     main:
                     308             USING   0
                     309                             ; SOURCE LINE # 75
                     310     ; {
                     311                             ; SOURCE LINE # 76
                     312     ; 
                     313     ; //unsigned char delay;
                     314     ;         SP=0x50;
                     315                             ; SOURCE LINE # 79
0000 758150          316             MOV     SP,#050H
                     317     ;       P0=0xff;
                     318                             ; SOURCE LINE # 80
0003 7580FF          319             MOV     P0,#0FFH
                     320     ;       P1=0xff;
                     321                             ; SOURCE LINE # 81
0006 7590FF          322             MOV     P1,#0FFH
A51 MACRO ASSEMBLER  MAIN                                                                 07/08/2004 11:20:33 PAGE     6

                     323     ;       P2=0xff;
                     324                             ; SOURCE LINE # 82
0009 75A0FF          325             MOV     P2,#0FFH
                     326     ;       P3=0xff;
                     327                             ; SOURCE LINE # 83
000C 75B0FF          328             MOV     P3,#0FFH
                     329     ; 
                     330     ;       D12CS=0x0;
                     331                             ; SOURCE LINE # 85
000F C2B1            332             CLR     D12CS
                     333     ;       IT0=0;//设置INT0为低电平中断触发
                     334                             ; SOURCE LINE # 86
0011 C288            335             CLR     IT0
                     336     ;       EX0=1;//允许外部中断0
                     337                             ; SOURCE LINE # 87
0013 D2A8            338             SETB    EX0
                     339     ;       PX0=1;//设为高优先级
                     340                             ; SOURCE LINE # 88
0015 D2B8            341             SETB    PX0
                     342     ;       EA=1;//开总中断
                     343                             ; SOURCE LINE # 89
0017 D2AF            344             SETB    EA
                     345     ; 
                     346     ;     
                     347     ;        
                     348     ;     
                     349     ;     P0=0x3f;
                     350                             ; SOURCE LINE # 94
0019 75803F          351             MOV     P0,#03FH
                     352     ;       D12CS=0x1;
                     353                             ; SOURCE LINE # 95
001C D2B1            354             SETB    D12CS
                     355     ;         _nop_();
                     356                             ; SOURCE LINE # 96
001E 00              357             NOP     
                     358     ;         MR=0;
                     359                             ; SOURCE LINE # 97
001F C285            360             CLR     MR
                     361     ;         _nop_();
                     362                             ; SOURCE LINE # 98
0021 00              363             NOP     

⌨️ 快捷键说明

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