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

📄 07_08.lst

📁 一个16LED显示的双路马达驱动电路图
💻 LST
📖 第 1 页 / 共 4 页
字号:
   300 000C3 14E8          		JMP		S3_KEY_ON
   301 000C4 0E86          		JBS		PORT6,2
   302 000C5 150C          		JMP		S8_KEY_ON
   303                     				
   304                     		
   305 000C6               NO_KEY:
   306                     		
   307 000C6 0478          		MOV		KEY_FLAG,KEY_FLAG	;no key test the key_flag and then delay 10ms
   308 000C7 0C83          		JBC		STATUS,Z
   309 000C8 14CB          		JMP		NO_KEY1
   310 000C9 00F8          	    CLR 	KEY_FLAG
   311 000CA 1578          		JMP		KEY_SCAN_EXIT
   312                     		
   313 000CB               NO_KEY1:
   314 000CB 0479          		MOV		KEY_STATE,KEY_STATE	;no key test the key_state and then delay 10ms
   315 000CC 0C83          		JBC		STATUS,Z
   316 000CD 1578          		JMP		KEY_SCAN_EXIT
   317 000CE 00F9          		CLR		KEY_STATE
   318 000CF 0817          		BC		FLAG0,KEY_LONG
   319 000D0 08D8          		BC		FLAG1,MID_DOWN_FLAG
   320 000D1 0898          		BC		FLAG1,MID_MID_FLAG
   321 000D2 1801          		MOV		A,@0X01	
   322 000D3 0060          		MOV		KEYTIME_L,A
   323 000D4 0061          		MOV		KEYTIME_R,A
   324 000D5 1578          		JMP		KEY_SCAN_EXIT
   325                     		
   326 000D6               S1_KEY_ON:
   327 000D6 0C38          		JBC		KEY_FLAG,S1_FLAG	;test key on key_flag and delay 10ms 
   328 000D7 14DA          		JMP		S1_KEY_ON1
   329 000D8 0A38          		BS		KEY_FLAG,S1_FLAG
   330 000D9 1578          		JMP		KEY_SCAN_EXIT
   331                     		
   332 000DA               S1_KEY_ON1:
   333                     		
   334 000DA 0C39          		JBC		KEY_STATE,S1_STATE ;test key on key_state and delay 10ms
   335 000DB 1515          		JMP		LEFT_DOWN_S1
   336 000DC 0A39          		BS		KEY_STATE,S1_STATE
   337 000DD 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   338 000DE 1578          		JMP		KEY_SCAN_EXIT
   339                     		
   340 000DF               S2_KEY_ON:
   341 000DF 0C78          		JBC		KEY_FLAG,S2_FLAG	;test key on key_flag and delay 10ms 
   342 000E0 14E3          		JMP		S2_KEY_ON1
   343 000E1 0A78          		BS		KEY_FLAG,S2_FLAG
   344 000E2 1578          		JMP		KEY_SCAN_EXIT
   345                     		
   346 000E3               S2_KEY_ON1:
   347                     		
   348 000E3 0C79          		JBC		KEY_STATE,S2_STATE ;test key on key_state and delay 10ms
   349 000E4 1523          		JMP		LEFT_UP_S2
   350 000E5 0A79          		BS		KEY_STATE,S2_STATE
   351 000E6 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   352 000E7 1578          		JMP		KEY_SCAN_EXIT
   353                     		
   354 000E8               S3_KEY_ON:
   355 000E8 0CB8          		JBC		KEY_FLAG,S3_FLAG	;test key on key_flag and delay 10ms 
   356 000E9 14EC          		JMP		S3_KEY_ON1
   357 000EA 0AB8          		BS		KEY_FLAG,S3_FLAG
   358 000EB 1578          		JMP		KEY_SCAN_EXIT
   359                     		
   360 000EC               S3_KEY_ON1:
   361                     		
   362 000EC 0CB9          		JBC		KEY_STATE,S3_STATE ;test key on key_state and delay 10ms
   363 000ED 1534          		JMP		MID_DOWN_S3
   364 000EE 0AB9          		BS		KEY_STATE,S3_STATE
   365 000EF 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   366 000F0 1578          		JMP		KEY_SCAN_EXIT
   367                     		
   368                     		
   369                     		
   370 000F1               S4_KEY_ON:
   371 000F1 0CF8          		JBC		KEY_FLAG,S4_FLAG	;test key on key_flag and delay 10ms 
   372 000F2 14F5          		JMP		S4_KEY_ON1
   373 000F3 0AF8          		BS		KEY_FLAG,S4_FLAG
   374 000F4 1578          		JMP		KEY_SCAN_EXIT
   375                     		
   376 000F5               S4_KEY_ON1:
   377                     		
   378 000F5 0CF9          		JBC		KEY_STATE,S4_STATE ;test key on key_state and delay 10ms
   379 000F6 1544          		JMP		MID_UP_S4
   380 000F7 0AF9          		BS		KEY_STATE,S4_STATE
   381 000F8 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   382 000F9 1578          		JMP		KEY_SCAN_EXIT
   383                     		
   384                     		
   385 000FA               S5_KEY_ON:
   386 000FA 0D38          		JBC		KEY_FLAG,S5_FLAG	;test key on key_flag and delay 10ms 
   387 000FB 14FE          		JMP		S5_KEY_ON1
   388 000FC 0B38          		BS		KEY_FLAG,S5_FLAG
   389 000FD 1578          		JMP		KEY_SCAN_EXIT
   390                     		
   391 000FE               S5_KEY_ON1:
   392                     		
   393 000FE 0D39          		JBC		KEY_STATE,S5_STATE ;test key on key_state and delay 10ms
   394 000FF 1549          		JMP		MID_MID_S5
   395 00100 0B39          		BS		KEY_STATE,S5_STATE
   396 00101 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   397 00102 1578          		JMP		KEY_SCAN_EXIT
   398                     		
   399 00103               S6_KEY_ON:
   400 00103 0D78          		JBC		KEY_FLAG,S6_FLAG	;test key on key_flag and delay 10ms 
   401 00104 1507          		JMP		S6_KEY_ON1
   402 00105 0B78          		BS		KEY_FLAG,S6_FLAG
   403 00106 1578          		JMP		KEY_SCAN_EXIT
   404                     		
   405 00107               S6_KEY_ON1:
   406                     		
   407 00107 0D79          		JBC		KEY_STATE,S6_STATE ;test key on key_state and delay 10ms
   408 00108 1559          		JMP		RIGHT_UP_S6
   409 00109 0B79          		BS		KEY_STATE,S6_STATE
   410 0010A 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   411 0010B 1578          		JMP		KEY_SCAN_EXIT	
   412                     		
   413 0010C               S8_KEY_ON:
   414 0010C 0DB8          		JBC		KEY_FLAG,S8_FLAG	;test key on key_flag and delay 10ms 
   415 0010D 1510          		JMP		S8_KEY_ON1
   416 0010E 0BB8          		BS		KEY_FLAG,S8_FLAG
   417 0010F 1578          		JMP		KEY_SCAN_EXIT
   418                     		
   419 00110               S8_KEY_ON1:
   420                     		
   421 00110 0DB9          		JBC		KEY_STATE,S8_STATE ;test key on key_state and delay 10ms
   422 00111 156A          		JMP		RIGHT_DOWN_S8
   423 00112 0BB9          		BS		KEY_STATE,S8_STATE
   424 00113 0A17          		BS		FLAG0,KEY_LONG	;set long key flag
   425 00114 1578          		JMP		KEY_SCAN_EXIT
   426                     					
   427                     		
   428                     ;*************************************key do		
   429 00115               LEFT_DOWN_S1:
   430                     			
   431 00115 0C17          		JBC		FLAG0,KEY_LONG		;test longkey
   432 00116 151A          		JMP		KEY1
   433 00117 0A17          		BS		FLAG0,KEY_LONG		;longkey 100*10ms then add 1
   434 00118 1832          		MOV		A,@0X32
   435 00119 0060          		MOV		KEYTIME_L,A	
   436 0011A               KEY1: 
   437 0011A 05E0          		DJZ		KEYTIME_L			;when longkey then delay 1s
   438 0011B 1578          		JMP		KEY_SCAN_EXIT
   439                     		
   440 0011C 0817          		BC		FLAG0,KEY_LONG		;clean longkey flag
   441 0011D 0560          		INC		KEYTIME_L
   442                     		
   443 0011E 0462          		MOV		SPEED_L,SPEED_L		;decrease speedl when speedl is not equal 0
   444 0011F 0C83          		JBC		STATUS,Z
   445 00120 1578          		JMP		KEY_SCAN_EXIT
   446 00121 01E2          		DEC		SPEED_L
   447 00122 1578          		JMP		KEY_SCAN_EXIT
   448                     		
   449                     		
   450 00123               LEFT_UP_S2:
   451 00123 0C17          		JBC		FLAG0,KEY_LONG
   452 00124 1528          		JMP		KEY2
   453 00125 0A17          		BS		FLAG0,KEY_LONG		;when long key then delay 100*10ms
   454 00126 1832          		MOV		A,@0X32
   455 00127 0060          		MOV		KEYTIME_L,A
   456 00128               KEY2:
   457 00128 05E0          		DJZ		KEYTIME_L
   458 00129 1578          		JMP		KEY_SCAN_EXIT
   459                     		
   460 0012A 0560          		INC		KEYTIME_L
   461 0012B 0817          		BC		FLAG0,KEY_LONG
   462                     		
   463 0012C 0562          		INC		SPEED_L			;increase speedl when it is not equal 9
   464 0012D 1809          		MOV		A,@0X09
   465 0012E 0322          		XOR		A,SPEED_L
   466 0012F 0E83          		JBS		STATUS,Z		
   467 00130 1578          		JMP		KEY_SCAN_EXIT
   468                     		
   469 00131 1808          		MOV		A,@0X08			
   470 00132 0062          		MOV		SPEED_L,A
   471 00133 1578          		JMP		KEY_SCAN_EXIT
   472                     		
   473 00134               MID_DOWN_S3:
   474 00134 1802          		MOV		A,@0X02
   475 00135 0065          		MOV		MODE,A
   476 00136 0CD8          		JBC		FLAG1,MID_DOWN_FLAG
   477 00137 1578          		JMP		KEY_SCAN_EXIT
   478                     		
   479 00138 0AD8          		BS		FLAG1,MID_DOWN_FLAG
   480 00139 1800          		MOV		A,@0X00		;give the start speed_duty and the channel that is different from the mode3
   481 0013A 0068          		MOV		SPEEDR_DUTY,A
   482 0013B 0069          		MOV		SPEEDR_FLAG,A
   483 0013C 1801          		MOV		A,@0X01
   484 0013D 0067          		MOV		SPEEDL_FLAG,A
   485 0013E 1809          		MOV		A,@0X09
   486 0013F 0066          		MOV		SPEEDL_DUTY,A
   487                     		
   488                     		
   489 00140 00DF          		CLR		FLAG_30MS
   490 00141 00DA          		CLR		REGL_18MS
   491 00142 00DB          		CLR		REGR_18MS
   492 00143 1578          		JMP		KEY_SCAN_EXIT
   493                     		
   494 00144               MID_UP_S4:
   495 00144 1800          		MOV		A,@0X00
   496 00145 0065          		MOV		MODE,A
   497 00146 0A18          		BS		FLAG1,MOTORL_ON
   498 00147 0A58          		BS		FLAG1,MOTORR_ON
   499 00148 1578          		JMP		KEY_SCAN_EXIT
   500                     		
   501 00149               MID_MID_S5:
   502 00149 1801          		MOV		A,@0X01
   503 0014A 0065          		MOV		MODE,A
   504 0014B 0C98          		JBC		FLAG1,MID_MID_FLAG
   505 0014C 1578          		JMP		KEY_SCAN_EXIT
   506                     		
   507 0014D 0A98          		BS		FLAG1,MID_MID_FLAG
   508 0014E 1800          		MOV		A,@0X00		;give the start speed_duty and the channel
   509 0014F 0066          		MOV		SPEEDL_DUTY,A
   510 00150 0067          		MOV		SPEEDL_FLAG,A
   511 00151 1809          		MOV		A,@0X09
   512 00152 0068          		MOV		SPEEDR_DUTY,A
   513 00153 1801          		MOV		A,@0X01
   514 00154 0069          		MOV		SPEEDR_FLAG,A
   515                     		
   516 00155 00DE          		CLR		REG_30MS
   517 00156 00DA          		CLR		REGL_18MS
   518 00157 00DB          		CLR		REGR_18MS
   519 00158 1578          		JMP		KEY_SCAN_EXIT
   520                     		
   521 00159               RIGHT_UP_S6:
   522                     
   523 00159 0C17          		JBC		FLAG0,KEY_LONG
   524 0015A 155E          		JMP		KEY6
   525 0015B 0A17          		BS		FLAG0,KEY_LONG
   526 0015C 1832          		MOV		A,@0X32		;delay 1s for long key 
   527 0015D 0061          		MOV		KEYTIME_R,A
   528 0015E               KEY6:						;short key
   529 0015E 05E1          		DJZ		KEYTIME_R
   530 0015F 1578          		JMP		KEY_SCAN_EXIT
   531                     		
   532 00160 0561          		INC		KEYTIME_R
   533 00161 0817          		BC		FLAG0,KEY_LONG
   534 00162 0563          		INC		SPEED_R
   535 00163 1809          		MOV		A,@0X09
   536 00164 0323          		XOR		A,SPEED_R
   537 00165 0E83          		JBS		STATUS,Z
   538 00166 1578          		JMP		KEY_SCAN_EXIT
   539 00167 1808          		MOV		A,@0X08
   540 00168 0063          		MOV		SPEED_R,A
   541 00169 1578          		JMP		KEY_SCAN_EXIT
   542                     		
   543 0016A               RIGHT_DOWN_S8:
   544 0016A 0C17          		JBC		FLAG0,KEY_LONG
   545 0016B 156F          		JMP		KEY8
   546 0016C 0A17          		BS		FLAG0,KEY_LONG
   547 0016D 1832          		MOV		A,@0X32	;long key delay time 100*10ms=1s
   548 0016E 0061          		MOV		KEYTIME_R,A	
   549 0016F               KEY8:		;short key
   550 0016F 05E1          		DJZ		KEYTIME_R
   551 00170 1578          		JMP		KEY_SCAN_EXIT
   552                     		
   553 00171 0561          		INC		KEYTIME_R
   554 00172 0817          		BC		FLAG0,KEY_LONG
   555 00173 0463          		MOV		SPEED_R,SPEED_R
   556 00174 0C83          		JBC		STATUS,Z
   557 00175 1578          		JMP		KEY_SCAN_EXIT
   558 00176 01E3          		DEC		SPEED_R
   559 00177 1578          		JMP		KEY_SCAN_EXIT
   560                     		
   561                     		
   562                     		
   563 00178               KEY_SCAN_EXIT:
   564 00178 1800          		MOV		A,@0X00			;while the bit is 0 set the bit as output
   565 00179 0006          		IOW		P6CR
   566                     	
   567 0017A 1860          		MOV		A,@0X60
   568 0017B 0005          		IOW		P5CR
   569 0017C 180F          		MOV		A,@0X0F			;pull high register enable p64_p67 disable p60-p63
   570 0017D 000D          		IOW		PHCR
   571                     		
   572 0017E 0414          		MOV		A,R6_BUF
   573 0017F 0046          		MOV		PORT6,A
   574 00180 0415          		MOV		A,R5_BUF
   575 00181 0045          		MOV		PORT5,A
   576                     		
   577 00182               DISPLAY:
   578                     
   579                     		
   580                     
   581 00182 0425          		MOV	 	A,MODE       
   582 00183 03C2              	ADD     PC,A       
   583 00184 1588              	JMP     DIS_MODE1
   584 00185 15A8          		JMP     DIS_MODE2
   585 00186 15A2          		JMP     DIS_MODE3
   586 00187 15F3          		JMP		MOTORPLAY
   587                     		
   588                            
   589                     ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
   590                     
   591 00188               DIS_MODE1:
   592 00188 0424              	MOV     A,LED_DUTY
   593 00189 03C2          		ADD    	PC,A           ;
   594 0018A 158E          		JMP     LEDDUTY0
   595 0018B 1593          		JMP     LEDDUTY1
   596 0018C 1598          		JMP     LEDDUTY2		
   597 0018D 159D          		JMP     LEDDUTY3
   598                     		

⌨️ 快捷键说明

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