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

📄 pic_tea5767.lst

📁 收音机TEA5767模块与PIC16F877A的应用
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL2
                                                      Tue Feb 17 19:06:13 2009


     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z49231UD_,global,delta=1
     4                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     5                           	psect	idata_0,global,class=CODE,delta=2
     6                           	psect	text3,local,class=CODE,delta=2
     7                           	psect	text8,local,class=CODE,delta=2
     8                           	psect	text14,local,class=CODE,delta=2
     9                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    10                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21                           
    22                           	psect	rdata_0
    23  0034                     _tea5767_write_data
    24  0034                     	ds	1
    25  0035                     	ds	1
    26  0036                     	ds	1
    27  0037                     	ds	1
    28  0038                     	ds	1
    29  0000                     _delay$delay_time	set	?_delay
    30                           
    31                           	psect	idata_0
    32  07FB  3429               	retlw	41
    33  07FC  34C2               	retlw	-62
    34  07FD  3420               	retlw	32
    35  07FE  3411               	retlw	17
    36  07FF  3400               	retlw	0
    37                           
    38                           	psect	text3
    39  04C9                     _lcd_disp
    40                           ;	_adr assigned to ?a_lcd_disp+0
    41  0000                     _lcd_disp$adr	set	?a_lcd_disp
    42                           ;_adr stored from w
    43  04C9  0183               	clrf	3	;select bank 0
    44  04CA  00AD               	movwf	?a_lcd_disp
    45                           ;pic_tea5767.c: 73: lcd_command_writedata(0x00,
      +                          adr);
    46  04CB  00AE               	movwf	?_lcd_command_writedata
    47  04CC  3000               	movlw	0
    48  04CD  25E0               	fcall	_lcd_command_writedata
    49                           ;pic_tea5767.c: 74: lcd_command_writedata(0xff,
      +                          disp_data);
    50  04CE  082C               	movf	?_lcd_disp,w
    51  04CF  00AE               	movwf	?_lcd_command_writedata
    52  04D0  30FF               	movlw	-1
    53  04D1  2DE0               	ljmp	_lcd_command_writedata
    54                           ;pic_tea5767.c: 110: void get_frequency(void)
    55                           ;pic_tea5767.c: 111: {
    56  04D2                     _get_frequency
    57                           ;	_hlsi assigned to ?a_get_frequency+0
    58  0000                     _get_frequency$hlsi	set	?a_get_frequency
    59                           ;	_npll assigned to ?a_get_frequency+1
    60  0000                     _get_frequency$npll	set	?a_get_frequency+1
    61                           ;pic_tea5767.c: 112: unsigned char hlsi;
    62  04D2  0183               	clrf	3	;select bank 0
    63  04D3  01B0               	clrf	?a_get_frequency+1
    64  04D4  01B1               	clrf	?a_get_frequency+2
    65  04D5  01B2               	clrf	?a_get_frequency+3
    66  04D6  01B3               	clrf	?a_get_frequency+4
    67                           ;pic_tea5767.c: 115: npll = (double)pll;
    68  04D7  0821               	movf	_pll+1,w	;volatile
    69  04D8  00F1               	movwf	btemp+1
    70  04D9  0820               	movf	_pll,w	;volatile
    71  04DA  00F0               	movwf	btemp
    72  04DB  120A  118A  2760   	fcall	lwtofl
      +       120A  118A         
    73  04E0  0870               	movf	btemp,w
    74  04E1  00B0               	movwf	?a_get_frequency+1
    75  04E2  0871               	movf	btemp+1,w
    76  04E3  00B1               	movwf	?a_get_frequency+2
    77  04E4  0872               	movf	btemp+2,w
    78  04E5  00B2               	movwf	?a_get_frequency+3
    79  04E6  0873               	movf	btemp+3,w
    80  04E7  00B3               	movwf	?a_get_frequency+4
    81                           ;pic_tea5767.c: 116: hlsi = tea5767_write_data[
      +                          2] & 0x10;
    82  04E8  0836               	movf	_tea5767_write_data+2,w	;volatile
    83  04E9  3910               	andlw	16
    84  04EA  00AF               	movwf	?a_get_frequency
    85                           ;pic_tea5767.c: 117: if (hlsi)
    86  04EB  08AF               	movf	?a_get_frequency
    87  04EC  1903               	btfsc	3,2
    88  04ED  2D18               	goto	l23
    89                           ;pic_tea5767.c: 118: frequency =(unsigned long)
      +                          ((double)(npll) * (double)8.192 - 225);
    90  04EE  0830               	movf	?a_get_frequency+1,w
    91  04EF  00F4               	movwf	btemp+4
    92  04F0  0831               	movf	?a_get_frequency+2,w
    93  04F1  00F5               	movwf	btemp+5
    94  04F2  0832               	movf	?a_get_frequency+3,w
    95  04F3  00F6               	movwf	btemp+6
    96  04F4  0833               	movf	?a_get_frequency+4,w
    97  04F5  00F7               	movwf	btemp+7
    98  04F6  306F               	movlw	111
    99  04F7  00F0               	movwf	btemp
   100  04F8  3012               	movlw	18
   101  04F9  00F1               	movwf	btemp+1
   102  04FA  3003               	movlw	3
   103  04FB  00F2               	movwf	btemp+2
   104  04FC  3041               	movlw	65
   105  04FD  00F3               	movwf	btemp+3
   106  04FE  120A  118A  2766   	fcall	flmul
   107  0501  01F4               	clrf	btemp+4
   108  0502  01F5               	clrf	btemp+5
   109  0503  3061               	movlw	97
   110  0504  00F6               	movwf	btemp+6
   111  0505  3043               	movlw	67
   112  0506  00F7               	movwf	btemp+7
   113  0507  120A  118A  26E1   	fcall	flsub
   114  050A  120A  118A  270A   	fcall	fltol
      +       120A  118A         
   115  050F  0870               	movf	btemp,w
   116  0510  00A2               	movwf	_frequency	;volatile
   117  0511  0871               	movf	btemp+1,w
   118  0512  00A3               	movwf	_frequency+1	;volatile
   119  0513  0872               	movf	btemp+2,w
   120  0514  00A4               	movwf	_frequency+2	;volatile
   121  0515  0873               	movf	btemp+3,w
   122  0516  00A5               	movwf	_frequency+3	;volatile
   123                           ;pic_tea5767.c: 119: else
   124  0517  0008               	return
   125  0518                     l23
   126                           ;pic_tea5767.c: 120: frequency = (unsigned long
      +                          )((double)(npll) * (double)8.192 + 225);
   127  0518  0830               	movf	?a_get_frequency+1,w
   128  0519  00F4               	movwf	btemp+4
   129  051A  0831               	movf	?a_get_frequency+2,w
   130  051B  00F5               	movwf	btemp+5
   131  051C  0832               	movf	?a_get_frequency+3,w
   132  051D  00F6               	movwf	btemp+6
   133  051E  0833               	movf	?a_get_frequency+4,w
   134  051F  00F7               	movwf	btemp+7
   135  0520  306F               	movlw	111
   136  0521  00F0               	movwf	btemp
   137  0522  3012               	movlw	18
   138  0523  00F1               	movwf	btemp+1
   139  0524  3003               	movlw	3
   140  0525  00F2               	movwf	btemp+2
   141  0526  3041               	movlw	65
   142  0527  00F3               	movwf	btemp+3
   143  0528  120A  118A  2766   	fcall	flmul
   144  052B  01F4               	clrf	btemp+4
   145  052C  01F5               	clrf	btemp+5
   146  052D  3061               	movlw	97
   147  052E  00F6               	movwf	btemp+6
   148  052F  3043               	movlw	67
   149  0530  00F7               	movwf	btemp+7
   150  0531  120A  118A  26E3   	fcall	fladd
   151  0534  120A  118A  270A   	fcall	fltol
      +       120A  118A         
   152  0539  0870               	movf	btemp,w
   153  053A  00A2               	movwf	_frequency	;volatile
   154  053B  0871               	movf	btemp+1,w
   155  053C  00A3               	movwf	_frequency+1	;volatile
   156  053D  0872               	movf	btemp+2,w
   157  053E  00A4               	movwf	_frequency+2	;volatile
   158  053F  0873               	movf	btemp+3,w
   159  0540  00A5               	movwf	_frequency+3	;volatile
   160                           ;pic_tea5767.c: 121: }
   161  0541  0008               	return
   162                           ;pic_tea5767.c: 93: void send_init(void)
   163                           ;pic_tea5767.c: 94: {
   164  0542                     _send_init
   165                           ;pic_tea5767.c: 95: INTCON = 0x00;
   166  0542  018B               	clrf	11	;volatile
   167                           ;pic_tea5767.c: 96: SSPSTAT = 0x00;
   168  0543  1683               	bsf	3,5
   169  0544  1303               	bcf	3,6	;carry unused
   170  0545  0194               	clrf	20	;volatile
   171                           ;pic_tea5767.c: 97: SSPCON = 0x00;
   172  0546  1283               	bcf	3,5
   173  0547  0194               	clrf	20	;volatile
   174                           ;pic_tea5767.c: 98: SSPCON2 = 0x00;
   175  0548  1683               	bsf	3,5
   176  0549  0191               	clrf	17	;volatile
   177                           ;pic_tea5767.c: 99: TRISC3 = 1;
   178  054A  1587               	bsf	7,3
   179                           ;pic_tea5767.c: 100: TRISC4 = 1;
   180  054B  1607               	bsf	7,4
   181                           ;pic_tea5767.c: 101: SSPIF = 0;
   182  054C  1283               	bcf	3,5
   183  054D  118C               	bcf	12,3
   184                           ;pic_tea5767.c: 102: SSPIE = 0;
   185  054E  1683               	bsf	3,5
   186  054F  118C               	bcf	12,3
   187                           ;pic_tea5767.c: 103: SSPSTAT = 0x40;
   188  0550  3040               	movlw	64
   189  0551  0094               	movwf	20	;volatile
   190                           ;pic_tea5767.c: 104: SSPCON = 0x08;
   191  0552  3008               	movlw	8
   192  0553  1283               	bcf	3,5
   193  0554  0094               	movwf	20	;volatile
   194                           ;pic_tea5767.c: 105: SSPCON2 = 0x00;
   195  0555  1683               	bsf	3,5
   196  0556  0191               	clrf	17	;volatile
   197                           ;pic_tea5767.c: 106: SSPADD = 0x04;
   198  0557  3004               	movlw	4
   199  0558  0093               	movwf	19	;volatile
   200                           ;pic_tea5767.c: 107: SSPEN = 1;
   201  0559  1283               	bcf	3,5
   202  055A  1694               	bsf	20,5
   203                           ;pic_tea5767.c: 108: }
   204  055B  0008               	return
   205                           ;pic_tea5767.c: 134: void radio_write(void)
   206                           ;pic_tea5767.c: 135: {
   207  055C                     _radio_write
   208                           ;	_i assigned to ?a_radio_write+0
   209  0000                     _radio_write$i	set	?a_radio_write
   210                           ;pic_tea5767.c: 136: unsigned char i;
   211  055C  2542               	fcall	_send_init
   212                           ;pic_tea5767.c: 139: SEN = 1;
   213  055D  1683               	bsf	3,5
   214  055E  1411               	bsf	17,0
   215                           ;pic_tea5767.c: 140: for( i = 2; --i;);
   216  055F  3002               	movlw	2
   217  0560  1283               	bcf	3,5
   218  0561  00AC               	movwf	?a_radio_write
   219  0562                     l32
   220  0562  0BAC               	decfsz	?a_radio_write
   221  0563  2D62               	goto	l32
   222                           ;pic_tea5767.c: 141: while (!SSPIF);
   223  0564                     l33
   224  0564  1D8C               	btfss	12,3
   225  0565  2D64               	goto	l33
   226                           ;pic_tea5767.c: 142: SSPIF = 0;
   227  0566  118C               	bcf	12,3
   228                           ;pic_tea5767.c: 143: SSPBUF = 0xc0;
   229  0567  30C0               	movlw	-64
   230  0568  0093               	movwf	19	;volatile
   231                           ;pic_tea5767.c: 144: while (!SSPIF);
   232  0569                     l36
   233  0569  1D8C               	btfss	12,3
   234  056A  2D69               	goto	l36
   235                           ;pic_tea5767.c: 145: SSPIF = 0;
   236  056B  118C               	bcf	12,3
   237                           ;pic_tea5767.c: 146: for (i = 0; i < 5; i ++)
   238  056C  01AC               	clrf	?a_radio_write
   239  056D                     l39
   240                           ;pic_tea5767.c: 147: {
   241                           ;pic_tea5767.c: 148: SSPBUF = tea5767_write_dat
      +                          a[i];
   242  056D  082C               	movf	?a_radio_write,w
   243  056E  3E34               	addlw	_tea5767_write_data
   244  056F  0084               	movwf	4
   245  0570  1383               	bcf	3,7
   246  0571  0800               	movf	0,w

⌨️ 快捷键说明

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