?? tea5767.lis
字號:
.module tea5767.c
.area text(rom, con, rel)
0000 .dbfile tea5767.c
0000 .dbfunc e delay _delay fV
0000 ; i -> R16,R17
.even
0000 _delay::
0000 .dbline -1
0000 .dbline 7
0000 ; #include<iom32v.h>
0000 ; #include<macros.h>
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ; #define ulong unsigned long
0000 ; void delay()
0000 ; {
0000 .dbline 8
0000 ; uint i=0;
0000 0027 clr R16
0002 1127 clr R17
0004 .dbline 9
0004 ; for (i=0;i<2000;i++)
0004 02C0 xjmp L5
0006 L2:
0006 .dbline 10
0006 L3:
0006 .dbline 9
0006 0F5F subi R16,255 ; offset = 1
0008 1F4F sbci R17,255
000A L5:
000A .dbline 9
000A 003D cpi R16,208
000C E7E0 ldi R30,7
000E 1E07 cpc R17,R30
0010 D0F3 brlo L2
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 16 i
0014 .dbend
.area data(ram, con, rel)
0000 .dbfile tea5767.c
0000 _radio_write_data::
0000 .blkb 2
.area idata
0000 6928 .byte 'i,40
.area data(ram, con, rel)
0002 .dbfile tea5767.c
0002 .blkb 2
.area idata
0002 A013 .byte 160,19
.area data(ram, con, rel)
0004 .dbfile tea5767.c
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile tea5767.c
0005 .dbsym e radio_write_data _radio_write_data A[5:5]c
.area text(rom, con, rel)
0014 .dbfile tea5767.c
0014 .dbfunc e inputbyte _inputbyte fV
0014 ; mid -> R20
0014 ; i -> R22
0014 ; CD -> R10
.even
0014 _inputbyte::
0014 0E940000 xcall push_gset3
0018 A02E mov R10,R16
001A .dbline -1
001A .dbline 14
001A ; ;
001A ; }
001A ; unsigned char radio_write_data[5]={0x69,0x28,0xa0,0x13,0x00}; //要寫入TEA5767的數據
001A ; void inputbyte(uchar CD) //寫入一字節數據
001A ; {
001A .dbline 15
001A ; uchar i,mid=0;
001A 4427 clr R20
001C .dbline 16
001C ; for (i=0;i<8;i++)
001C 6627 clr R22
001E 0CC0 xjmp L10
0020 L7:
0020 .dbline 17
0020 ; {
0020 .dbline 18
0020 ; mid=CD&0x80;
0020 4A2D mov R20,R10
0022 4078 andi R20,128
0024 .dbline 19
0024 ; if (mid==0)
0024 11F4 brne L11
0026 .dbline 20
0026 ; PORTC&=~BIT(PA0);
0026 A898 cbi 0x15,0
0028 01C0 xjmp L12
002A L11:
002A .dbline 22
002A ; else
002A ; PORTC|=BIT(PA0);
002A A89A sbi 0x15,0
002C L12:
002C .dbline 23
002C A99A sbi 0x15,1
002E .dbline 24
002E E8DF xcall _delay
0030 .dbline 25
0030 A998 cbi 0x15,1
0032 .dbline 26
0032 E6DF xcall _delay
0034 .dbline 27
0034 AA0C lsl R10
0036 .dbline 28
0036 L8:
0036 .dbline 16
0036 6395 inc R22
0038 L10:
0038 .dbline 16
0038 6830 cpi R22,8
003A 90F3 brlo L7
003C .dbline -2
003C L6:
003C 0E940000 xcall pop_gset3
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbsym r mid 20 c
0042 .dbsym r i 22 c
0042 .dbsym r CD 10 c
0042 .dbend
.area data(ram, con, rel)
0005 .dbfile tea5767.c
0005 _radio::
0005 .blkb 4
.area idata
0005 C0832F05 .word 33728,1327
.area data(ram, con, rel)
0009 .dbfile tea5767.c
0009 .dbsym e radio _radio L
0009 _N::
0009 .blkb 2
.area idata
0009 0000 .word 0
.area data(ram, con, rel)
000B .dbfile tea5767.c
000B .dbsym e N _N I
.area text(rom, con, rel)
0042 .dbfile tea5767.c
0042 .dbfunc e GetKey _GetKey fV
.even
0042 _GetKey::
0042 0E940000 xcall push_gset2
0046 .dbline -1
0046 .dbline 33
0046 ; PORTC|=BIT(PA1);
0046 ; delay();
0046 ; PORTC&=~BIT(PA1);
0046 ; delay();
0046 ; CD=CD<<1;
0046 ; }
0046 ; }
0046 ; long radio=87000000;
0046 ; int N=0;
0046 ; void GetKey(void)
0046 ; {
0046 .dbline 34
0046 ; if(!(PINA&0x20)){
0046 CD99 sbic 0x19,5
0048 6DC0 rjmp L14
004A .dbline 34
004A .dbline 35
004A ; radio+=100000;
004A 40EA ldi R20,160
004C 56E8 ldi R21,134
004E 61E0 ldi R22,1
0050 70E0 ldi R23,0
0052 40900700 lds R4,_radio+2
0056 50900800 lds R5,_radio+2+1
005A 20900500 lds R2,_radio
005E 30900600 lds R3,_radio+1
0062 240E add R2,R20
0064 351E adc R3,R21
0066 461E adc R4,R22
0068 571E adc R5,R23
006A 30920600 sts _radio+1,R3
006E 20920500 sts _radio,R2
0072 50920800 sts _radio+2+1,R5
0076 40920700 sts _radio+2,R4
007A .dbline 36
007A ; if (radio>108000000)
007A 40E0 ldi R20,0
007C 53EF ldi R21,243
007E 6FE6 ldi R22,111
0080 76E0 ldi R23,6
0082 4215 cp R20,R2
0084 5305 cpc R21,R3
0086 6405 cpc R22,R4
0088 7505 cpc R23,R5
008A 64F4 brge L16
008C .dbline 37
008C ; radio=87000000;
008C 40EC ldi R20,192
008E 53E8 ldi R21,131
0090 6FE2 ldi R22,47
0092 75E0 ldi R23,5
0094 50930600 sts _radio+1,R21
0098 40930500 sts _radio,R20
009C 70930800 sts _radio+2+1,R23
00A0 60930700 sts _radio+2,R22
00A4 L16:
00A4 .dbline 38
00A4 ; N=(long)((radio-225000)*4)/32768;
00A4 40900700 lds R4,_radio+2
00A8 50900800 lds R5,_radio+2+1
00AC 20900500 lds R2,_radio
00B0 30900600 lds R3,_radio+1
00B4 44E0 ldi R20,4
00B6 50E0 ldi R21,0
00B8 60E0 ldi R22,0
00BA 70E0 ldi R23,0
00BC 5A92 st -y,R5
00BE 4A92 st -y,R4
00C0 3A92 st -y,R3
00C2 2A92 st -y,R2
00C4 8A01 movw R16,R20
00C6 9B01 movw R18,R22
00C8 0E940000 xcall empy32s
00CC 40EA ldi R20,160
00CE 5BEB ldi R21,187
00D0 6DE0 ldi R22,13
00D2 70E0 ldi R23,0
00D4 1801 movw R2,R16
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -