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

📄 4pled-a3.lst

📁 led 动态显示与数据通信
💻 LST
📖 第 1 页 / 共 4 页
字号:
   778                     
   779                             BS      ATTTT,ALARM
   780                             MOV     A,@0x1F
   781                     DT15:
   782                             MOV     RXD_SA,A
   783                             MOV     A,RXD_SA       ;取接收数据
   784                             AND     A,@0x1F        ;去掉高三位
   785                             MOV     TEMP1,A        ;暂存数据
   786                             JBC     STATUS,Z       ;是否为零
   787                             CALL    TEMP_SET       ;是零,从新初始化数据
   788                             CLR     DATA_C         ;初始化显示图形低位数据指针   
   789                             CLR     DATA_D         ;初始化显示图形高位数据指针
   790                             CLR     ALARM_PX       ;初始化报警及动点定时时间常数指针
   791                             BC      MARK,ALA_EN    ;关闭报警
   792                             BC      MARK,FLASH
   793                             JBC     TEMP1,4        ;S>16?
   794                             JMP     DT_ADD_END     ;S>16 关图形显示
   795                             CALL    DATA_ADX
   796                             MOV     A,TEMP2
   797                             MOV     ALARM_PX,A
   798                             
   799                     DATA_ADX:        
   800                     ;15        
   801                             INC     TEMP2       ;AL=1
   802                             BS      MARK,ALA_EN    ;启动报警
   803                             MOV     A,TEMP1
   804                             SUB     A,@12          ;S>12?
   805                             JBS     STATUS,C
   806                             JMP     DT_ADD_END     ;15>S>=13
   807                     ;12        
   808                             INC     TEMP2       ;AL=2
   809                             MOV     A,TEMP1
   810                             SUB     A,@10
   811                             JBS     STATUS,C
   812                             JMP     DT_ADD_END     ;12>S>11
   813                     ;10        
   814                             INC     TEMP2       ;AL=3
   815                             MOV     A,TEMP1
   816                             SUB     A,@8
   817                             JBS     STATUS,C
   818                             JMP     DT_ADD_END     ;10>S>9
   819                     ;08
   820                             INC     TEMP2       ;AL=4
   821                             MOV     A,TEMP1
   822                             SUB     A,@6
   823                             JBS     STATUS,C
   824                             JMP     DT_ADD_END     ;8>S>6
   825                     ;06        
   826                             INC     TEMP2       ;AL=5
   827                             MOV     A,TEMP1
   828                             SUB     A,@5
   829                             JBS     STATUS,C
   830                             JMP     DT_ADD_END     ;6>S>5
   831                     ;05     
   832                             INC     TEMP2        ;AL=6
   833                             BS      MARK,FLASH
   834                             MOV     A,TEMP1
   835                             SUB     A,@4
   836                             JBS     STATUS,C
   837                             JMP     DT_ADD_END     ;5>S>4
   838                     ;04
   839                             INC     TEMP2       ;AL=7
   840                             RET
   841                     ;---------------------------------------------------------------------
   842                     ;计算波段值        
   843                     DT_ADD_END:
   844                             DISI
   845                             MOV     A,ALARM_PX
   846                             JBC     STATUS,Z
   847                             JMP     TO_LEF_RIG
   848                             MOV     DATA_C,A
   849                             MOV     DATA_D,A
   850                             JBC     RXD_SA,RIG
   851                             JMP     TO_LEF
   852                             MOV     A,DATA_D
   853                             SUB     A,@2
   854                             MOV     DATA_D,A
   855                             COM     DATA_D
   856                             INC     DATA_D
   857                             JBS     STATUS,C
   858                             JMP     TO_LEF
   859                             CLR     DATA_D
   860                     TO_LEF:
   861                             JBC     RXD_SA,LEF
   862                             JMP     TO_LEF_RIG
   863                             MOV     A,DATA_C
   864                             SUB     A,@2
   865                             MOV     DATA_C,A
   866                             COM     DATA_C
   867                             INC     DATA_C
   868                             JBS     STATUS,C
   869                             JMP     TO_LEF_RIG
   870                             CLR     DATA_C
   871                     TO_LEF_RIG:
   872                             MOV     A,DATA_C
   873                             CALL    TAB_C
   874                             MOV     DOUT_C,A                 
   875                             MOV     A,DATA_D
   876                             CALL    TAB_C
   877                             MOV     DOUT_D,A
   878                             JBS     MARK,FLASH
   879                             JMP     TO_DATA_DA
   880                             JBC     RXD_SA,LEF
   881                             BS      DOUT_C,FLASH
   882                             JBC     RXD_SA,RIG
   883                             BS      DOUT_D,FLASH
   884                     ;---------------------------------------------------------------------
   885                     ;数据转换
   886                     TO_DATA_DA:                         
   887                             MOV     A,RXD_SA
   888                             AND     A,@0x1F
   889                             MOV     TEMP1,A
   890                             CALL    DATA_DA
   891                             MOV     A,DATA_A
   892                             CALL    TAB_A
   893                             MOV     DOUT_A,A
   894                             MOV     A,DATA_B
   895                             CALL    TAB_A
   896                             MOV     DOUT_B,A
   897                             BC      MARK,RXDM
   898                             RETI    */          
   899                     ;*********************************************************************
   900                     ;二进制-十进制转换子程序        
   901                     ;入口数据:A,TEMP1      
   902                     ;出口数据:十位在DATA_B; 个位在DATA_A
   903                     ;影响资源:A; TEMP1; TEMP2; DATA_A; DATA_B
   904                     ;最大指令周期:T=
   905                     ;*********************************************************************
   906                     /*DATA_DA:
   907                             MOV     A,TEMP1
   908                             SUB     A,@18
   909                             JBC     STATUS,C
   910                             JMP     DATA_LOOP   
   911                             MOV     A,@10
   912                             MOV     TEMP1,A
   913                             MOV     A,@10
   914                             MOV     TEMP2,A
   915                             JMP     DA_END
   916                     DATA_LOOP:        
   917                             MOV     A,TEMP1
   918                             SUB     A,@3
   919                             JBC     STATUS,C      
   920                             CLR     TEMP1
   921                             CLR     TEMP2
   922                     DA_LOOP1:
   923                             MOV     A,@10
   924                             SUB     A,TEMP1
   925                             JBS     STATUS,C
   926                             JMP     DA_END 
   927                             MOV     TEMP1,A
   928                             INC     TEMP2
   929                             JMP     DA_LOOP1
   930                     DA_END: 
   931                             MOV     A,TEMP1
   932                             MOV     DATA_A,A
   933                             MOV     A,TEMP2
   934                             MOV     DATA_B,A
   935                             RET */
   936                     
   937                     ;-------------------------------------------------------------------
   938                     ;TIME_PRO:
   939                     ;        INC     T100MST
   940                     ;        BC      MARK,T10MS
   941                     ;        MOV     A,T100MST
   942                     ;        SUB     A,@10
   943                     ;        JBC     STATUS,C
   944                     ;        RET
   945                     ;        CLR     T100MST
   946                     ;        BS      MARK,PX_OUT
   947                     ;        RET
   948                     ;-------------------------------------------------------------------
   949 001C9               ALARM_PRO:
   950 001C9 0562                  INC	ALARM_TIME
   951 001CA 0EC6                  JBS	RB,SP
   952 001CB 15D7                  JMP	ALARM_OFF
   953 001CC 0422                  MOV	A,ALARM_TIME
   954 001CD 1D01                  SUB	A,@1      ;2
   955 001CE 0C03                  JBC	STATUS,C
   956 001CF 0012                  RET
   957 001D0 0425                  MOV	A,ALARM_PX
   958 001D1 1A07                  AND    A,@7
   959 001D2 1B07                  XOR    A,@7
   960 001D3 0E83                  JBS    STATUS,Z
   961 001D4 08C6                  BC     RB,SP
   962 001D5 00E2                  CLR	ALARM_TIME
   963 001D6 0012                  RET
   964 001D7               ALARM_OFF:
   965 001D7 0425          	    MOV	A,ALARM_PX
   966 001D8 1A07              	AND     A,@7
   967 001D9 1028              	CALL   TAB_ARM_TIME
   968 001DA 0122              	SUB	A,ALARM_TIME
   969 001DB 0E03              	JBS	STATUS,C
   970 001DC 0012              	RET
   971 001DD 0AC6              	BS	RB,SP
   972 001DE 00E2              	CLR	ALARM_TIME
   973 001DF 0012              	RET
   974                     
   975                     ;*************************************************************************
   976                     /*;-----------------------------------------------------------------
   977                     ;临时自动数据减量子程序                
   978                     ;-----------------------------------------------------------------
   979                     TEMP_SET:
   980                             INC     T1S_TIME
   981                             MOV     A,T1S_TIME
   982                             SUB     A,@1
   983                             JBC     STATUS,C
   984                             RET
   985                             CLR     T1S_TIME
   986                             MOV     A,TEMP1
   987                             MOV     DP_SA,A
   988                             MOV     A,TEMP2
   989                             MOV     DP_SB,A
   990                             MOV     A,RXD_SA
   991                             AND     A,@0x60
   992                             MOV     TEMP2,A
   993                             MOV     A,RXD_SA
   994                             AND     A,@0x1F
   995                             MOV     TEMP1,A   ;是否为零
   996                             JBC     STATUS,Z
   997                             JMP     TEMP_SET1
   998                             DEC     TEMP1
   999                             JMP     TEMP_SET_RET                   ;不为零,距离减一返回
  1000                     TEMP_SET1:        
  1001                             MOV     A,@0x16       ;是零,从新初始化数据
  1002                             OR      RXD_SA,A
  1003                             MOV     TEMP1,A
  1004                             MOV     A,RXD_SA
  1005                             AND     A,@0x60        ;读取方向位  L=6 R=5
  1006                             MOV     TEMP2,A
  1007                             XOR     A,@0x60        ;L=R?
  1008                             JBS     STATUS,Z
  1009                             JMP     TEMP_SET_L     ;不是,继续判定左
  1010                             BC      TEMP2,RIG        ;是,方向改为左,返回
  1011                             JMP     TEMP_SET_RET
  1012                             
  1013                     TEMP_SET_L:        
  1014                             JBS     TEMP2,LEF        ;是左向?
  1015                             JMP     TEMP_SET_R
  1016                             BC      STATUS,C
  1017                             RRC     TEMP2          ;是左向,改为右向,返回         
  1018                             JMP     TEMP_SET_RET
  1019                             
  1020                     TEMP_SET_R:
  1021                             BS     TEMP2,LEF         ;是右向,改为双向
  1022                             BS     TEMP2,RIG
  1023                                     
  1024                     TEMP_SET_RET:
  1025                             MOV    A,TEMP1         ;从新组合接收数据
  1026                             OR     A,TEMP2        
  1027                             MOV    RXD_SA,A        ;存入接收寄存器
  1028                             MOV    A,DP_SA
  1029                             MOV    TEMP1,A
  1030                             RET     */
  1031                             END
  1032                     
  0 Error(s), 0 Warning(s), 0 User Message(s)

⌨️ 快捷键说明

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