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

📄 modem.lst

📁 em78806单片机的汇编源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
     1                     ;************************
     2                     ;start at:March 3, 2006
     3                     ;************************
     4                     
     5       001F          R5_TEMP==0X1F
     6       001E          A_TEMP==0X1E
     7       001D          R3_TEMP==0X1D
     8       001C          R4_TEMP==0X1C
     9       001B          RC_TEMP==0X1B
    10                     
    11                     ;=====PORT9=====		;0 OUTPUT  ; 1 INPUT
    12       0004          STD_9170==4
    13       0005          EN_9170==5
    14       0006          HKS_1==6
    15       0007          HKS_2==7
    16                     
    17                     ;=====PORT7=====
    18       0000          DSR==0
    19       0001          BUSY==1
    20       0002          CLOCK==2
    21       0003          DATA==3
    22                     
    23                     ;=====PORT6=====
    24                     ;NORMAL IO PORT
    25                     
    26                     ;===============
    27       0002          REC_BUF_ADDR==0X02
    28       0000          I2C_SEND_ADDR==0X00
    29       0040          I2C_REC_ADDR==0X40
    30                     
    31                     
    32       0020          STA_FLAG==0X20
    33       0000          	IN_REC_FSK==0
    34       0001          	IN_REC_DTMF==1
    35                     ;	IN_REC_9170==2
    36       0003          	IN_SEND_FSK==3
    37       0004          	IN_SEND_DTMF==4
    38       0005          	IN_I2C_SEND==5
    39       0006          	IN_I2C_REC==6
    40                     	
    41       0021          OPT_FLAG==0X21
    42                     
    43       0000          	OPT_RING==0
    44       0001          	OPT_RING_START==1
    45       0002          	OPT_RING_END==2
    46       0004          	OPT_100MS_START==4
    47       0005          	OPT_100MS_OK==5
    48                     	
    49       0022          OPT_TEMP1==0X22
    50       0023          OPT_TEMP2==0X23
    51                     
    52       0024          OPT_100MS_COUNT==0X24
    53       0025          OPT_CONT==0X25
    54       0026          RING_TIMES==0X26
    55                     
    56       0027          COUNTER_5MS==0X27
    57       0028          C2_1S_COUNTER==0X28
    58       0029          COUNTER_1S==0X29
    59                     
    60                     
    61       002A          I2C_TOTAL==0X2A
    62       0014          i2c_temp==0x14
    63       0012          i2c_bit_cont==0x12
    64       0013          i2c_send_total==0x13
    65       0013          i2c_rec_total==0x13
    66       0015          i2c_checksum==0X15
    67                     
    68       002B          I2C_FLAG==0X2b
    69       0000          	WAIT_BUSY==0
    70       0001          	WAIT_START==1
    71       0002          	MCU_OVER_TIME==2		;WAIT BUSY OR START ,OVERTIME
    72       0003          	NO_ACK==3				;	
    73       0004          	end_bit==4
    74                     	
    75       002C          dtmf_flag==0x2c
    76       0000          	dtmf_send_start==0	
    77                     
    78                     
    79       002D          FSK_SEND_ADD==0X2d				;FSK SEND 复用
    80       002E          FSK_BYTE_TOTAL==0X2e
    81       002F          FSK_SEND_TOTAL==0X2f
    82       0031          fsk_bit_cont==0x31
    83                     
    84                     
    85                     	
    86                     ;INT_TEMP==0X26
    87                     	
    88                     	
    89                     ;==================CID RAM==================
    90                     ;00-01	SEND COMMAND : instruction,data_total
    91                     ;02-3F	FSK/DTMF REC BUF,OPT STA,9170 OUTPUT
    92                     ;40-7F	I2C RECEIVE BUF
    93                     ;80-8F	I2C SEND BUF
    94                     ;90	   806 ADD
    95                     
    96                     
    97                     
    98                     ;=============================	
    99                     ;=======PROG START HERE=======
   100                     ;=============================
   101                     	ORG 0X000
   102 00000 0011          	DISI
   103 00001 1E81          	PAGE @01
   104 00002 1400          	JMP _RESET	
   105                     	
   106                     	ORG 0X008
   107 00008 0011          	DISI
   108 00009 005E          	MOV A_TEMP,A			;protect local
   109 0000A 0405          	MOV A,0X05
   110 0000B 005F          	MOV R5_TEMP,A
   111 0000C 0403          	MOV A,0X03
   112 0000D 005D          	MOV R3_TEMP,A
   113 0000E 0404          	MOV A,0X04
   114 0000F 005C          	MOV R4_TEMP,A
   115 00010 040C          	MOV A,0X0C
   116 00011 005B          	MOV RC_TEMP,A
   117 00012 1E80          	PAGE @00
   118 00013 00C4          	CLR 0X04
   119                     	
   120                     	
   121 00014 0C0F          	JBC 0X0F,0
   122 00015 1425          	JMP _INT_TCC
   123 00016 0C4F          	JBC 0X0F,1
   124 00017 1427          	JMP _INT_INT0
   125 00018 0C8F          	JBC 0X0F,2
   126 00019 1429          	JMP _INT_INT1
   127 0001A 0CCF          	JBC 0X0F,3
   128 0001B 142B          	JMP _INT_INT23
   129 0001C 0D0F          	JBC 0X0F,4
   130 0001D 142D          	JMP _INT_C1
   131 0001E 0D4F          	JBC 0X0F,5
   132 0001F 142F          	JMP _INT_C2
   133 00020 0D8F          	JBC 0X0F,6
   134 00021 14C2          	JMP _INT_FSK
   135 00022 0DCF          	JBC 0X0F,7
   136 00023 14C4          	JMP _INT_DTMF
   137                     	
   138 00024 14C6          	JMP _INT_EXIT
   139                     
   140 00025               _INT_TCC:
   141 00025 080F          	BC 0X0F,0
   142 00026 14C6          	JMP _INT_EXIT
   143                     	
   144 00027               _INT_INT0:
   145 00027 084F          	BC 0X0F,1
   146 00028 14C6          	JMP _INT_EXIT
   147                     	
   148 00029               _INT_INT1:
   149 00029 088F          	BC 0X0F,2
   150 0002A 14C6          	JMP _INT_EXIT
   151                     	
   152 0002B               _INT_INT23:
   153 0002B 08CF          	BC 0X0F,3
   154 0002C 14C6          	JMP _INT_EXIT
   155                     	
   156 0002D               _INT_C1:
   157 0002D 090F          	BC 0X0F,4
   158 0002E 14C6          	JMP _INT_EXIT
   159                     	
   160 0002F               _INT_C2:		
   161 0002F 094F          	BC 0X0F,5					;5MS CHECK OPT
   162                     	
   163 00030 0BC3          	BS 0X03,7			        ;IOCE PAGE 1	
   164 00031 185B          	MOV A,@91					;5ms
   165 00032 000C          	IOW 0X0C	
   166                     	
   167 00033 0D20          	jbc sta_flag,in_send_dtmf
   168 00034 143A          	jmp _dtmf_send_80ms
   169 00035 0C2B          	JBC I2C_FLAG,WAIT_BUSY
   170 00036 1445          	JMP _BUSY_START_OVER_COUNT
   171 00037 0C6B          	JBC I2C_FLAG,WAIT_START
   172 00038 1445          	JMP _BUSY_START_OVER_COUNT
   173 00039 144F          	JMP _C2_OPT
   174                     
   175 0003A               _dtmf_send_80ms:
   176 0003A 0567          	inc counter_5ms
   177 0003B 1845          	mov a,@0x45
   178 0003C 004C          	mov 0x0c,a
   179 0003D 0803          	bc 0x03,0
   180 0003E 068D          	rlca 0x0d
   181 0003F 0127          	sub a,counter_5ms
   182 00040 0E03          	jbs 0x03,0
   183 00041 144F          	jmp _C2_OPT
   184                     
   185 00042 00E7          	CLR COUNTER_5MS	
   186 00043 0920          	bc sta_flag,in_send_dtmf
   187 00044 144F          	jmp _C2_OPT
   188                     	
   189 00045               _BUSY_START_OVER_COUNT:
   190 00045 0567          	INC COUNTER_5MS
   191 00046 0427          	MOV A,COUNTER_5MS
   192 00047 1D1D          	SUB A,@29
   193 00048 0C03          	JBC 0X03,0
   194 00049 144F          	JMP _C2_OPT
   195 0004A 00E7          	CLR COUNTER_5MS
   196 0004B 082B          	BC I2C_FLAG,WAIT_BUSY
   197 0004C 086B          	BC I2C_FLAG,WAIT_START
   198 0004D 0AAB          	BS I2C_FLAG,MCU_OVER_TIME
   199 0004E 144F          	JMP _C2_OPT
   200                     	
   201                     	
   202 0004F               _C2_OPT:
   203 0004F 0EA1          	JBS OPT_FLAG,OPT_RING_END
   204 00050 1462          	JMP _C2_OPT_MS
   205                     	
   206 00051 0568          	INC C2_1S_COUNTER
   207 00052 0428          	MOV A,C2_1S_COUNTER
   208 00053 1DC7          	SUB A,@199
   209 00054 0C03          	JBC 0X03,0
   210 00055 1462          	JMP _C2_OPT_MS
   211                     	
   212 00056 00E8          	CLR C2_1S_COUNTER
   213                     
   214 00057 0569          	INC COUNTER_1S
   215 00058 1D05          	SUB A,@0X05
   216 00059 0C03          	JBC 0X03,0
   217 0005A 1462          	JMP _C2_OPT_MS
   218 0005B 00E1          	CLR OPT_FLAG
   219 0005C 00E4          	CLR OPT_100MS_COUNT
   220                     	
   221 0005D 10D0          	CALL RESET_SEND_06			;RING_END
   222                     	
   223 0005E 054C          	INC 0X0C
   224 0005F 1890          	MOV A,@0X90
   225 00060 004D          	MOV 0X0D,A
   226 00061 148D          	JMP _OPT_WRITE_CHECK_SUM
   227                     	
   228                     	
   229 00062               _C2_OPT_MS:
   230                     		
   231 00062 0F21          	JBS OPT_FLAG,OPT_100MS_START
   232 00063 146B          	JMP _INT_GET_OPT
   233 00064 0564          	INC OPT_100MS_COUNT
   234 00065 1D13          	SUB A,@19
   235 00066 0C03          	JBC 0X03,0
   236 00067 146B          	JMP _INT_GET_OPT
   237 00068 00E4          	CLR OPT_100MS_COUNT
   238 00069 0921          	BC OPT_FLAG,OPT_100MS_START
   239 0006A 0B61          	BS OPT_FLAG,OPT_100MS_OK
   240                     	
   241 0006B               _INT_GET_OPT:
   242 0006B 00E3          	CLR OPT_TEMP2	 ;GET OPT_TEMP2
   243 0006C 0823          	BC OPT_TEMP2,0	;OPT1
   244 0006D 0D89          	JBC 0X09,HKS_1	
   245 0006E 0A23          	BS OPT_TEMP2,0
   246                     	
   247 0006F 0923          	BC OPT_TEMP2,4	;OPT2
   248 00070 0DC9          	JBC 0X09,HKS_2
   249 00071 0B23          	BS OPT_TEMP2,4
   250                     	
   251 00072 0422          	MOV A,OPT_TEMP1
   252 00073 0323          	XOR A,OPT_TEMP2
   253 00074 0E83          	JBS 0X03,2
   254 00075 0565          	INC OPT_CONT				 ;OPT STA CHANG TIMES
   255 00076 0E21          	JBS OPT_FLAG,OPT_RING		;if opt_ring,go on counte change
   256 00077 14BF          	JMP _OPT_CHECK_EXIT
   257                     	
   258 00078 0D21          	JBC OPT_FLAG,OPT_100MS_START
   259 00079 147D          	JMP _JUDGE_OPT_COUNT_OK
   260                     	
   261 0007A 00E4          	CLR OPT_100MS_COUNT			;100MS RESET
   262 0007B 0B21          	BS OPT_FLAG,OPT_100MS_START
   263 0007C 14BF          	JMP _OPT_CHECK_EXIT
   264                     	
   265 0007D               _JUDGE_OPT_COUNT_OK:
   266 0007D 0D61          	JBC OPT_FLAG,OPT_100MS_OK
   267 0007E 1480          	JMP _OPT_CHECK
   268 0007F 14BF          	JMP _OPT_CHECK_EXIT
   269                     
   270 00080               _OPT_CHECK:
   271 00080 00E4          	CLR OPT_100MS_COUNT
   272 00081 0425          	MOV A,OPT_CONT
   273 00082 0E83          	JBS 0X03,2
   274 00083 14AC          	JMP _OPT_STA_RING
   275 00084 0423          	MOV A,OPT_TEMP2
   276 00085 1B11          	XOR A,@0X11
   277 00086 0E83          	JBS 0X03,2

⌨️ 快捷键说明

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