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

📄 4pled-a3.lst

📁 led 动态显示与数据通信
💻 LST
📖 第 1 页 / 共 4 页
字号:
   260 00074 0803                  BC      STATUS,C
   261 00075 06DA                  RLC     DISP_BIT
   262 00076 0E03                  JBS     STATUS,C
   263 00077 0012                  RET
   264 00078 1810                  MOV     A,@0x10
   265 00079 005A                  MOV     DISP_BIT,A
   266 0007A 0012                  RET
   267                     ;*********************************************************************
   268 0007B               RXD_IN:
   269 0007B 0011                 disi
   270 0007C 00EA                 CLR      D_COUNT
   271 0007D 00EB                 CLR      L_COUNT
   272 0007E 00EC                 CLR      H_COUNT
   273 0007F               RXD_MARK:
   274 0007F 0E06                 JBS      RB,RXD
   275 00080 147F                 JMP      RXD_MARK
   276                     ;       JMP      RXD_ERR         ;起始位超时出错返回      
   277 00081               RXD_M_L:
   278 00081 0E06                 JBS      RB,RXD
   279 00082 1486                 JMP      RXD_M_M
   280 00083 05EB                 DJZ      L_COUNT       
   281 00084 1481                 JMP      RXD_M_L
   282 00085 14D4                 JMP      RXD_ERR         ;起始位超时出错返回      
   283 00086               RXD_M_M:
   284 00086 00EA                 CLR      D_COUNT
   285 00087 04AB                 COMA     L_COUNT         ;计算窄脉冲宽度
   286 00088 1F01                 ADD      A,@1
   287 00089 006B                 MOV      L_COUNT,A       
   288 0008A               RXD_M_M1:       
   289 0008A 0E06                 JBS      RB,RXD
   290 0008B 148A                 JMP      RXD_M_M1
   291                     ;       JMP      RXD_ERR         ;起始位超时出错返回      
   292 0008C               RXD_M_H:
   293 0008C 0E06                 JBS      RB,RXD
   294 0008D 1491                 JMP      RXD_COMD
   295 0008E 05EC                 DJZ      H_COUNT       
   296 0008F 148C                 JMP      RXD_M_H
   297 00090 14D4                 JMP      RXD_ERR         ;起始位超时出错返回      
   298 00091               RXD_COMD:
   299 00091 04AC                 COMA     H_COUNT         ;计算宽脉冲宽度
   300 00092 1F01                 ADD      A,@1
   301 00093 006C                 MOV      H_COUNT,A
   302 00094 0803                 BC       STATUS,C
   303 00095 062C                 RRCA     H_COUNT         ;宽脉冲宽度除二
   304 00096 012B                 SUB      A,L_COUNT       ;比较两个脉冲
   305 00097 0C03                 JBC      STATUS,C
   306 00098 149C                 JMP      RXD_COMD1      ;误差=正
   307 00099 006A                 MOV     D_COUNT,A       ;误差=负,取绝对值
   308 0009A 04AA                 COMA    D_COUNT
   309 0009B 1F01                 ADD     A,@1
   310 0009C               RXD_COMD1:
   311 0009C 1D03                 SUB     A,@3
   312 0009D 0E03                 JBS     STATUS,C
   313 0009E 14D4                 JMP     RXD_ERR         ;识别码出错返回
   314 0009F 00EC                 CLR     H_COUNT
   315 000A0 00EB                 CLR     L_COUNT
   316 000A1 1810                 MOV     A,@16      ;8
   317 000A2 006A                 MOV     D_COUNT,A       ;20US+16+104=132US
   318 000A3               PPPP:
   319 000A3 0E46                 JBS     RB,RCP
   320 000A4 14A3                 JMP     PPPP
   321 000A5 0803                 BC      STATUS,C
   322 000A6 06EB                 RLC     L_COUNT
   323 000A7 06EC                 RLC     H_COUNT
   324 000A8 0C06                 JBC     RB,RXD
   325 000A9 0A2B                 BS      L_COUNT,0
   326 000AA 10DB                 CALL    T52US
   327 000AB 05EA                 DJZ     D_COUNT
   328 000AC 14A3                 JMP     PPPP
   329 000AD 10DB                 CALL    T52US
   330                     
   331 000AE               RXD_LOP:
   332 000AE 0E06                 JBS     RB,RXD
   333 000AF 14AE                 JMP     RXD_LOP       ;等待停止位结束
   334 000B0 0000                 NOP       
   335 000B1 0000                 NOP
   336 000B2 0010                 ENI      
   337 000B3 180F                 MOV     A,@15
   338 000B4 006A                 MOV     D_COUNT,A
   339 000B5 042B                 MOV     A,L_COUNT
   340 000B6 0060                 MOV     DP_SA,A        ;暂存数据
   341 000B7 042C                 MOV     A,H_COUNT
   342 000B8 0061                 MOV     DP_SAH,A
   343 000B9 00DD                 CLR     TEMP1
   344 000BA               RXD_RED1:       
   345 000BA 0803                 BC      STATUS,C
   346 000BB 066C                 RRC     H_COUNT
   347 000BC 066B                 RRC     L_COUNT
   348 000BD 0C03                 JBC     STATUS,C
   349 000BE 055D                 INC     TEMP1
   350 000BF 05EA                 DJZ     D_COUNT
   351 000C0 14BA                 JMP     RXD_RED1
   352                            
   353 000C1 00EC                 CLR     H_COUNT
   354 000C2 041D                 MOV     A,TEMP1
   355 000C3 1A01                 AND     A,@1
   356 000C4 032B                 XOR     A,L_COUNT
   357 000C5 0E83                 JBS     STATUS,Z
   358 000C6 14D4                 JMP     RXD_ERR
   359                            
   360 000C7 0420                 MOV     A,DP_SA
   361 000C8 10E1                 CALL    DIV_10
   362 000C9 0060                 MOV     DP_SA,A
   363                     
   364 000CA 1830                 MOV     A,@DA_RA
   365 000CB 0044                 MOV     FSR,A
   366 000CC 0721                 SWAPA   DP_SAH
   367 000CD 1A07                 AND     A,@7
   368 000CE 03C4                 ADD     FSR,A
   369 000CF 0420                 MOV     A,DP_SA
   370 000D0 0040                 MOV     F0,A
   371                            
   372                     ;       MOV     A,DP_SA
   373                     ;       SUB     A,RXD_SA
   374                     ;       MOV     A,DP_SA
   375                     ;       JBC     STATUS,C
   376                     ;       MOV     A,RXD_SA  
   377                     ;       MOV     RXD_SA,A
   378 000D1 0A2D                 BS      MARK,RXDM
   379 000D2 0010                 eni
   380 000D3 0012                 RET
   381 000D4               RXD_ERR:
   382 000D4 00EA                 CLR    D_COUNT         ;出错
   383 000D5               RXD_ERR_PASS:
   384 000D5 0E06                 JBS    RB,RXD          ;等待高电平退出
   385 000D6 14D4                 JMP    RXD_ERR
   386 000D7 05EA                 DJZ    D_COUNT         ;高电平持续5X256=1.31MS
   387 000D8 14D5                 JMP    RXD_ERR_PASS       
   388                     ;       mov    a,rxd_sa
   389                     ;       mov    dp_sa,a
   390 000D9 0010                 eni
   391 000DA 0012                 RET               
   392                     
   393                     ;********************************************************************* 
   394 000DB               T52US:
   395 000DB 1815                  MOV    A,@21   ;15
   396 000DC 005E                  MOV    TEMP2,A
   397 000DD               T52US_LOOP:
   398 000DD 05DE                  DJZ    TEMP2
   399 000DE 14DD                  JMP    T52US_LOOP
   400                     ;        nop
   401 000DF 0000                  nop
   402 000E0 0012                  RET  
   403                     
   404                     ;****************************************************************
   405 000E1               DIV_10:
   406 000E1 005E                  MOV     TEMP2,A
   407 000E2 00DD                  CLR     TEMP1
   408 000E3               DIV_LOOP:        
   409 000E3 180A                  MOV     A,@10
   410 000E4 011E                  SUB     A,TEMP2
   411 000E5 0E03                  JBS     STATUS,C
   412 000E6 14EA                  JMP     DIV_END 
   413 000E7 005E                  MOV     TEMP2,A
   414 000E8 055D                  INC     TEMP1
   415                     
   416 000E9 14E3                  JMP     DIV_LOOP
   417 000EA               DIV_END:
   418 000EA 041D                  MOV     A,TEMP1
   419 000EB 0012                  RET        
   420                     /********************************************************************* 
   421                     T52US:
   422                             MOV    A,@15
   423                             MOV    H_COUNT,A
   424                     T52US_LOOP:
   425                             DJZ    H_COUNT
   426                             JMP    T52US_LOOP
   427                             RET  
   428                     
   429                     ;*********************************************************************/ 
   430 000EC               ERR_PASS:
   431 000EC 0000                  NOP
   432 000ED               MAIN:
   433 000ED 0403                  MOV     A,STATUS
   434 000EE 1A18                  AND     A,@0x18
   435 000EF 1B18                  XOR     A,@0x18
   436 000F0 0C83                  JBC     STATUS,Z
   437 000F1 00E7                  CLR     ATTTT
   438 000F2 0080                  CLRA
   439 000F3 0005                  IOW     RA
   440 000F4 00C5                  CLR     RA
   441 000F5 1807                  MOV     A,@7           ;P6.0=IN
   442 000F6 0006                  IOW     RB
   443 000F7 0046                  MOV     RB,A
   444 000F8 18F8                  MOV     A,@0xF8
   445 000F9 000D                  IOW     IOCD
   446 000FA 1880                  MOV     A,@0x80        ;使能WDT与设置P6.0=EXINE
   447 000FB 000E                  IOW     IOCE
   448 000FC 18B2                  MOV     A,@T10MSD      ;10MS=128*78*1US=9984US
   449 000FD 0041                  MOV     TCC,A          ;256-78=178 B2H 定时初值
   450 000FE 1844                  MOV     A,@0x44        ;T=1/32 01000100
   451 000FF 0002                  CONTW                  ;T=1/4*4*32*78=2496uS=2.496mS
   452 00100 1801                  MOV     A,@0x01        ;OPEN EXINT & TXINT
   453 00101 000F                  IOW     IOCF
   454 00102 1819                  MOV     A,@0x19        ;设接收初态76
   455 00103 005C                  MOV     RXD_SA,A
   456 00104 00D0                  CLR     COUNT
   457 00105 00ED                  CLR     MARK
   458 00106 00DB                  CLR     T100MST
   459 00107 180A                  MOV     A,@0x0A		;初始化显示数据图形,"-.-"
   460 00108 0051                  MOV     DATA_A,A
   461 00109 0052                  MOV     DATA_B,A
   462 0010A 1880                  MOV     A,@0x80
   463 0010B 0055                  MOV     DOUT_A,A
   464 0010C 0056                  MOV     DOUT_B,A
   465 0010D 00D3                  CLR     DATA_C		;关闭段码显示图形
   466 0010E 00D4                  CLR     DATA_D
   467                     ;        CLR     DOUT_C
   468                     ;        CLR     DOUT_D
   469                     ;        CLR     MOVE_DOT
   470 0010F 1810                  MOV     A,@0x10
   471 00110 005A                  MOV     DISP_BIT,A
   472 00111 0AC6                  BS      RB,SP		;初始化完成后"B"一声
   473 00112 0000                  NOP
   474 00113 0000                  NOP
   475 00114 0004                  WDTC
   476 00115 0010                  ENI
   477 00116 00CF                  CLR     RF
   478 00117               MLOOP:
   479 00117 0010                  ENI
   480 00118 0004                  WDTC
   481 00119 0E06                  JBS     RB,RXD
   482 0011A 107B                  CALL    RXD_IN
   483 0011B 0C2D                  JBC     MARK,RXDM
   484 0011C 1150                  CALL    DT_AMP_SA         ;调用数据处理
   485 0011D 0F6D                  JBS     MARK,PX_OUT        ;100MS DISP OUT  T10MS
   486 0011E 1517                  JMP     MLOOP
   487 0011F 0DED                  JBC     MARK,FLASH
   488 00120 112E                  CALL    T_FLASH_POR
   489 00121 1139                  CALL    DATA_DISP
   490 00122               MSHOW:
   491 00122 0D27                  JBC     ATTTT,ALARM
   492 00123 152A                  JMP     ALARM_DISI
   493 00124 0DAD                  JBC     MARK,ALA_EN
   494 00125 1528                  JMP     MSHOW1
   495 00126 08C6                  BC      RB,SP		;关报警输出
   496 00127 00E2                  CLR     ALARM_TIME	;初始化报警时间
   497 00128               MSHOW1:
   498 00128 0DAD                  JBC     MARK,ALA_EN
   499 00129 11C9                  CALL    ALARM_PRO          ;调用报警子程序
   500 0012A               ALARM_DISI:        
   501 0012A 0D27                  JBC     ATTTT,ALARM
   502 0012B 08C6                  BC      RB,SP
   503 0012C 096D                  BC      MARK,PX_OUT
   504 0012D 1517                  JMP     MLOOP
   505                     ;*********************************************************************
   506                     ;显示输出子程序
   507                     ;*********************************************************************        
   508 0012E               T_FLASH_POR:
   509 0012E 0563                  INC     T_FLASH
   510 0012F 0423                  MOV     A,T_FLASH
   511 00130 1D02                  SUB     A,@2
   512 00131 0C03                  JBC     STATUS,C
   513 00132 0012                  RET
   514 00133 0EED                  JBS     MARK,EN_OUT
   515 00134 1537                  JMP     TO_T_ON
   516 00135 08ED                  BC      MARK,EN_OUT
   517 00136 0012                  RET
   518 00137               TO_T_ON:

⌨️ 快捷键说明

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