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

📄 pic_tea5767.lst

📁 收音机TEA5767模块与PIC16F877A的应用
💻 LST
📖 第 1 页 / 共 5 页
字号:
   247  0572  0093               	movwf	19	;volatile
   248                           ;pic_tea5767.c: 149: while (!SSPIF);
   249  0573                     l42
   250  0573  1D8C               	btfss	12,3
   251  0574  2D73               	goto	l42
   252                           ;pic_tea5767.c: 150: SSPIF = 0;
   253  0575  118C               	bcf	12,3
   254                           ;pic_tea5767.c: 151: }
   255  0576  0AAC               	incf	?a_radio_write
   256  0577  3005               	movlw	5
   257  0578  022C               	subwf	?a_radio_write,w
   258  0579  1C03               	btfss	3,0
   259  057A  2D6D               	goto	l39
   260                           ;pic_tea5767.c: 152: PEN = 1;
   261  057B  1683               	bsf	3,5
   262  057C  1511               	bsf	17,2
   263                           ;pic_tea5767.c: 153: while (!SSPIF);
   264  057D                     l45
   265  057D  1283               	bcf	3,5
   266  057E  1D8C               	btfss	12,3
   267  057F  2D7D               	goto	l45
   268                           ;pic_tea5767.c: 154: SSPIF = 0;
   269  0580  118C               	bcf	12,3
   270                           ;pic_tea5767.c: 155: SSPEN = 0;
   271  0581  1294               	bcf	20,5
   272                           ;pic_tea5767.c: 156: }
   273  0582  0008               	return
   274                           ;pic_tea5767.c: 158: void radio_read(void)
   275                           ;pic_tea5767.c: 159: {
   276  0583                     _radio_read
   277                           ;	_temp_l assigned to ?a_radio_read+0
   278  0000                     _radio_read$temp_l	set	?a_radio_read
   279                           ;	_temp_h assigned to ?a_radio_read+1
   280  0000                     _radio_read$temp_h	set	?a_radio_read+1
   281                           ;	_i assigned to ?a_radio_read+2
   282  0000                     _radio_read$i	set	?a_radio_read+2
   283                           ;pic_tea5767.c: 160: unsigned char i;
   284  0583  0183               	clrf	3	;select bank 0
   285  0584  01A0               	clrf	_pll	;volatile
   286  0585  01A1               	clrf	_pll+1	;volatile
   287                           ;pic_tea5767.c: 164: send_init();
   288  0586  2542               	fcall	_send_init
   289                           ;pic_tea5767.c: 165: SEN = 1;
   290  0587  1683               	bsf	3,5
   291  0588  1411               	bsf	17,0
   292                           ;pic_tea5767.c: 166: for( i = 2; --i;);
   293  0589  3002               	movlw	2
   294  058A  1283               	bcf	3,5
   295  058B  00AE               	movwf	?a_radio_read+2
   296  058C                     l52
   297  058C  0BAE               	decfsz	?a_radio_read+2
   298  058D  2D8C               	goto	l52
   299                           ;pic_tea5767.c: 167: while (!SSPIF);
   300  058E                     l53
   301  058E  1D8C               	btfss	12,3
   302  058F  2D8E               	goto	l53
   303                           ;pic_tea5767.c: 168: SSPIF = 0;
   304  0590  118C               	bcf	12,3
   305                           ;pic_tea5767.c: 169: SSPBUF = 0xc0 + 1;
   306  0591  30C1               	movlw	-63
   307  0592  0093               	movwf	19	;volatile
   308                           ;pic_tea5767.c: 170: while (!SSPIF);
   309  0593                     l56
   310  0593  1D8C               	btfss	12,3
   311  0594  2D93               	goto	l56
   312                           ;pic_tea5767.c: 171: SSPIF = 0;
   313  0595  118C               	bcf	12,3
   314                           ;pic_tea5767.c: 172: RCEN = 1;
   315  0596  1683               	bsf	3,5
   316  0597  1591               	bsf	17,3
   317                           ;pic_tea5767.c: 173: for (i = 0; i < 4; i ++)
   318  0598  1283               	bcf	3,5
   319  0599  01AE               	clrf	?a_radio_read+2
   320                           ;pic_tea5767.c: 174: {
   321                           ;pic_tea5767.c: 175: while (!SSPIF);
   322  059A                     l62
   323  059A  1D8C               	btfss	12,3
   324  059B  2D9A               	goto	l62
   325                           ;pic_tea5767.c: 176: SSPIF = 0;
   326  059C  118C               	bcf	12,3
   327                           ;pic_tea5767.c: 177: tea5767_read_data[i] = SSP
      +                          BUF;
   328  059D  082E               	movf	?a_radio_read+2,w
   329  059E  3E26               	addlw	_tea5767_read_data
   330  059F  0084               	movwf	4
   331  05A0  1383               	bcf	3,7
   332  05A1  0813               	movf	19,w	;volatile
   333  05A2  0080               	movwf	0
   334                           ;pic_tea5767.c: 178: ACKDT = 0;
   335  05A3  1683               	bsf	3,5
   336  05A4  1291               	bcf	17,5
   337                           ;pic_tea5767.c: 179: ACKEN = 1;
   338  05A5  1611               	bsf	17,4
   339                           ;pic_tea5767.c: 180: while (!SSPIF);
   340  05A6                     l65
   341  05A6  1283               	bcf	3,5
   342  05A7  1D8C               	btfss	12,3
   343  05A8  2DA6               	goto	l65
   344                           ;pic_tea5767.c: 181: SSPIF = 0;
   345  05A9  118C               	bcf	12,3
   346                           ;pic_tea5767.c: 182: RCEN = 1;
   347  05AA  1683               	bsf	3,5
   348  05AB  1591               	bsf	17,3
   349                           ;pic_tea5767.c: 183: }
   350  05AC  1283               	bcf	3,5
   351  05AD  0AAE               	incf	?a_radio_read+2
   352  05AE  3004               	movlw	4
   353  05AF  022E               	subwf	?a_radio_read+2,w
   354  05B0  1C03               	btfss	3,0
   355  05B1  2D9A               	goto	l62
   356                           ;pic_tea5767.c: 184: while (!SSPIF);
   357  05B2                     l68
   358  05B2  1D8C               	btfss	12,3
   359  05B3  2DB2               	goto	l68
   360                           ;pic_tea5767.c: 185: SSPIF = 0;
   361  05B4  118C               	bcf	12,3
   362                           ;pic_tea5767.c: 186: tea5767_read_data[4] = SSP
      +                          BUF;
   363  05B5  0813               	movf	19,w	;volatile
   364  05B6  00AA               	movwf	_tea5767_read_data+4	;volatile
   365                           ;pic_tea5767.c: 187: ACKDT = 1;
   366  05B7  1683               	bsf	3,5
   367  05B8  1691               	bsf	17,5
   368                           ;pic_tea5767.c: 188: ACKEN = 1;
   369  05B9  1611               	bsf	17,4
   370                           ;pic_tea5767.c: 189: while (!SSPIF);
   371  05BA                     l71
   372  05BA  1283               	bcf	3,5
   373  05BB  1D8C               	btfss	12,3
   374  05BC  2DBA               	goto	l71
   375                           ;pic_tea5767.c: 190: SSPIF = 0;
   376  05BD  118C               	bcf	12,3
   377                           ;pic_tea5767.c: 191: PEN = 1;
   378  05BE  1683               	bsf	3,5
   379  05BF  1511               	bsf	17,2
   380                           ;pic_tea5767.c: 192: while (!SSPIF);
   381  05C0                     l74
   382  05C0  1283               	bcf	3,5
   383  05C1  1D8C               	btfss	12,3
   384  05C2  2DC0               	goto	l74
   385                           ;pic_tea5767.c: 193: SSPIF = 0;
   386  05C3  118C               	bcf	12,3
   387                           ;pic_tea5767.c: 194: temp_l = tea5767_read_data
      +                          [1];
   388  05C4  0827               	movf	_tea5767_read_data+1,w	;volatile
   389  05C5  00AC               	movwf	?a_radio_read
   390                           ;pic_tea5767.c: 195: temp_h = tea5767_read_data
      +                          [0];
   391  05C6  0826               	movf	_tea5767_read_data,w	;volatile
   392  05C7  00AD               	movwf	?a_radio_read+1
   393                           ;pic_tea5767.c: 196: temp_h &= 0x3f;
   394  05C8  303F               	movlw	63
   395  05C9  05AD               	andwf	?a_radio_read+1
   396                           ;pic_tea5767.c: 197: pll = (temp_h << 8 | temp_
      +                          l);
   397  05CA  082D               	movf	?a_radio_read+1,w
   398  05CB  00A1               	movwf	_pll+1	;volatile
   399  05CC  082C               	movf	?a_radio_read,w
   400  05CD  00A0               	movwf	_pll	;volatile
   401                           ;pic_tea5767.c: 198: get_frequency();
   402  05CE  2CD2               	ljmp	_get_frequency
   403                           ;pic_tea5767.c: 33: unsigned char lcd_busy(void
      +                          )
   404                           ;pic_tea5767.c: 34: {
   405  05CF                     _lcd_busy
   406                           ;	_temp assigned to ?a_lcd_busy+0
   407  0000                     _lcd_busy$temp	set	?a_lcd_busy
   408                           ;pic_tea5767.c: 35: unsigned char temp;
   409  05CF  30FF               	movlw	-1
   410  05D0  0183               	clrf	3	;select bank 0
   411  05D1  0086               	movwf	6	;volatile
   412                           ;pic_tea5767.c: 38: RS = 0;
   413  05D2  1288               	bcf	8,5
   414                           ;pic_tea5767.c: 39: RW = 1;
   415  05D3  1708               	bsf	8,6
   416                           ;pic_tea5767.c: 40: E = 1;
   417  05D4  1788               	bsf	8,7
   418                           ;pic_tea5767.c: 41: TRISB = 0xff;
   419  05D5  1683               	bsf	3,5
   420  05D6  0086               	movwf	6	;volatile
   421                           ;pic_tea5767.c: 42: temp = PORTB;
   422  05D7  1283               	bcf	3,5
   423  05D8  0806               	movf	6,w	;volatile
   424  05D9  00B0               	movwf	?a_lcd_busy
   425                           ;pic_tea5767.c: 43: TRISB = 0x00;
   426  05DA  1683               	bsf	3,5
   427  05DB  0186               	clrf	6	;volatile
   428                           ;pic_tea5767.c: 44: E = 0;
   429  05DC  1283               	bcf	3,5
   430  05DD  1388               	bcf	8,7
   431                           ;pic_tea5767.c: 45: return (temp);
   432  05DE  0830               	movf	?a_lcd_busy,w
   433                           ;pic_tea5767.c: 46: }
   434  05DF  0008               	return
   435                           ;pic_tea5767.c: 48: void lcd_command_writedata(
      +                          unsigned char check,unsigned char data)
   436                           ;pic_tea5767.c: 49: {
   437                           ;       param _data assigned to ?_lcd_command_w
      +                          ritedata+0
   438  0000                     _lcd_command_writedata$data	set	?_lcd_command_w
      +                          ritedata
   439  05E0                     _lcd_command_writedata
   440                           ;	_check assigned to ?a_lcd_command_writedata+0
   441  0000                     _lcd_command_writedata$check	set	?a_lcd_command
      +                          _writedata
   442                           ;_check stored from w
   443  05E0  0183               	clrf	3	;select bank 0
   444  05E1  00AF               	movwf	?a_lcd_command_writedata
   445                           ;pic_tea5767.c: 50: switch (check)
   446  05E2  2DE7               	goto	l11
   447  05E3                     l12
   448                           ;pic_tea5767.c: 51: {
   449                           ;pic_tea5767.c: 53: {
   450  05E3  1288               	bcf	8,5
   451                           ;pic_tea5767.c: 55: }
   452  05E4  2DED               	goto	l10
   453  05E5                     l13
   454                           ;pic_tea5767.c: 57: case 0xff:
   455                           ;pic_tea5767.c: 58: {
   456  05E5  1688               	bsf	8,5
   457                           ;pic_tea5767.c: 60: }
   458                           ;pic_tea5767.c: 62: default: break;
   459  05E6  2DED               	goto	l10
   460  05E7                     l11
   461  05E7  082F               	movf	?a_lcd_command_writedata,w
   462  05E8  1903               	btfsc	3,2
   463  05E9  2DE3               	goto	l12
   464  05EA  3AFF               	xorlw	255
   465  05EB  1903               	btfsc	3,2
   466  05EC  2DE5               	goto	l13
   467  05ED                     l10
   468                           ;pic_tea5767.c: 64: RW = 0;
   469  05ED  1308               	bcf	8,6
   470                           ;pic_tea5767.c: 65: PORTB = data;
   471  05EE  082E               	movf	?_lcd_command_writedata,w
   472  05EF  0086               	movwf	6	;volatile
   473                           ;pic_tea5767.c: 66: E = 1;
   474  05F0  1788               	bsf	8,7
   475                           ;pic_tea5767.c: 67: E = 0;
   476  05F1  1388               	bcf	8,7
   477                           ;pic_tea5767.c: 68: while (lcd_busy() & 0x80);
   478  05F2                     l15
   479  05F2  25CF               	fcall	_lcd_busy
   480  05F3  00F0               	movwf	btemp
   481  05F4  1FF0               	btfss	btemp,7
   482  05F5  0008               	return
   483  05F6  2DF2               	goto	l15
   484                           ;pic_tea5767.c: 77: void lcd_init(void)
   485                           ;pic_tea5767.c: 78: {
   486  05F7                     _lcd_init
   487                           ;pic_tea5767.c: 79: lcd_command_writedata(0x00,
      +                          0x01);
   488  05F7  0183               	clrf	3	;select bank 0
   489  05F8  01AE               	clrf	?_lcd_command_writedata
   490  05F9  0AAE               	incf	?_lcd_command_writedata
   491  05FA  3000               	movlw	0
   492  05FB  25E0               	fcall	_lcd_command_writedata
   493                           ;pic_tea5767.c: 80: lcd_command_writedata(0x00,
      +                          0x38);
   494  05FC  3038               	movlw	56
   495  05FD  00AE               	movwf	?_lcd_command_writedata
   496  05FE  3000               	movlw	0
   497  05FF  25E0               	fcall	_lcd_command_writedata
   498                           ;pic_tea5767.c: 81: lcd_command_writedata(0x00,

⌨️ 快捷键说明

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