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

📄 07_08.lst

📁 一个16LED显示的双路马达驱动电路图
💻 LST
📖 第 1 页 / 共 4 页
字号:
   898 00261 0A58          		BS		FLAG1,MOTORR_ON
   899                     		
   900 00262 0E03          		JBS		STATUS,C
   901 00263 0858          		BC		FLAG1,MOTORR_ON
   902                     		
   903 00264               TURN_EXIT:
   904 00264 15F8          		JMP		MODE1
   905                     			
   906                     ;*************************************************	
   907                     
   908 00265               MODE1_L:
   909 00265 0CD7          		JBC		FLAG0,DYONL_FLAG		;test the dyonl_flag if dyonl_flag=1,speedl=off 0				
   910 00266 1672          		JMP		SPEED_OFF_L			
   911                     		
   912 00267               SPEED_ON_L:
   913 00267 0A95          		BS		R5_BUF,CONT1_L         ;cont1+=1 for delay_on_l
   914                     		
   915 00268 046B          		MOV		DELAY_ON_L,DELAY_ON_L  ;test the motor play timer is not out
   916 00269 0C83          		JBC		STATUS,Z
   917 0026A 166D          		JMP		$+3
   918 0026B 01EB          		DEC		DELAY_ON_L
   919 0026C 1672          		JMP		SPEED_OFF_L
   920                     		
   921 0026D 0422          		MOV		A,SPEED_L 			;the delay_on_l time is from the speedl
   922 0026E 1068          		CALL	DELAYON_L_TAB
   923 0026F 006B          		MOV		DELAY_ON_L,A
   924 00270 0895          		BC		R5_BUF,CONT1_L
   925 00271 0AD7          		BS		FLAG0,DYONL_FLAG
   926                     		
   927 00272               SPEED_OFF_L:
   928 00272 046C          		MOV		DELAY_OFF_L,DELAY_OFF_L		;test the total cycle is not out
   929 00273 0C83          		JBC		STATUS,Z
   930 00274 1677          		JMP		$+3
   931 00275 01EC          		DEC		DELAY_OFF_L
   932 00276 0012          		RET
   933                     		
   934 00277 1812          		MOV		A,@0X12
   935 00278 006C          		MOV		DELAY_OFF_L,A
   936 00279 08D7          		BC		FLAG0,DYONL_FLAG
   937 0027A 0012          		RET
   938                     		
   939                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&		
   940                     		
   941 0027B               MODE1_L_NEV:
   942 0027B 0CD7          		JBC		FLAG0,DYONL_FLAG
   943 0027C 1688          		JMP		SPEED_OFF_L_NEV
   944                     
   945 0027D               SPEED_ON_L_NEV:
   946 0027D 0A55          		BS		R5_BUF,CONT2_L
   947 0027E 046B          		MOV		DELAY_ON_L,DELAY_ON_L
   948 0027F 0C83          		JBC		STATUS,Z
   949 00280 1683          		JMP		$+3
   950 00281 01EB          		DEC		DELAY_ON_L
   951 00282 1688          		JMP		SPEED_OFF_L_NEV
   952                     		
   953 00283 0422          		MOV		A,SPEED_L
   954 00284 1068          		CALL	DELAYON_L_TAB
   955 00285 006B          		MOV		DELAY_ON_L,A
   956 00286 0AD7          		BS		FLAG0,DYONL_FLAG
   957 00287 0855          		BC		R5_BUF,CONT2_L
   958                     		
   959 00288               SPEED_OFF_L_NEV:
   960 00288 046C          		MOV		DELAY_OFF_L,DELAY_OFF_L
   961 00289 0C83          		JBC		STATUS,Z
   962 0028A 168D          		JMP		$+3
   963 0028B 01EC          		DEC		DELAY_OFF_L
   964 0028C 0012          		RET
   965                     		
   966 0028D 1812          		MOV		A,@0X12
   967 0028E 006C          		MOV		DELAY_OFF_L,A
   968 0028F 08D7          		BC		FLAG0,DYONL_FLAG
   969 00290 0012          		RET		
   970                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&		
   971                     
   972 00291               MODE1_R:
   973 00291 0D17          		JBC		FLAG0,DYONR_FLAG
   974 00292 169E          		JMP		SPEED_OFF_R
   975                     		
   976 00293               SPEED_ON_R:
   977 00293 0AD5          		BS		R5_BUF,CONT1_R
   978 00294 046D          		MOV		DELAY_ON_R,DELAY_ON_R
   979 00295 0C83          		JBC		STATUS,Z
   980 00296 1699          		JMP		DELAY_R
   981 00297 01ED          		DEC		DELAY_ON_R
   982 00298 169E          		JMP		SPEED_OFF_R
   983 00299               DELAY_R:
   984 00299 0423          		MOV		A,SPEED_R
   985 0029A 1072          		CALL	DELAYON_R_TAB
   986 0029B 006D          		MOV		DELAY_ON_R,A
   987 0029C 08D5          		BC		R5_BUF,CONT1_R
   988 0029D 0B17          		BS		FLAG0,DYONR_FLAG
   989                     		
   990 0029E               SPEED_OFF_R:
   991 0029E 046E          		MOV		DELAY_OFF_R,DELAY_OFF_R
   992 0029F 0C83          		JBC		STATUS,Z
   993 002A0 16A3          		JMP		$+3
   994 002A1 01EE          		DEC		DELAY_OFF_R
   995 002A2 0012          		RET
   996                     		
   997 002A3 180C          		MOV		A,@0X0C
   998 002A4 006E          		MOV		DELAY_OFF_R,A
   999 002A5 0917          		BC		FLAG0,DYONR_FLAG
  1000 002A6 0012          		RET
  1001                     		
  1002                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&		
  1003                     		
  1004 002A7               MODE1_R_NEV:
  1005 002A7 0D17          		JBC		FLAG0,DYONR_FLAG
  1006 002A8 16B4          		JMP		SPEED_OFF_R_NEV
  1007                     
  1008 002A9               SPEED_ON_R_NEV:
  1009 002A9 0B15          		BS		R5_BUF,CONT2_R
  1010 002AA 046D          		MOV		DELAY_ON_R,DELAY_ON_R
  1011 002AB 0C83          		JBC		STATUS,Z
  1012 002AC 16AF          		JMP		$+3
  1013 002AD 01ED          		DEC		DELAY_ON_R
  1014 002AE 16B4          		JMP		SPEED_OFF_R_NEV
  1015                     		
  1016 002AF 0423          		MOV		A,SPEED_R
  1017 002B0 1072          		CALL	DELAYON_R_TAB
  1018 002B1 006D          		MOV		DELAY_ON_R,A
  1019 002B2 0B17          		BS		FLAG0,DYONR_FLAG
  1020 002B3 0915          		BC		R5_BUF,CONT2_R
  1021                     		
  1022 002B4               SPEED_OFF_R_NEV:
  1023 002B4 046E          		MOV		DELAY_OFF_R,DELAY_OFF_R
  1024 002B5 0C83          		JBC		STATUS,Z
  1025 002B6 16B9          		JMP		$+3
  1026 002B7 01EE          		DEC		DELAY_OFF_R
  1027 002B8 0012          		RET
  1028                     		
  1029 002B9 180C          		MOV		A,@0X0C
  1030 002BA 006E          		MOV		DELAY_OFF_R,A
  1031 002BB 0917          		BC		FLAG0,DYONR_FLAG
  1032 002BC 0012          		RET			
  1033                     		  
  1034                     ;*************************************exit interrupter
  1035                     		
  1036 002BD               INT_EXIT:
  1037                     		
  1038 002BD 080F          		BC		ISR,TCIF  ;clean the TCC intterrupt flag
  1039                     		
  1040 002BE 0413          		MOV		A,R4_BUF
  1041 002BF 0044          		MOV		RSR,A
  1042                     		
  1043 002C0 0412          		MOV		A,R3_BUF
  1044 002C1 0043          		MOV		STATUS,A
  1045                     		
  1046 002C2 0711          		SWAPA	ACC_BUF
  1047                     		
  1048 002C3 0013          		RETI
  1049                     		
  1050 002C4               POWERON:
  1051 002C4 0011          		DISI				;colse the intterrupt
  1052 002C5 1800          		MOV		A,@0X00    ;clean the special register
  1053 002C6 0045          		MOV		PORT5,A
  1054 002C7 0046          		MOV		PORT6,A
  1055                     		
  1056 002C8 004E          		MOV		WPC,A
  1057 002C9 004F          		MOV		ISR,A
  1058                     		
  1059 002CA 1800          		MOV		A,@0X00		;PORT6 set as output
  1060 002CB 0006          		IOW		P6CR
  1061 002CC 1860          		MOV		A,@0X60
  1062 002CD 0005          		IOW		P5CR
  1063 002CE 18FF          		MOV		A,@0XFF
  1064 002CF 000B          		IOW		PDCR
  1065 002D0 180F          		MOV		A,@0X0F
  1066 002D1 000D          		IOW		PHCR
  1067                     
  1068                     		
  1069                     		
  1070 002D2 1855          		MOV		A,@0X55			;power on test1
  1071 002D3 0332          		XOR		A,POWERTEST1
  1072 002D4 0E83          		JBS		STATUS,Z
  1073 002D5 16DF          		JMP		CLR_RAM
  1074                     		
  1075 002D6 18AA          		MOV		A,@0XAA			;power on test2
  1076 002D7 0333          		XOR		A,POWERTEST2
  1077 002D8 0E83          		JBS		STATUS,Z
  1078 002D9 16DF          		JMP		CLR_RAM
  1079                     		
  1080 002DA 1818          		MOV		A,@0X18			;test power on T=1,P=1
  1081 002DB 0283          		AND		A,STATUS
  1082 002DC 1B18          		XOR		A,@0X18
  1083 002DD 0C83          		JBC		STATUS,Z
  1084 002DE 16E9          		JMP		MAIN
  1085                     
  1086                     		
  1087 002DF               CLR_RAM:                    ;clean the RAM   
  1088 002DF 182F          		MOV		A,@0X2F
  1089 002E0 0050          		MOV		TEMP,A
  1090 002E1 1811          		MOV		A,@0X11
  1091 002E2 0044          		MOV		RSR,A
  1092 002E3               LOOP1:
  1093 002E3 0080          		CLRA
  1094 002E4 0040          		MOV 	R0,A
  1095 002E5 0544          		INC		RSR
  1096 002E6 05D0          		DJZ		TEMP
  1097 002E7 16E3          		JMP		LOOP1
  1098 002E8 00D0          		CLR		TEMP
  1099                     
  1100                     ;*********************************************************		
  1101 002E9               MAIN:
  1102 002E9 1855          		MOV		A,@0X55				
  1103 002EA 0072          		MOV		POWERTEST1,A
  1104                     		
  1105 002EB 18AA          		MOV		A,@0XAA
  1106 002EC 0073          		MOV		POWERTEST2,A
  1107                     		
  1108 002ED 1806          		MOV		A,@0X06   ;set TCC  time equal 250   
  1109 002EE 0041          		MOV		TCC,A
  1110 002EF 1849          		MOV		A,@0X49		;set TCC prescaler as 1:4  (256*4/4)*4=1ms
  1111 002F0 0002          		CONTW
  1112                     				
  1113 002F1 188C          		MOV		A,@0X8C		;close the WDT
  1114 002F2 000E          		IOW		WDTCR
  1115                     		
  1116 002F3 1801          		MOV		A,@0X01     ;enable TCC time intterrupt flag
  1117 002F4 000F          		IOW		IMR
  1118 002F5 0A18          		BS		FLAG1,MOTORL_ON
  1119 002F6 0A58          		BS		FLAG1,MOTORR_ON
  1120 002F7 0010          		ENI					;enable the intterrupt
  1121                     
  1122 002F8               LOOP2:
  1123 002F8 0004          		WDTC
  1124 002F9 1864          		MOV		A,@0X64
  1125 002FA 0334          		XOR		A,SLEEP_FLAG
  1126 002FB 0E83          		JBS		STATUS,Z
  1127 002FC 16F8          		JMP		LOOP2
  1128                     
  1129 002FD 00F4          		CLR		SLEEP_FLAG
  1130                     		
  1131 002FE 0011          		DISI	
  1132                     		
  1133                     			
  1134                     		
  1135 002FF 1800          		MOV		A,@0X00
  1136 00300 0005          		IOW		P5CR
  1137 00301 1800          		MOV		A,@0X00
  1138 00302 0045          		MOV		PORT5,A
  1139                     		
  1140 00303 180F          		MOV		A,@0X0F
  1141 00304 0006          		IOW		P6CR
  1142 00305 1800          		MOV		A,@0X00
  1143 00306 0046          		MOV		PORT6,A
  1144                     		
  1145 00307 18F0          		MOV		A,@0XF0
  1146 00308 000D          		IOW		PHCR
  1147                     		
  1148 00309 1800          		MOV		A,@0X00
  1149 0030A 000E          		IOW		WDTCR
  1150                     		
  1151 0030B 1800          		MOV		A,@0X00
  1152 0030C 000F          		IOW		0X0F
  1153                     		
  1154 0030D 0446          		MOV 	PORT6,PORT6
  1155                     		
  1156 0030E 1802          		MOV		A,@0X02
  1157 0030F 004E          		MOV		WPC,A
  1158                     
  1159 00310 0003          		SLEP
  1160                     		
  1161                     		
  1162 00311               WAKE_UP:
  1163 00311 0000          		NOP
  1164 00312 0000          		NOP
  1165 00313 0000          		NOP
  1166 00314 0000          		NOP
  1167 00315 0000          		NOP
  1168 00316 0000          		NOP
  1169 00317 0000          		NOP
  1170                     		
  1171 00318 0011          		DISI				;colse the intterrupt
  1172 00319 0004                  WDTC
  1173                     		
  1174 0031A 188C          		MOV		A,@0X8C		;close the WDT
  1175 0031B 000E          		IOW		WDTCR
  1176                     		
  1177 0031C 1800          		MOV		A,@0X00
  1178 0031D 004E          		MOV		WPC,A
  1179                     		
  1180 0031E 1800          		MOV		A,@0X00		;PORT6 set as output
  1181 0031F 0006          		IOW		P6CR
  1182 00320 1860          		MOV		A,@0X60
  1183 00321 0005          		IOW		P5CR
  1184 00322 180F          		MOV		A,@0X0F
  1185 00323 000D          		IOW		PHCR	
  1186 00324 1801          		MOV		A,@0X01     ;enable TCC time intterrupt flag
  1187 00325 000F          		IOW		IMR
  1188 00326 0010          		ENI					;enable the intterrupt
  1189                     		
  1190 00327 16F8          		JMP		LOOP2
  1191                     		
  1192                     
  1193                     			
  1194                     
  0 Error(s), 0 Warning(s), 0 User Message(s)

⌨️ 快捷键说明

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