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

📄 vmeter.lst

📁 在picdemo2实验板上的一款lcd+adc程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   267  0583  2D8E               	goto	l35
   268                           ;HD44780.h: 206: DelayMs(5);
   269  0584  3005               	movlw	5
   270  0585  2507               	fcall	_DelayMs
   271                           ;HD44780.h: 207: PORTD = 0x2;
   272  0586  3002               	movlw	2
   273  0587  0088               	movwf	8	;volatile
   274                           ;HD44780.h: 208: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   275  0588  1485               	bsf	5,1
   276  0589  0000               	nop	;#
   277  058A  0000               	nop	;#
   278  058B  1085               	bcf	5,1
   279                           ;HD44780.h: 209: SetCommand(0x28);
   280  058C  3028               	movlw	40
   281  058D  2D8F               	goto	L3
   282                           ;HD44780.h: 210: }else{
   283  058E                     l35
   284                           ;HD44780.h: 211: SetCommand(0x38);
   285  058E  3038               	movlw	56
   286  058F                     L3
   287  058F  251B               	fcall	_SetCommand
   288                           ;HD44780.h: 212: }
   289                           ;HD44780.h: 213: SetCommand(0xC);
   290  0590  300C               	movlw	12
   291  0591  251B               	fcall	_SetCommand
   292                           ;HD44780.h: 214: SetCommand(0x1);
   293  0592  3001               	movlw	1
   294  0593  251B               	fcall	_SetCommand
   295                           ;HD44780.h: 215: SetCommand(0x6);
   296  0594  3006               	movlw	6
   297  0595  251B               	fcall	_SetCommand
   298                           ;HD44780.h: 216: SetCommand((0x7f+1)|((1>>1)<<6
      +                          ));;
   299  0596  3080               	movlw	-128
   300  0597  251B               	fcall	_SetCommand
   301                           ;HD44780.h: 218: ADCON1=0x07;
   302  0598  3007               	movlw	7
   303  0599  1683               	bsf	3,5
   304  059A  009F               	movwf	31	;volatile
   305                           ;HD44780.h: 219: }
   306  059B  1283               	bcf	3,5
   307  059C  0008               	return
   308  059D                     _PutString
   309                           ;	_x assigned to ?a_PutString+0
   310  0000                     _PutString$x	set	?a_PutString
   311                           ;_x stored from w
   312  059D  0183               	clrf	3	;select bank 0
   313  059E  00A8               	movwf	?a_PutString
   314                           ;HD44780.h: 158: SetCommand((0x7f+y)|((x>>1)<<6
      +                          ));;
   315  059F  1003               	bcf	3,0
   316  05A0  0C28               	rrf	?a_PutString,w
   317  05A1  00F0               	movwf	btemp
   318  05A2  3006               	movlw	6
   319  05A3  00F1               	movwf	btemp+1
   320  05A4                     u75
   321  05A4  1003               	bcf	3,0
   322  05A5  0DF0               	rlf	btemp
   323  05A6  0BF1               	decfsz	btemp+1
   324  05A7  2DA4               	goto	u75
   325  05A8  0870               	movf	btemp,w
   326  05A9  00F0               	movwf	btemp
   327  05AA  0825               	movf	?_PutString,w
   328  05AB  3E7F               	addlw	127
   329  05AC  0470               	iorwf	btemp,w
   330  05AD  251B               	fcall	_SetCommand
   331                           ;HD44780.h: 159: while(*s)
   332  05AE                     l22
   333  05AE  0827               	movf	?_PutString+2,w
   334  05AF  00BA               	movwf	code_ptr+1
   335  05B0  0826               	movf	?_PutString+1,w
   336  05B1  120A  118A  202D   	fcall	string_table
      +       120A  118A         
   337  05B6  3800               	iorlw	0
   338  05B7  1903               	btfsc	3,2
   339  05B8  0008               	return
   340                           ;HD44780.h: 160: SetData(*s++);
   341  05B9  0827               	movf	?_PutString+2,w
   342  05BA  00BA               	movwf	code_ptr+1
   343  05BB  0826               	movf	?_PutString+1,w
   344  05BC  0AA6               	incf	?_PutString+1
   345  05BD  1903               	btfsc	3,2
   346  05BE  0AA7               	incf	?_PutString+2
   347  05BF  120A  118A  202D   	fcall	string_table
      +       120A  118A         
   348  05C4  2537               	fcall	_SetData
   349  05C5  2DAE               	goto	l22
   350                           ;Vmeter.c: 21: bit step;
   351                           ;Vmeter.c: 23: void Display(void)
   352                           ;Vmeter.c: 24: {
   353  05C6                     _Display
   354                           ;Vmeter.c: 25: volts[0]=V/1000;
   355  05C6  30E8               	movlw	232
   356  05C7  00F2               	movwf	btemp+2
   357  05C8  3003               	movlw	3
   358  05C9  00F3               	movwf	btemp+3
   359  05CA  1283               	bcf	3,5
   360  05CB  1303               	bcf	3,6	;carry unused
   361  05CC  0838               	movf	_V+1,w
   362  05CD  00F1               	movwf	btemp+1
   363  05CE  0837               	movf	_V,w
   364  05CF  00F0               	movwf	btemp
   365  05D0  120A  118A  27AB   	fcall	lwdiv
   366  05D3  0874               	movf	btemp+4,w
   367  05D4  00AC               	movwf	_volts
   368                           ;Vmeter.c: 26: volts[2]=(V-volts[0]*1000)/100;
   369  05D5  30E8               	movlw	232
   370  05D6  00F2               	movwf	btemp+2
   371  05D7  3003               	movlw	3
   372  05D8  00F3               	movwf	btemp+3
   373  05D9  082C               	movf	_volts,w
   374  05DA  00F0               	movwf	btemp
   375  05DB  01F1               	clrf	btemp+1
   376  05DC  120A  118A  24F2   	fcall	lwmul
   377  05DF  0838               	movf	_V+1,w
   378  05E0  00F1               	movwf	btemp+1
   379  05E1  0837               	movf	_V,w
   380  05E2  00F0               	movwf	btemp
   381  05E3  0874               	movf	btemp+4,w
   382  05E4  02F0               	subwf	btemp
   383  05E5  1C03               	btfss	3,0
   384  05E6  03F1               	decf	btemp+1
   385  05E7  0875               	movf	btemp+5,w
   386  05E8  02F1               	subwf	btemp+1
   387  05E9  3064               	movlw	100
   388  05EA  00F2               	movwf	btemp+2
   389  05EB  3000               	movlw	0
   390  05EC  01F3               	clrf	btemp+3
   391  05ED  120A  118A  27AB   	fcall	lwdiv
   392  05F0  0874               	movf	btemp+4,w
   393  05F1  00AE               	movwf	_volts+2
   394                           ;Vmeter.c: 27: volts[3]=(V-volts[0]*1000-volts[
      +                          2]*100)/10;
   395  05F2  3064               	movlw	100
   396  05F3  00F2               	movwf	btemp+2
   397  05F4  01F3               	clrf	btemp+3
   398  05F5  082E               	movf	_volts+2,w
   399  05F6  00F0               	movwf	btemp
   400  05F7  01F1               	clrf	btemp+1
   401  05F8  120A  118A  24F2   	fcall	lwmul
   402  05FB  0874               	movf	btemp+4,w
   403  05FC  00A3               	movwf	?a_Display
   404  05FD  0875               	movf	btemp+5,w
   405  05FE  00A4               	movwf	?a_Display+1
   406  05FF  30E8               	movlw	232
   407  0600  00F2               	movwf	btemp+2
   408  0601  3003               	movlw	3
   409  0602  00F3               	movwf	btemp+3
   410  0603  082C               	movf	_volts,w
   411  0604  00F0               	movwf	btemp
   412  0605  01F1               	clrf	btemp+1
   413  0606  120A  118A  24F2   	fcall	lwmul
   414  0609  0838               	movf	_V+1,w
   415  060A  00F1               	movwf	btemp+1
   416  060B  0837               	movf	_V,w
   417  060C  00F0               	movwf	btemp
   418  060D  0874               	movf	btemp+4,w
   419  060E  02F0               	subwf	btemp
   420  060F  1C03               	btfss	3,0
   421  0610  03F1               	decf	btemp+1
   422  0611  0875               	movf	btemp+5,w
   423  0612  02F1               	subwf	btemp+1
   424  0613  0823               	movf	?a_Display,w
   425  0614  02F0               	subwf	btemp
   426  0615  1C03               	btfss	3,0
   427  0616  03F1               	decf	btemp+1
   428  0617  0824               	movf	?a_Display+1,w
   429  0618  02F1               	subwf	btemp+1
   430  0619  300A               	movlw	10
   431  061A  00F2               	movwf	btemp+2
   432  061B  3000               	movlw	0
   433  061C  01F3               	clrf	btemp+3
   434  061D  120A  118A  27AB   	fcall	lwdiv
      +       120A  118A         
   435  0622  0874               	movf	btemp+4,w
   436  0623  00AF               	movwf	_volts+3
   437                           ;Vmeter.c: 29: volts[0]|=0x30;
   438  0624  3030               	movlw	48
   439  0625  04AC               	iorwf	_volts
   440                           ;Vmeter.c: 30: volts[2]|=0x30;
   441  0626  04AE               	iorwf	_volts+2
   442                           ;Vmeter.c: 31: volts[3]|=0x30;
   443  0627  04AF               	iorwf	_volts+3
   444                           ;Vmeter.c: 33: volts[1]='.';
   445  0628  302E               	movlw	46
   446  0629  00AD               	movwf	_volts+1
   447                           ;Vmeter.c: 35: PutString(1,3,volts);
   448  062A  3003               	movlw	3
   449  062B  00A5               	movwf	?_PutString
   450  062C  302C               	movlw	_volts
   451  062D  00A6               	movwf	?_PutString+1
   452  062E  3080               	movlw	128
   453  062F  00A7               	movwf	?_PutString+2
   454  0630  3001               	movlw	1
   455  0631  2D9D               	ljmp	_PutString
   456                           ;Vmeter.c: 38: }
   457  0632  0008               	return
   458  0000                     
   459  0633                     _SetChar
   460                           ;	_addres assigned to ?a_SetChar+0
   461  0000                     _SetChar$addres	set	?a_SetChar
   462                           ;	_n assigned to ?a_SetChar+1
   463  0000                     _SetChar$n	set	?a_SetChar+1
   464                           ;_n stored from w
   465  0633  0183               	clrf	3	;select bank 0
   466  0634  00A6               	movwf	?a_SetChar+1
   467                           ;HD44780.h: 166: unsigned char addres=0x40;
   468  0635  3040               	movlw	64
   469  0636  00A5               	movwf	?a_SetChar
   470                           ;HD44780.h: 167: n<<=3;
   471  0637  1003               	bcf	3,0
   472  0638  0DA6               	rlf	?a_SetChar+1
   473  0639  1003               	bcf	3,0
   474  063A  0DA6               	rlf	?a_SetChar+1
   475  063B  1003               	bcf	3,0
   476  063C  0DA6               	rlf	?a_SetChar+1
   477                           ;HD44780.h: 169: while(n--)
   478  063D  2E4D               	goto	l26
   479  063E                     l27
   480                           ;HD44780.h: 170: {
   481  063E  0AA5               	incf	?a_SetChar
   482  063F  0325               	decf	?a_SetChar,w
   483  0640  251B               	fcall	_SetCommand
   484                           ;HD44780.h: 172: SetData(*c++);
   485  0641  0824               	movf	?_SetChar+1,w
   486  0642  00BA               	movwf	code_ptr+1
   487  0643  0823               	movf	?_SetChar,w
   488  0644  0AA3               	incf	?_SetChar
   489  0645  1903               	btfsc	3,2
   490  0646  0AA4               	incf	?_SetChar+1
   491  0647  120A  118A  202D   	fcall	string_table
      +       120A  118A         
   492  064C  2537               	fcall	_SetData
   493  064D                     l26
   494                           ;HD44780.h: 173: }
   495  064D  03A6               	decf	?a_SetChar+1
   496  064E  0F26               	incfsz	?a_SetChar+1,w
   497  064F  2E3E               	goto	l27
   498  0650  0008               	return
   499                           ;Vmeter.c: 40: void main(void)
   500                           ;Vmeter.c: 41: {
   501  0651                     _main
   502                           ;Vmeter.c: 42: TRISA0=1;
   503  0651  1683               	bsf	3,5
   504  0652  1303               	bcf	3,6	;carry unused
   505  0653  1405               	bsf	5,0
   506                           ;Vmeter.c: 43: TRISB=0x00;
   507  0654  0186               	clrf	6	;volatile
   508                           ;Vmeter.c: 44: TRISE0=0;
   509  0655  1009               	bcf	9,0
   510                           ;Vmeter.c: 46: LCD_Begin(0);
   511  0656  3000               	movlw	0
   512  0657  2554  120A  118A   	fcall	_LCD_Begin
   513                           ;Vmeter.c: 48: ADCON0=0x41;
   514  065A  3041               	movlw	65
   515  065B  009F               	movwf	31	;volatile
   516                           ;Vmeter.c: 49: ADCON1=0x8e;
   517  065C  308E               	movlw	-114
   518  065D  1683               	bsf	3,5
   519  065E  009F               	movwf	31	;volatile
   520                           ;Vmeter.c: 51: SetChar(8,own);
   521  065F  306D               	movlw	low _own
   522  0660  1283               	bcf	3,5
   523  0661  00A3               	movwf	?_SetChar
   524  0662  3000               	movlw	high _own
   525  0663  00A4               	movwf	?_SetChar+1
   526  0664  3008               	movlw	8
   527  0665  2633               	fcall	_SetChar
   528                           ;Vmeter.c: 53: PutString(1,1,string);
   529  0666  01A5               	clrf	?_PutString
   530  0667  0AA5               	incf	?_PutString
   531  0668  0831               	movf	_string,w
   532  0669  00A6               	movwf	?_PutString+1
   533  066A  0832               	movf	_string+1,w
   534  066B  00A7               	movwf	?_PutString+2
   535  066C  3001               	movlw	1
   536  066D  259D               	fcall	_PutString
   537                           ;Vmeter.c: 54: PutString(2,4,"\xb\xc\xc\xd\xa\x
      +                          b\x9\xe\xf");
   538  066E  3004               	movlw	4
   539  066F  00A5               	movwf	?_PutString
   540  0670  3062               	movlw	low u49
   541  0671  00A6               	movwf	?_PutString+1
   542  0672  3000               	movlw	high u49
   543  0673  00A7               	movwf	?_PutString+2
   544  0674  3002               	movlw	2
   545  0675  259D               	fcall	_PutString
   546  0676                     l40
   547                           ;Vmeter.c: 56: while(1)
   548                           ;Vmeter.c: 57: {
   549  0676  151F               	bsf	31,2
   550                           ;Vmeter.c: 59: while(ADGO==1){;}
   551  0677                     l42

⌨️ 快捷键说明

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