📄 time_relay.l
字号:
908 07AE KEY_DEC1
909 07AE 26 69 01 SUB KEY_DP,#01H
910 07B1 7B 03 JR C,KEY_DEC2
911 07B3 8D 07 E0 JP KEY_DEC_EXIT
912 07B6 KEY_DEC2
913 07B6 E6 69 09 LD KEY_DP,#09H
914 07B9 KEY_GW_DEC
915 07B9 26 6A 01 SUB KEY_GW,#01H
916 07BC 7B 03 JR C,KEY_DEC3
917 07BE 8D 07 E0 JP KEY_DEC_EXIT
918 07C1 KEY_DEC3
919 07C1 E6 6A 05 LD KEY_GW,#05H
920 07C4 KEY_SW_DEC
921 07C4 26 6B 01 SUB KEY_SW,#01H
922 07C7 7D 07 CD JP C,KEY_DEC4
923 07CA 8D 07 E0 JP KEY_DEC_EXIT
924 07CD KEY_DEC4
925 07CD E6 6B 09 LD KEY_SW,#09H
926 07D0 KEY_BW_DEC
927 07D0 26 6C 01 SUB KEY_BW,#01H
928 07D3 7B 03 JR C,KEY_DEC5
929 07D5 8D 07 E0 JP KEY_DEC_EXIT
930 07D8 KEY_DEC5
931 07D8 B0 69 CLR KEY_DP
932 07DA B0 6A CLR KEY_GW
933 07DC B0 6B CLR KEY_SW
934 07DE B0 6C CLR KEY_BW
935 07E0 KEY_DEC_EXIT
936 07E0 E6 0F 0A LD T_300MS_TEMP,#10
937 07E3 E6 14 0A LD T_3S_TEMP,#10
938 07E6 A6 15 55 CP T_3S_FLAG,#55H
939 07E9 EB 1A JR NE,KEY_DEC_EXIT_1
940 ;****************300ms FLAG****************
941 07EB KEY_DEC_EXIT_0
942 07EB 76 E2 02 TM P2,#00000010B
943 07EE 6B 06 JR Z,KEY_DEC_EXIT_300MS
944 07F0 E6 15 AA LD T_3S_FLAG,#0AAH
945 07F3 8D 03 51 JP T,TIME
946 07F6 KEY_DEC_EXIT_300MS
947 07F6 A6 0B 55 CP T_10MS_FLAG,#55H
948 07F9 EB FB JR NE,KEY_DEC_EXIT_300MS
949 07FB E6 0B AA LD T_10MS_FLAG,#0AAH
950 07FE 00 0F DEC T_300MS_TEMP
951 0800 EB E9 JR NZ,KEY_DEC_EXIT_0
952 0802 8D 03 51 JP T,TIME
953 ;****************3s FLAG****************
954 0805 KEY_DEC_EXIT_1
955 0805 76 E2 02 TM P2,#00000010B
956 0808 6B 06 JR Z,KEY_DEC_EXIT_3S
957 080A E6 15 AA LD T_3S_FLAG,#0AAH
958 080D 8D 03 51 JP T,TIME
959 0810 KEY_DEC_EXIT_3S
960 0810 A6 0E 55 CP T_100MS_FLAG,#55H
961 0813 EB FB JR NE,KEY_DEC_EXIT_3S
962 0815 E6 0E AA LD T_100MS_FLAG,#0AAH
963 0818 00 14 DEC T_3S_TEMP
964 081A EB E9 JR NZ,KEY_DEC_EXIT_1
965 081C E6 15 55 LD T_3S_FLAG,#55H
966 081F 8D 03 51 JP T,TIME
967 ;******************加减同时按下进入复位状态************
968 0822 KEY_ADD_DEC
969 0822 76 E2 02 TM P2,#00000010B
970 0825 ED 03 51 JP NZ,TIME
971 0828 E4 33 26 LD DIS_DP,KEY_DP_TIME_POSITIVE
972 082B E4 34 27 LD DIS_GW,KEY_GW_TIME_POSITIVE
973 082E E4 35 28 LD DIS_SW,KEY_SW_TIME_POSITIVE
974 0831 E4 36 29 LD DIS_BW,KEY_BW_TIME_POSITIVE
975 0834 E4 33 62 LD KEY_DP1,KEY_DP_TIME_POSITIVE
976 0837 E4 34 63 LD KEY_GW1,KEY_GW_TIME_POSITIVE
977 083A E4 35 64 LD KEY_SW1,KEY_SW_TIME_POSITIVE
978 083D E4 36 65 LD KEY_BW1,KEY_BW_TIME_POSITIVE
979 0840 E4 33 69 LD KEY_DP,KEY_DP_TIME_POSITIVE
980 0843 E4 34 6A LD KEY_GW,KEY_GW_TIME_POSITIVE
981 0846 E4 35 6B LD KEY_SW,KEY_SW_TIME_POSITIVE
982 0849 E4 36 6C LD KEY_BW,KEY_BW_TIME_POSITIVE
983 084C 8D 08 79 JP T,KEY_ADD_DEC_EXIT
984 084F KEY_DEC_ADD
985 084F 76 E2 04 TM P2,#00000100B
986 0852 ED 03 51 JP NZ,TIME
987 0855 E4 33 26 LD DIS_DP,KEY_DP_TIME_POSITIVE
988 0858 E4 34 27 LD DIS_GW,KEY_GW_TIME_POSITIVE
989 085B E4 35 28 LD DIS_SW,KEY_SW_TIME_POSITIVE
990 085E E4 36 29 LD DIS_BW,KEY_BW_TIME_POSITIVE
991 0861 E4 33 62 LD KEY_DP1,KEY_DP_TIME_POSITIVE
992 0864 E4 34 63 LD KEY_GW1,KEY_GW_TIME_POSITIVE
993 0867 E4 35 64 LD KEY_SW1,KEY_SW_TIME_POSITIVE
994 086A E4 36 65 LD KEY_BW1,KEY_BW_TIME_POSITIVE
995 086D E4 33 69 LD KEY_DP,KEY_DP_TIME_POSITIVE
996 0870 E4 34 6A LD KEY_GW,KEY_GW_TIME_POSITIVE
997 0873 E4 35 6B LD KEY_SW,KEY_SW_TIME_POSITIVE
998 0876 E4 36 6C LD KEY_BW,KEY_BW_TIME_POSITIVE
999 0879 KEY_ADD_DEC_EXIT
1000 0879 76 E2 04 TM P2,#00000100B
1001 087C 6D 08 79 JP Z,KEY_ADD_DEC_EXIT
1002 087F 76 E2 02 TM P2,#00000010B
1003 0882 6D 08 79 JP Z,KEY_ADD_DEC_EXIT
1004 0885 8D 03 51 JP T,TIME
1005 ;****************移位*******************
1006 0888 KEY_MOV
1007 0888 A6 04 00 CP KEY_ENTER,#00H
1008 088B 6D 08 98 JP EQ,KEY_MOV_EXIT ;不动作退出
1009 088E KEY_MOV_1
1010 088E 20 66 INC KEY_MOV_FLAG ;代表加位标志
1011 0890 A6 66 04 CP KEY_MOV_FLAG,#04H
1012 0893 7D 08 98 JP ULT,KEY_MOV_EXIT
1013 0896 B0 66 CLR KEY_MOV_FLAG
1014 0898 KEY_MOV_EXIT
1015 0898 76 E2 01 TM P2,#00000001B
1016 089B 6B FB JR Z,KEY_MOV_EXIT
1017 089D 8D 03 51 JP T,TIME
1018 ;****************EXIT*******************
1019 08A0 KEY_EXIT
1020 08A0 8D 03 51 JP T,TIME
1021 ;*************************数码管显示程序**************************
1022 08A3 DISPLAY3
1023 08A3 A6 25 0A CP DIS_CP1,#0AH
1024 08A6 EB 05 JR NE,DISPLAY1
1025 08A8 3C 2A LD R3,#2AH ;DIS_BUF_DP
1026 08AA E6 4F 2A LD DISPLAY_CNT,#2AH
1027 08AD DISPLAY1
1028 08AD 00 25 DEC DIS_CP1
1029 08AF 38 4F LD R3,DISPLAY_CNT
1030 08B1 E6 44 08 LD CNT,#08H
1031 08B4 4C 00 LD R4,#00H
1032 08B6 C7 53 LD R5,@R3
1033 08B8 20 4F INC DISPLAY_CNT
1034 08BA A7 04 0E 0A LDC R0,#LED_TABLE[RR4]
1035 ; LD P2CONL,#10100110B ; P2.0–P2.6 push-pull output P2。0推挽式输出
1036 08BE 56 E0 F7 AND P0,#11110111B ;关掉数码管
1037 08C1 46 E2 08 OR P2,#00001000B ;关发光二极管
1038 08C4 NEXT1
1039 08C4 10 C0 RLC R0
1040 08C6 46 E0 10 OR P0,#00010000B ;发送数据
1041 08C9 7B 03 JR C,NEXT2
1042 08CB 56 E0 EF AND P0,#11101111B
1043 08CE NEXT2
1044 08CE FF NOP
1045 08CF FF NOP
1046 08D0 56 E0 DF AND P0,#11011111B ;发送时钟
1047 08D3 FF NOP
1048 08D4 FF NOP
1049 08D5 46 E0 20 OR P0,#00100000B
1050 08D8 00 44 DEC CNT
1051 08DA EB E8 JR NZ,NEXT1
1052 08DC A6 25 06 cp DIS_CP1,#6 ;8
1053 08DF 6D 09 12 jp eq,DIS1
1054 08E2 A6 25 07 cp DIS_CP1,#7 ;7
1055 08E5 6D 09 19 jp eq,DIS2
1056 08E8 A6 25 08 cp DIS_CP1,#8 ;6
1057 08EB 6D 09 20 jp eq,DIS3
1058 08EE A6 25 09 CP DIS_CP1,#9 ;5
1059 08F1 6D 09 27 Jp eq,DIS4
1060 08F4 A6 25 01 CP DIS_CP1,#1
1061 08F7 6D 09 47 JP EQ,KEY_LED1
1062 08FA A6 25 02 CP DIS_CP1,#2
1063 08FD 6D 09 2E JP EQ,KEY_DIS1
1064 0900 A6 25 03 CP DIS_CP1,#3
1065 0903 6D 09 35 JP EQ,KEY_DIS2
1066 0906 A6 25 04 CP DIS_CP1,#4
1067 0909 6D 09 3C JP EQ,KEY_DIS3
1068 090C A6 25 05 CP DIS_CP1,#5
1069 090F 6D 09 43 JP EQ,KEY_DIS4
1070 0912 DIS1
1071 0912 56 E0 F8 AND P0,#11111000B ;Y0为低电平
1072 0915 46 E0 08 OR P0,#00001000B ;开数码管
1073 0918 AF RET
1074 0919 DIS2
1075 0919 56 E0 F9 AND P0,#11111001B
1076 091C 46 E0 09 OR P0,#00001001B ;Y1为低电平
1077 ;OR P0,#00001000B ;开数码管
1078 091F AF RET
1079 0920 DIS3
1080 0920 56 E0 FA AND P0,#11111010B
1081 0923 46 E0 0A OR P0,#00001010B ;Y2为低电平
1082 ;OR P0,#00001000B ;开数码管
1083 0926 AF RET
1084 0927 DIS4
1085 0927 56 E0 FB AND P0,#11111011B
1086 092A 46 E0 0B OR P0,#00001011B ;Y3为低电平
1087 ; OR P0,#00001000B ;开数码管
1088 092D AF RET
1089 092E KEY_DIS1
1090 092E 56 E0 FC AND P0,#11111100B
1091 0931 46 E0 0C OR P0,#00001100B ;Y4为低电平
1092 ; OR P0,#00001000B ;开数码管
1093 0934 AF RET
1094 0935 KEY_DIS2
1095 0935 56 E0 FD AND P0,#11111101B
1096 0938 46 E0 0D OR P0,#00001101B ;Y5为低电平
1097 ;OR P0,#00001000B ;开数码管
1098 093B AF RET
1099 093C KEY_DIS3
1100 093C 56 E0 FE AND P0,#11111110B
1101 093F 46 E0 0E OR P0,#00001110B ;Y6为低电平
1102 ;OR P0,#00001000B ;开数码管
1103 0942 AF RET
1104 0943 KEY_DIS4
1105 0943 46 E0 0F OR P0,#00001111B ;Y7为低电平
1106 ; OR P0,#00001000B ;开数码管
1107 0946 AF RET
1108 0947 KEY_LED1
1109 0947 56 E2 F7 AND P2,#11110111B
1110 094A E6 4F 2A LD DISPLAY_CNT,#2AH
1111 094D E6 25 0A LD DIS_CP1,#0AH
1112 0950 AF RET
1113 ;****************************I2CSTAR**********************************
1114 ;本程序实现在虚拟I2C总线上发送起始位。
1115 ;入口参数:无
1116 ;出口参数:无
1117 0951 I2CSTAR
1118 0951 E6 E6 8A LD P0CONH,#10001010B ;P0输出
1119 0954 E6 EA 4A LD P2CONH,#01001010B ;P2输出
1120 0957 46 E2 40 OR P2,#01000000B ;SDA置位
1121 095A 46 E0 80 OR P0,#10000000B ;SCL置位
1122 095D FF NOP
1123 095E FF NOP
1124 095F FF NOP
1125 0960 56 E2 BF AND P2,#10111111B ;SDA清零
1126 0963 FF NOP
1127 0964 FF NOP
1128 0965 FF NOP
1129 0966 56 E0 7F AND P0,#01111111B ;SCL清零
1130 0969 AF RET
1131 ;****************************I2CSTOP**********************************
1132 ;本程序实现在虚拟I2C总线上发送结束位。
1133 ;入口参数:无
1134 ;出口参数:无
1135 096A I2CS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -