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

📄 control.lst

📁 VGA视频切换矩阵源玛,采用PIC单片机16F628实现8*8的视频切换.
💻 LST
📖 第 1 页 / 共 3 页
字号:
0064   3000           00190                 MOVLW           0H              ;1号输出通道输出1号输入信号
0065   00B9           00191                 MOVWF           out_numble      ;
0066   200C           00192                 CALL            SEL_INX_OUTY    ;
                      00193 
0067   3000           00194                 MOVLW           0H
0068   00B8           00195                 MOVWF           in_numble       ;
0069   3001           00196                 MOVLW           1H              ;2号输出通道输出1号输入信号
006A   00B9           00197                 MOVWF           out_numble      ;
006B   200C           00198                 CALL            SEL_INX_OUTY    ;
                      00199 
006C   3000           00200                 MOVLW           0H
006D   00B8           00201                 MOVWF           in_numble       ;
006E   3002           00202                 MOVLW           2H              ;3号输出通道输出1号输入信号
006F   00B9           00203                 MOVWF           out_numble      ;
0070   200C           00204                 CALL            SEL_INX_OUTY    ;
                      00205 
MPASM  4.02 Released                              CONTROL.ASM   5-11-2006  20:48:14         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0071   3000           00206                 MOVLW           0H
0072   00B8           00207                 MOVWF           in_numble       ;
0073   3003           00208                 MOVLW           3H              ;4号输出通道输出1号输入信号
0074   00B9           00209                 MOVWF           out_numble      ;
0075   200C           00210                 CALL            SEL_INX_OUTY    ;
0076   0008           00211                 RETURN                          
                      00212 ;******************************************************************************
                      00213 ;主程序
                      00214 ;功能:完成4个按键的状态查询,并根据按键的状态进行切换选择输入信号
                      00215 ;******************************************************************************
0077                  00216 MAIN:
0077   2058           00217                 CALL            INIT_PORT       ;初始化IO
0078   168B           00218                 BSF             INTCON,T0IE     ;允许定时器0中断
0079   178B           00219                 BSF             INTCON,GIE      ;打开全局中断
007A                  00220 LOOP:
007A   0064           00221                 CLRWDT                          ;
007B                  00222 CHECK_KEY0:                                     ;检测按键1
007B   1B86           00223                 BTFSC           IN_OUT_PORT,KEY0
007C   288E           00224                 GOTO            CLR_TIME0       ;
007D   3003           00225                 MOVLW           3H              ;去抖动
007E   0230           00226                 SUBWF           TIMER15S1,W     ;
007F   1C03           00227                 BTFSS           STATUS,C        ;
0080   2890           00228                 GOTO            CHECK_KEY1      ;
                      00229                 
0081   3004           00230                 MOVLW           4H              ;检测按键是否循环了4次
0082   0234           00231                 SUBWF           out_reg0,W      ;
0083   1803           00232                 BTFSC           STATUS,C        ;
0084   01B4           00233                 CLRF            out_reg0        ;
                      00234 
0085   0834           00235                 MOVF            out_reg0,W      ;选择相应的输入信号给1号输出通道
0086   00B8           00236                 MOVWF           in_numble       ;
0087   3000           00237                 MOVLW           0H
0088   00B9           00238                 MOVWF           out_numble      ;
0089   200C           00239                 CALL            SEL_INX_OUTY    ;
008A   0AB4           00240                 INCF            out_reg0,F      ;
008B                  00241 WAIT0:
008B   0064           00242                 CLRWDT                          ;
008C   1F86           00243                 BTFSS           IN_OUT_PORT,KEY0
008D   288B           00244                 GOTO            WAIT0           ;检测按键有无松开
                      00245                 
008E                  00246 CLR_TIME0:
008E   01B0           00247                 CLRF            TIMER15S1       ;
008F   2890           00248                 GOTO            CHECK_KEY1      
                      00249                 
                      00250 ;******************************************************************************
0090                  00251 CHECK_KEY1:                                     ;检测按键2
0090   1B06           00252                 BTFSC           IN_OUT_PORT,KEY1
0091   28A3           00253                 GOTO            CLR_TIME1       ;
0092   3003           00254                 MOVLW           3H              ;去抖动
0093   0231           00255                 SUBWF           TIMER15S2,W     ;
0094   1C03           00256                 BTFSS           STATUS,C        ;
0095   28A5           00257                 GOTO            CHECK_KEY2      ;
                      00258                 
MPASM  4.02 Released                              CONTROL.ASM   5-11-2006  20:48:14         PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0096   3004           00259                 MOVLW           4H              ;检测按键是否循环了4次
0097   0235           00260                 SUBWF           out_reg1,W      ;
0098   1803           00261                 BTFSC           STATUS,C        ;
0099   01B5           00262                 CLRF            out_reg1        ;
                      00263 
009A   0835           00264                 MOVF            out_reg1,W      ;选择相应的输入信号给2号输出通道
009B   00B8           00265                 MOVWF           in_numble       ;
009C   3001           00266                 MOVLW           1H
009D   00B9           00267                 MOVWF           out_numble      ;
009E   200C           00268                 CALL            SEL_INX_OUTY    ;
009F   0AB5           00269                 INCF            out_reg1,F      ;
00A0                  00270 WAIT1:
00A0   0064           00271                 CLRWDT                          ;
00A1   1F06           00272                 BTFSS           IN_OUT_PORT,KEY1
00A2   28A0           00273                 GOTO            WAIT1           ;检测按键有无松开
                      00274                 
00A3                  00275 CLR_TIME1:
00A3   01B1           00276                 CLRF            TIMER15S2       ;
00A4   28A5           00277                 GOTO            CHECK_KEY2
                      00278 
                      00279 ;******************************************************************************
00A5                  00280 CHECK_KEY2:                                     ;检测按键3
00A5   1A86           00281                 BTFSC           IN_OUT_PORT,KEY2
00A6   28B8           00282                 GOTO            CLR_TIME2       ;
00A7   3003           00283                 MOVLW           3H              ;去抖动
00A8   0232           00284                 SUBWF           TIMER15S3,W     ;
00A9   1C03           00285                 BTFSS           STATUS,C        ;
00AA   28BA           00286                 GOTO            CHECK_KEY3      ;
                      00287                 
00AB   3004           00288                 MOVLW           4H              ;检测按键是否循环了4次
00AC   0236           00289                 SUBWF           out_reg2,W      ;
00AD   1803           00290                 BTFSC           STATUS,C        ;
00AE   01B6           00291                 CLRF            out_reg2        ;
                      00292 
00AF   0836           00293                 MOVF            out_reg2,W      ;选择相应的输入信号给3号输出通道
00B0   00B8           00294                 MOVWF           in_numble       ;
00B1   3002           00295                 MOVLW           2H
00B2   00B9           00296                 MOVWF           out_numble      ;
00B3   200C           00297                 CALL            SEL_INX_OUTY    ;
00B4   0AB6           00298                 INCF            out_reg2,F      ;
00B5                  00299 WAIT2:
00B5   0064           00300                 CLRWDT                          ;
00B6   1E86           00301                 BTFSS           IN_OUT_PORT,KEY2
00B7   28B5           00302                 GOTO            WAIT2           ;检测按键有无松开
                      00303                 
00B8                  00304 CLR_TIME2:
00B8   01B2           00305                 CLRF            TIMER15S3       ;
00B9   28BA           00306                 GOTO            CHECK_KEY3
                      00307 
                      00308 ;******************************************************************************
00BA                  00309 CHECK_KEY3:                                     ;检测按键4
00BA   1A06           00310                 BTFSC           IN_OUT_PORT,KEY3
00BB   28CD           00311                 GOTO            CLR_TIME3       ;
MPASM  4.02 Released                              CONTROL.ASM   5-11-2006  20:48:14         PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

00BC   3003           00312                 MOVLW           3H              ;去抖动
00BD   0233           00313                 SUBWF           TIMER15S4,W     ;
00BE   1C03           00314                 BTFSS           STATUS,C        ;
00BF   287A           00315                 GOTO            LOOP            ;
                      00316                 
00C0   3004           00317                 MOVLW           4H              ;检测按键是否循环了4次
00C1   0237           00318                 SUBWF           out_reg3,W      ;
00C2   1803           00319                 BTFSC           STATUS,C        ;
00C3   01B7           00320                 CLRF            out_reg3        ;
                      00321 
00C4   0837           00322                 MOVF            out_reg3,W      ;选择相应的输入信号给4号输出通道
00C5   00B8           00323                 MOVWF           in_numble       ;
00C6   3003           00324                 MOVLW           3H
00C7   00B9           00325                 MOVWF           out_numble      ;
00C8   200C           00326                 CALL            SEL_INX_OUTY    ;
00C9   0AB7           00327                 INCF            out_reg3,F      ;
00CA                  00328 WAIT3:
00CA   0064           00329                 CLRWDT                          ;
00CB   1E06           00330                 BTFSS           IN_OUT_PORT,KEY3
00CC   28CA           00331                 GOTO            WAIT3           ;检测按键有无松开
                      00332                 
00CD                  00333 CLR_TIME3:
00CD   01B3           00334                 CLRF            TIMER15S4       ;
00CE   287A           00335                 GOTO            LOOP            ;循环
                      00336 ;******************************************************************************
                      00337                 END
MPASM  4.02 Released                              CONTROL.ASM   5-11-2006  20:48:14         PAGE  8


SYMBOL TABLE
  LABEL                             VALUE 

ADEN                              00000003
BRGH                              00000002
C                                 00000000
C1INV                             00000004
C1OUT                             00000006
C2INV                             00000005
C2OUT                             00000007
CCP1CON                           00000017
CCP1IE                            00000002
CCP1IF                            00000002
CCP1M0                            00000000
CCP1M1                            00000001
CCP1M2                            00000002
CCP1M3                            00000003
CCP1X                             00000005
CCP1Y                             00000004
CCPR1H                            00000016
CCPR1L                            00000015
CHECK_IN0                         0000000D
CHECK_IN1                         00000014
CHECK_IN2                         0000001B
CHECK_IN3                         00000022
CHECK_KEY0                        0000007B
CHECK_KEY1                        00000090
CHECK_KEY2                        000000A5
CHECK_KEY3                        000000BA
CHECK_OUT0                        00000029
CHECK_OUT1                        00000030
CHECK_OUT2                        00000037
CHECK_OUT3                        0000003E
CIS                               00000003
CLR_TIME0                         0000008E
CLR_TIME1                         000000A3
CLR_TIME2                         000000B8
CLR_TIME3                         000000CD
CM0                               00000000
CM1                               00000001
CM2                               00000002
CMCON                             0000001F
CMIE                              00000006
CMIF                              00000006
CONTROL_DDR                       00000085
CONTROL_PORT                      00000005
CREN                              00000004
CSRC                              00000007
DC                                00000001
EEADR                             0000009B
EECON1                            0000009C

⌨️ 快捷键说明

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