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

📄 modem.lst

📁 em78806单片机的汇编源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   278 00087 149E          	JMP _OPT_STA_UP_REV
   279                     	
   280 00088               _OPT_STA_DOWN:
   281 00088 0C21          	JBC OPT_FLAG,OPT_RING		;1S:4S(RING SIGNAL)
   282 00089 1494          	JMP _RING_NOT_DOWN
   283                     	
   284 0008A               _SET_OPT_DOWN:
   285 0008A 10D0          	CALL RESET_SEND_06			;DOWN
   286                     
   287 0008B 054C          	INC 0X0C
   288 0008C 00CD          	CLR 0X0D
   289 0008D               _OPT_WRITE_CHECK_SUM:
   290 0008D 054C          	INC 0X0C
   291 0008E 0415          	MOV A,I2C_CHECKSUM
   292 0008F 004D          	MOV 0X0D,A
   293                     
   294 00090 0B60          	BS STA_FLAG,IN_I2C_SEND
   295 00091 1804          	MOV A,@0X04
   296 00092 006A          	MOV I2C_TOTAL,A
   297 00093 14BF          	JMP _OPT_CHECK_EXIT
   298                     	
   299 00094               _RING_NOT_DOWN:
   300 00094 0CA1          	JBC OPT_FLAG,OPT_RING_END	;ONLY FIRST TIME,"SEND_COMMAND_06"
   301 00095 14BF          	JMP _OPT_CHECK_EXIT
   302 00096 0AA1          	BS OPT_FLAG,OPT_RING_END
   303 00097 0861          	BC OPT_FLAG,OPT_RING_START
   304                     	
   305 00098 10D0          	CALL RESET_SEND_06		;RING_END
   306                     	
   307 00099 054C          	INC 0X0C
   308 0009A 0426          	MOV A,RING_TIMES
   309 0009B 1F60          	ADD A,@0X60
   310 0009C 004D          	MOV 0X0D,A
   311 0009D 148D          	JMP _OPT_WRITE_CHECK_SUM
   312                     
   313 0009E               _OPT_STA_UP_REV:	
   314 0009E 0423          	MOV A,OPT_TEMP2
   315 0009F 0322          	XOR A,OPT_TEMP1
   316 000A0 0E83          	JBS 0X03,2
   317 000A1 14A7          	JMP _OPT_STA_UP
   318                     	
   319 000A2 10D0          	CALL RESET_SEND_06			;REV
   320                     
   321 000A3 054C          	INC 0X0C
   322 000A4 1855          	MOV A,@0X55
   323 000A5 004D          	MOV 0X0D,A
   324 000A6 148D          	JMP _OPT_WRITE_CHECK_SUM
   325                     	
   326 000A7               _OPT_STA_UP:	
   327 000A7 10D0          	CALL RESET_SEND_06			;UP	
   328                     	
   329 000A8 054C          	INC 0X0C
   330 000A9 1801          	MOV A,@0X01
   331 000AA 004D          	MOV 0X0D,A
   332 000AB 148D          	JMP _OPT_WRITE_CHECK_SUM
   333                     
   334 000AC               _OPT_STA_RING:
   335 000AC 0425          	MOV A,OPT_CONT
   336 000AD 1D04          	SUB A,@04
   337 000AE 0C83          	JBC 0X03,2
   338 000AF 14BF          	JMP _OPT_CHECK_EXIT
   339 000B0 0425          	MOV A,OPT_CONT
   340 000B1 1D10          	SUB A,@16
   341 000B2 0E83          	JBS 0X03,2
   342 000B3 14BF          	JMP _OPT_CHECK_EXIT
   343                     	
   344 000B4 0C61          	JBC OPT_FLAG,OPT_RING_START	;ONLY FIRST TIME,"SEND_COMMAND_06"
   345 000B5 14BF          	JMP _OPT_CHECK_EXIT
   346 000B6 0A61          	BS OPT_FLAG,OPT_RING_START
   347 000B7 08A1          	BC OPT_FLAG,OPT_RING_END
   348                     	
   349 000B8 10D0          	CALL RESET_SEND_06			;RING_START
   350                     	
   351 000B9 054C          	INC 0X0C
   352 000BA 0566          	INC RING_TIMES	
   353 000BB 0426          	MOV A,RING_TIMES
   354 000BC 1F60          	ADD A,@0X60
   355 000BD 004D          	MOV 0X0D,A
   356 000BE 148D          	JMP _OPT_WRITE_CHECK_SUM
   357                     
   358                     
   359 000BF               _OPT_CHECK_EXIT:	
   360 000BF 0423          	MOV A,OPT_TEMP2		;OPT_TEMP1=OPT_TEMP2
   361 000C0 0062          	MOV OPT_TEMP1,A
   362 000C1 14C6          	JMP _INT_EXIT
   363                     		
   364                     	
   365 000C2               _INT_FSK:
   366 000C2 098F          	BC 0X0F,6
   367 000C3 14C6          	JMP _INT_EXIT
   368                     	
   369 000C4               _INT_DTMF:	
   370 000C4 09CF          	BC 0X0F,7
   371 000C5 14C6          	JMP _INT_EXIT
   372                     
   373 000C6               _INT_EXIT:
   374 000C6 041F          	MOV A,R5_TEMP					;RETURN 
   375 000C7 0045          	MOV 0X05,A
   376 000C8 041D          	MOV A,R3_TEMP
   377 000C9 0043          	MOV 0X03,A
   378 000CA 041C          	MOV A,R4_TEMP
   379 000CB 0044          	MOV 0X04,A
   380 000CC 041B          	MOV A,RC_TEMP
   381 000CD 004C          	MOV 0X0C,A
   382 000CE 041E          	MOV A,A_TEMP
   383 000CF 0013          	RETI
   384                     
   385                     
   386                     ;SUB:PREPARE DATA OF "SEND_COMMAND_06"
   387 000D0               RESET_SEND_06:
   388 000D0 00D5          	CLR I2C_CHECKSUM
   389 000D1 00CC          	CLR 0X0C
   390 000D2 1806          	MOV A,@0X06
   391 000D3 004D          	MOV 0X0D,A
   392 000D4 03D5          	ADD I2C_CHECKSUM,A
   393 000D5 054C          	INC 0X0C
   394 000D6 1801          	MOV A,@0X01
   395 000D7 004D          	MOV 0X0D,A
   396 000D8 03D5          	ADD I2C_CHECKSUM,A
   397 000D9 0012          	RET
   398                     	
   399                     ;======================================
   400                     ;==============PAGE 1==================
   401                     ;======================================
   402                     	ORG 0X400
   403                     	
   404 00400               _RESET:
   405 00400 18F0          	MOV A,@0XF0
   406 00401 004A          	MOV 0X0A,A		 ;inner timmer/counter
   407                     	
   408 00402 18E0          	MOV A,@0B11100000	;P8 SEG,LOW BAT DISABLE,CID RAM PAGE 0,
   409 00403 004B          	MOV 0X0B,A		   ;TPD(DTMF EST DELAY) 10MS
   410                     
   411 00404 1807          	MOV A,@0X07
   412 00405 004E          	MOV 0X0E,A		 ;LCD DISABLE
   413                     	
   414 00406 0015          	IOR 0X05
   415 00407 1A0F          	AND A,@0X0F		;P5,OUT PUT, ;0 OUTPUT ;1 INPUT
   416 00408 0005          	IOW 0X05
   417                     
   418 00409 18FF          	MOV A,@0XFF		;P6,OUTPUT
   419 0040A 0006          	IOW 0X06
   420                     	
   421 0040B 18FE          	MOV A,@0XFE		;P7,11111110
   422 0040C 0007          	IOW 0X07
   423                     
   424 0040D 1800          	MOV A,@0X00		;P8,OUTPUT
   425 0040E 0008          	IOW 0X08
   426                     
   427 0040F 18DF          	MOV A,@0XDF		;P9,1101 1111
   428 00410 0009          	IOW 0X09
   429                     
   430 00411 1810          	MOV A,@0B00010000	;lcd vdd 000	
   431 00412 000A          	IOW 0X0A			 ;P5 SEG,P6 P9 I/O
   432                     
   433 00413 0BC3          	BS 0X03,7			;IOCx,PAGE 1
   434 00414 18FF          	MOV A,@0XFF	 	;P7 pull high
   435 00415 000D          	IOW 0X0D
   436 00416 09C3          	BC 0X03,7
   437                     
   438 00417 1887          	MOV A,@0B10000111	;P70 FALLING EDGE,TCC SETTING	
   439 00418 0002          	CONTW				;PAB 0,TCC:PRESCALE 1:128 
   440                     
   441                     
   442 00419 1820          	MOV A,@0B00100000	;R4 RAM PAGE 0 1 CLR
   443 0041A 0044          	MOV 0X04,A	
   444 0041B 1802          	MOV A,@0X02
   445 0041C 0051          	MOV 0X11,A
   446 0041D               _RAM_CLR_LOOP2:	
   447 0041D 1820          	MOV A,@0X20
   448 0041E 0050          	MOV 0X10,A
   449 0041F               _RAM_CLR_LOOP1:	
   450 0041F 00C0          	CLR 0X00
   451 00420 0544          	INC 0X04
   452 00421 05D0          	DJZ 0X10
   453 00422 141F          	JMP _RAM_CLR_LOOP1
   454 00423 0B84          	BS 0X04,6
   455 00424 0B44          	BS 0X04,5
   456 00425 05D1          	DJZ 0X11
   457 00426 141D          	JMP _RAM_CLR_LOOP2
   458 00427 00C4          	CLR 0X04
   459                     
   460 00428 1890          	MOV A,@0X90		  ;GET 806 ADD
   461 00429 004C          	MOV 0X0C,A
   462 0042A 0707          	SWAPA 0X07
   463 0042B 1AF0          	AND A,@0XF0
   464 0042C 004D          	MOV 0X0D,A
   465                     	
   466 0042D 0822          	BC OPT_TEMP1,0	;RESET OPT STA
   467 0042E 0D89          	JBC 0X09,HKS_1	;OPT1
   468 0042F 0A22          	BS OPT_TEMP1,0
   469                     	
   470 00430 0922          	BC OPT_TEMP1,4	;OPT2
   471 00431 0DC9          	JBC 0X09,HKS_2
   472 00432 0B22          	BS OPT_TEMP1,4
   473                     	
   474                     	
   475                     ;	MOV A,OPT_TEMP1	;RESET OPT_FLAG
   476                     ;	XOR A,@0X11
   477                     ;	JBS 0X03,2
   478                     ;	JMP _RESET_HK_UP
   479                     ;	BS OPT_FLAG,HK_DOWN
   480                     ;	JMP _RESET_C2
   481                     ;_RESET_HK_UP:
   482                     ;	BS OPT_FLAG,HK_UP
   483                     	
   484                     	
   485                     ;============SET C2 FOR CLOCK=============
   486                     ;C2 for clock 32768hz
   487                     ;c1 fsk send 3579mhz,
   488 00433               _RESET_C2:
   489 00433 0BC3          	BS 0X03,7			   ;IOCE PAGE 1
   490 00434 1819          	MOV A,@0B00011001		;counter2,32768hz,RAW DATA
   491 00435 000E          	IOW 0X0E
   492                     	
   493 00436 185B          	MOV A,@91				;163/32768=0.005005
   494 00437 000C          	IOW 0X0C
   495 00438 09C3          	BC 0X03,7			   ;IOCE PAGE 0	
   496                     
   497 00439 001F          	IOR 0X0F				;enable couter2
   498 0043A 1920          	OR A,@0B00100000
   499 0043B 000F          	IOW 0X0F
   500                     
   501 0043C 0010          	ENI
   502                     
   503 0043D 143E          	JMP MAIN
   504                     
   505                     
   506                     ;===================================
   507                     ;================MAIN===============
   508                     ;===================================
   509 0043E               MAIN:
   510                     
   511 0043E 0D60          	JBC STA_FLAG,IN_I2C_SEND
   512 0043F 1458          	JMP _I2C_SEND_MCU
   513 00440 0DA0          	JBC STA_FLAG,IN_I2C_REC
   514 00441 14A5          	JMP _I2C_REC_MCU
   515 00442 0C20          	JBC STA_FLAG,IN_REC_FSK
   516 00443 1453          	JMP _REC_FSK
   517 00444 0C60          	JBC STA_FLAG,IN_REC_DTMF
   518 00445 1454          	JMP _REC_DTMF
   519                     ;	JBC STA_FLAG,IN_REC_9170
   520                     ;	JMP _REC_9170
   521 00446 0CE0          	JBC STA_FLAG,IN_SEND_FSK
   522 00447 1456          	JMP _SEND_FSK
   523 00448 0D20          	JBC STA_FLAG,IN_SEND_DTMF
   524 00449 1457          	JMP _SEND_DTMF
   525                     
   526                     	
   527 0044A               _IN_IDLE:
   528                     ;	JBC 0X07,
   529 0044A 0C47          	jbc 0x07,busy
   530 0044B 143E          	jmp main
   531                     	
   532 0044C 0420          	mov a,sta_flag
   533 0044D 0E83          	jbs 0x03,2
   534 0044E 143E          	jmp main
   535                     	
   536 0044F 0000          	nop
   537 00450 0807          	bc 0x07,dsr
   538 00451 0BA0          	bs sta_flag,in_i2c_rec
   539 00452 14A5          	jmp _I2C_REC_MCU
   540                     	
   541                     	
   542 00453               _REC_FSK:
   543                     
   544 00453 143E          	JMP MAIN
   545                     		
   546 00454               _REC_DTMF:
   547                     
   548 00454 143E          	JMP MAIN
   549                     	
   550 00455               _REC_9170:
   551                     
   552 00455 143E          	JMP MAIN
   553                     	
   554 00456               _SEND_FSK:

⌨️ 快捷键说明

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