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

📄 tyn-001.lst

📁 曾经给别人做的太阳能充电器源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V8.05
Serial number: HCPIC-11111                            Thu Jul 19 01:11:59 2007

Licensed to: FREE USER
     1                           	processor	16F716
     2                           	opt	pw 79
     3                           	psect	__Z11111RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text1,local,class=CODE,delta=2
     6                           	psect	intcode,global,class=CODE,delta=2
     7                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     8                           	psect	intret,global,class=CODE,delta=2
     9                           	psect	intentry,global,class=CODE,delta=2
    10                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    11                           	psect	text2,local,class=CODE,delta=2
    12                           	psect	text3,local,class=CODE,delta=2
    13                           	psect	text4,local,class=CODE,delta=2
    14                           	psect	text5,local,class=CODE,delta=2
    15                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26                           
    27                           	psect	__Z11111RS_
    28  00A0                     
    29  00A0                     
    30                           
    31                           	psect	text0
    32  0678                     _DelayMs
    33                           ;	_cnt assigned to ?a_DelayMs+0
    34  0000                     _DelayMs$cnt	set	?a_DelayMs
    35                           ;	__dcnt assigned to ?a_DelayMs+1
    36  0000                     _DelayMs$_dcnt	set	?a_DelayMs+1
    37                           ;_cnt stored from w
    38  0678  1283               	bcf	3,5
    39  0679  00AC               	movwf	?a_DelayMs
    40  067A                     l4
    41                           ;delay.c: 14: do {
    42                           ;delay.c: 15: { unsigned char _dcnt; _dcnt = (9
      +                          96)/((12*1000L)/(110*1))|1; while(--_dcnt != 0)
      +                           continue; };
    43  067A  3009               	movlw	9
    44  067B  00AD               	movwf	?a_DelayMs+1
    45  067C                     l6
    46  067C  0BAD               	decfsz	?a_DelayMs+1
    47  067D  2E7C               	goto	l6
    48                           ;delay.c: 16: } while(--cnt);
    49  067E  0BAC               	decfsz	?a_DelayMs
    50  067F  2E7A               	goto	l4
    51  0680  0008               	return
    52                           
    53                           	psect	intcode
    54                           ;delay.h: 50: extern void DelayMs(unsigned char
      +                          );
    55                           ;TYN-001.C: 20: static unsigned char time,volt_
      +                          state,j;
    56                           ;TYN-001.C: 21: static unsigned char radio_temp
      +                          ,radio_flag,model_state,model_flag,volt_flag,ov
      +                          er_flag;
    57                           ;TYN-001.C: 22: static unsigned int i;
    58                           ;TYN-001.C: 25: unsigned char v5or9v(unsigned c
      +                          har volt);
    59                           ;TYN-001.C: 26: void radio_key(void);
    60                           ;TYN-001.C: 28: static void interrupt timer1(vo
      +                          id){
    61  0008                     _timer1
    62  0008                     int_func
    63                           ;TYN-001.C: 29: GIE=0;
    64  0008  138B               	bcf	11,7
    65                           ;TYN-001.C: 30: if(TMR1IF==1)time++;
    66  0009  1283               	bcf	3,5
    67  000A  180C               	btfsc	12,0
    68  000B  0AA6               	incf	_time
    69                           ;TYN-001.C: 31: TMR1IF=0;
    70  000C  100C               	bcf	12,0
    71                           ;TYN-001.C: 32: TMR1L=0;
    72  000D  018E               	clrf	14	;volatile
    73                           ;TYN-001.C: 33: TMR1H=0xf0;
    74  000E  30F0               	movlw	-16
    75  000F  008F               	movwf	15	;volatile
    76                           ;TYN-001.C: 34: GIE=1;
    77  0010  178B               	bsf	11,7
    78                           ;TYN-001.C: 35: }
    79  0011  1283               	bcf	3,5
    80                           
    81                           	psect	intsave_0
    82  0070                     saved_w
    83  0070                     	ds	1
    84                           
    85                           	psect	intret
    86  0012                     int_restore
    87  0012  082E               	movf	saved_status,w
    88  0013  0083               	movwf	3
    89  0014  0EF0               	swapf	saved_w
    90  0015  0E70               	swapf	saved_w,w
    91  0016  0009               	retfie
    92                           
    93                           	psect	intentry
    94  0004                     int_entry
    95  0004  00F0               	movwf	saved_w
    96  0005  0803               	movf	3,w
    97  0006  0183               	clrf	3
    98  0007  00AE               	movwf	saved_status
    99                           
   100                           	psect	intsave
   101  002E                     saved_status
   102  002E                     	ds	1
   103                           
   104                           	psect	text2
   105                           ;TYN-001.C: 37: void main(void)
   106                           ;TYN-001.C: 38: {
   107  073D                     _main
   108                           ;TYN-001.C: 41: PORTA=0;
   109  073D  1283               	bcf	3,5
   110  073E  0185               	clrf	5	;volatile
   111                           ;TYN-001.C: 42: ADCON1=0X07;
   112  073F  3007               	movlw	7
   113  0740  1683               	bsf	3,5
   114  0741  009F               	movwf	31
   115                           ;TYN-001.C: 43: PORTA=0X01;
   116  0742  3001               	movlw	1
   117  0743  1283               	bcf	3,5
   118  0744  0085               	movwf	5	;volatile
   119                           ;TYN-001.C: 44: TRISA=0x0;
   120  0745  1683               	bsf	3,5
   121  0746  0185               	clrf	5	;volatile
   122                           ;TYN-001.C: 45: PORTB=0xf8;
   123  0747  30F8               	movlw	-8
   124  0748  1283               	bcf	3,5
   125  0749  0086               	movwf	6	;volatile
   126                           ;TYN-001.C: 46: TRISB=0xf8;
   127  074A  1683               	bsf	3,5
   128  074B  0086               	movwf	6	;volatile
   129                           ;TYN-001.C: 47: GIE=0;
   130  074C  138B               	bcf	11,7
   131                           ;TYN-001.C: 48: TMR1IE=0;
   132  074D  100C               	bcf	12,0
   133                           ;TYN-001.C: 49: PEIE=1;
   134  074E  170B               	bsf	11,6
   135                           ;TYN-001.C: 50: DelayMs(10);
   136  074F  300A               	movlw	10
   137  0750  2678               	call	_DelayMs
   138                           ;TYN-001.C: 51: TMR1IF=0;
   139  0751  100C               	bcf	12,0
   140                           ;TYN-001.C: 52: TMR1L=0;
   141  0752  018E               	clrf	14	;volatile
   142                           ;TYN-001.C: 53: TMR1H=0xf0;
   143  0753  30F0               	movlw	-16
   144  0754  008F               	movwf	15	;volatile
   145                           ;TYN-001.C: 54: TMR1ON=1;
   146  0755  1410               	bsf	16,0
   147                           ;TYN-001.C: 55: OPTION=0x0f;
   148  0756  300F               	movlw	15
   149  0757  1683               	bsf	3,5
   150  0758  0081               	movwf	1
   151                           ;TYN-001.C: 56: asm("clrwdt");
   152  0759  0064               	clrwdt	;#
   153                           ;TYN-001.C: 57: time=0;
   154  075A  1283               	bcf	3,5
   155  075B  01A6               	clrf	_time
   156                           ;TYN-001.C: 58: radio_temp=0;
   157  075C  01A5               	clrf	_radio_temp
   158                           ;TYN-001.C: 59: radio_flag=0;
   159  075D  01A4               	clrf	_radio_flag
   160                           ;TYN-001.C: 60: model_state=0;
   161  075E  01A2               	clrf	_model_state
   162                           ;TYN-001.C: 61: model_flag=0;
   163  075F  01A1               	clrf	_model_flag
   164                           ;TYN-001.C: 62: volt_flag=0;
   165  0760  01A7               	clrf	_volt_flag
   166                           ;TYN-001.C: 63: volt_state=0;
   167  0761  01A8               	clrf	_volt_state
   168                           ;TYN-001.C: 64: over_flag=0;
   169  0762  01A3               	clrf	_over_flag
   170                           ;TYN-001.C: 65: i=0;
   171  0763  01A9               	clrf	_i
   172  0764  01AA               	clrf	_i+1
   173                           ;TYN-001.C: 66: j=0;
   174  0765  01A0               	clrf	_j
   175  0766                     l11
   176                           ;TYN-001.C: 67: for(;;){
   177                           ;TYN-001.C: 69: asm("clrwdt");
   178  0766  0064               	clrwdt	;#
   179                           ;TYN-001.C: 70: if((RB7==0)&&(radio_flag==0)){
   180  0767  1B86               	btfsc	6,7
   181  0768  2F77               	goto	l14
   182  0769  08A4               	movf	_radio_flag
   183  076A  1D03               	btfss	3,2
   184  076B  2F77               	goto	l14
   185                           ;TYN-001.C: 71: radio_flag=1;
   186  076C  01A4               	clrf	_radio_flag
   187  076D  0AA4               	incf	_radio_flag
   188                           ;TYN-001.C: 72: if(radio_temp==0){radio_temp=1;
      +                          RB2=1;}
   189  076E  08A5               	movf	_radio_temp
   190  076F  1D03               	btfss	3,2
   191  0770  2F75               	goto	l15
   192  0771  01A5               	clrf	_radio_temp
   193  0772  0AA5               	incf	_radio_temp
   194  0773  1506               	bsf	6,2
   195                           ;TYN-001.C: 73: else {radio_temp=0;RB2=0;}
   196  0774  2F77               	goto	l14
   197  0775                     l15
   198  0775  01A5               	clrf	_radio_temp
   199  0776  1106               	bcf	6,2
   200  0777                     l14
   201                           ;TYN-001.C: 74: }
   202  0777  1B86               	btfsc	6,7
   203  0778  01A4               	clrf	_radio_flag
   204                           ;TYN-001.C: 77: if((RB5==0)&&(model_flag==0)){
   205  0779  1A86               	btfsc	6,5
   206  077A  2F85               	goto	l18
   207  077B  08A1               	movf	_model_flag
   208  077C  1D03               	btfss	3,2
   209  077D  2F85               	goto	l18
   210                           ;TYN-001.C: 78: model_flag=1;
   211  077E  01A1               	clrf	_model_flag
   212  077F  0AA1               	incf	_model_flag
   213                           ;TYN-001.C: 79: model_state++;
   214  0780  0AA2               	incf	_model_state
   215                           ;TYN-001.C: 80: if(model_state>2)model_state=0;
   216  0781  3003               	movlw	3
   217  0782  0222               	subwf	_model_state,w
   218  0783  1803               	btfsc	3,0
   219  0784  01A2               	clrf	_model_state
   220                           ;TYN-001.C: 81: }
   221  0785                     l18
   222                           ;TYN-001.C: 83: if(RB5==1)model_flag=0;
   223  0785  1A86               	btfsc	6,5
   224  0786  01A1               	clrf	_model_flag
   225                           ;TYN-001.C: 84: if(model_state==0){
   226  0787  08A2               	movf	_model_state
   227  0788  1D03               	btfss	3,2
   228  0789  2F8E               	goto	l21
   229                           ;TYN-001.C: 85: RB0=0;RB1=0;
   230  078A  1006               	bcf	6,0
   231  078B  1086               	bcf	6,1
   232                           ;TYN-001.C: 86: PORTA=0x01;
   233  078C  3001               	movlw	1
   234  078D  0085               	movwf	5	;volatile
   235  078E                     l21
   236                           ;TYN-001.C: 87: }
   237  078E  0822               	movf	_model_state,w
   238  078F  3A02               	xorlw	2
   239  0790  1D03               	btfss	3,2
   240  0791  2F96               	goto	l22
   241                           ;TYN-001.C: 89: RB0=0;RB1=0;
   242  0792  1006               	bcf	6,0
   243  0793  1086               	bcf	6,1
   244                           ;TYN-001.C: 90: PORTA=0x03;
   245  0794  3003               	movlw	3
   246  0795  0085               	movwf	5	;volatile
   247  0796                     l22
   248                           ;TYN-001.C: 91: }
   249  0796  0B22               	decfsz	_model_state,w
   250  0797  2F66               	goto	l11
   251  0798                     l24
   252                           ;TYN-001.C: 93: for(;;){
   253                           ;TYN-001.C: 94: asm("clrwdt");
   254  0798  0064               	clrwdt	;#
   255                           ;TYN-001.C: 95: if((RB6==0)&&(volt_flag==0)){
   256  0799  1B06               	btfsc	6,6
   257  079A  2FBF               	goto	l27
   258  079B  08A7               	movf	_volt_flag
   259  079C  1D03               	btfss	3,2
   260  079D  2FBF               	goto	l27
   261                           ;TYN-001.C: 96: TMR1IF=0;
   262  079E  100C               	bcf	12,0
   263                           ;TYN-001.C: 97: GIE=1;
   264  079F  178B               	bsf	11,7
   265                           ;TYN-001.C: 98: TMR1IE=1;
   266  07A0  1683               	bsf	3,5
   267  07A1  140C               	bsf	12,0
   268                           ;TYN-001.C: 99: TMR1L=0;
   269  07A2  1283               	bcf	3,5
   270  07A3  018E               	clrf	14	;volatile
   271                           ;TYN-001.C: 100: TMR1H=0xf0;
   272  07A4  30F0               	movlw	-16
   273  07A5  008F               	movwf	15	;volatile
   274                           ;TYN-001.C: 101: time=0;
   275  07A6  01A6               	clrf	_time
   276                           ;TYN-001.C: 102: for(;;){
   277                           ;TYN-001.C: 103: volt_flag=1;
   278  07A7  01A7               	clrf	_volt_flag
   279  07A8                     L5
   280  07A8  0AA7               	incf	_volt_flag
   281                           ;TYN-001.C: 104: asm("clrwdt");
   282  07A9  0064               	clrwdt	;#
   283  07AA  300F               	movlw	15
   284  07AB  0226               	subwf	_time,w
   285                           ;TYN-001.C: 105: if((RB6!=0)&&(time<15)){volt_f
      +                          lag=0;break;}
   286  07AC  1F06               	btfss	6,6
   287  07AD  2FB4               	goto	L4
   288  07AE  1803               	btfsc	3,0
   289  07AF  2FB2               	goto	l31
   290  07B0  01A7               	clrf	_volt_flag
   291  07B1  2FB8               	goto	l29

⌨️ 快捷键说明

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