📄 4-led-2.lst
字号:
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001
00002 LIST P=16F876A
00003 INCLUDE "P16F876A.INC"
00001 LIST
00002 ; P16F876A.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00384 LIST
00004
00005 #DEFINE DELAYTIME 0AH ;CONTROL THE cycle number of timer
00006 ;***************************************
00007 ;定义变量区
00008 ;***************************************
Warning[207]: Found label after column 1. (COUNT)
00000020 00009 COUNT EQU 20H
Warning[207]: Found label after column 1. (COUNT1)
00000021 00010 COUNT1 EQU 21H
Warning[207]: Found label after column 1. (COUNT2)
00000022 00011 COUNT2 EQU 22H
Warning[207]: Found label after column 1. (COUNT3)
00000023 00012 COUNT3 EQU 23H
Warning[207]: Found label after column 1. (CYCLE_NUM)
00000024 00013 CYCLE_NUM EQU 24H
Warning[207]: Found label after column 1. (DELAY_NUM)
00000025 00014 DELAY_NUM EQU 25H
Warning[207]: Found label after column 1. (FLAG)
00000026 00015 FLAG EQU 26H
00016
Warning[207]: Found label after column 1. (W_TEMP)
00000071 00017 W_TEMP EQU 71H
Warning[207]: Found label after column 1. (STATUS_TEMP)
00000072 00018 STATUS_TEMP EQU 72H
00019
0000 00020 ORG 0X0000
00021
0000 00022 RESET
0000 0000 00023 NOP
00024
0001 2810 00025 GOTO START
00026
00027 ;***************************************
00028 ;中断入口程序
00029 ;***************************************
0004 00030 ORG 0X0004
0004 295C 00031 GOTO INT_SERVE
00032
00033
00034
00035 ;***************************************
00036 ;主程序
00037 ;***************************************
0010 00038 ORG 0010H
0010 00039 START
0010 1303 00040 BCF STATUS,RP1
0011 1283 00041 BCF STATUS,RP0
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0012 138B 00042 BCF INTCON,GIE
0013 2131 00043 CALL INITIO
0014 2140 00044 CALL INITTMR1
0015 2147 00045 CALL INITINT
0016 178B 00046 BSF INTCON,GIE
0017 01A6 00047 CLRF FLAG
0018 00048 NO_DISPLAY
0018 01A6 00049 CLRF FLAG
0019 01A5 00050 CLRF DELAY_NUM
001A 3030 00051 MOVLW 30H
001B 0085 00052 MOVWF PORTA
001C 30E0 00053 MOVLW 0E0H
001D 0086 00054 MOVWF PORTB
001E 300F 00055 MOVLW 0FH
001F 0087 00056 MOVWF PORTC
00057
0020 00058 TEST_RB0
0020 1806 00059 BTFSC PORTB,0
0021 2823 00060 GOTO A_TEST_RB0
0022 2825 00061 GOTO TEST
00062
0023 00063 A_TEST_RB0
0023 214C 00064 CALL DELAY
0024 2820 00065 GOTO TEST_RB0
00066
0025 2151 00067 TEST CALL LONGDELAY
0026 1806 00068 BTFSC PORTB,0
0027 2820 00069 GOTO TEST_RB0
00070
00071
00072 ;The programme test the 0 bit of the flag.
00073 ;if the bit 0 is '0',the system will display
00074 ;the normal data.if the bit is '1',the register
00075 ;of delay1 will subtract 1 when the timer1 interrupt
00076 ;the data displayed will not be changed till
00077 ;the delay is subtracted to 0.
00078 ;****************************************************
00079 ;The first time
0028 00080 BEGIN
0028 3006 00081 MOVLW 06H
0029 00A5 00082 MOVWF DELAY_NUM
002A 1426 00083 BSF FLAG,0
002B 00084 OUT_1
002B 0000 00085 NOP
00086
002C 00087 TEST_RB0_1
002C 1806 00088 BTFSC PORTB,0
002D 282F 00089 GOTO A_TEST_RB0_1
002E 2833 00090 GOTO TEST_1
00091
002F 00092 A_TEST_RB0_1
002F 214C 00093 CALL DELAY
0030 1806 00094 BTFSC PORTB,0
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0031 2818 00095 GOTO NO_DISPLAY
0032 282C 00096 GOTO TEST_RB0_1
00097
0033 00098 TEST_1
0033 214C 00099 CALL DELAY
0034 1806 00100 BTFSC PORTB,0
0035 282C 00101 GOTO TEST_RB0_1
00102
0036 3032 00103 MOVLW 32H
0037 0085 00104 MOVWF PORTA
0038 30E0 00105 MOVLW 0E0H
0039 0086 00106 MOVWF PORTB
003A 300C 00107 MOVLW 0CH
003B 0087 00108 MOVWF PORTC
003C 214C 00109 CALL DELAY
00110
003D 3011 00111 MOVLW 11H
003E 0085 00112 MOVWF PORTA
003F 30E0 00113 MOVLW 0E0H
0040 0086 00114 MOVWF PORTB
0041 300D 00115 MOVLW 0DH
0042 0087 00116 MOVWF PORTC
0043 214C 00117 CALL DELAY
00118
0044 3023 00119 MOVLW 23H
0045 0085 00120 MOVWF PORTA
0046 30C2 00121 MOVLW 0C2H
0047 0086 00122 MOVWF PORTB
0048 3017 00123 MOVLW 17H
0049 0087 00124 MOVWF PORTC
004A 214C 00125 CALL DELAY
00126
004B 3030 00127 MOVLW 30H
004C 0085 00128 MOVWF PORTA
004D 30AC 00129 MOVLW 0ACH
004E 0086 00130 MOVWF PORTB
004F 3029 00131 MOVLW 29H
0050 0087 00132 MOVWF PORTC
00133
00134 ;THE bit 1 of the flag is to indicate if the display the normal data(OR the unormal data) should be over
00135
0051 1CA6 00136 BTFSS FLAG,1
0052 282B 00137 GOTO OUT_1
0053 10A6 00138 BCF FLAG,1
00139 ;************************************************
00140
00141 ;************************************************
00142 ;The second time
0054 3006 00143 MOVLW 06H
0055 00A5 00144 MOVWF DELAY_NUM
0056 1426 00145 BSF FLAG,0
0057 00146 OUT_2
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0057 0000 00147 NOP
00148
0058 00149 TEST_RB0_2
0058 1806 00150 BTFSC PORTB,0
0059 285B 00151 GOTO A_TEST_RB0_2
005A 285F 00152 GOTO TEST_2
00153
005B 00154 A_TEST_RB0_2
005B 214C 00155 CALL DELAY
005C 1806 00156 BTFSC PORTB,0
005D 2818 00157 GOTO NO_DISPLAY
005E 2858 00158 GOTO TEST_RB0_2
00159
005F 00160 TEST_2
005F 214C 00161 CALL DELAY
0060 1806 00162 BTFSC PORTB,0
0061 2858 00163 GOTO TEST_RB0_2
00164
0062 3032 00165 MOVLW 32H
0063 0085 00166 MOVWF PORTA
0064 30E0 00167 MOVLW 0E0H
0065 0086 00168 MOVWF PORTB
0066 300C 00169 MOVLW 0CH
0067 0087 00170 MOVWF PORTC
0068 214C 00171 CALL DELAY
00172
0069 3012 00173 MOVLW 12H
006A 0085 00174 MOVWF PORTA
006B 30E0 00175 MOVLW 0E0H
006C 0086 00176 MOVWF PORTB
006D 300D 00177 MOVLW 0DH
006E 0087 00178 MOVWF PORTC
006F 214C 00179 CALL DELAY
00180
0070 3027 00181 MOVLW 27H
0071 0085 00182 MOVWF PORTA
0072 30C2 00183 MOVLW 0C2H
0073 0086 00184 MOVWF PORTB
0074 3017 00185 MOVLW 17H
0075 0087 00186 MOVWF PORTC
0076 214C 00187 CALL DELAY
00188
0077 3030 00189 MOVLW 30H
0078 0085 00190 MOVWF PORTA
0079 30AE 00191 MOVLW 0AEH
007A 0086 00192 MOVWF PORTB
007B 3049 00193 MOVLW 49H
007C 0087 00194 MOVWF PORTC
00195
00196 ;THE bit 1 of the flag is to indicate if the display the normal data(OR the unormal data) should be over
00197
007D 1CA6 00198 BTFSS FLAG,1
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
007E 2857 00199 GOTO OUT_2
007F 10A6 00200 BCF FLAG,1
00201 ;************************************************
00202
00203 ;************************************************
00204 ;The third time
0080 3006 00205 MOVLW 06H
0081 00A5 00206 MOVWF DELAY_NUM
0082 1426 00207 BSF FLAG,0
0083 00208 OUT_3
0083 0000 00209 NOP
00210
0084 00211 TEST_RB0_3
0084 1806 00212 BTFSC PORTB,0
0085 2887 00213 GOTO A_TEST_RB0_3
0086 288B 00214 GOTO TEST_3
00215
0087 00216 A_TEST_RB0_3
0087 214C 00217 CALL DELAY
0088 1806 00218 BTFSC PORTB,0
0089 2818 00219 GOTO NO_DISPLAY
008A 2884 00220 GOTO TEST_RB0_3
00221
008B 00222 TEST_3
008B 214C 00223 CALL DELAY
008C 1806 00224 BTFSC PORTB,0
008D 2884 00225 GOTO TEST_RB0_3
00226
008E 3032 00227 MOVLW 32H
008F 0085 00228 MOVWF PORTA
0090 30E0 00229 MOVLW 0E0H
0091 0086 00230 MOVWF PORTB
0092 300C 00231 MOVLW 0CH
0093 0087 00232 MOVWF PORTC
0094 214C 00233 CALL DELAY
00234
0095 3013 00235 MOVLW 13H
0096 0085 00236 MOVWF PORTA
0097 30E0 00237 MOVLW 0E0H
0098 0086 00238 MOVWF PORTB
0099 300D 00239 MOVLW 0DH
009A 0087 00240 MOVWF PORTC
009B 214C 00241 CALL DELAY
00242
009C 3021 00243 MOVLW 21H
009D 0085 00244 MOVWF PORTA
009E 30C2 00245 MOVLW 0C2H
009F 0086 00246 MOVWF PORTB
00A0 3017 00247 MOVLW 17H
00A1 0087 00248 MOVWF PORTC
00A2 214C 00249 CALL DELAY
00250
00A3 3030 00251 MOVLW 30H
MPASM 5.02 4-LED-2.ASM 12-22-2008 17:07:09 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00A4 0085 00252 MOVWF PORTA
00A5 30B2 00253 MOVLW 0B2H
00A6 0086 00254 MOVWF PORTB
00A7 3029 00255 MOVLW 29H
00A8 0087 00256 MOVWF PORTC
00257
00258 ;THE bit 1 of the flag is to indicate if the display the normal data(OR the unormal data) should be over
00259
00A9 1CA6 00260 BTFSS FLAG,1
00AA 2883 00261 GOTO OUT_3
00AB 10A6 00262 BCF FLAG,1
00263 ;************************************************
00264
00265 ;************************************************
00266 ;The fourth time
00AC 3006 00267 MOVLW 06H
00AD 00A5 00268 MOVWF DELAY_NUM
00AE 1426 00269 BSF FLAG,0
00270
00AF 00271 OUT_4
00AF 0000 00272 NOP
00B0 00273 TEST_RB0_4
00B0 1806 00274 BTFSC PORTB,0
00B1 28B3 00275 GOTO A_TEST_RB0_4
00B2 28B7 00276 GOTO TEST_4
00277
00B3 00278 A_TEST_RB0_4
00B3 214C 00279 CALL DELAY
00B4 1806 00280 BTFSC PORTB,0
00B5 2818 00281 GOTO NO_DISPLAY
00B6 28B0 00282 GOTO TEST_RB0_4
00283
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -