?? 3-led-2-delay.lst
字號:
MPASM 5.02 3-LED-2-DELAY.ASM 12-22-2008 17:05:13 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 28C6 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 3-LED-2-DELAY.ASM 12-22-2008 17:05:13 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0012 138B 00042 BCF INTCON,GIE
0013 209B 00043 CALL INITIO
0014 20AA 00044 CALL INITTMR1
0015 20B1 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 300E 00055 MOVLW 0EH
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 20B6 00064 CALL DELAY
0024 2820 00065 GOTO TEST_RB0
00066
0025 20BB 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
00080
00081
00082 ;****************************************************
00083 ;The first time
00084 ;****************************************************
00085 ;The first time
0028 00086 BEGIN
00087
0028 301C 00088 MOVLW 1CH
0029 00A5 00089 MOVWF DELAY_NUM
002A 1426 00090 BSF FLAG,0
002B 00091 OUT_1
002B 0000 00092 NOP
00093
002C 00094 TEST_RB0_1
MPASM 5.02 3-LED-2-DELAY.ASM 12-22-2008 17:05:13 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
002C 1806 00095 BTFSC PORTB,0
002D 282F 00096 GOTO A_TEST_RB0_1
002E 2833 00097 GOTO TEST_1
00098
002F 00099 A_TEST_RB0_1
002F 20B6 00100 CALL DELAY
0030 1806 00101 BTFSC PORTB,0
0031 2818 00102 GOTO NO_DISPLAY
0032 282C 00103 GOTO TEST_RB0_1
00104
0033 00105 TEST_1
0033 20B6 00106 CALL DELAY
0034 1806 00107 BTFSC PORTB,0
0035 282C 00108 GOTO TEST_RB0_1
00109
0036 3030 00110 MOVLW 30H
0037 0085 00111 MOVWF PORTA
0038 3060 00112 MOVLW 60H
0039 0086 00113 MOVWF PORTB
003A 300C 00114 MOVLW 0CH
003B 0087 00115 MOVWF PORTC
003C 20B6 00116 CALL DELAY
00117
003D 3016 00118 MOVLW 16H
003E 0085 00119 MOVWF PORTA
003F 30AA 00120 MOVLW 0AAH
0040 0086 00121 MOVWF PORTB
0041 3006 00122 MOVLW 06H
0042 0087 00123 MOVWF PORTC
0043 20B6 00124 CALL DELAY
00125
0044 3026 00126 MOVLW 26H
0045 0085 00127 MOVWF PORTA
0046 30CE 00128 MOVLW 0CEH
0047 0086 00129 MOVWF PORTB
0048 306A 00130 MOVLW 6AH
0049 0087 00131 MOVWF PORTC
004A 20B6 00132 CALL DELAY
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
004B 1CA6 00136 BTFSS FLAG,1
004C 282B 00137 GOTO OUT_1
004D 10A6 00138 BCF FLAG,1
00139 ;************************************************
00140
00141 ;************************************************
00142 ;The second time
00143
004E 301C 00144 MOVLW 1CH
004F 00A5 00145 MOVWF DELAY_NUM
0050 1426 00146 BSF FLAG,0
MPASM 5.02 3-LED-2-DELAY.ASM 12-22-2008 17:05:13 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0051 00147 OUT_2
0051 0000 00148 NOP
0052 00149 TEST_RB0_2
0052 1806 00150 BTFSC PORTB,0
0053 2855 00151 GOTO A_TEST_RB0_2
0054 2859 00152 GOTO TEST_2
00153
0055 00154 A_TEST_RB0_2
0055 20B6 00155 CALL DELAY
0056 1806 00156 BTFSC PORTB,0
0057 2818 00157 GOTO NO_DISPLAY
0058 2852 00158 GOTO TEST_RB0_2
00159
0059 00160 TEST_2
0059 20B6 00161 CALL DELAY
005A 1806 00162 BTFSC PORTB,0
005B 2852 00163 GOTO TEST_RB0_2
00164
005C 3030 00165 MOVLW 30H
005D 0085 00166 MOVWF PORTA
005E 3060 00167 MOVLW 60H
005F 0086 00168 MOVWF PORTB
0060 300C 00169 MOVLW 0CH
0061 0087 00170 MOVWF PORTC
0062 20B6 00171 CALL DELAY
00172
0063 3016 00173 MOVLW 16H
0064 0085 00174 MOVWF PORTA
0065 30AA 00175 MOVLW 0AAH
0066 0086 00176 MOVWF PORTB
0067 3016 00177 MOVLW 16H
0068 0087 00178 MOVWF PORTC
0069 20B6 00179 CALL DELAY
00180
006A 3025 00181 MOVLW 25H
006B 0085 00182 MOVWF PORTA
006C 30CC 00183 MOVLW 0CCH
006D 0086 00184 MOVWF PORTB
006E 302A 00185 MOVLW 2AH
006F 0087 00186 MOVWF PORTC
0070 20B6 00187 CALL DELAY
00188
00189 ;THE bit 1 of the flag is to indicate if the display the normal data(OR the unormal data) should be over
00190
0071 1CA6 00191 BTFSS FLAG,1
0072 2851 00192 GOTO OUT_2
0073 10A6 00193 BCF FLAG,1
00194 ;************************************************
00195
00196 ;************************************************
00197 ;The third time
00198
MPASM 5.02 3-LED-2-DELAY.ASM 12-22-2008 17:05:13 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0074 301C 00199 MOVLW 1CH
0075 00A5 00200 MOVWF DELAY_NUM
0076 1426 00201 BSF FLAG,0
0077 00202 OUT_3
0077 0000 00203 NOP
00204
0078 00205 TEST_RB0_3
0078 1806 00206 BTFSC PORTB,0
0079 287B 00207 GOTO A_TEST_RB0_3
007A 287F 00208 GOTO TEST_3
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -