?? main.lst
字號:
252 00141 154B jmp Judgment_Rssi_ret
253
254 00142 Judgment_Rssi_muting:
255 00142 1288 call FmTune
256 00143 11BF call delay_50ms
257 00144 1272 call I2cRead
258 00145 041A mov a,RSSI
259 00146 1A3F and a,@0x3f
260 00147 1D0C sub a,@Rssi_MidPoint ;rssi 強度
261 00148 0E03 jbs FLAG,@C
262 00149 153B jmp fm_unmute
263 0014A 154B jmp Judgment_Rssi_ret
264
265 0014B Judgment_Rssi_ret:
266
267 0014B 152A jmp Judgment_Rssi_end
268 ;-------------------------------------------------------------------------
269
270 0014C Judgment_Sleep:
271
272 0014C 0C06 jbc P6,@0 ;著斷是否需要進入睡眠
273 0014D 152B jmp Judgment_Sleep_End
274 0014E 11BF call delay_50ms ;目的是防止收到假信號
275 0014F 0C06 jbc P6,@0 ;著斷是否需要進入睡眠
276 00150 152B jmp Judgment_Sleep_End
277 00151 11BF call delay_50ms ;目的是防止收到假信號
278 00152 0C06 jbc P6,@0 ;著斷是否需要進入睡眠
279 00153 152B jmp Judgment_Sleep_End
280
281
282 00154 0817 bc Rd5800_Reg_02L,@POWERUP_ENABLE ;關收音電源
283 00155 1288 call FmTune
284
285 00156 180E mov a,@0001110B
286 00157 0002 contw
287 00158 0004 wdtc
288 00159 001E ior WTDCON ;禁止持門狗
289 0015A 0050 mov A_buff,a
290 0015B 09D0 bc A_buff,@0x07
291 0015C 0410 mov a,A_buff
292 0015D 000E iow WTDCON
293 0015E 0446 mov P6,P6
294
295 0015F 0011 DISI
296
297 00160 0003 slep
298 00161 084F bc INT_STATU,@P6_FLAG_BIT
299 00162 088F bc INT_STATU,@EX_FLAG_BIT
300
301 00163 180E mov a,@0001110B
302 00164 0002 contw
303 00165 0004 wdtc
304 00166 11BF call delay_50ms
305 00167 0820 bc FM_STATUS,@FM_MUTE ;置收音狀態為開起音量
306 00168 0A17 bs Rd5800_Reg_02L,@POWERUP_ENABLE ;開啟收音電源
307 00169 0996 bc Rd5800_Reg_02H,@DMUTE ;靜音
308 0016A 1288 call FmTune
309 0016B 11BF call delay_50ms
310 0016C 11B8 call delay_500ms
311 0016D 0B96 bs Rd5800_Reg_02H,@DMUTE ;開音量
312 0016E 1288 call FmTune
313 0016F 152B jmp Judgment_Sleep_End
314
315
316 ;===============================================
317 ; Includes Other Functions.
318 ;===============================================
319
320 include "init_sys.asm"
1 C ;===============================================
2 C ; Function:CleanRam()
3 C ;===============================================
4 00170 C CleanRam:
5 00170 1810 C MOV A,@0x10
6 00171 0044 C MOV R4,A
7 00172 C Loop:
8 C ; CLR R0 ==> [R4]=0
9 00172 00C0 C CLR R0
10 00173 0544 C INC R4
11 00174 0404 C MOV A,R4
12 00175 19C0 C OR A,@0B11000000
13 00176 0883 C BC FLAG,Z
14 00177 1BF0 C XOR A,@0xF0
15 00178 0E83 C JBS FLAG,Z
16 00179 1572 C JMP Loop
17 0017A 0012 C RET
18 C
19 C ;===============================================
20 C ; Function:Init_Ioport()設置端口狀態
21 C ;===============================================
22 0017B C Init_Ioport:
23 C
24 0017B 0080 C clra
25 0017C 0005 C iow P5CON
26 0017D 1801 C mov a,@0x01
27 0017E 0006 C iow P6CON
28 C
29 0017F 1800 C mov a,@0x0
30 00180 0045 C mov P5,a
31 00181 1800 C mov a,@0x0
32 00182 0046 C mov P6,a
33 00183 0000 C nop
34 C
35 C ;P5 and P6 Pull Down.
36 00184 1800 C mov A, @0B00000000
37 00185 000B C iow IOCB
38 C
39 C ;P6 mask switch
40 00186 1800 C mov A, @0B00000000
41 00187 000C C iow IOCC
42 00188 1800 C mov A, @0x00
43 00189 000D C iow IOCD
44 C
45 0018A 0012 C ret
46 C
47 C
48 C
49 C
50 C
51 C
52 C
53 C ;===============================================
54 C ; Function:Init_Con_reg()初始化控制寄存器
55 C ;===============================================
56 0018B C Init_Con_reg:
57 C ;禁止看門狗
58 0018B 0004 C wdtc
59 0018C 001E C ior WTDCON ;禁止持門狗
60 0018D 0050 C mov A_buff,a
61 0018E 09D0 C bc A_buff,@0x07
62 0018F 0410 C mov a,A_buff
63 00190 000E C iow WTDCON
64 00191 180E C mov a,@0001110B ;f/4
65 00192 0002 C contw
66 00193 1800 C mov a,@0
67 00194 0041 C mov TIME_COUNT,a
68 C ;----------------------------------------------
69 C ;計數中斷使能
70 00195 080F C bc INT_STATU,@TC_FLAG_BIT
71 00196 001F C ior INT_MAST
72 00197 0050 C mov A_buff,a
73 00198 0810 C bc A_buff,@TC_FLAG_BIT
74 C ;bs A_buff,@TC_FLAG_BIT
75 00199 0410 C mov a,A_buff
76 0019A 000F C iow INT_MAST
77 C ;----------------------------------------------
78 C ;外部中斷使能
79 0019B 088F C bc INT_STATU,@EX_FLAG_BIT
80 C ;bs INT_STATU,@EX_FLAG_BIT
81 0019C 001F C ior INT_MAST
82 0019D 0050 C mov A_buff,a
83 0019E 0890 C bc A_buff,@EX_FLAG_BIT
84 C ; bs A_buff,@EX_FLAG_BIT
85 0019F 0410 C mov a,A_buff
86 001A0 000F C iow INT_MAST
87 001A1 001E C ior WTDCON
88 001A2 0050 C mov A_buff,a
89 C ; bs A_buff,@0x06
90 001A3 0990 C bc A_buff,@0x06
91 001A4 0410 C mov a,A_buff
92 001A5 000E C iow WTDCON
93 C ;----------------------------------------------
94 C ;腳位變化中斷
95 001A6 084F C bc INT_STATU,@P6_FLAG_BIT
96 001A7 001F C ior INT_MAST
97 001A8 0050 C mov A_buff,a
98 001A9 0A50 C bs A_buff,@P6_FLAG_BIT
99 C ;bc A_buff,@P6_FLAG_BIT
100 001AA 0410 C mov a,A_buff
101 001AB 000F C iow INT_MAST
102 C ;----------------------------------------------
103 C
104 001AC 0012 C ret
105 C
106 C
321 include "time.asm"
1 C ;===============================================
2 C ; Function:延遲25ms
3 C ;===============================================
4 C ;delay_25ms:
5 C ; clr Time_Int_Count
6 C ;con_delay_25ms:
7 C ; mov a,Time_Int_Count
8 C ; sub a,@0xfa
9 C ; jbs FLAG,@Z
10 C ; jmp con_delay_25ms
11 C ; ret
12 C
13 C ;===============================================
14 C ; Function:延遲2ms
15 C ;===============================================
16 001AD C delay_2ms:
17 001AD 00DD C clr time_delay
18 C
19 001AE C con_delay_2ms:
20 001AE 055D C inc time_delay
21 001AF 0000 C nop
22 001B0 0000 C nop
23 001B1 0000 C nop
24 001B2 0000 C nop
25 001B3 041D C mov a,time_delay
26 001B4 1DC8 C sub a,@0xc8
27 001B5 0E83 C jbs FLAG,@Z
28 001B6 15AE C jmp con_delay_2ms
29 001B7 0012 C ret
30 C
31 C ;===============================================
32 C ; Function:延遲500ms
33 C ;===============================================
34 001B8 C delay_500ms:
35 001B8 18FA C mov a,@0xfa
36 001B9 005C C mov time_delay1,a
37 001BA C con_delay_500ms:
38 001BA 11AD C call delay_2ms
39 001BB 01DC C dec time_delay1
40 001BC 0E83 C jbs FLAG,@Z
41 001BD 15BA C jmp con_delay_500ms
42 001BE 0012 C ret
43 C
44 C ;===============================================
45 C ; Function:延遲50ms
46 C ;===============================================
47 001BF C delay_50ms:
48 001BF 1819 C mov a,@0x19
49 001C0 005C C mov time_delay1,a
50 C
51 001C1 C con_delay_50ms:
52 001C1 0004 C wdtc
53 001C2 11AD C call delay_2ms
54 001C3 01DC C dec time_delay1
55 001C4 0E83 C jbs FLAG,@Z
56 001C5 15C1 C jmp con_delay_50ms
57 001C6 0012 C ret
58 C
59 C
322 include "i2cproc.asm"
1 C include "I2cproc.inc"
1 C
2 C
3 0000 C ACK equ 0 ;ACK bits
4 C
5 0006 C SdaPort equ P6
6 C
7 0006 C SclPort equ P6
8 0001 C SDA equ 0x01
9 0002 C SCL equ 0x02
10 C
11 C
12 C
13 C
2 C ;===============================================
3 C ; Function:I2cDelay():;;多個延時函數共用.
4 C ;===============================================
5 001C7 C I2cDelay:
6 C
7 001C7 0000 C NOP
8 001C8 0000 C NOP
9 001C9 0000 C NOP
10 001CA 0000 C NOP
11 001CB 0000 C NOP
12 001CC 0000 C NOP
13 001CD 0000 C NOP
14 001CE 0000 C NOP
15 001CF 0000 C NOP
16 001D0 0000 C NOP
17 C
18 001D1 0000 C NOP
19 001D2 0000 C NOP
20 001D3 0000 C NOP
21 001D4 0000 C NOP
22 001D5 0000 C NOP
23 001D6 0000 C NOP
24 001D7 0000 C NOP
25 001D8 0000 C NOP
26 001D9 0000 C NOP
27 001DA 0000 C NOP
28 C
29 001DB 0000 C NOP
30 001DC 0000 C NOP
31 001DD 0000 C NOP
32 001DE 0000 C NOP
33 001DF 0000 C NOP
34 001E0 0000 C NOP
35 001E1 0000 C NOP
36 001E2 0000 C NOP
37 001E3 0000 C NOP
38 001E4 0000 C NOP
39 001E5 0000 C NOP
40 001E6 0000 C NOP
41 001E7 0000 C NOP
42 001E8 0000 C NOP
43 001E9 0000 C NOP
44 001EA 0000 C NOP
45 001EB 0000 C NOP
46 001EC 0000 C NOP
47 001ED 0000 C NOP
48 001EE 0000 C NOP
49 C
50 001EF 0012 C ret
51 C
52 C ;===============================================
53 C ; Function:I2cStart()
54 C ;===============================================
55 001F0 C I2cStart:
56 001F0 0A46 C bs SdaPort,@SDA
57 001F1 0A86 C bs SclPort,@SCL
58 001F2 11C7 C call I2cDelay
59 C
60 001F3 0846 C bc SdaPort,@SDA
61 001F4 11C7 C call I2cDelay
62 001F5 11C7 C call I2cDelay
63 C
64 001F6 0886 C bc SclPort,@SCL
65 001F7 11C7 C call I2cDelay
66 001F8 11C7 C call I2cDelay
67 001F9 0012 C ret
68 C
69 C
70 C
71 C ;===============================================
72 C ; Function:I2cStop()
73 C ;===============================================
74 001FA C I2cStop:
75 C
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -