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

📄 4-led-2.lst

📁 使用PIC控制3个4LED数码管并联延时显示数值的程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
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 + -