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

📄 i2c_yj.lst

📁 PIC单片机I2C接口(硬件模块和软件模拟)PCF8583实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   228  00A2  2AD9               	incf	fsr2l,f,c
   229  00A4  0E07               	movlw	7
   230  00A6  64D9               	cpfsgt	fsr2l,c
   231  00A8  D7E4               	goto	l6
   232                           ;i2c_yj.c: 49: }
   233  00AA  0012               	return	
   234  00AC  FFFF               	dw	65535
   235  00AE  D7DB               	goto	f14412
   236                           ;i2c_yj.c: 51: void instruct(unsigned char dat)
   237                           ;i2c_yj.c: 52: {
   238  00B0                     _instruct:
   239  00B0  FFFF               	dw	65535
   240  00B2                     f14422:
   241  0000                     
   242                           ; _dat loaded to btemp+1
   243  00B2  6E01               	movwf	btemp+1
   244                           ;i2c_yj.c: 53: unsigned char ch;
   245  00B4  8E83               	bsf	3971,7,c	;volatile
   246                           ;i2c_yj.c: 55: ch=0xf8;
   247                           ; _ch allocated to fsr2l
   248  00B6  0EF8               	movlw	248
   249  00B8  6ED9               	movwf	fsr2l,c
   250                           ;i2c_yj.c: 56: bit8_serial_input(ch);
   251  00BA  DFD4               	call	_bit8_serial_input
   252                           ;i2c_yj.c: 57: ch=dat&0xf0;
   253                           ; _ch allocated to btemp
   254  00BC  5001               	movf	btemp+1,w
   255  00BE  0BF0               	andlw	-16
   256  00C0  6E00               	movwf	btemp
   257                           ;i2c_yj.c: 58: bit8_serial_input(ch);
   258  00C2  DFD0               	call	_bit8_serial_input
   259                           ;i2c_yj.c: 59: ch=dat<<4;
   260  00C4  3801               	swapf	btemp+1,w
   261  00C6  0BF0               	andlw	240
   262  00C8  6E00               	movwf	btemp
   263                           ;i2c_yj.c: 60: bit8_serial_input(ch);
   264  00CA  DFCC               	call	_bit8_serial_input
   265                           ;i2c_yj.c: 61: RD7=0;
   266  00CC  9E83               	bcf	3971,7,c	;volatile
   267                           ;i2c_yj.c: 62: }
   268  00CE  0012               	return	
   269  00D0  FFFF               	dw	65535
   270  00D2  D7EF               	goto	f14422
   271                           ;i2c_yj.c: 64: void write_abyte(unsigned char da
      +                          t)
   272                           ;i2c_yj.c: 65: {
   273  00D4                     _write_abyte:
   274  00D4  FFFF               	dw	65535
   275  00D6                     f14432:
   276  0000                     
   277                           ; _dat loaded to btemp+1
   278  00D6  6E01               	movwf	btemp+1
   279                           ;i2c_yj.c: 66: unsigned char ch;
   280  00D8  8E83               	bsf	3971,7,c	;volatile
   281                           ;i2c_yj.c: 68: ch=0xfa;
   282                           ; _ch allocated to fsr2l
   283  00DA  0EFA               	movlw	250
   284  00DC  6ED9               	movwf	fsr2l,c
   285                           ;i2c_yj.c: 69: bit8_serial_input(ch);
   286  00DE  DFC2               	call	_bit8_serial_input
   287                           ;i2c_yj.c: 70: ch=dat&0xf0;
   288                           ; _ch allocated to btemp
   289  00E0  5001               	movf	btemp+1,w
   290  00E2  0BF0               	andlw	-16
   291  00E4  6E00               	movwf	btemp
   292                           ;i2c_yj.c: 71: bit8_serial_input(ch);
   293  00E6  DFBE               	call	_bit8_serial_input
   294                           ;i2c_yj.c: 72: ch=dat<<4;
   295  00E8  3801               	swapf	btemp+1,w
   296  00EA  0BF0               	andlw	240
   297  00EC  6E00               	movwf	btemp
   298                           ;i2c_yj.c: 73: bit8_serial_input(ch);
   299  00EE  DFBA               	call	_bit8_serial_input
   300                           ;i2c_yj.c: 74: RD7=0;
   301  00F0  9E83               	bcf	3971,7,c	;volatile
   302                           ;i2c_yj.c: 75: }
   303  00F2  0012               	return	
   304  00F4  FFFF               	dw	65535
   305  00F6  D7EF               	goto	f14432
   306                           ;i2c_yj.c: 77: void dis_str(unsigned char x, uns
      +                          igned char y, unsigned char *str,unsigned char n
      +                          umber)
   307                           ;i2c_yj.c: 78: {
   308                           ;       param _y assigned to ?_dis_str+0
   309  00F8  00F7               	dw	?_dis_str
   310  00FA                     _dis_str:
   311  00FA  FFFF               	dw	65535
   312  00FC                     f14442:
   313  0000                     
   314                           ; _x loaded to btemp+3
   315  00FC  6E03               	movwf	btemp+3
   316                           ;i2c_yj.c: 79: unsigned char loc,*p;
   317  00FE  0100               	movlb	__Lparam shr (0+8)
   318  0100  6BFB               	clrf	?a_dis_str^(__Lparam& (0+65280))
   319  0102  0E01               	movlw	1
   320  0104  6FFC               	movwf	(?a_dis_str+1)^(__Lparam& (0+65280))
   321  0106  0E03               	movlw	3
   322  0108  6FFD               	movwf	(?a_dis_str+2)^(__Lparam& (0+65280))
   323  010A  0E02               	movlw	2
   324  010C  6FFE               	movwf	(?a_dis_str+3)^(__Lparam& (0+65280))
   325  010E  0E04               	movlw	4
   326  0110  6FFF               	movwf	(?a_dis_str+4)^(__Lparam& (0+65280))
   327                           ;i2c_yj.c: 81: p=str;
   328  0112  C0F8  FFF6         	movff	?_dis_str+1,tblptrl
   329  0116  C0F9  FFF7         	movff	?_dis_str+2,tblptrh
   330                           ;i2c_yj.c: 82: x=xline[x];
   331  011A  5003               	movf	btemp+3,w
   332  011C  EE00  F0FB         	lfsr	0,?a_dis_str
   333  0120  26E9               	addwf	fsr0l,f,c
   334  0122  0E00               	movlw	0
   335  0124  22EA               	addwfc	fsr0h,f,c
   336  0126  50EF               	movf	indf0,w,c
   337  0128  6E03               	movwf	btemp+3
   338                           ;i2c_yj.c: 83: instruct(0x02);
   339  012A  0E02               	movlw	2
   340  012C  DFC1               	call	_instruct
   341                           ;i2c_yj.c: 84: loc=(16*(x-1)+y-1);
   342  012E  C003  F000         	movff	btemp+3,btemp
   343  0132  3A00               	swapf	btemp,f
   344  0134  0EF0               	movlw	240
   345  0136  1600               	andwf	btemp,f
   346  0138  0100               	movlb	__Lparam shr (0+8)
   347  013A  51F7               	movf	?_dis_str^(__Lparam& (0+65280)),w
   348  013C  2400               	addwf	btemp,w
   349  013E  0FEF               	addlw	-17
   350  0140  6E02               	movwf	btemp+2
   351                           ;i2c_yj.c: 86: loc/=2;
   352  0142  90D8               	bcf	status,0,c
   353                           ;i2c_yj.c: 85: if(loc&0x01){
   354  0144  A002               	btfss	btemp+2,0
   355  0146  D007               	goto	L1
   356  0148  3202               	rrcf	btemp+2,f
   357                           ;i2c_yj.c: 87: instruct(loc|0x80);
   358  014A  5002               	movf	btemp+2,w
   359  014C  0980               	iorlw	-128
   360  014E  DFB0               	call	_instruct
   361                           ;i2c_yj.c: 88: write_abyte(' ');
   362  0150  0E20               	movlw	32
   363  0152  DFC0               	call	_write_abyte
   364                           ;i2c_yj.c: 89: }else{
   365  0154  D004               	goto	l22
   366                           ;i2c_yj.c: 90: loc/=2;
   367  0156                     L1:
   368  0156  3202               	rrcf	btemp+2,f
   369                           ;i2c_yj.c: 91: instruct(loc|0x80);
   370  0158  5002               	movf	btemp+2,w
   371  015A  0980               	iorlw	-128
   372  015C  DFA9               	call	_instruct
   373                           ;i2c_yj.c: 92: }
   374                           ;i2c_yj.c: 93: while(number--){
   375  015E                     l22:
   376                           ;i2c_yj.c: 95: }
   377  015E  0100               	movlb	__Lparam shr (0+8)
   378  0160  07FA               	decf	(?_dis_str+3)^(__Lparam& (0+65280)),f
   379  0162  29FA               	incf	(?_dis_str+3)^(__Lparam& (0+65280)),w
   380  0164  B4D8               	btfsc	status,2,c
   381  0166  D009               	goto	u70
   382                           ;i2c_yj.c: 94: write_abyte(*p++);
   383  0168  CFF6 FFE9          	movff	tblptrl,fsr0l
   384  016C  CFF7 FFEA          	movff	tblptrh,fsr0h
   385  0170  4AF6               	infsnz	tblptrl,f,c
   386  0172  2AF7               	incf	tblptrh,f,c
   387  0174  50EF               	movf	indf0,w,c
   388  0176  DFAE               	call	_write_abyte
   389  0178  D7F2               	goto	l22
   390  017A                     u70:
   391                           ;i2c_yj.c: 96: }
   392  017A  0012               	return	
   393  017C  FFFF               	dw	65535
   394  017E  D7BE               	goto	f14442
   395                           ;i2c_yj.c: 98: void initial_screen(void)
   396                           ;i2c_yj.c: 99: {
   397  0180                     _initial_screen:
   398  0180  FFFF               	dw	65535
   399  0182                     f14452:
   400  0000                     
   401                           ;i2c_yj.c: 100: unsigned char i,j;
   402  0182  9E83               	bcf	3971,7,c	;volatile
   403                           ;i2c_yj.c: 102: PORTD&=0xdf;
   404  0184  9A83               	bcf	3971,5,c	;volatile
   405                           ;i2c_yj.c: 103: instruct(0x0f);
   406  0186  0E0F               	movlw	15
   407  0188  DF93               	call	_instruct
   408                           ;i2c_yj.c: 104: for(i=0;i<44;i++){;}
   409  018A  6AD9               	clrf	fsr2l,c
   410  018C                     l26:
   411  018C  2AD9               	incf	fsr2l,f,c
   412  018E  0E2B               	movlw	43
   413  0190  64D9               	cpfsgt	fsr2l,c
   414  0192  D7FC               	goto	l26
   415                           ;i2c_yj.c: 105: instruct(0x01);
   416  0194  0E01               	movlw	1
   417  0196  DF8C               	call	_instruct
   418                           ;i2c_yj.c: 106: for(j=0;j<14;j++){
   419  0198  6AE1               	clrf	fsr1l,c
   420  019A                     l29:
   421                           ;i2c_yj.c: 107: for(i=0;i<250;i++){}
   422  019A  6AD9               	clrf	fsr2l,c
   423  019C                     l32:
   424  019C  2AD9               	incf	fsr2l,f,c
   425  019E  0EF9               	movlw	-7
   426  01A0  64D9               	cpfsgt	fsr2l,c
   427  01A2  D7FC               	goto	l32
   428                           ;i2c_yj.c: 108: }
   429  01A4  2AE1               	incf	fsr1l,f,c
   430  01A6  0E0D               	movlw	13
   431  01A8  64E1               	cpfsgt	fsr1l,c
   432  01AA  D7F7               	goto	l29
   433                           ;i2c_yj.c: 109: instruct(0x06);
   434  01AC  0E06               	movlw	6
   435  01AE  DF80               	call	_instruct
   436                           ;i2c_yj.c: 110: for(i=0;i<44;i++){;}
   437  01B0  6AD9               	clrf	fsr2l,c
   438  01B2                     l35:
   439  01B2  2AD9               	incf	fsr2l,f,c
   440  01B4  0E2B               	movlw	43
   441  01B6  64D9               	cpfsgt	fsr2l,c
   442  01B8  D7FC               	goto	l35
   443                           ;i2c_yj.c: 111: instruct(0x02);
   444  01BA  0E02               	movlw	2
   445  01BC  DF79               	call	_instruct
   446                           ;i2c_yj.c: 112: for(i=0;i<44;i++){;}
   447  01BE  6AD9               	clrf	fsr2l,c
   448  01C0                     l38:
   449  01C0  2AD9               	incf	fsr2l,f,c
   450  01C2  0E2B               	movlw	43
   451  01C4  64D9               	cpfsgt	fsr2l,c
   452  01C6  D7FC               	goto	l38
   453                           ;i2c_yj.c: 113: }
   454  01C8  0012               	return	
   455  01CA  FFFF               	dw	65535
   456  01CC  D7DA               	goto	f14452
   457  01CE  00F7               	dw	?_itoa
   458  01D0                     _itoa:
   459  01D0  FFFF               	dw	65535
   460  01D2                     f14462:
   461  0000                     
   462                           ;i2c_yj.c: 117: unsigned int n;
   463  01D2  0EF2               	movlw	low _str

⌨️ 快捷键说明

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