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

📄 spi.lst

📁 利用PIC16F877的SPI口做出来的时钟
💻 LST
📖 第 1 页 / 共 4 页
字号:
   613  0740                     l107
   614                           ;SPI.C: 336: flag=0;
   615  0740  01A7               	clrf	_flag
   616                           ;SPI.C: 337: SSPBUF=table[e];
   617  0741  3000               	movlw	_table shr (0+8)
   618  0742  008A               	movwf	10
   619  0743  0825               	movf	_e,w
   620  0744  0725               	addwf	_e,w
   621  0745  200F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   622  0746  120A  118A         	pagesel	$
   623  0748  0093               	movwf	19	;volatile
   624                           ;SPI.C: 338: RD4=0;
   625  0749  1208               	bcf	8,4
   626                           ;SPI.C: 339: while(flag==0)
   627  074A                     l108
   628  074A  08A7               	movf	_flag
   629  074B  1D03               	btfss	3,2
   630  074C  2F54               	goto	l110
   631                           ;SPI.C: 340: {
   632  074D  1D8C               	btfss	12,3
   633  074E  2F4A               	goto	l108
   634                           ;SPI.C: 342: { flag=1;
   635  074F  01A7               	clrf	_flag
   636  0750  0AA7               	incf	_flag
   637                           ;SPI.C: 343: RD4=1;
   638  0751  1608               	bsf	8,4
   639                           ;SPI.C: 344: SSPIF=0;
   640  0752  118C               	bcf	12,3
   641  0753  2F4A               	goto	l108
   642  0754                     l110
   643                           ;SPI.C: 345: }
   644  0754  01A7               	clrf	_flag
   645                           ;SPI.C: 349: SSPBUF=table[f];
   646  0755  3000               	movlw	_table shr (0+8)
   647  0756  008A               	movwf	10
   648  0757  0826               	movf	_f,w
   649  0758  0726               	addwf	_f,w
   650  0759  200F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   651  075A  120A  118A         	pagesel	$
   652  075C  0093               	movwf	19	;volatile
   653                           ;SPI.C: 350: RD5=0;
   654  075D  1288               	bcf	8,5
   655                           ;SPI.C: 351: while(flag==0)
   656  075E                     l112
   657  075E  08A7               	movf	_flag
   658  075F  1D03               	btfss	3,2
   659  0760  2F68               	goto	l104
   660                           ;SPI.C: 352: {
   661  0761  1D8C               	btfss	12,3
   662  0762  2F5E               	goto	l112
   663                           ;SPI.C: 354: { flag=1;
   664  0763  01A7               	clrf	_flag
   665  0764  0AA7               	incf	_flag
   666                           ;SPI.C: 355: RD5=1;
   667  0765  1688               	bsf	8,5
   668                           ;SPI.C: 356: SSPIF=0;
   669  0766  118C               	bcf	12,3
   670  0767  2F5E               	goto	l112
   671  0768                     l104
   672                           ;SPI.C: 357: }
   673  0768  26C6               	fcall	_settimedelay
   674                           ;SPI.C: 364: settimedelay();
   675  0769  26C6               	fcall	_settimedelay
   676                           ;SPI.C: 367: if(RE2==0)
   677  076A  1909               	btfsc	9,2
   678  076B  2F71               	goto	l89
   679                           ;SPI.C: 368: {
   680  076C  26C6               	fcall	_settimedelay
   681                           ;SPI.C: 370: settimedelay();
   682  076D  26C6               	fcall	_settimedelay
   683                           ;SPI.C: 371: settimedelay();
   684  076E  26C6               	fcall	_settimedelay
   685                           ;SPI.C: 372: if(RE2==0)
   686  076F  1D09               	btfss	9,2
   687                           ;SPI.C: 373: {setflag=0;}
   688  0770  01A9               	clrf	_setflag
   689  0771                     l89
   690  0771  0B29               	decfsz	_setflag,w
   691  0772  0008               	return
   692  0773  2EEA               	goto	l90
   693  0774                     _clockint
   694                           ;SPI.C: 24: void clockint()
   695  0774  0183               	clrf	3	;select bank 0
   696  0775  01A7               	clrf	_flag
   697                           ;SPI.C: 28: SSPBUF=table[1];
   698  0776  3000               	movlw	_table shr (0+8)
   699  0777  008A               	movwf	10
   700  0778  3002               	movlw	2
   701  0779  200F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   702  077A  120A  118A         	pagesel	$
   703  077C  0093               	movwf	19	;volatile
   704                           ;SPI.C: 29: RD5=RD4=RD3=0;
   705  077D  1188               	bcf	8,3
   706  077E  1208               	bcf	8,4
   707  077F  1288               	bcf	8,5
   708                           ;SPI.C: 30: while(flag==0)
   709  0780  2F89               	goto	l19
   710  0781                     l20
   711                           ;SPI.C: 31: {
   712  0781  1D8C               	btfss	12,3
   713  0782  2F89               	goto	l19
   714                           ;SPI.C: 33: { flag=1;
   715  0783  01A7               	clrf	_flag
   716  0784  0AA7               	incf	_flag
   717                           ;SPI.C: 34: RD5=RD4=RD3=1;
   718  0785  1588               	bsf	8,3
   719  0786  1608               	bsf	8,4
   720  0787  1688               	bsf	8,5
   721                           ;SPI.C: 35: SSPIF=0;
   722  0788  118C               	bcf	12,3
   723  0789                     l19
   724  0789  08A7               	movf	_flag
   725  078A  1903               	btfsc	3,2
   726  078B  2F81               	goto	l20
   727                           ;SPI.C: 36: }
   728  078C  01A7               	clrf	_flag
   729                           ;SPI.C: 40: SSPBUF=table[2];
   730  078D  3000               	movlw	_table shr (0+8)
   731  078E  008A               	movwf	10
   732  078F  3004               	movlw	4
   733  0790  200F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   734  0791  120A  118A         	pagesel	$
   735  0793  0093               	movwf	19	;volatile
   736                           ;SPI.C: 41: RD2=0;
   737  0794  1108               	bcf	8,2
   738                           ;SPI.C: 42: while(flag==0)
   739  0795                     l23
   740  0795  08A7               	movf	_flag
   741  0796  1D03               	btfss	3,2
   742  0797  2F9F               	goto	l25
   743                           ;SPI.C: 43: {
   744  0798  1D8C               	btfss	12,3
   745  0799  2F95               	goto	l23
   746                           ;SPI.C: 45: { flag=1;
   747  079A  01A7               	clrf	_flag
   748  079B  0AA7               	incf	_flag
   749                           ;SPI.C: 46: RD2=1;
   750  079C  1508               	bsf	8,2
   751                           ;SPI.C: 47: SSPIF=0;
   752  079D  118C               	bcf	12,3
   753  079E  2F95               	goto	l23
   754  079F                     l25
   755                           ;SPI.C: 48: }
   756  079F  01A7               	clrf	_flag
   757                           ;SPI.C: 52: SSPBUF=table[0];
   758  07A0  120A  118A  2010   	fcall	_table
      +       120A  118A         
   759  07A5  0093               	movwf	19	;volatile
   760                           ;SPI.C: 53: RD0=RD1=0;
   761  07A6  1088               	bcf	8,1
   762  07A7  1008               	bcf	8,0
   763                           ;SPI.C: 54: while(flag==0)
   764  07A8                     l27
   765  07A8  08A7               	movf	_flag
   766  07A9  1D03               	btfss	3,2
   767  07AA  0008               	return
   768                           ;SPI.C: 55: {
   769  07AB  1D8C               	btfss	12,3
   770  07AC  2FA8               	goto	l27
   771                           ;SPI.C: 57: { flag=1;
   772  07AD  01A7               	clrf	_flag
   773  07AE  0AA7               	incf	_flag
   774                           ;SPI.C: 58: RD0=RD1=1;
   775  07AF  1488               	bsf	8,1
   776  07B0  1408               	bsf	8,0
   777                           ;SPI.C: 59: SSPIF=0;
   778  07B1  118C               	bcf	12,3
   779  07B2  2FA8               	goto	l27
   780  07B3                     _initial
   781                           ;SPI.C: 66: void initial()
   782  07B3  3007               	movlw	7
   783  07B4  1683               	bsf	3,5
   784  07B5  1303               	bcf	3,6	;carry unused
   785  07B6  009F               	movwf	31	;volatile
   786                           ;SPI.C: 69: TRISD=0X00;
   787  07B7  0188               	clrf	8	;volatile
   788                           ;SPI.C: 70: TRISC3=0;
   789  07B8  1187               	bcf	7,3
   790                           ;SPI.C: 71: TRISC5=0;
   791  07B9  1287               	bcf	7,5
   792                           ;SPI.C: 72: TRISD7=1;
   793  07BA  1788               	bsf	8,7
   794                           ;SPI.C: 73: TRISE0=1;
   795  07BB  1409               	bsf	9,0
   796                           ;SPI.C: 74: TRISE1=1;
   797  07BC  1489               	bsf	9,1
   798                           ;SPI.C: 75: TRISE2=1;
   799  07BD  1509               	bsf	9,2
   800                           ;SPI.C: 76: SSPCON=0x20;
   801  07BE  3020               	movlw	32
   802  07BF  1283               	bcf	3,5
   803  07C0  0094               	movwf	20	;volatile
   804                           ;SPI.C: 77: SSPSTAT=0xc0;
   805  07C1  30C0               	movlw	-64
   806  07C2  1683               	bsf	3,5
   807  07C3  0094               	movwf	20	;volatile
   808                           ;SPI.C: 78: INTCON=0X00;
   809  07C4  018B               	clrf	11	;volatile
   810                           ;SPI.C: 79: }
   811  07C5  1283               	bcf	3,5
   812  07C6  0008               	return	;W free
   813  07C7                     _main
   814                           ;SPI.C: 383: void main()
   815  07C7  27B3               	fcall	_initial
   816                           ;SPI.C: 386: f=e=d=1;
   817  07C8  3001               	movlw	1
   818  07C9  00A3               	movwf	_d
   819  07CA  00A5               	movwf	_e
   820  07CB  00A6               	movwf	_f
   821                           ;SPI.C: 387: c=2;
   822  07CC  3002               	movlw	2
   823  07CD  00A2               	movwf	_c
   824                           ;SPI.C: 388: clockint();
   825  07CE  2774               	fcall	_clockint
   826  07CF                     l120
   827                           ;SPI.C: 389: while(1)
   828                           ;SPI.C: 390: {
   829  07CF  1409               	bsf	9,0
   830                           ;SPI.C: 392: RE1=1;
   831  07D0  1489               	bsf	9,1
   832                           ;SPI.C: 393: RE2=1;
   833  07D1  1509               	bsf	9,2
   834                           ;SPI.C: 394: RD7=1;
   835  07D2  1788               	bsf	8,7
   836                           ;SPI.C: 395: for(a=0;a<0x0a;a++)
   837  07D3  01A0               	clrf	_a
   838  07D4                     l125
   839  07D4  300A               	movlw	10
   840  07D5  0220               	subwf	_a,w
   841  07D6  1803               	btfsc	3,0
   842  07D7  2FF9               	goto	l123
   843                           ;SPI.C: 396: {
   844  07D8  1B88               	btfsc	8,7
   845  07D9  2FDE               	goto	l126
   846                           ;SPI.C: 398: {
   847  07DA  26C6               	fcall	_settimedelay
   848                           ;SPI.C: 400: if(RD7==0)
   849  07DB  1B88               	btfsc	8,7
   850  07DC  2FDE               	goto	l126
   851                           ;SPI.C: 401: { settime(); }
   852  07DD  26D4               	fcall	_settime
   853  07DE                     l126
   854                           ;SPI.C: 403: }
   855  07DE  01A7               	clrf	_flag
   856                           ;SPI.C: 406: SSPBUF=table[a];
   857  07DF  3000               	movlw	_table shr (0+8)
   858  07E0  008A               	movwf	10
   859  07E1  0820               	movf	_a,w
   860  07E2  0720               	addwf	_a,w
   861  07E3  200F               	call	((_table+-1)& (0+2047))| (($)& (0+-2048))
   862  07E4  120A  118A         	pagesel	$
   863  07E6  0093               	movwf	19	;volatile
   864                           ;SPI.C: 407: RD0=0;
   865  07E7  1008               	bcf	8,0
   866                           ;SPI.C: 408: while(flag==0)
   867  07E8                     l128
   868  07E8  08A7               	movf	_flag
   869  07E9  1D03               	btfss	3,2
   870  07EA  2FF2               	goto	l130
   871                           ;SPI.C: 409: {
   872  07EB  1D8C               	btfss	12,3
   873  07EC  2FE8               	goto	l128
   874                           ;SPI.C: 411: { flag=1;
   875  07ED  01A7               	clrf	_flag
   876  07EE  0AA7               	incf	_flag
   877                           ;SPI.C: 412: RD0=1;
   878  07EF  1408               	bsf	8,0
   879                           ;SPI.C: 413: SSPIF=0;
   880  07F0  118C               	bcf	12,3
   881  07F1  2FE8               	goto	l128
   882  07F2                     l130
   883                           ;SPI.C: 414: }
   884  07F2  1708               	bsf	8,6
   885                           ;SPI.C: 417: delay500ms();
   886  07F3  26B8               	fcall	_delay500ms
   887                           ;SPI.C: 418: RD6=0;
   888  07F4  1308               	bcf	8,6
   889                           ;SPI.C: 419: delay500ms();
   890  07F5  26B8               	fcall	_delay500ms
   891                           ;SPI.C: 420: RD6=1;
   892  07F6  1708               	bsf	8,6
   893  07F7  0AA0               	incf	_a
   894  07F8  2FD4               	goto	l125
   895  07F9                     l123
   896                           ;SPI.C: 421: }
   897  07F9  26A4               	fcall	_secbit0full
   898                           ;SPI.C: 423: secbit1full();
   899  07FA  2677               	fcall	_secbit1full
   900                           ;SPI.C: 424: minbit0full();
   901  07FB  264A               	fcall	_minbit0full
   902                           ;SPI.C: 425: minbit1full();
   903  07FC  261D               	fcall	_minbit1full
   904                           ;SPI.C: 426: hourbit0full();
   905  07FD  25F1               	fcall	_hourbit0full
   906                           ;SPI.C: 427: hourbit1full();
   907  07FE  25D3               	fcall	_hourbit1full
   908  07FF  2FCF               	goto	l120
   909                           
   910                           	psect	text12
   911  0000                     
   912  0000                     
   913  0000                     
   914  0000                     
   915  0000                     
   916  0000                     
   917  0000                     
   918  0000                     
   919  0000                     
   920  0000                     
   921  0000                     

⌨️ 快捷键说明

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