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

📄 i2c.lst

📁 基于温度传感器LM35与PIC16F877A的应用程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   240  079C  1683               	bsf	3,5
   241  079D  0191               	clrf	17	;volatile
   242                           ;I2C.C: 36: SSPADD = 0x02;
   243  079E  3002               	movlw	2
   244  079F  0093               	movwf	19	;volatile
   245                           ;I2C.C: 37: TRISC4 = 1;
   246  07A0  1607               	bsf	7,4
   247                           ;I2C.C: 38: TRISC3 = 1;
   248  07A1  1587               	bsf	7,3
   249                           ;I2C.C: 39: SSPIF = 0;
   250  07A2  1283               	bcf	3,5
   251  07A3  118C               	bcf	12,3
   252                           ;I2C.C: 40: SSPIE = 0;
   253  07A4  1683               	bsf	3,5
   254  07A5  118C               	bcf	12,3
   255                           ;I2C.C: 41: (GIE = 0);
   256  07A6  138B               	bcf	11,7
   257                           ;I2C.C: 42: SSPEN = 1;
   258  07A7  1283               	bcf	3,5
   259  07A8  1694               	bsf	20,5
   260                           ;I2C.C: 43: }
   261  07A9  0008               	return
   262                           ;I2C.C: 104: unsigned char lcd_busy(void)
   263                           ;I2C.C: 105: {
   264  07AA                     _lcd_busy
   265                           ;	_temp assigned to ?a_lcd_busy+0
   266  0000                     _lcd_busy$temp	set	?a_lcd_busy
   267                           ;I2C.C: 106: unsigned char temp;
   268  07AA  30FF               	movlw	-1
   269  07AB  0183               	clrf	3	;select bank 0
   270  07AC  0086               	movwf	6	;volatile
   271                           ;I2C.C: 109: RS = 0;
   272  07AD  1288               	bcf	8,5
   273                           ;I2C.C: 110: RW = 1;
   274  07AE  1708               	bsf	8,6
   275                           ;I2C.C: 111: E = 1;
   276  07AF  1788               	bsf	8,7
   277                           ;I2C.C: 112: TRISB = 0xff;
   278  07B0  1683               	bsf	3,5
   279  07B1  0086               	movwf	6	;volatile
   280                           ;I2C.C: 113: temp = PORTB;
   281  07B2  1283               	bcf	3,5
   282  07B3  0806               	movf	6,w	;volatile
   283  07B4  00A6               	movwf	?a_lcd_busy
   284                           ;I2C.C: 114: TRISB = 0x00;
   285  07B5  1683               	bsf	3,5
   286  07B6  0186               	clrf	6	;volatile
   287                           ;I2C.C: 115: E = 0;
   288  07B7  1283               	bcf	3,5
   289  07B8  1388               	bcf	8,7
   290                           ;I2C.C: 116: return (temp);
   291  07B9  0826               	movf	?a_lcd_busy,w
   292                           ;I2C.C: 117: }
   293  07BA  0008               	return
   294                           ;I2C.C: 119: void lcd_command_writedata(unsigne
      +                          d char check,unsigned char data)
   295                           ;I2C.C: 120: {
   296                           ;       param _data assigned to ?_lcd_command_w
      +                          ritedata+0
   297  0000                     _lcd_command_writedata$data	set	?_lcd_command_w
      +                          ritedata
   298  07BB                     _lcd_command_writedata
   299                           ;	_check assigned to ?a_lcd_command_writedata+0
   300  0000                     _lcd_command_writedata$check	set	?a_lcd_command
      +                          _writedata
   301                           ;_check stored from w
   302  07BB  0183               	clrf	3	;select bank 0
   303  07BC  00A5               	movwf	?a_lcd_command_writedata
   304                           ;I2C.C: 121: if (check == 0x00)
   305  07BD  08A5               	movf	?a_lcd_command_writedata
   306  07BE  1D03               	btfss	3,2
   307  07BF  2FC2               	goto	l57
   308                           ;I2C.C: 122: {
   309  07C0  1288               	bcf	8,5
   310                           ;I2C.C: 124: }
   311  07C1  2FC3               	goto	l58
   312  07C2                     l57
   313                           ;I2C.C: 126: {
   314  07C2  1688               	bsf	8,5
   315  07C3                     l58
   316                           ;I2C.C: 128: }
   317                           ;I2C.C: 129: RW = 0;
   318  07C3  1308               	bcf	8,6
   319                           ;I2C.C: 130: PORTB = data;
   320  07C4  0824               	movf	?_lcd_command_writedata,w
   321  07C5  0086               	movwf	6	;volatile
   322                           ;I2C.C: 131: E = 1;
   323  07C6  1788               	bsf	8,7
   324                           ;I2C.C: 132: E = 0;
   325  07C7  1388               	bcf	8,7
   326                           ;I2C.C: 133: while (lcd_busy() & 0x80);
   327  07C8                     l59
   328  07C8  27AA               	fcall	_lcd_busy
   329  07C9  00F0               	movwf	btemp
   330  07CA  1FF0               	btfss	btemp,7
   331  07CB  0008               	return
   332  07CC  2FC8               	goto	l59
   333                           ;I2C.C: 142: void lcd_init(void)
   334                           ;I2C.C: 143: {
   335  07CD                     _lcd_init
   336                           ;I2C.C: 144: lcd_command_writedata(0x00,0x01);
   337  07CD  0183               	clrf	3	;select bank 0
   338  07CE  01A4               	clrf	?_lcd_command_writedata
   339  07CF  0AA4               	incf	?_lcd_command_writedata
   340  07D0  3000               	movlw	0
   341  07D1  27BB               	fcall	_lcd_command_writedata
   342                           ;I2C.C: 145: lcd_command_writedata(0x00,0x38);
   343  07D2  3038               	movlw	56
   344  07D3  00A4               	movwf	?_lcd_command_writedata
   345  07D4  3000               	movlw	0
   346  07D5  27BB               	fcall	_lcd_command_writedata
   347                           ;I2C.C: 146: lcd_command_writedata(0x00,0x0e);
   348  07D6  300E               	movlw	14
   349  07D7  00A4               	movwf	?_lcd_command_writedata
   350  07D8  3000               	movlw	0
   351  07D9  27BB               	fcall	_lcd_command_writedata
   352                           ;I2C.C: 147: lcd_command_writedata(0x00,0x06);
   353  07DA  3006               	movlw	6
   354  07DB  00A4               	movwf	?_lcd_command_writedata
   355  07DC  3000               	movlw	0
   356  07DD  2FBB               	ljmp	_lcd_command_writedata
   357                           ;I2C.C: 149: void system_init(void)
   358                           ;I2C.C: 150: {
   359  07DE                     _system_init
   360                           ;I2C.C: 151: INTCON = 0x00;
   361  07DE  018B               	clrf	11	;volatile
   362                           ;I2C.C: 152: OPTION = 0xff;
   363  07DF  30FF               	movlw	-1
   364  07E0  1683               	bsf	3,5
   365  07E1  1303               	bcf	3,6	;carry unused
   366  07E2  0081               	movwf	1
   367                           ;I2C.C: 153: TRISB = 0x00;
   368  07E3  0186               	clrf	6	;volatile
   369                           ;I2C.C: 154: TRISD = 0x00;
   370  07E4  0188               	clrf	8	;volatile
   371                           ;I2C.C: 155: }
   372  07E5  1283               	bcf	3,5
   373  07E6  0008               	return
   374                           ;I2C.C: 157: void main(void)
   375                           ;I2C.C: 158: {
   376  07E7                     _main
   377                           ;I2C.C: 159: system_init();
   378  07E7  27DE               	fcall	_system_init
   379                           ;I2C.C: 160: lcd_init();
   380  07E8  27CD  120A  118A   	fcall	_lcd_init
   381                           ;I2C.C: 161: i2c_init();
   382  07EB  2794               	fcall	_i2c_init
   383                           ;I2C.C: 162: dispdata = 0x38;
   384  07EC  3038               	movlw	56
   385  07ED  00A1               	movwf	_dispdata	;volatile
   386                           ;I2C.C: 163: i2c_send(dispdata);
   387  07EE  0821               	movf	_dispdata,w	;volatile
   388  07EF  2770               	fcall	_i2c_send
   389                           ;I2C.C: 164: dispdata = 0x00;
   390  07F0  01A1               	clrf	_dispdata	;volatile
   391                           ;I2C.C: 165: dispdata = i2c_receive();
   392  07F1  2744               	fcall	_i2c_receive
   393  07F2  00A1               	movwf	_dispdata	;volatile
   394                           ;I2C.C: 166: lcd_disp(0x84,0X35);
   395  07F3  3035               	movlw	53
   396  07F4  00A2               	movwf	?_lcd_disp
   397  07F5  3084               	movlw	-124
   398  07F6  273B  120A  118A   	fcall	_lcd_disp
   399                           ;I2C.C: 167: lcd_disp(0x85,dispdata);
   400  07F9  0821               	movf	_dispdata,w	;volatile
   401  07FA  00A2               	movwf	?_lcd_disp
   402  07FB  3085               	movlw	-123
   403  07FC  273B  120A  118A   	fcall	_lcd_disp
   404                           ;I2C.C: 168: while (1)
   405  07FF                     l66
   406                           ;I2C.C: 169: {
   407  07FF  2FFF               	goto	l66
   408                           
   409                           	psect	text10
   410  0000                     
   411  0000                     
   412  0000                     
   413  0000                     
   414  0000                     
   415  0000                     
   416  0000                     
   417  0000                     
   418  0000                     
   419  0000                     
   420  0000                     
   421  0000                     
   422  0000                     
   423  0000                     
   424  0000                     
   425  0000                     
   426  0000                     
   427  0000                     
   428  0000                     
   429  0000                     
   430  0000                     
   431  0000                     
   432  0000                     
   433  0000                     
   434  0000                     
   435  0000                     
   436  0000                     
   437  0000                     
   438  0000                     
   439  0000                     
   440  0000                     
   441  0000                     
   442  0000                     
   443  0000                     
   444  0000                     
   445  0000                     
   446  0000                     
   447  0000                     
   448  0000                     
   449  0000                     
   450  0000                     
   451  0000                     
   452  0000                     
   453  0000                     
   454  0000                     
   455  0000                     
   456  0000                     
   457  0000                     
   458  0000                     
   459  0000                     
   460  0000                     
   461  0000                     
   462  0000                     
   463  0000                     
   464  0000                     
   465  0000                     
   466  0000                     
   467  0000                     
   468  0000                     
   469  0000                     
   470  0000                     
   471  0000                     
   472  0000                     
   473  0000                     
   474  0000                     
   475  0000                     
   476  0000                     
   477  0000                     
   478  0000                     
   479  0000                     
   480  0000                     
   481  0000                     
   482  0000                     
   483  0000                     
   484  0000                     

⌨️ 快捷键说明

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