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

📄 main.lst

📁 一个数码管与NTC的应用实例
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-16790                            Sun Apr 26 12:44:14 2009

Licensed to: TWO
     1                           	processor	16F873A
     2                           	opt	pw 79
     3                           	psect	__Z16790RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	config,global,class=CONFIG,delta=2
     6                           	psect	text1,local,class=CODE,delta=2
     7                           	psect	intcode,global,class=CODE,delta=2
     8                           	psect	intsave_1,global,ovrld,class=BANK1,space
      +                          =1,delta=1
     9                           	psect	intsave_0,global,ovrld,class=BANK0,space
      +                          =1,delta=1
    10                           	psect	intret,global,class=CODE,delta=2
    11                           	psect	intentry,global,class=CODE,delta=2
    12                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    13                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26                           
    27                           	psect	__Z16790RS_
    28  00E5                     
    29  00E5                     	;#
    30                           
    31                           	psect	text0
    32  016B                     _main
    33  016B  1683               	bsf	3,5
    34  016C  1303               	bcf	3,6	;carry unused
    35  016D  0187               	clrf	7	;volatile
    36                           ;Main.c: 24: TRISB=0;
    37  016E  0186               	clrf	6	;volatile
    38                           ;Main.c: 25: PORTC=0;
    39  016F  1283               	bcf	3,5
    40  0170  0187               	clrf	7	;volatile
    41                           ;Main.c: 26: PORTB=0;
    42  0171  0186               	clrf	6	;volatile
    43                           ;Main.c: 29: CPU_INT();
    44  0172  118A  230D  118A   	fcall	_CPU_INT
    45                           ;Main.c: 30: while(1)
    46                           ;Main.c: 31: {
    47  0175  2981               	goto	l10
    48  0176                     l11
    49                           ;Main.c: 33: {
    50                           ;Main.c: 35: Off_Mode();
    51  0176  158A  203C  118A   	fcall	_Off_Mode
    52                           ;Main.c: 36: break;
    53  0179  2981               	goto	l10
    54  017A                     l12
    55                           ;Main.c: 37: case 1:
    56                           ;Main.c: 38: Setting_Mode();
    57  017A  158A  22C5  118A   	fcall	_Setting_Mode
    58                           ;Main.c: 39: break;
    59  017D  2981               	goto	l10
    60  017E                     l13
    61                           ;Main.c: 40: case 2:
    62                           ;Main.c: 41: Work_Mode();
    63  017E  118A  2424  118A   	fcall	_Work_Mode
    64                           ;Main.c: 42: break;
    65  0181                     l10
    66  0181  0827               	movf	_Mode,w
    67  0182  1903               	btfsc	3,2
    68  0183  2976               	goto	l11
    69  0184  3A01               	xorlw	1
    70  0185  1903               	btfsc	3,2
    71  0186  297A               	goto	l12
    72  0187  3A03               	xorlw	3
    73  0188  1903               	btfsc	3,2
    74  0189  297E               	goto	l13
    75  018A  2981               	goto	l10
    76                           
    77                           	psect	config
    78  2007  3F3A               	dw	16186	;#
    79                           
    80                           	psect	intcode
    81                           ;Main.c: 84: void interrupt IRQ(void)
    82                           ;Main.c: 85: {
    83  001F                     _IRQ
    84  001F                     int_func
    85                           ;Main.c: 86: unsigned char i;
    86  001F  0183               	clrf	3	;select bank 0
    87  0020  1C0C               	btfss	12,0
    88  0021  2904               	goto	l15
    89                           ;Main.c: 88: {
    90  0022  3050               	movlw	80
    91  0023  008E               	movwf	14	;volatile
    92  0024  309E               	movlw	158
    93  0025  008F               	movwf	15	;volatile
    94                           ;Main.c: 91: TMR1IF=0;
    95  0026  100C               	bcf	12,0
    96                           ;Main.c: 92: if(Task.Flag.timer1_Enlable==1)
    97  0027  1D28               	btfss	_Task,2
    98  0028  282D               	goto	l16
    99                           ;Main.c: 93: {
   100  0029  08B8               	movf	_Timer1
   101  002A  1903               	btfsc	3,2
   102  002B  03B9               	decf	_Timer1+1
   103  002C  03B8               	decf	_Timer1
   104  002D                     l16
   105                           ;Main.c: 95: }
   106  002D  1DA8               	btfss	_Task,3
   107  002E  285F               	goto	l17
   108                           ;Main.c: 97: {
   109  002F  082E               	movf	_Timer2_PreScale_Counter,w
   110  0030  3A09               	xorlw	9
   111  0031  1D03               	btfss	3,2
   112  0032  283A               	goto	l18
   113                           ;Main.c: 99: {
   114  0033  08BC               	movf	_Timer2
   115  0034  1903               	btfsc	3,2
   116  0035  03BD               	decf	_Timer2+1
   117  0036  03BC               	decf	_Timer2
   118                           ;Main.c: 101: Timer2_PreScale_Counter=0;
   119  0037  01AE               	clrf	_Timer2_PreScale_Counter
   120                           ;Main.c: 102: Timer2_Pross_Counter++;
   121  0038  0AAA               	incf	_Timer2_Pross_Counter
   122                           ;Main.c: 103: }
   123  0039  2858               	goto	l21
   124  003A                     l18
   125                           ;Main.c: 105: {
   126  003A  0AAE               	incf	_Timer2_PreScale_Counter
   127                           ;Main.c: 107: }
   128                           ;Main.c: 108: switch(Timer2_Pross)
   129  003B  2858               	goto	l21
   130  003C                     l22
   131                           ;Main.c: 109: {
   132                           ;Main.c: 111: {
   133  003C  082A               	movf	_Timer2_Pross_Counter,w
   134  003D  3A0A               	xorlw	10
   135  003E  1903               	btfsc	3,2
   136  003F  2846               	goto	L2
   137                           ;Main.c: 113: {
   138                           ;Main.c: 115: Timer2_Pross++;
   139                           ;Main.c: 116: }
   140                           ;Main.c: 118: {
   141  0040  1207               	bcf	7,4
   142  0041  2860               	goto	L1
   143                           ;Main.c: 120: Timer2_Control2=1;
   144                           ;Main.c: 121: }
   145                           ;Main.c: 122: break;
   146  0042                     l25
   147                           ;Main.c: 123: }
   148                           ;Main.c: 125: {
   149  0042  082A               	movf	_Timer2_Pross_Counter,w
   150  0043  3A0A               	xorlw	10
   151  0044  1D03               	btfss	3,2
   152  0045  2848               	goto	l26
   153  0046                     L2
   154                           ;Main.c: 127: {
   155  0046  01AA               	clrf	_Timer2_Pross_Counter
   156  0047  2856               	goto	l30
   157                           ;Main.c: 129: Timer2_Pross++;
   158                           ;Main.c: 130: }
   159  0048                     l26
   160                           ;Main.c: 132: {
   161  0048  1607               	bsf	7,4
   162                           ;Main.c: 134: Timer2_Control2=0;
   163  0049  1287               	bcf	7,5
   164                           ;Main.c: 135: }
   165                           ;Main.c: 136: break;
   166  004A  2861               	goto	l33
   167  004B                     l28
   168                           ;Main.c: 137: }
   169                           ;Main.c: 139: {
   170  004B  082A               	movf	_Timer2_Pross_Counter,w
   171  004C  3A02               	xorlw	2
   172  004D  1D03               	btfss	3,2
   173  004E  285F               	goto	l17
   174                           ;Main.c: 141: {
   175  004F  01AA               	clrf	_Timer2_Pross_Counter
   176                           ;Main.c: 143: if(Timer2_Pross==3)
   177  0050  0829               	movf	_Timer2_Pross,w
   178  0051  3A03               	xorlw	3
   179  0052  1D03               	btfss	3,2
   180  0053  2856               	goto	l30
   181                           ;Main.c: 144: Timer2_Pross=0;
   182  0054  01A9               	clrf	_Timer2_Pross
   183                           ;Main.c: 145: else
   184  0055  2861               	goto	l33
   185  0056                     l30
   186                           ;Main.c: 146: Timer2_Pross++;
   187  0056  0AA9               	incf	_Timer2_Pross
   188                           ;Main.c: 147: }
   189  0057  2861               	goto	l33
   190                           ;Main.c: 149: {
   191                           ;Main.c: 151: Timer2_Control2=1;
   192                           ;Main.c: 152: }
   193                           ;Main.c: 153: }
   194  0058                     l21
   195  0058  0829               	movf	_Timer2_Pross,w
   196  0059  1903               	btfsc	3,2
   197  005A  283C               	goto	l22
   198  005B  3A02               	xorlw	2
   199  005C  1903               	btfsc	3,2
   200  005D  2842               	goto	l25
   201  005E  284B               	goto	l28
   202                           ;Main.c: 155: }
   203  005F                     l17
   204                           ;Main.c: 157: { Timer2_Control1=1;
   205  005F  1607               	bsf	7,4
   206  0060                     L1
   207                           ;Main.c: 158: Timer2_Control2=1;
   208  0060  1687               	bsf	7,5
   209  0061                     l33
   210                           ;Main.c: 159: }
   211                           ;Main.c: 160: if(Task.Flag.timer3_Enlable==1)
   212  0061  1F28               	btfss	_Task,6
   213  0062  2874               	goto	l34
   214                           ;Main.c: 161: {
   215  0063  0845               	movf	_Timer3_PreScale_Counter+1,w
   216  0064  3A02               	xorlw	2
   217  0065  3057               	movlw	87
   218  0066  1903               	btfsc	3,2
   219  0067  0644               	xorwf	_Timer3_PreScale_Counter,w
   220  0068  1D03               	btfss	3,2
   221  0069  2871               	goto	l35
   222                           ;Main.c: 163: {
   223  006A  08C0               	movf	_Timer3
   224  006B  1903               	btfsc	3,2
   225  006C  03C1               	decf	_Timer3+1
   226  006D  03C0               	decf	_Timer3
   227                           ;Main.c: 165: Timer3_PreScale_Counter=0;
   228  006E  01C4               	clrf	_Timer3_PreScale_Counter
   229  006F  01C5               	clrf	_Timer3_PreScale_Counter+1
   230                           ;Main.c: 166: }
   231  0070  2874               	goto	l34
   232  0071                     l35
   233                           ;Main.c: 168: {
   234  0071  0AC4               	incf	_Timer3_PreScale_Counter
   235  0072  1903               	btfsc	3,2
   236  0073  0AC5               	incf	_Timer3_PreScale_Counter+1
   237                           ;Main.c: 170: }
   238  0074                     l34
   239                           ;Main.c: 171: }
   240  0074  1FA8               	btfss	_Task,7
   241  0075  2881               	goto	l37
   242                           ;Main.c: 173: {
   243  0076  082F               	movf	_Timer4_PreScale_Counter,w
   244  0077  3A09               	xorlw	9
   245  0078  1D03               	btfss	3,2
   246  0079  2880               	goto	l38
   247                           ;Main.c: 175: {
   248  007A  08C6               	movf	_Timer4
   249  007B  1903               	btfsc	3,2
   250  007C  03C7               	decf	_Timer4+1
   251  007D  03C6               	decf	_Timer4
   252                           ;Main.c: 177: Timer4_PreScale_Counter=0;
   253  007E  01AF               	clrf	_Timer4_PreScale_Counter
   254                           ;Main.c: 178: }
   255  007F  2881               	goto	l37
   256  0080                     l38
   257                           ;Main.c: 180: {

⌨️ 快捷键说明

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