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

📄 adc-adc7705.lst

📁 AD7705实用程序
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-79926                            Thu Apr  9 08:35:38 2009

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z79926RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text8,local,class=CODE,delta=2
     6                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
     7                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18                           
    19                           	psect	__Z79926RS_
    20  0190                     
    21  0190                     
    22                           
    23                           	psect	text0
    24  0472                     _send
    25                           ;	_count assigned to ?a_send+0
    26  0000                     _send$count	set	?a_send
    27                           ;_count stored from w
    28  0472  0183               	clrf	3	;select bank 0
    29  0473  00B3               	movwf	?a_send
    30                           ;ADC-ADC7705.c: 35: TXEN=1;
    31  0474  1683               	bsf	3,5
    32  0475  1698               	bsf	24,5
    33                           ;ADC-ADC7705.c: 36: TXREG=count;
    34  0476  1283               	bcf	3,5
    35  0477  0833               	movf	?a_send,w
    36  0478  0099               	movwf	25	;volatile
    37  0479                     l3
    38                           ;ADC-ADC7705.c: 37: while(1)
    39                           ;ADC-ADC7705.c: 38: {
    40  0479  1683               	bsf	3,5
    41  047A  1C98               	btfss	24,1
    42  047B  2C79               	goto	l3
    43                           ;ADC-ADC7705.c: 41: }
    44  047C  1283               	bcf	3,5
    45  047D  0008               	return
    46                           ;ADC-ADC7705.c: 195: unsigned int read_AD7705_w
      +                          ord()
    47                           ;ADC-ADC7705.c: 196: {
    48  047E                     _read_AD7705_word
    49                           ;	_i assigned to ?a_read_AD7705_word+0
    50  0000                     _read_AD7705_word$i	set	?a_read_AD7705_word
    51                           ;	_ad_data assigned to ?a_read_AD7705_word+1
    52  0000                     _read_AD7705_word$ad_data	set	?a_read_AD7705_wo
      +                          rd+1
    53                           ;ADC-ADC7705.c: 197: unsigned int ad_data = 0;
    54  047E  0183               	clrf	3	;select bank 0
    55  047F  01B4               	clrf	?a_read_AD7705_word+1
    56  0480  01B5               	clrf	?a_read_AD7705_word+2
    57                           ;ADC-ADC7705.c: 198: unsigned char i = 0;
    58  0481  01B3               	clrf	?a_read_AD7705_word
    59                           ;ADC-ADC7705.c: 200: TRISB2=0;
    60  0482  1683               	bsf	3,5
    61  0483  1106               	bcf	6,2
    62                           ;ADC-ADC7705.c: 201: TRISB1=0;
    63  0484  1086               	bcf	6,1
    64                           ;ADC-ADC7705.c: 202: TRISB4=1;
    65  0485  1606               	bsf	6,4
    66                           ;ADC-ADC7705.c: 203: TRISB5=1;
    67  0486  1686               	bsf	6,5
    68                           ;ADC-ADC7705.c: 205: RB2 = 0;
    69  0487  1283               	bcf	3,5
    70  0488  1106               	bcf	6,2
    71                           ;ADC-ADC7705.c: 206: RB1 = 1;
    72  0489  1486               	bsf	6,1
    73                           ;ADC-ADC7705.c: 207: asm("nop");
    74  048A  0000               	nop	;#
    75                           ;ADC-ADC7705.c: 208: asm("nop");
    76  048B  0000               	nop	;#
    77                           ;ADC-ADC7705.c: 209: while(RB4);
    78  048C                     l23
    79  048C  1A06               	btfsc	6,4
    80  048D  2C8C               	goto	l23
    81                           ;ADC-ADC7705.c: 210: for( i=0; i<16; i++ )
    82  048E  01B3               	clrf	?a_read_AD7705_word
    83                           ;ADC-ADC7705.c: 211: {
    84                           ;ADC-ADC7705.c: 212: ad_data <<= 1;
    85  048F  1003               	bcf	3,0
    86  0490                     L2
    87  0490  0DB4               	rlf	?a_read_AD7705_word+1
    88  0491  0DB5               	rlf	?a_read_AD7705_word+2
    89                           ;ADC-ADC7705.c: 213: RB1=0;
    90  0492  1086               	bcf	6,1
    91                           ;ADC-ADC7705.c: 214: asm("nop");
    92  0493  0000               	nop	;#
    93                           ;ADC-ADC7705.c: 215: asm("nop");
    94  0494  0000               	nop	;#
    95                           ;ADC-ADC7705.c: 216: asm("nop");
    96  0495  0000               	nop	;#
    97                           ;ADC-ADC7705.c: 217: if(RB5)
    98  0496  1E86               	btfss	6,5
    99  0497  2C9B               	goto	l29
   100                           ;ADC-ADC7705.c: 218: {
   101  0498  0AB4               	incf	?a_read_AD7705_word+1
   102  0499  1903               	btfsc	3,2
   103  049A  0AB5               	incf	?a_read_AD7705_word+2
   104  049B                     l29
   105                           ;ADC-ADC7705.c: 220: }
   106  049B  1486               	bsf	6,1
   107                           ;ADC-ADC7705.c: 222: asm("nop");
   108  049C  0000               	nop	;#
   109                           ;ADC-ADC7705.c: 223: asm("nop");
   110  049D  0000               	nop	;#
   111                           ;ADC-ADC7705.c: 224: asm("nop");
   112  049E  0000               	nop	;#
   113                           ;ADC-ADC7705.c: 225: }
   114  049F  0AB3               	incf	?a_read_AD7705_word
   115  04A0  3010               	movlw	16
   116  04A1  0233               	subwf	?a_read_AD7705_word,w
   117  04A2  1C03               	btfss	3,0
   118  04A3  2C90               	goto	L2
   119                           ;ADC-ADC7705.c: 227: return ad_data;
   120  04A4  0835               	movf	?a_read_AD7705_word+2,w
   121  04A5  00F1               	movwf	btemp+1
   122  04A6  0834               	movf	?a_read_AD7705_word+1,w
   123  04A7  00F0               	movwf	btemp
   124                           ;ADC-ADC7705.c: 228: }
   125  04A8  0008               	return
   126                           ;ADC-ADC7705.c: 143: unsigned char AD7705_Read_
      +                          Reg()
   127                           ;ADC-ADC7705.c: 144: {
   128  04A9                     _AD7705_Read_Reg
   129                           ;	_i assigned to ?a_AD7705_Read_Reg+0
   130  0000                     _AD7705_Read_Reg$i	set	?a_AD7705_Read_Reg
   131                           ;	_read assigned to ?a_AD7705_Read_Reg+1
   132  0000                     _AD7705_Read_Reg$read	set	?a_AD7705_Read_Reg+1
   133                           ;ADC-ADC7705.c: 145: unsigned char i,read;
   134  04A9  1683               	bsf	3,5
   135  04AA  1303               	bcf	3,6	;carry unused
   136  04AB  1106               	bcf	6,2
   137                           ;ADC-ADC7705.c: 148: TRISB1=0;
   138  04AC  1086               	bcf	6,1
   139                           ;ADC-ADC7705.c: 149: TRISB4=1;
   140  04AD  1606               	bsf	6,4
   141                           ;ADC-ADC7705.c: 150: TRISB5=1;
   142  04AE  1686               	bsf	6,5
   143                           ;ADC-ADC7705.c: 151: RB2 = 0;
   144  04AF  1283               	bcf	3,5
   145  04B0  1106               	bcf	6,2
   146                           ;ADC-ADC7705.c: 152: RB1 = 1;
   147  04B1  1486               	bsf	6,1
   148                           ;ADC-ADC7705.c: 153: asm("nop");asm("nop");
   149  04B2  0000               	nop	;#
   150  04B3  0000               	nop	;#
   151                           ;ADC-ADC7705.c: 175: for( i=0; i<8; i++ )
   152  04B4  01A4               	clrf	?a_AD7705_Read_Reg
   153                           ;ADC-ADC7705.c: 176: {
   154                           ;ADC-ADC7705.c: 177: read <<= 1;
   155  04B5  1003               	bcf	3,0
   156  04B6                     L1
   157  04B6  0DA5               	rlf	?a_AD7705_Read_Reg+1
   158                           ;ADC-ADC7705.c: 178: RB1=0;
   159  04B7  1086               	bcf	6,1
   160                           ;ADC-ADC7705.c: 179: asm("nop");
   161  04B8  0000               	nop	;#
   162                           ;ADC-ADC7705.c: 180: asm("nop");
   163  04B9  0000               	nop	;#
   164                           ;ADC-ADC7705.c: 181: asm("nop");
   165  04BA  0000               	nop	;#
   166                           ;ADC-ADC7705.c: 182: if(RB5)
   167  04BB  1A86               	btfsc	6,5
   168                           ;ADC-ADC7705.c: 183: {
   169  04BC  0AA5               	incf	?a_AD7705_Read_Reg+1
   170                           ;ADC-ADC7705.c: 185: }
   171  04BD  1486               	bsf	6,1
   172                           ;ADC-ADC7705.c: 187: asm("nop");
   173  04BE  0000               	nop	;#
   174                           ;ADC-ADC7705.c: 188: asm("nop");
   175  04BF  0000               	nop	;#
   176                           ;ADC-ADC7705.c: 189: asm("nop");
   177  04C0  0000               	nop	;#
   178                           ;ADC-ADC7705.c: 190: }
   179  04C1  0AA4               	incf	?a_AD7705_Read_Reg
   180  04C2  3008               	movlw	8
   181  04C3  0224               	subwf	?a_AD7705_Read_Reg,w
   182  04C4  1C03               	btfss	3,0
   183  04C5  2CB6               	goto	L1
   184                           ;ADC-ADC7705.c: 192: return read;
   185  04C6  0825               	movf	?a_AD7705_Read_Reg+1,w
   186                           ;ADC-ADC7705.c: 193: }
   187  04C7  0008               	return
   188                           ;ADC-ADC7705.c: 93: void AD7705_Write_Reg(unsig
      +                          ned char Data_byte)
   189                           ;ADC-ADC7705.c: 94: {
   190  04C8                     _AD7705_Write_Reg
   191                           ;	_Data_byte assigned to ?a_AD7705_Write_Reg+0
   192  0000                     _AD7705_Write_Reg$Data_byte	set	?a_AD7705_Write
      +                          _Reg
   193                           ;	_i assigned to ?a_AD7705_Write_Reg+1
   194  0000                     _AD7705_Write_Reg$i	set	?a_AD7705_Write_Reg+1
   195                           ;_Data_byte stored from w
   196  04C8  0183               	clrf	3	;select bank 0
   197  04C9  00B4               	movwf	?a_AD7705_Write_Reg
   198                           ;ADC-ADC7705.c: 95: unsigned char i;
   199  04CA  1683               	bsf	3,5
   200  04CB  1106               	bcf	6,2
   201                           ;ADC-ADC7705.c: 97: TRISB6=0;
   202  04CC  1306               	bcf	6,6
   203                           ;ADC-ADC7705.c: 98: TRISB1=0;
   204  04CD  1086               	bcf	6,1
   205                           ;ADC-ADC7705.c: 117: for(i=0; i<8; i++)
   206  04CE  1283               	bcf	3,5
   207  04CF  01B5               	clrf	?a_AD7705_Write_Reg+1
   208  04D0                     l12
   209                           ;ADC-ADC7705.c: 118: {
   210                           ;ADC-ADC7705.c: 119: RB1=0;
   211  04D0  1086               	bcf	6,1
   212                           ;ADC-ADC7705.c: 120: if(Data_byte&0x80)
   213  04D1  1FB4               	btfss	?a_AD7705_Write_Reg,7
   214  04D2  2CD5               	goto	l15
   215                           ;ADC-ADC7705.c: 121: RB6=1;
   216  04D3  1706               	bsf	6,6
   217                           ;ADC-ADC7705.c: 122: else
   218  04D4  2CD6               	goto	l16
   219  04D5                     l15
   220                           ;ADC-ADC7705.c: 123: RB6=0;
   221  04D5  1306               	bcf	6,6
   222  04D6                     l16
   223                           ;ADC-ADC7705.c: 124: asm("nop");
   224  04D6  0000               	nop	;#
   225                           ;ADC-ADC7705.c: 125: asm("nop");
   226  04D7  0000               	nop	;#
   227                           ;ADC-ADC7705.c: 126: asm("nop");
   228  04D8  0000               	nop	;#
   229                           ;ADC-ADC7705.c: 127: RB1=1;
   230  04D9  1486               	bsf	6,1
   231                           ;ADC-ADC7705.c: 128: asm("nop");
   232  04DA  0000               	nop	;#
   233                           ;ADC-ADC7705.c: 129: asm("nop");
   234  04DB  0000               	nop	;#
   235                           ;ADC-ADC7705.c: 130: asm("nop");
   236  04DC  0000               	nop	;#
   237                           ;ADC-ADC7705.c: 131: Data_byte <<= 1;
   238  04DD  1003               	bcf	3,0
   239  04DE  0DB4               	rlf	?a_AD7705_Write_Reg
   240                           ;ADC-ADC7705.c: 132: }
   241  04DF  0AB5               	incf	?a_AD7705_Write_Reg+1
   242  04E0  3008               	movlw	8
   243  04E1  0235               	subwf	?a_AD7705_Write_Reg+1,w
   244  04E2  1C03               	btfss	3,0
   245  04E3  2CD0               	goto	l12
   246                           ;ADC-ADC7705.c: 134: RB6=1;
   247  04E4  1706               	bsf	6,6
   248                           ;ADC-ADC7705.c: 135: }
   249  04E5  0008               	return
   250                           ;ADC-ADC7705.c: 77: void AD7705_Read()
   251                           ;ADC-ADC7705.c: 78: {
   252  04E6                     _AD7705_Read
   253                           ;ADC-ADC7705.c: 80: AD7705_Write_Reg(0x38);
   254  04E6  3038               	movlw	56
   255  04E7  24C8               	fcall	_AD7705_Write_Reg
   256                           ;ADC-ADC7705.c: 81: MSB_Data = AD7705_Read_Reg(
      +                          );
   257  04E8  24A9               	fcall	_AD7705_Read_Reg
   258  04E9  00A1               	movwf	_MSB_Data

⌨️ 快捷键说明

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