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

📄 modem.lst

📁 em78806单片机的汇编源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   832 00517 040D          	mov a,0x0d
   833 00518 006D          	MOV FSK_SEND_ADD,A
   834 00519 1843          	MOV A,@0X43
   835 0051A 004C          	mov 0x0c,a
   836 0051B 040D          	mov a,0x0d
   837 0051C 006E          	MOV FSK_BYTE_TOTAL,A
   838                     	
   839 0051D 00EF          	CLR FSK_SEND_TOTAL
   840 0051E 00F1          	CLR FSK_BIT_CONT
   841                     	
   842 0051F 0014          	CONTR						;SET FOR 833US 
   843 00520 1902          	OR A,@0B00000010			 ;1:8 PRESCALE
   844 00521 1AF2          	AND A,@0B11110010			;PAB 0,TCC
   845 00522 0002          	CONTW
   846                     		
   847 00523 1849          	MOV A,@73
   848 00524 0041          	MOV 0X01,A
   849                     	
   850 00525 18FF          	MOV A,@0XFF
   851 00526 004C          	MOV 0X0C,A
   852 00527 001F          	IOR 0X0F				 ;SAVE IOCF_TEMP,IN 0XFF(CID PAGE0)
   853 00528 004D          	MOV 0X0D,A
   854                     	
   855 00529 1801          	MOV A,@0B00000001		;FSK,SEND ENABLE TCC,DISABLE ALL
   856 0052A 000F          	IOW 0X0F
   857                     	
   858 0052B 0AE0          	bs sta_flag,in_send_fsk
   859 0052C 09A0          	bc sta_flag,in_i2c_rec
   860 0052D 143E          	JMP main
   861                     	
   862                     		
   863 0052E               _rec_io_control:
   864                     	
   865 0052E               _rec_output:
   866                     	
   867 0052E               _rec_input_inquire:
   868                     	
   869 0052E               _on_off_control:
   870                     	
   871 0052E               _fsk_send_parameter:
   872                     	
   873                     
   874 0052E               _rec_command_err:
   875 0052E               _not_use:
   876 0052E 143E          	jmp main
   877                     	
   878 0052F               _rec_fail:
   879 0052F 09A0          	bc sta_flag,in_i2c_rec
   880 00530 00EB          	clr i2c_flag
   881 00531 0807          	BC 0X07,DSR
   882 00532 0017          	IOR 0X07
   883 00533 190C          	OR A,@0B00001100
   884 00534 0017          	IOR 0X07
   885                     ;	clr i2c_temp
   886                     ;	clr i2c_bit_cont
   887                     ;	clr i2c_send_total
   888                     ;	clr i2c_total
   889 00535 143E          	JMP MAIN
   890                     
   891                     
   892                     
   893                     ;sub:dail_sub's child prog
   894 00536               DAIL_DTMF_HIGH:
   895 00536 0020          	TBL
   896 00537 1C44          	RETL @0X44		;D
   897 00538 1C5D          	RETL @0X5D		;1
   898 00539 1C54          	RETL @0X54		;2
   899 0053A 1C4C          	RETL @0X4C		;3
   900 0053B 1C5D          	RETL @0X5D		;4
   901 0053C 1C54          	RETL @0X54		;5
   902 0053D 1C4C          	RETL @0X4C		;6
   903 0053E 1C5D          	RETL @0X5D		;7
   904 0053F 1C54          	RETL @0X54		;8
   905 00540 1C4C          	RETL @0X4C		;9
   906 00541 1C54          	RETL @0X54		;0
   907 00542 1C5D          	RETL @0X5D		;*
   908 00543 1C4C          	RETL @0X4C		;#
   909 00544 1C44          	RETL @0X44		;A
   910 00545 1C44          	RETL @0X44		;B
   911 00546 1C44          	RETL @0X44		;C
   912                     ;	RETL @0X44		;D
   913                     
   914                     
   915                     ;sub:dail_sub's child prog	
   916 00547               DAIL_DTMF_LOW:
   917 00547 0020          	TBL
   918 00548 1C77          	RETL @0X77		;D
   919 00549 1CA0          	RETL @0XA0		;1
   920 0054A 1CA0          	RETL @0XA0		;2
   921 0054B 1CA0          	RETL @0XA0		;3
   922 0054C 1C91          	RETL @0X91		;4
   923 0054D 1C91          	RETL @0X91		;5
   924 0054E 1C91          	RETL @0X91		;6
   925 0054F 1C83          	RETL @0X83		;7
   926 00550 1C83          	RETL @0X83		;8
   927 00551 1C83          	RETL @0X83		;9
   928 00552 1C77          	RETL @0X77		;0
   929 00553 1C77          	RETL @0X77		;*
   930 00554 1C77          	RETL @0X77		;#
   931 00555 1CA0          	RETL @0XA0		;A
   932 00556 1C91          	RETL @0X91		;B
   933 00557 1C83          	RETL @0X83		;C
   934                     ;	RETL @0X77		;D
   935                     
   936                     
   937                     /*
   938                     ;sub:dail sub
   939                     DAIL_SUB:
   940                     	MOV A,DAIL_TOTAL
   941                     	JBC 0X03,2
   942                     	JMP DAIL_SEND_DTMF
   943                     	
   944                     	JBS C2_FLAG,C2_80MS_DONE2 	;SEND 80MS,DELAY 80MS;SEND NEXT BUTE
   945                     	RET
   946                     
   947                     DAIL_SEND_DTMF:
   948                     	MOV A,DAIL_BUF_TOTAL
   949                     	XOR A,DAIL_TOTAL
   950                     	JBC 0X03,2					;
   951                     	JMP DAIL_BUF_END
   952                     	
   953                     
   954                     	MOV A,DAIL_BUF_ADD
   955                     	ADD A,DAIL_TOTAL
   956                     	MOV 0X0C,A
   957                     	
   958                     	MOV A,0X0D
   959                     	BC 0X03,7				 ;IOCX PAGE 0
   960                     	CALL DAIL_DTMF_HIGH		;high frequency ,high voltage
   961                     	IOW 0X0E				  ;tone generator2 is 2DB higher than 1
   962                     
   963                     	MOV A,0X0D
   964                     	CALL DAIL_DTMF_LOW	   
   965                     	IOW 0X0D				  ;low frequency, low voltage
   966                     	MOV A,@0B01100000
   967                     	OR 0X03,A
   968                     	INC DAIL_TOTAL
   969                     	
   970                     	CLR C2_80MS_COUNTER
   971                     	BC C2_FLAG,C2_80MS_START2
   972                     	BC C2_FLAG,C2_80MS_DONE2
   973                     	BS C2_FLAG,C2_80MS_START
   974                     	RET
   975                     	
   976                     DAIL_BUF_END:
   977                     	BS DAIL_FLAG,DAIL_OK
   978                     	RET
   979                     */
   980                     
   981                     
   982                     ;SUB:I2C,REC 1BYTE	
   983 00558               I2C_REC_BYTE:
   984 00558 00D4          	CLR I2C_TEMP
   985 00559 00D2          	CLR I2C_BIT_CONT
   986                     
   987 0055A               _WAIT_SCL_LOW:	
   988 0055A 0C87          	JBC 0X07,CLOCK
   989 0055B 155A          	JMP _WAIT_SCL_LOW
   990                     	
   991 0055C 0000          	NOP
   992 0055D               _WAIT_SCL_HIGH:
   993 0055D 0E87          	JBS 0X07,CLOCK
   994 0055E 155D          	JMP _WAIT_SCL_HIGH
   995                     	
   996 0055F 0803          	BC 0X03,0
   997 00560 0CC7          	JBC 0X07,DATA
   998 00561 0A03          	BS 0X03,0
   999                     	
  1000 00562 06D4          	RLC I2C_TEMP
  1001 00563 0552          	INC I2C_BIT_CONT
  1002                     	
  1003 00564 0412          	MOV A,I2C_BIT_CONT		;IF 1ST BIT, REC STOP BIT
  1004 00565 1B01          	XOR A,@0X01
  1005 00566 0E83          	JBS 0X03,2
  1006 00567 1570          	JMP _JUDGE_8BIT
  1007 00568 0C03          	JBC 0X03,0
  1008 00569 1570          	JMP _JUDGE_8BIT
  1009 0056A               _END_BIT_LOOP:
  1010 0056A 0C87          	JBC 0X07,CLOCK
  1011 0056B 1570          	JMP _JUDGE_8BIT
  1012 0056C 0EC7          	JBS 0X07,DATA
  1013 0056D 156A          	JMP _END_BIT_LOOP
  1014 0056E 0B2B          	BS I2C_FLAG,END_BIT
  1015 0056F 0012          	RET
  1016                     	
  1017 00570               _JUDGE_8BIT:	
  1018 00570 1D07          	SUB A,@0X07
  1019 00571 0C03          	JBC 0X03,0
  1020 00572 155A          	JMP _WAIT_SCL_LOW
  1021 00573 00D2          	CLR I2C_BIT_CONT
  1022 00574 0012          	RET
  1023                     
  1024                     	
  1025                     ;SUB : SEND ACK
  1026 00575               I2C_SEND_ACK:	
  1027 00575 0017          	IOR 0X07
  1028 00576 1AF7          	AND A,@0B11110111
  1029 00577 0007          	IOW 0X07
  1030                     	
  1031 00578               _WAIT_SCL_LOW1:	
  1032 00578 0C87          	JBC 0X07,CLOCK
  1033 00579 1578          	JMP _WAIT_SCL_LOW1	
  1034 0057A 08C7          	BC 0X07,DATA
  1035                     	
  1036 0057B               _WAIT_SCL_HIGH1:	
  1037 0057B 0E87          	JBS 0X07,CLOCK
  1038 0057C 157B          	JMP _WAIT_SCL_HIGH1
  1039                     	
  1040 0057D               _WAIT_SCL_LOW_A1:
  1041 0057D 0C87          	JBC 0X07,CLOCK
  1042 0057E 157D          	JMP _WAIT_SCL_LOW_A1
  1043 0057F 0017          	IOR 0X07
  1044 00580 1908          	OR A,@0B00001000
  1045 00581 0007          	IOW 0X07
  1046 00582 0012          	RET
  1047                     		
  1048                     
  1049                     ;SUB:SEND BYTE
  1050 00583               I2C_SEND_BYTE:	
  1051 00583               _WAIT_SCL_LOW2:
  1052 00583 0C87          	JBC 0X07,CLOCK
  1053 00584 1583          	JMP _WAIT_SCL_LOW2
  1054                     	
  1055 00585 06D4          	RLC I2C_TEMP
  1056 00586 0C03          	JBC 0X03,0
  1057 00587 0AC7          	BS 0X07,DATA
  1058 00588 0E03          	JBS 0X03,0
  1059 00589 0887          	BC 0X07,CLOCK
  1060                     	
  1061 0058A               _WAIT_SCL_HIGH2:	
  1062 0058A 0E87          	JBS 0X07,CLOCK
  1063 0058B 158A          	JMP _WAIT_SCL_HIGH2
  1064                     	
  1065 0058C 0552          	INC I2C_BIT_CONT
  1066 0058D 1D07          	SUB A,@0X07
  1067 0058E 0C03          	JBC 0X03,0
  1068 0058F 1583          	JMP _WAIT_SCL_LOW2
  1069 00590 00D2          	CLR I2C_BIT_CONT	
  1070 00591 0012          	RET
  1071                     
  1072                     
  1073                     ;SUB:REC ACK
  1074 00592               I2C_REC_ACK:	
  1075 00592               _WAIT_SCL_LOW3:	
  1076 00592 0C87          	JBC 0X07,CLOCK
  1077 00593 1592          	JMP _WAIT_SCL_LOW3
  1078                     
  1079 00594 0017          	IOR 0X07
  1080 00595 1908          	OR A,@0B00001000
  1081 00596 0007          	IOW 0X07
  1082                     	
  1083 00597               _WAIT_SCL_HIGH3:	
  1084 00597 0E87          	JBS 0X07,CLOCK
  1085 00598 1597          	JMP _WAIT_SCL_HIGH3
  1086                     	
  1087 00599 0CC7          	JBC 0X07,DATA
  1088 0059A 15A1          	JMP _REC_NO_ACK
  1089                     	
  1090 0059B               _WAIT_SCL_LOW_A2:	
  1091 0059B 0C87          	JBC 0X07,CLOCK
  1092 0059C 159B          	JMP _WAIT_SCL_LOW_A2
  1093                     	
  1094 0059D 0017          	IOR 0X07
  1095 0059E 1AF7          	AND A,@0B11110111
  1096 0059F 0017          	IOR 0X07
  1097 005A0 0012          	RET
  1098                     	
  1099 005A1               _REC_NO_ACK:
  1100 005A1 0AEB          	BS I2C_FLAG,NO_ACK
  1101 005A2 159B          	JMP _WAIT_SCL_LOW_A2
  1102                     	
  1103                     	
  1104                     	END
  1105                     	
  1106                     	
  1107                     		
  0 Error(s), 0 Warning(s), 0 User Message(s)

⌨️ 快捷键说明

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