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

📄 test153s.lst

📁 义隆的8bitMCU。78P153控制步进电机系统。
💻 LST
📖 第 1 页 / 共 2 页
字号:
   198                     ;-----------------------	
   199 0007C               GET_KEY2:
   200 0007C 0D91          	jbc		key_flag,key2_again
   201 0007D 1483          	jmp		GET_KEY2_off
   202 0007E 0B91          	bs		key_flag,key2_again
   203 0007F 0AC5          	bs		port5,3
   204 00080 0B46          	bs		port6,5
   205 00081 0B86          	bs		port6,6
   206 00082 1421          	jmp		MAIN_Loop_01
   207 00083               GET_KEY2_off:
   208 00083 0991          	bc		key_flag,key2_again
   209 00084 08C5          	bc		port5,3
   210 00085 0FC6          	jbs		port6,7
   211 00086 0946          	bc		port6,5
   212 00087 0986          	bc		port6,6
   213 00088 1421          	jmp		MAIN_Loop_01
   214                     		
   215 00089               GET_KEY3:
   216 00089 00D3          	clr		time_5min	
   217 0008A 0891          	BC		KEY_FLAG,F_1S
   218 0008B 00D6          	CLR		TIME_1S
   219 0008C 1801          	MOV		A,@1
   220 0008D 0062          	MOV		TEMP,A
   221 0008E 001F          	IOR		IOCF
   222 0008F 0222          	OR		A,TEMP		;set TICE is 1
   223 00090 000F          	IOW		IOCF	
   224 00091 0010          	ENI		
   225 00092 0555          	inc		Key3_step
   226 00093 1807          	MOV		A,@7
   227 00094 0295          	and		a,Key3_step
   228 00095 03C2          	add		pc,a
   229 00096 0000          	nop
   230 00097 14A7          	jmp		GET_KEY3_5min
   231 00098 14AF          	jmp		GET_KEY3_10min
   232 00099 14B7          	jmp		GET_KEY3_20min
   233 0009A 149E          	jmp		GET_KEY3_30min
   234 0009B 0000          	nop
   235 0009C 0000          	nop
   236 0009D 0000          	nop
   237 0009E               GET_KEY3_30min:
   238 0009E 00D5          	clr		Key3_step
   239 0009F 1806          	mov		a,@6
   240 000A0 0054          	mov		key3_temp,a
   241 000A1 18E0          	mov		a,@11100000b
   242 000A2 02C6          	and		port6,a
   243 000A3 0B06          	bs		port6,4		;set led6 on
   244 000A4 0B46          	bs		port6,5
   245 000A5 0BC6          	bs		port6,7
   246 000A6 14BF          	jmp		GET_KEY3_count_time	
   247 000A7               GET_KEY3_5min:
   248 000A7 1801          	mov		a,@1
   249 000A8 0054          	mov		key3_temp,a
   250 000A9 18E0          	mov		a,@11100000b
   251 000AA 02C6          	and		port6,a
   252 000AB 0A06          	bs		port6,0		;set led3 on
   253 000AC 0B46          	bs		port6,5
   254 000AD 0BC6          	bs		port6,7
   255 000AE 14BF          	jmp		GET_KEY3_count_time	
   256 000AF               GET_KEY3_10min:
   257 000AF 1802          	mov		a,@2
   258 000B0 0054          	mov		key3_temp,a
   259 000B1 18E0          	mov		a,@11100000b
   260 000B2 02C6          	and		port6,a
   261 000B3 0A46          	bs		port6,1		;set led4 on
   262 000B4 0B46          	bs		port6,5
   263 000B5 0BC6          	bs		port6,7
   264 000B6 14BF          	jmp		GET_KEY3_count_time	
   265 000B7               GET_KEY3_20min:
   266 000B7 1804          	mov		a,@4
   267 000B8 0054          	mov		key3_temp,a
   268 000B9 18E0          	mov		a,@11100000b
   269 000BA 02C6          	and		port6,a
   270 000BB 0A86          	bs		port6,2		;set led5 on
   271 000BC 0B46          	bs		port6,5
   272 000BD 0BC6          	bs		port6,7
   273 000BE 14BF          	jmp		GET_KEY3_count_time			
   274 000BF               GET_KEY3_count_time:
   275 000BF 10D2          	CALL		SCAN_KEY
   276 000C0 0C51          	JBC		KEY_FLAG,F_push
   277 000C1 146D          	jmp		MAIN_Loop_01_in	;key retigger
   278                     	
   279 000C2 0E91          	JBS		KEY_FLAG,F_1S
   280 000C3 14BF          	JMP		GET_KEY3_count_time
   281 000C4 0891          	bc		KEY_FLAG,F_1S
   282 000C5 0553          	inc		time_5min
   283 000C6 1896          	mov		a,@150	;set timer 5min
   284 000C7 0313          	xor		a,time_5min
   285 000C8 0E83          	jbs		sf,z
   286 000C9 14BF          	jmp		GET_KEY3_count_time
   287 000CA 00D3          	clr		time_5min
   288 000CB 05D4          	djz		key3_temp
   289 000CC 14BF          	jmp		GET_KEY3_count_time
   290 000CD               GET_KEY3_off:
   291 000CD 0F86          	jbs		port6,6
   292 000CE 0946          	bc		port6,5
   293 000CF 1860          	mov		a,@01100000b
   294 000D0 02C6          	and		port6,a	
   295 000D1 1421          	jmp		MAIN_Loop_01	
   296                     			
   297                     
   298                     	
   299                     	
   300                     
   301                     
   302                     	
   303 000D2               SCAN_KEY:	
   304 000D2 0E11          	JBS		KEY_FLAG,F_keep
   305 000D3 14DA          	JMP		SCAN_KEY_01
   306 000D4 0C05          	JBC		PORT5,0
   307 000D5 1515          	JMP		END_SCAN_KEY
   308 000D6 0C45          	JBC		PORT5,1
   309 000D7 1515          	JMP		END_SCAN_KEY
   310                     ;	JBC		PORT6,3
   311 000D8 0811          	BC		KEY_FLAG,F_keep
   312 000D9 1515          	JMP		END_SCAN_KEY
   313 000DA               SCAN_KEY_01:
   314 000DA 0E05          	JBS		PORT5,0
   315 000DB 14ED          	JMP		SCAN_KEY_02
   316 000DC 1135          	CALL		DELAY_10MS
   317 000DD 0E05          	JBS		PORT5,0
   318 000DE 14ED          	JMP		SCAN_KEY_02
   319 000DF 1135          	CALL		DELAY_10MS
   320 000E0 0E05          	JBS		PORT5,0
   321 000E1 14ED          	JMP		SCAN_KEY_02
   322 000E2 1135          	CALL		DELAY_10MS
   323 000E3 0E05          	JBS		PORT5,0
   324 000E4 14ED          	JMP		SCAN_KEY_02
   325 000E5 1801          	MOV		A,@1
   326 000E6 0052          	MOV		KEY_CNT,A
   327 000E7 0AD1          	bs		key_flag,Key1
   328 000E8 0911          	bc		key_flag,Key2
   329 000E9 0951          	bc		key_flag,Key3
   330 000EA 0A51          	BS		KEY_FLAG,F_push
   331 000EB 0A11          	BS		KEY_FLAG,F_keep
   332 000EC 1515          	JMP		END_SCAN_KEY
   333 000ED               SCAN_KEY_02:
   334 000ED 0E45          	JBS		PORT5,1
   335 000EE 1500          	JMP		SCAN_KEY_03
   336 000EF 1135          	CALL		DELAY_10MS
   337 000F0 0E45          	JBS		PORT5,1
   338 000F1 1500          	JMP		SCAN_KEY_03
   339 000F2 1135          	CALL		DELAY_10MS
   340 000F3 0E45          	JBS		PORT5,1
   341 000F4 1500          	JMP		SCAN_KEY_03
   342 000F5 1135          	CALL		DELAY_10MS
   343 000F6 0E45          	JBS		PORT5,1
   344 000F7 1500          	JMP		SCAN_KEY_03
   345 000F8 1802          	MOV		A,@2
   346 000F9 0052          	MOV		KEY_CNT,A
   347 000FA 0B11          	bs		key_flag,Key2
   348 000FB 08D1          	bc		key_flag,Key1
   349 000FC 0951          	bc		key_flag,Key3
   350 000FD 0A51          	BS		KEY_FLAG,F_push
   351 000FE 0A11          	BS		KEY_FLAG,F_keep
   352 000FF 1515          	JMP		END_SCAN_KEY
   353 00100               SCAN_KEY_03:
   354 00100 1515          	JMP		END_SCAN_KEY
   355 00101 0CC6          	JBC		PORT6,3
   356 00102 1514          	JMP		SCAN_KEY_04
   357 00103 1135          	CALL		DELAY_10MS
   358 00104 0CC6          	JBC		PORT6,3
   359 00105 1514          	JMP		SCAN_KEY_04
   360 00106 1135          	CALL		DELAY_10MS
   361 00107 0CC6          	JBC		PORT6,3
   362 00108 1514          	JMP		SCAN_KEY_04
   363 00109 1135          	CALL		DELAY_10MS
   364 0010A 0CC6          	JBC		PORT6,3
   365 0010B 1514          	JMP		SCAN_KEY_04
   366 0010C 1803          	MOV		A,@3
   367 0010D 0052          	MOV		KEY_CNT,A
   368 0010E 0B51          	bs		key_flag,Key3
   369 0010F 08D1          	bc		key_flag,Key1
   370 00110 0911          	bc		key_flag,Key2
   371 00111 0A51          	BS		KEY_FLAG,F_push
   372 00112 0A11          	BS		KEY_FLAG,F_keep
   373 00113 1515          	JMP		END_SCAN_KEY	
   374 00114               SCAN_KEY_04:
   375 00114 0811          	BC		KEY_FLAG,F_keep		
   376 00115               END_SCAN_KEY:
   377 00115 0012          	RET	
   378                     
   379                     ;------------------------------------------------
   380                     ; the  system  initiallization  sub_routine
   381 00116               INITIAL_ROUTINE:
   382 00116 0004          	wdtc				; clr watchdog timer
   383 00117 1805          	mov	a,@00000101b
   384 00118 0002          	contw				; TCC  -> 1/128
   385 00119 1805          	mov	a,@5
   386 0011A 0041          	mov	tcc,a			;250*32=8ms
   387 0011B 0011          	disi	
   388 0011C 1807          	mov	a,@00000111b
   389 0011D 0005          	iow	IOC5			; P5 -> input	
   390 0011E 1808          	mov	a,@00001000b
   391 0011F 0006          	iow	IOC6			; P66,P67,P63 -> output
   392 00120 00C5          	clr	PORT5
   393 00121 00C6          	clr	PORT6	
   394 00122 18F8          	mov	a,@11111000b		;set P5.0,1,2 internal pull-down
   395 00123 000B          	iow	IOCB			;
   396 00124 1800          	mov	a,@00000000b
   397 00125 000C          	iow	IOCC			; Open_drain  control
   398 00126 000D          	iow	IOCD			; set p6 pull high
   399 00127 1800          	mov	a,@00000000b
   400 00128 000E          	iow	IOCE			; WDT  disable	
   401 00129 1800          	mov	a,@00000000b
   402 0012A 000F          	iow	IOCF			; ALL interrupt disable
   403 0012B               CLEAR_ALL_RAM:	
   404 0012B 182F          	mov	a,@0x2f
   405 0012C 0050          	mov	Flag,a
   406 0012D 1810          	mov	a,@0x10
   407 0012E 0044          	mov	RSR,a			; clr RAM ( 10H~30H)
   408 0012F               CLR_RAM:
   409 0012F 0544          	inc	RSR
   410 00130 00C0          	clr	R0			; = 0
   411 00131 05D0          	djz	Flag
   412 00132 152F          	jmp	CLR_RAM
   413 00133 00D0          	clr	Flag	
   414 00134 0012          	ret	
   415                     	
   416                     ;------------------------------------------------
   417                     ; delay  10ms  sub_routine
   418                     ; Period  T = (15*257*5+143*5+11)*0.5 = 10ms
   419 00135               DELAY_10MS:
   420 00135 1810          	mov	a,@0x10
   421 00136 0060          	mov	DelayH,a
   422 00137 188F          	mov	a,@0x8f
   423 00138 0061          	mov	DelayL,a
   424 00139               LOOP_10MS:
   425 00139 0000          	nop
   426 0013A 0000          	nop
   427 0013B 05E1          	djz	DelayL
   428 0013C 1539          	jmp	LOOP_10MS
   429 0013D 0004          	wdtc
   430 0013E 0000          	nop
   431 0013F 05E0          	djz	DelayH
   432 00140 1539          	jmp	LOOP_10MS
   433 00141 0000          	nop
   434 00142 0012          	ret
   435                     ;------------------------------------------------
   436                     ; delay   1000us  sub_routine
   437                     ; Period  T = (1*257*5+141*5+11)*0.5 = 1000.5us
   438 00143               DELAY_1MS:
   439 00143 1802          	mov	a,@0x02
   440 00144 0060          	mov	DelayH,a
   441 00145 188D          	mov	a,@0x8d
   442 00146 0061          	mov	DelayL,a
   443 00147               LOOP_1MS:
   444 00147 0000          	nop
   445 00148 0000          	nop
   446 00149 05E1          	djz	DelayL
   447 0014A 1547          	jmp	LOOP_1MS		; 5
   448 0014B 0000          	nop
   449 0014C 0000          	nop
   450 0014D 05E0          	djz	DelayH
   451 0014E 1547          	jmp	LOOP_1MS		; 5*257
   452 0014F 0000          	nop
   453 00150 0012          	ret
   454 00151               Delay_10us:
   455 00151 0000          	nop
   456 00152 0000          	nop
   457 00153 0000          	nop
   458 00154 0000          	nop
   459 00155 0000          	nop
   460 00156 0000          	nop
   461 00157 0000          	nop
   462 00158 0000          	nop
   463 00159 0000          	nop
   464 0015A 0000          	nop
   465 0015B 0000          	nop
   466 0015C 0000          	nop
   467 0015D 0000          	nop
   468 0015E 0000          	nop
   469 0015F 0000          	nop	
   470 00160 0012          	ret
   471                     ;------------------------------------------------
   472                     ; end  program 
   473                      	end
  0 Error(s), 0 Warning(s), 0 User Message(s)

⌨️ 快捷键说明

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