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

📄 vmeter.lst

📁 在picdemo2实验板上的一款lcd+adc程序
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-08211                            Fri Dec 23 11:01:32 2005

Licensed to: L.J.B
     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z08211RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	strings,global,class=STRING,delta=2
     6                           	psect	const1,local,class=CONST,delta=2
     7                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     8                           	psect	idata_0,global,class=CODE,delta=2
     9                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    10                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    11                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22                           
    23                           	psect	__Z08211RS_
    24  0190                     
    25  0190                     
    26                           
    27                           	psect	text0
    28  0507                     _DelayMs
    29                           ;	_cnt assigned to ?a_DelayMs+0
    30  0000                     _DelayMs$cnt	set	?a_DelayMs
    31                           ;	__dcnt assigned to ?a_DelayMs+1
    32  0000                     _DelayMs$_dcnt	set	?a_DelayMs+1
    33                           ;_cnt stored from w
    34  0507  0183               	clrf	3	;select bank 0
    35  0508  00AA               	movwf	?a_DelayMs
    36  0509                     l4
    37                           ;delay.h: 36: do {
    38                           ;delay.h: 37: { unsigned char _dcnt; _dcnt = (9
      +                          96)/((12*1000L)/(4*1000L))|1; while(--_dcnt != 
      +                          0) continue; };
    39  0509  304D               	movlw	77
    40  050A  00AB               	movwf	?a_DelayMs+1
    41  050B                     l6
    42  050B  0BAB               	decfsz	?a_DelayMs+1
    43  050C  2D0B               	goto	l6
    44                           ;delay.h: 38: } while(--cnt);
    45  050D  0BAA               	decfsz	?a_DelayMs
    46  050E  2D09               	goto	l4
    47  050F  0008               	return
    48                           ;delay.h: 52: void
    49                           ;delay.h: 53: DelayS(unsigned char cnt)
    50                           ;delay.h: 54: {
    51  0510                     _DelayS
    52                           ;	_cnt assigned to ?a_DelayS+0
    53  0000                     _DelayS$cnt	set	?a_DelayS
    54                           ;	_i assigned to ?a_DelayS+1
    55  0000                     _DelayS$i	set	?a_DelayS+1
    56                           ;_cnt stored from w
    57  0510  0183               	clrf	3	;select bank 0
    58  0511  00A3               	movwf	?a_DelayS
    59  0512                     l11
    60                           ;delay.h: 55: unsigned char i;
    61                           ;delay.h: 57: i = 4;
    62  0512  3004               	movlw	4
    63  0513  00A4               	movwf	?a_DelayS+1
    64  0514                     l14
    65                           ;delay.h: 58: do {
    66                           ;delay.h: 59: DelayMs(250);
    67  0514  30FA               	movlw	-6
    68  0515  2507               	fcall	_DelayMs
    69                           ;delay.h: 60: } while(--i);
    70  0516  0BA4               	decfsz	?a_DelayS+1
    71  0517  2D14               	goto	l14
    72                           ;delay.h: 61: } while(--cnt);
    73  0518  0BA3               	decfsz	?a_DelayS
    74  0519  2D12               	goto	l11
    75  051A  0008               	return
    76                           ;HD44780.h: 58: extern void SetCommand(unsigned
      +                           char);
    77                           ;HD44780.h: 59: extern void SetData(unsigned ch
      +                          ar);
    78                           ;HD44780.h: 60: extern void PutString(unsigned 
      +                          char x,unsigned char y,const char * s);
    79                           ;HD44780.h: 61: extern void LCD_Begin(unsigned 
      +                          char);
    80                           ;HD44780.h: 62: extern void SetChar(unsigned ch
      +                          ar n,const char *c);
    81                           ;HD44780.h: 66: static bit fourbit;
    82                           ;HD44780.h: 113: void
    83                           ;HD44780.h: 114: SetCommand(unsigned char c)
    84                           ;HD44780.h: 115: {
    85  051B                     _SetCommand
    86                           ;	_c assigned to ?a_SetCommand+0
    87  0000                     _SetCommand$c	set	?a_SetCommand
    88                           ;_c stored from w
    89  051B  0183               	clrf	3	;select bank 0
    90  051C  00A9               	movwf	?a_SetCommand
    91                           ;HD44780.h: 116: DelayMs(5);
    92  051D  3005               	movlw	5
    93  051E  2507               	fcall	_DelayMs
    94                           ;HD44780.h: 118: if (fourbit)
    95  051F  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)
    96  0520  2D30               	goto	l16
    97                           ;HD44780.h: 119: {
    98  0521  0E29               	swapf	?a_SetCommand,w
    99  0522  390F               	andlw	15
   100  0523  0088               	movwf	8	;volatile
   101                           ;HD44780.h: 121: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   102  0524  1485               	bsf	5,1
   103  0525  0000               	nop	;#
   104  0526  0000               	nop	;#
   105  0527  1085               	bcf	5,1
   106                           ;HD44780.h: 122: PORTD = ( c & 0x0F );
   107  0528  0829               	movf	?a_SetCommand,w
   108  0529  390F               	andlw	15
   109  052A  0088               	movwf	8	;volatile
   110                           ;HD44780.h: 123: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   111  052B  1485               	bsf	5,1
   112  052C  0000               	nop	;#
   113  052D  0000               	nop	;#
   114  052E  1085               	bcf	5,1
   115                           ;HD44780.h: 124: }
   116  052F  0008               	return
   117  0530                     l16
   118                           ;HD44780.h: 126: {
   119  0530  0829               	movf	?a_SetCommand,w
   120  0531  0088               	movwf	8	;volatile
   121                           ;HD44780.h: 128: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   122  0532  1485               	bsf	5,1
   123  0533  0000               	nop	;#
   124  0534  0000               	nop	;#
   125  0535  1085               	bcf	5,1
   126                           ;HD44780.h: 129: }
   127                           ;HD44780.h: 130: }
   128  0536  0008               	return
   129                           ;HD44780.h: 132: void
   130                           ;HD44780.h: 133: SetData(unsigned char c)
   131                           ;HD44780.h: 134: {
   132  0537                     _SetData
   133                           ;	_c assigned to ?a_SetData+0
   134  0000                     _SetData$c	set	?a_SetData
   135                           ;_c stored from w
   136  0537  0183               	clrf	3	;select bank 0
   137  0538  00A9               	movwf	?a_SetData
   138                           ;HD44780.h: 135: DelayMs(5);
   139  0539  3005               	movlw	5
   140  053A  2507               	fcall	_DelayMs
   141                           ;HD44780.h: 137: PORTD = 0;
   142  053B  0188               	clrf	8	;volatile
   143                           ;HD44780.h: 138: RA3 = 1;
   144  053C  1585               	bsf	5,3
   145                           ;HD44780.h: 139: if (fourbit)
   146  053D  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)
   147  053E  2D4C               	goto	l19
   148                           ;HD44780.h: 140: {
   149  053F  0E29               	swapf	?a_SetData,w
   150  0540  390F               	andlw	15
   151  0541  0488               	iorwf	8	;volatile
   152                           ;HD44780.h: 142: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   153  0542  1485               	bsf	5,1
   154  0543  0000               	nop	;#
   155  0544  0000               	nop	;#
   156  0545  1085               	bcf	5,1
   157                           ;HD44780.h: 143: PORTD &= 0xF0;
   158  0546  30F0               	movlw	-16
   159  0547  0588               	andwf	8	;volatile
   160                           ;HD44780.h: 144: PORTD |= ( c & 0x0F );
   161  0548  0829               	movf	?a_SetData,w
   162  0549  390F               	andlw	15
   163  054A  0488               	iorwf	8	;volatile
   164  054B  2D4E               	goto	L1
   165                           ;HD44780.h: 145: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   166                           ;HD44780.h: 146: }
   167  054C                     l19
   168                           ;HD44780.h: 148: {
   169  054C  0829               	movf	?a_SetData,w
   170  054D  0088               	movwf	8	;volatile
   171  054E                     L1
   172                           ;HD44780.h: 150: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   173  054E  1485               	bsf	5,1
   174  054F  0000               	nop	;#
   175  0550  0000               	nop	;#
   176  0551  1085               	bcf	5,1
   177                           ;HD44780.h: 151: }
   178                           ;HD44780.h: 152: RA3 = 0;
   179  0552  1185               	bcf	5,3
   180                           ;HD44780.h: 153: }
   181  0553  0008               	return
   182                           ;HD44780.h: 176: void
   183                           ;HD44780.h: 177: LCD_Begin(unsigned char mode)
   184                           ;HD44780.h: 178: {
   185  0554                     _LCD_Begin
   186                           ;	_mode assigned to ?a_LCD_Begin+0
   187  0000                     _LCD_Begin$mode	set	?a_LCD_Begin
   188                           ;	_init_value assigned to ?a_LCD_Begin+1
   189  0000                     _LCD_Begin$init_value	set	?a_LCD_Begin+1
   190                           ;	__dcnt assigned to ?a_LCD_Begin+2
   191  0000                     _LCD_Begin$_dcnt	set	?a_LCD_Begin+2
   192                           ;_mode stored from w
   193  0554  0183               	clrf	3	;select bank 0
   194  0555  00A3               	movwf	?a_LCD_Begin
   195                           ;HD44780.h: 179: char init_value;
   196  0556  1020               	bcf	_fourbit/(0+8),_fourbit& (0+7)
   197                           ;HD44780.h: 182: if (mode == 0){
   198  0557  08A3               	movf	?a_LCD_Begin
   199  0558  1D03               	btfss	3,2
   200  0559  2D5D               	goto	l30
   201                           ;HD44780.h: 183: fourbit = 1;
   202  055A  1420               	bsf	_fourbit/(0+8),_fourbit& (0+7)
   203                           ;HD44780.h: 184: init_value = 0x3;
   204  055B  3003               	movlw	3
   205  055C  2D5E               	goto	L2
   206                           ;HD44780.h: 185: }else{
   207  055D                     l30
   208                           ;HD44780.h: 186: init_value = 0x3F;
   209  055D  303F               	movlw	63
   210  055E                     L2
   211  055E  00A4               	movwf	?a_LCD_Begin+1
   212                           ;HD44780.h: 187: }
   213                           ;HD44780.h: 188: RA3 = 0;
   214  055F  1185               	bcf	5,3
   215                           ;HD44780.h: 189: RA1 = 0;
   216  0560  1085               	bcf	5,1
   217                           ;HD44780.h: 190: RA2 = 0;
   218  0561  1105               	bcf	5,2
   219                           ;HD44780.h: 191: TRISA3 = 0;
   220  0562  1683               	bsf	3,5
   221  0563  1185               	bcf	5,3
   222                           ;HD44780.h: 192: TRISA1 = 0;
   223  0564  1085               	bcf	5,1
   224                           ;HD44780.h: 193: TRISA2 = 0;
   225  0565  1105               	bcf	5,2
   226                           ;HD44780.h: 194: TRISD = 0xf0;
   227  0566  30F0               	movlw	-16
   228  0567  0088               	movwf	8	;volatile
   229                           ;HD44780.h: 195: DelayMs(15);
   230  0568  300F               	movlw	15
   231  0569  2507               	fcall	_DelayMs
   232                           ;HD44780.h: 196: PORTD = init_value;
   233  056A  0824               	movf	?a_LCD_Begin+1,w
   234  056B  0088               	movwf	8	;volatile
   235                           ;HD44780.h: 197: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   236  056C  1485               	bsf	5,1
   237  056D  0000               	nop	;#
   238  056E  0000               	nop	;#
   239  056F  1085               	bcf	5,1
   240                           ;HD44780.h: 198: DelayMs(5);
   241  0570  3005               	movlw	5
   242  0571  2507               	fcall	_DelayMs
   243                           ;HD44780.h: 199: PORTD = init_value;
   244  0572  0824               	movf	?a_LCD_Begin+1,w
   245  0573  0088               	movwf	8	;volatile
   246                           ;HD44780.h: 200: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   247  0574  1485               	bsf	5,1
   248  0575  0000               	nop	;#
   249  0576  0000               	nop	;#
   250  0577  1085               	bcf	5,1
   251                           ;HD44780.h: 201: { unsigned char _dcnt; _dcnt =
      +                           (200)/((12*1000L)/(4*1000L))|1; while(--_dcnt 
      +                          != 0) continue; };
   252  0578  3043               	movlw	67
   253  0579  00A5               	movwf	?a_LCD_Begin+2
   254  057A                     l33
   255  057A  0BA5               	decfsz	?a_LCD_Begin+2
   256  057B  2D7A               	goto	l33
   257                           ;HD44780.h: 202: PORTD = init_value;
   258  057C  0824               	movf	?a_LCD_Begin+1,w
   259  057D  0088               	movwf	8	;volatile
   260                           ;HD44780.h: 203: RA1 = 1; asm("nop"); asm("nop"
      +                          ); RA1 = 0;
   261  057E  1485               	bsf	5,1
   262  057F  0000               	nop	;#
   263  0580  0000               	nop	;#
   264  0581  1085               	bcf	5,1
   265                           ;HD44780.h: 205: if (fourbit){
   266  0582  1C20               	btfss	_fourbit/(0+8),_fourbit& (0+7)

⌨️ 快捷键说明

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