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

📄 main.lst

📁 PIC16f886单片机操作DS1302的程序+proteus仿真文件!实物通过的代码!
💻 LST
📖 第 1 页 / 共 5 页
字号:
   546  0000                     _write_byte$x	set	?a_write_byte
   547                           ;	_i assigned to ?a_write_byte+1
   548  0000                     _write_byte$i	set	?a_write_byte+1
   549                           ;_x stored from w
   550  06BC  0183               	clrf	3	;select bank 0
   551  06BD  00AE               	movwf	?a_write_byte
   552                           ;main.c: 76: void write_byte(unsigned char x)
   553  06BE  01AF               	clrf	?a_write_byte+1
   554  06BF                     l13
   555                           ;main.c: 80: {
   556  06BF  1C2E               	btfss	?a_write_byte,0
   557  06C0  2EC3               	goto	l16
   558                           ;main.c: 82: {
   559  06C1  1687               	bsf	7,5
   560                           ;main.c: 84: }
   561  06C2  2EC4               	goto	l17
   562  06C3                     l16
   563                           ;main.c: 85: else
   564  06C3  1287               	bcf	7,5
   565  06C4                     l17
   566                           ;main.c: 88: }
   567  06C4  1707               	bsf	7,6
   568                           ;main.c: 90: RC6=0;
   569  06C5  1307               	bcf	7,6
   570                           ;main.c: 91: x=x>>1;
   571  06C6  1003               	bcf	3,0
   572  06C7  0CAE               	rrf	?a_write_byte
   573  06C8  0AAF               	incf	?a_write_byte+1
   574  06C9  3008               	movlw	8
   575  06CA  022F               	subwf	?a_write_byte+1,w
   576  06CB  1803               	btfsc	3,0
   577  06CC  0008               	return
   578  06CD  2EBF               	goto	l13
   579  06CE                     _read1302
   580                           ;	_add assigned to ?a_read1302+0
   581  0000                     _read1302$add	set	?a_read1302
   582                           ;	_dat assigned to ?a_read1302+1
   583  0000                     _read1302$dat	set	?a_read1302+1
   584                           ;_add stored from w
   585  06CE  0183               	clrf	3	;select bank 0
   586  06CF  00AC               	movwf	?a_read1302
   587                           ;main.c: 117: unsigned char read1302(unsigned c
      +                          har add)
   588  06D0  1207               	bcf	7,4
   589                           ;main.c: 121: RC6=0;
   590  06D1  1307               	bcf	7,6
   591                           ;main.c: 122: RC4=1;
   592  06D2  1607               	bsf	7,4
   593                           ;main.c: 123: write_byte(add|1);
   594  06D3  3801               	iorlw	1
   595  06D4  26BC               	fcall	_write_byte
   596                           ;main.c: 124: dat=read_byte();
   597  06D5  26A3               	fcall	_read_byte
   598  06D6  00AD               	movwf	?a_read1302+1
   599                           ;main.c: 125: RC4=0;
   600  06D7  1207               	bcf	7,4
   601                           ;main.c: 126: RC6=1;
   602  06D8  1707               	bsf	7,6
   603                           ;main.c: 128: }
   604  06D9  0008               	return	;uses W
   605                           ;       param _dat assigned to ?_write1302+0
   606  0000                     _write1302$dat	set	?_write1302
   607  06DA                     _write1302
   608                           ;	_add assigned to ?a_write1302+0
   609  0000                     _write1302$add	set	?a_write1302
   610                           ;_add stored from w
   611  06DA  0183               	clrf	3	;select bank 0
   612  06DB  00AD               	movwf	?a_write1302
   613                           ;main.c: 130: unsigned char write1302(unsigned 
      +                          char add,unsigned char dat)
   614  06DC  1207               	bcf	7,4
   615                           ;main.c: 133: RC6=0;
   616  06DD  1307               	bcf	7,6
   617                           ;main.c: 134: RC4=1;
   618  06DE  1607               	bsf	7,4
   619                           ;main.c: 135: write_byte(add);
   620  06DF  26BC               	fcall	_write_byte
   621                           ;main.c: 136: write_byte(dat);
   622  06E0  082C               	movf	?_write1302,w
   623  06E1  26BC               	fcall	_write_byte
   624                           ;main.c: 137: RC6=1;
   625  06E2  1707               	bsf	7,6
   626                           ;main.c: 138: RC4=0;
   627  06E3  1207               	bcf	7,4
   628                           ;main.c: 139: }
   629  06E4  0008               	return	;W free
   630  06E5                     _time_init
   631                           ;	_i assigned to ?a_time_init+0
   632  0000                     _time_init$i	set	?a_time_init
   633                           ;main.c: 299: void time_init()
   634  06E5  0183               	clrf	3	;select bank 0
   635  06E6  1207               	bcf	7,4
   636                           ;main.c: 303: RC6=0;
   637  06E7  1307               	bcf	7,6
   638                           ;main.c: 304: RC4=1;
   639  06E8  1607               	bsf	7,4
   640                           ;main.c: 305: write_byte(0xbe);
   641  06E9  30BE               	movlw	-66
   642  06EA  26BC               	fcall	_write_byte
   643                           ;main.c: 306: for(i=0;i<8;i++)
   644  06EB  01AA               	clrf	?a_time_init
   645  06EC                     l71
   646                           ;main.c: 307: {
   647  06EC  3000               	movlw	_tab1 shr (0+8)
   648  06ED  008A               	movwf	10
   649  06EE  082A               	movf	?a_time_init,w
   650  06EF  205C               	call	((_tab1+-1)& (0+2047))| (($)& (0+-2048))
   651  06F0  120A  118A  26BC   	fcall	_write_byte
   652  06F3  0AAA               	incf	?a_time_init
   653  06F4  3008               	movlw	8
   654  06F5  022A               	subwf	?a_time_init,w
   655  06F6  1C03               	btfss	3,0
   656  06F7  2EEC               	goto	l71
   657                           ;main.c: 309: }
   658  06F8  1707               	bsf	7,6
   659                           ;main.c: 311: RC4=0;
   660  06F9  1207               	bcf	7,4
   661                           ;main.c: 312: }
   662  06FA  0008               	return	;W free
   663  06FB                     _read_times
   664                           ;	_i assigned to ?a_read_times+0
   665  0000                     _read_times$i	set	?a_read_times
   666                           ;main.c: 314: void read_times()
   667  06FB  0183               	clrf	3	;select bank 0
   668  06FC  1207               	bcf	7,4
   669                           ;main.c: 318: RC6=0;
   670  06FD  1307               	bcf	7,6
   671                           ;main.c: 319: RC4=1;
   672  06FE  1607               	bsf	7,4
   673                           ;main.c: 320: write_byte(0xbf);
   674  06FF  30BF               	movlw	-65
   675  0700  26BC               	fcall	_write_byte
   676                           ;main.c: 321: for(i=0;i<8;i++)
   677  0701  01AA               	clrf	?a_read_times
   678  0702                     l75
   679                           ;main.c: 322: {
   680  0702  082A               	movf	?a_read_times,w
   681  0703  3E22               	addlw	_tab
   682  0704  0084               	movwf	4
   683  0705  1383               	bcf	3,7
   684  0706  26A3               	fcall	_read_byte
   685  0707  1383               	bcf	3,7
   686  0708  0080               	movwf	0
   687  0709  0AAA               	incf	?a_read_times
   688  070A  3008               	movlw	8
   689  070B  022A               	subwf	?a_read_times,w
   690  070C  1C03               	btfss	3,0
   691  070D  2F02               	goto	l75
   692                           ;main.c: 324: }
   693  070E  1707               	bsf	7,6
   694                           ;main.c: 326: RC4=0;
   695  070F  1207               	bcf	7,4
   696                           ;main.c: 327: }
   697  0710  0008               	return	;W free
   698  0711                     _num_change
   699                           ;	_x assigned to ?a_num_change+0
   700  0000                     _num_change$x	set	?a_num_change
   701                           ;	_i assigned to ?a_num_change+1
   702  0000                     _num_change$i	set	?a_num_change+1
   703                           ;main.c: 152: void num_change()
   704  0711  0183               	clrf	3	;select bank 0
   705  0712  01AB               	clrf	?a_num_change+1
   706  0713                     l28
   707                           ;main.c: 156: {
   708  0713  082B               	movf	?a_num_change+1,w
   709  0714  3E22               	addlw	_tab
   710  0715  0084               	movwf	4
   711  0716  1383               	bcf	3,7
   712  0717  0E00               	swapf	0,w
   713  0718  390F               	andlw	15
   714  0719  00AA               	movwf	?a_num_change
   715                           ;main.c: 158: tab[i]=tab[i]-6*x;
   716  071A  082B               	movf	?a_num_change+1,w
   717  071B  3E22               	addlw	_tab
   718  071C  0084               	movwf	4
   719  071D  1383               	bcf	3,7
   720  071E  3006               	movlw	6
   721  071F  00F1               	movwf	btemp+1
   722  0720  082A               	movf	?a_num_change,w
   723  0721  120A  118A  2533   	fcall	lbmul
      +       120A  118A         
   724  0726  0200               	subwf	0,w
   725  0727  00F0               	movwf	btemp
   726  0728  082B               	movf	?a_num_change+1,w
   727  0729  3E22               	addlw	_tab
   728  072A  0084               	movwf	4
   729  072B  1383               	bcf	3,7
   730  072C  0870               	movf	btemp,w
   731  072D  0080               	movwf	0
   732  072E  0AAB               	incf	?a_num_change+1
   733  072F  3007               	movlw	7
   734  0730  022B               	subwf	?a_num_change+1,w
   735  0731  1803               	btfsc	3,0
   736  0732  0008               	return
   737  0733  2F13               	goto	l28
   738  0734                     _show_realtimes
   739                           ;main.c: 329: void show_realtimes()
   740  0734  26FB               	fcall	_read_times
   741                           ;main.c: 332: num_change();
   742  0735  2711               	fcall	_num_change
   743                           ;main.c: 333: show_time();
   744  0736  2D65               	ljmp	_show_time
   745  0737                     _read_time
   746                           ;main.c: 141: void read_time()
   747  0737  3080               	movlw	-128
   748  0738  26CE  120A  118A   	fcall	_read1302
   749  073B  00A2               	movwf	_tab
   750                           ;main.c: 144: tab[1]=read1302(0x82);
   751  073C  3082               	movlw	-126
   752  073D  26CE  120A  118A   	fcall	_read1302
   753  0740  00A3               	movwf	_tab+1
   754                           ;main.c: 145: tab[2]=read1302(0x84);
   755  0741  3084               	movlw	-124
   756  0742  26CE  120A  118A   	fcall	_read1302
   757  0745  00A4               	movwf	_tab+2
   758                           ;main.c: 146: tab[3]=read1302(0x86 );
   759  0746  3086               	movlw	-122
   760  0747  26CE  120A  118A   	fcall	_read1302
   761  074A  00A5               	movwf	_tab+3
   762                           ;main.c: 147: tab[4]=read1302(0x88);
   763  074B  3088               	movlw	-120
   764  074C  26CE  120A  118A   	fcall	_read1302
   765  074F  00A6               	movwf	_tab+4
   766                           ;main.c: 148: tab[5]=read1302(0x8a);
   767  0750  308A               	movlw	-118
   768  0751  26CE  120A  118A   	fcall	_read1302
   769  0754  00A7               	movwf	_tab+5
   770                           ;main.c: 149: tab[6]=read1302(0x8c);
   771  0755  308C               	movlw	-116
   772  0756  26CE  120A  118A   	fcall	_read1302
   773  0759  00A8               	movwf	_tab+6
   774                           ;main.c: 150: }
   775  075A  0008               	return	;W free
   776  075B                     _show_realtime
   777                           ;main.c: 248: void show_realtime()
   778  075B  2737  120A  118A   	fcall	_read_time
   779                           ;main.c: 251: num_change();
   780  075E  2711               	fcall	_num_change
   781                           ;main.c: 252: show_time();
   782  075F  2D65               	ljmp	_show_time
   783  0760                     _lcd_init
   784                           ;main.c: 54: void lcd_init()
   785  0760  1683               	bsf	3,5
   786  0761  1303               	bcf	3,6	;carry unused
   787  0762  0187               	clrf	7	;volatile
   788                           ;main.c: 58: PORTC=0x00;
   789  0763  1283               	bcf	3,5
   790  0764  0187               	clrf	7	;volatile
   791                           ;main.c: 59: TRISB&=0xf8;
   792  0765  30F8               	movlw	-8
   793  0766  1683               	bsf	3,5
   794  0767  0586               	andwf	6	;volatile
   795                           ;main.c: 60: ANSELH=0x00;
   796  0768  1703               	bsf	3,6
   797  0769  0189               	clrf	9
   798                           ;main.c: 61: RB2=0;
   799  076A  1283               	bcf	3,5
   800  076B  1303               	bcf	3,6	;carry unused
   801  076C  1106               	bcf	6,2
   802                           ;main.c: 62: write_com(0x38);
   803  076D  3038               	movlw	56
   804  076E  254B  120A  118A   	fcall	_write_com
   805                           ;main.c: 63: write_com(0x0c);
   806  0771  300C               	movlw	12
   807  0772  254B  120A  118A   	fcall	_write_com
   808                           ;main.c: 64: write_com(0x06);
   809  0775  3006               	movlw	6
   810  0776  254B  120A  118A   	fcall	_write_com
   811                           ;main.c: 65: write_com(0x01);
   812  0779  3001               	movlw	1
   813  077A  254B  120A  118A   	fcall	_write_com
   814                           ;main.c: 66: write_com(0x80);
   815  077D  3080               	movlw	-128
   816  077E  2D4B               	ljmp	_write_com
   817  077F                     _protect_change
   818                           ;	_xx assigned to ?a_protect_change+0
   819  0000                     _protect_change$xx	set	?a_protect_change
   820                           ;	_yy assigned to ?a_protect_change+1
   821  0000                     _protect_change$yy	set	?a_protect_change+1
   822                           ;main.c: 284: void protect_change()
   823  077F  3080               	movlw	-128

⌨️ 快捷键说明

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