099ilerigerisayici.lst

来自「PIC CCS C Saple Codes」· LST 代码 · 共 228 行

LST
228
字号
CCS PCM C Compiler, Version 4.023, 25097               04-Haz-07 13:45

               Filename: F:\denemeler - CCS C\7SD\099ilerigerisayici\099ilerigerisayici.lst

               ROM used: 146 words (14%)
                         Largest free fragment is 878
               RAM used: 7 (10%) at main() level
                         8 (12%) worst case
               Stack:    1 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   019
0003:  NOP
.................... #include <16F84.h> 
.................... //////// Standard Header file for the PIC16F84 device //////////////// 
.................... #device PIC16F84 
.................... #list 
....................  
.................... #fuses HS,NOWDT,NOPROTECT 
.................... #use delay(clock=4000000) 
0004:  MOVLW  14
0005:  MOVWF  04
0006:  BCF    03.7
0007:  MOVF   00,W
0008:  BTFSC  03.2
0009:  GOTO   018
000A:  MOVLW  01
000B:  MOVWF  0D
000C:  CLRF   0C
000D:  DECFSZ 0C,F
000E:  GOTO   00D
000F:  DECFSZ 0D,F
0010:  GOTO   00C
0011:  MOVLW  4A
0012:  MOVWF  0C
0013:  DECFSZ 0C,F
0014:  GOTO   013
0015:  GOTO   016
0016:  DECFSZ 00,F
0017:  GOTO   00A
0018:  RETLW  00
....................  
.................... main(void) 
.................... { 
0019:  CLRF   04
001A:  BCF    03.7
001B:  MOVLW  1F
001C:  ANDWF  03,F
....................    signed int i,j;	// isaretli degiskenler 
....................  
....................    set_tris_b(0);		// b portu cikis olsun 
001D:  MOVLW  00
001E:  TRIS   6
.................... 	set_tris_a(0);		// a portu cikis olsun 
001F:  TRIS   5
....................    output_b(0);		//  
0020:  BSF    03.5
0021:  CLRF   06
0022:  BCF    03.5
0023:  CLRF   06
.................... 	output_a(0); 
0024:  BSF    03.5
0025:  CLRF   05
0026:  BCF    03.5
0027:  CLRF   05
.................... 	i=0; 
0028:  CLRF   12
.................... 	j=0; 
0029:  CLRF   13
....................  
....................    for(;;)		//sonsuz dongu 
....................    { 
....................       for(i=0; i<10; i++)		// 0 - 90 arasi ileri sayim 
002A:  CLRF   12
002B:  BTFSC  12.7
002C:  GOTO   031
002D:  MOVF   12,W
002E:  SUBLW  09
002F:  BTFSS  03.0
0030:  GOTO   03B
....................       { 
....................  
....................       	output_b(i); 
0031:  BSF    03.5
0032:  CLRF   06
0033:  BCF    03.5
0034:  MOVF   12,W
0035:  MOVWF  06
....................       	Delay_Ms(100); 
0036:  MOVLW  64
0037:  MOVWF  14
0038:  CALL   004
.................... 		} 
0039:  INCF   12,F
003A:  GOTO   02B
.................... 		j++; 
003B:  INCF   13,F
.................... 		output_a(j); 
003C:  BSF    03.5
003D:  CLRF   05
003E:  BCF    03.5
003F:  MOVF   13,W
0040:  MOVWF  05
....................  
.................... 		if(j==9)		// 90 - 99 ileri arasi sayim 
0041:  MOVF   13,W
0042:  SUBLW  09
0043:  BTFSS  03.2
0044:  GOTO   08F
.................... 		{ 
.................... 	      for(i=0; i<10; i++) 
0045:  CLRF   12
0046:  BTFSC  12.7
0047:  GOTO   04C
0048:  MOVF   12,W
0049:  SUBLW  09
004A:  BTFSS  03.0
004B:  GOTO   056
.................... 	      { 
....................  
.................... 	      	output_b(i); 
004C:  BSF    03.5
004D:  CLRF   06
004E:  BCF    03.5
004F:  MOVF   12,W
0050:  MOVWF  06
....................    	   	Delay_Ms(100); 
0051:  MOVLW  64
0052:  MOVWF  14
0053:  CALL   004
.................... 			} 
0054:  INCF   12,F
0055:  GOTO   046
....................  
.................... 			for(j=8; j>-1; j--) 		// 99 - 10 arasi geri sayim 
0056:  MOVLW  08
0057:  MOVWF  13
0058:  MOVF   13,W
0059:  XORLW  80
005A:  SUBLW  7F
005B:  BTFSC  03.0
005C:  GOTO   08C
.................... 			{ 
.................... 			 
.................... 				for(i=9; i>-1; i--) 
005D:  MOVLW  09
005E:  MOVWF  12
005F:  MOVF   12,W
0060:  XORLW  80
0061:  SUBLW  7F
0062:  BTFSC  03.0
0063:  GOTO   06E
.................... 	      	{ 
....................    	   		output_b(i); 
0064:  BSF    03.5
0065:  CLRF   06
0066:  BCF    03.5
0067:  MOVF   12,W
0068:  MOVWF  06
....................       			Delay_Ms(100); 
0069:  MOVLW  64
006A:  MOVWF  14
006B:  CALL   004
.................... 				} 
006C:  DECF   12,F
006D:  GOTO   05F
....................  
.................... 		   	output_a(j); 
006E:  BSF    03.5
006F:  CLRF   05
0070:  BCF    03.5
0071:  MOVF   13,W
0072:  MOVWF  05
.................... 				 
.................... 				if(j==0) 		// 9 - 0 arasi geri sayim 
0073:  MOVF   13,F
0074:  BTFSS  03.2
0075:  GOTO   08A
.................... 				{ 
.................... 					for(i=9; i>-1; i--) 
0076:  MOVLW  09
0077:  MOVWF  12
0078:  MOVF   12,W
0079:  XORLW  80
007A:  SUBLW  7F
007B:  BTFSC  03.0
007C:  GOTO   087
.................... 					{ 
.................... 						output_b(i); 
007D:  BSF    03.5
007E:  CLRF   06
007F:  BCF    03.5
0080:  MOVF   12,W
0081:  MOVWF  06
.................... 						Delay_Ms(100); 
0082:  MOVLW  64
0083:  MOVWF  14
0084:  CALL   004
.................... 					} 
0085:  DECF   12,F
0086:  GOTO   078
.................... 				i=0; 
0087:  CLRF   12
.................... 				j=-1; 
0088:  MOVLW  FF
0089:  MOVWF  13
.................... 				}	 
.................... 			} 
008A:  DECF   13,F
008B:  GOTO   058
.................... 			i=-5; 
008C:  MOVLW  FB
008D:  MOVWF  12
.................... 			j=0; 
008E:  CLRF   13
.................... 		} 
.................... 		i=0; 
008F:  CLRF   12
....................    } 
0090:  GOTO   02A
.................... } 
0091:  SLEEP

Configuration Fuses:
   Word  1: 3FF2   HS NOWDT PUT NOPROTECT

⌨️ 快捷键说明

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