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

📄 blind_clock.lst

📁 盲人时钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
MPASM  4.00 Released                          BLIND_CLOCK.ASM   9-28-2008  6:09:53         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 ;盲人用电子钟源程序
                      00002 ;晶振:4MHz
                      00003 ;作者:江苏南通 吴汉清 Email: ntwhq@tom.com
                      00004 #INCLUDE "P12F629.INC"
                      00001         LIST
                      00002 ; P12F629.INC  Standard Header File, Version 1.04    Microchip Technology, Inc.
                      00258         LIST
  00000020            00005 W_TEMP  EQU     20H
  00000021            00006 ST_TEMP EQU     21H
  00000022            00007 TEMP    EQU     22H
  00000023            00008 M               EQU     23H   ; 分寄存器 
  00000024            00009 T               EQU     24H   ; 十分寄存器 
  00000025            00010 H               EQU     25H   ; 时寄存器 
  00000026            00011 I               EQU     26H
  00000027            00012 J               EQU     27H
  00000028            00013 X               EQU     28H
  00000029            00014 Y               EQU     29H
  0000002A            00015 N               EQU     2AH
                      00016 
0000                  00017                 ORG     000H
0000   0000           00018                 NOP                                     
0001   2827           00019         GOTO    MAIN
0004                  00020                 ORG     004H
                      00021 
0004                  00022 TMR1SERV                 ;定时中断子程序
0004   00A0           00023                 MOVWF   W_TEMP
0005   0803           00024                 MOVF    STATUS,0
0006   00A1           00025                 MOVWF   ST_TEMP
0007   100C           00026                 BCF             PIR1,0
0008   30DC           00027                 MOVLW   0DCH     ;定时时间0.5S
0009   008E           00028                 MOVWF   TMR1L
000A   300B           00029                 MOVLW   0BH
000B   008F           00030                 MOVWF   TMR1H
000C   0BA6           00031                 DECFSZ  I,1
000D   2823           00032                 GOTO    JUMP
000E   3078           00033                 MOVLW   78H
000F   00A6           00034                 MOVWF   I
0010   0AA3           00035                 INCF    M,1             ;每中断125次时间增加1分钟
0011   0823           00036                 MOVF    M,0
0012   3C09           00037                 SUBLW   09H
0013   1803           00038                 BTFSC   STATUS,C;超过10分钟,跳一步
0014   2823           00039                 GOTO    JUMP
0015   01A3           00040                 CLRF    M               ;分位清零
0016   0AA4           00041                 INCF    T,1             ;十分位加1
0017   0824           00042                 MOVF    T,0
0018   3C05           00043                 SUBLW   05H     
0019   1803           00044                 BTFSC   STATUS,C;超过60分钟,跳一步
001A   2823           00045                 GOTO    JUMP
001B   01A4           00046                 CLRF    T               ;十分位清零
001C   0AA5           00047                 INCF    H,1             ;小时位加1
001D   0825           00048                 MOVF    H,0
001E   3C0B           00049                 SUBLW   0BH     
001F   1803           00050                 BTFSC   STATUS,C;超过12小时,跳一步
MPASM  4.00 Released                          BLIND_CLOCK.ASM   9-28-2008  6:09:53         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0020   2823           00051                 GOTO    JUMP
0021   01A5           00052                 CLRF    H               ;小时位清零
0022   2823           00053                 GOTO    JUMP    
0023   0821           00054 JUMP    MOVF    ST_TEMP,0
0024   0083           00055                 MOVWF   STATUS
0025   0820           00056                 MOVF    W_TEMP,0        
0026   0009           00057                 RETFIE
                      00058 
0027                  00059 MAIN                                            ;主程序
0027   01A3           00060                 CLRF    M                       ;初始化
0028   01A5           00061                 CLRF    H
0029   01A4           00062                 CLRF    T
002A   3078           00063                 MOVLW   78H
002B   00A6           00064                 MOVWF   I
002C   1683           00065                 BSF             STATUS,RP0
002D   300E           00066                 MOVLW   0EH        ;GP1、GP2、GP3作输入,GP0作输出
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
002E   0085           00067                 MOVWF   TRISIO
002F   3007           00068                 MOVLW   07H            ;允许GPIO上拉,选择内部时钟      
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0030   0081           00069                 MOVWF   OPTION_REG 
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0031   140C           00070                 BSF             PIE1,0
0032   1283           00071                 BCF             STATUS,RP0
0033   3007           00072                 MOVLW   07H       ;禁止使用比较器 
0034   0099           00073                 MOVWF   CMCON
0035   3034           00074                 MOVLW   34H
0036   0090           00075                 MOVWF   T1CON     ;预分频器设为"1:8"
0037   30C0           00076                 MOVLW   0C0H      ;开TIMER1定时中断
0038   008B           00077                 MOVWF   INTCON
0039   30DC           00078                 MOVLW   0DCH      ;定时时间0.5S
003A   008E           00079                 MOVWF   TMR1L
003B   300B           00080                 MOVLW   0BH     
003C   008F           00081                 MOVWF   TMR1H
003D   1410           00082                 BSF             T1CON,0   ;启动TMR1开始计数
003E   1005           00083                 BCF     GPIO,GP0
003F   1885           00084 LOOPM   BTFSC   GPIO,GP1  ;分位按键扫描
0040   2859           00085                 GOTO    LOOPT
0041   2098           00086                 CALL    DELAY01S
0042   1885           00087                 BTFSC   GPIO,GP1
0043   2859           00088                 GOTO    LOOPT
0044   01A7           00089                 CLRF    J
0045   2098           00090 LOOPM_1 CALL    DELAY01S
0046   0AA7           00091                 INCF    J,1
0047   0827           00092                 MOVF    J,0
0048   3C14           00093                 SUBLW   14H
0049   1803           00094                 BTFSC   STATUS,C
004A   2854           00095                 GOTO    LOOPM_2
004B   0AA3           00096                 INCF    M,1
004C   0823           00097                 MOVF    M,0
004D   3C09           00098                 SUBLW   09H
004E   1C03           00099                 BTFSS   STATUS,C
004F   01A3           00100                 CLRF    M
MPASM  4.00 Released                          BLIND_CLOCK.ASM   9-28-2008  6:09:53         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0050   3001           00101                 MOVLW   01H
0051   00A2           00102                 MOVWF   TEMP
0052   208E           00103                 CALL    SPEAKER
0053   283F           00104                 GOTO    LOOPM   
0054   1C85           00105 LOOPM_2 BTFSS   GPIO,GP1
0055   2845           00106                 GOTO    LOOPM_1
0056   0823           00107                 MOVF    M,0
0057   00A2           00108                 MOVWF   TEMP
0058   208E           00109                 CALL    SPEAKER         
0059   1905           00110 LOOPT   BTFSC   GPIO,GP2        ;十分位按键扫描
005A   2873           00111                 GOTO    LOOPH
005B   2098           00112                 CALL    DELAY01S
005C   1905           00113                 BTFSC   GPIO,GP2
005D   2873           00114                 GOTO    LOOPH
005E   01A7           00115                 CLRF    J
005F   2098           00116 LOOPT_1 CALL    DELAY01S
0060   0AA7           00117                 INCF    J,1
0061   0827           00118                 MOVF    J,0
0062   3C14           00119                 SUBLW   14H
0063   1803           00120                 BTFSC   STATUS,C
0064   286E           00121                 GOTO    LOOPT_2
0065   0AA4           00122                 INCF    T,1
0066   0824           00123                 MOVF    T,0
0067   3C05           00124                 SUBLW   05H
0068   1C03           00125                 BTFSS   STATUS,C
0069   01A4           00126                 CLRF    T
006A   3001           00127                 MOVLW   01H
006B   00A2           00128                 MOVWF   TEMP
006C   208E           00129                 CALL    SPEAKER
006D   2859           00130                 GOTO    LOOPT
006E   1D05           00131 LOOPT_2 BTFSS   GPIO,GP2
006F   285F           00132                 GOTO    LOOPT_1
0070   0824           00133                 MOVF    T,0
0071   00A2           00134                 MOVWF   TEMP
0072   208E           00135                 CALL    SPEAKER
0073   1985           00136 LOOPH   BTFSC   GPIO,GP3        ;时位按键扫描
0074   283F           00137                 GOTO    LOOPM
0075   2098           00138                 CALL    DELAY01S
0076   1985           00139                 BTFSC   GPIO,GP3
0077   283F           00140                 GOTO    LOOPM
0078   01A7           00141                 CLRF    J
0079   2098           00142 LOOPH_1 CALL    DELAY01S
007A   0AA7           00143                 INCF    J,1
007B   0827           00144                 MOVF    J,0
007C   3C14           00145                 SUBLW   14H
007D   1803           00146                 BTFSC   STATUS,C
007E   2888           00147                 GOTO    LOOPH_2
007F   0AA5           00148                 INCF    H,1
0080   0825           00149                 MOVF    H,0
0081   3C0B           00150                 SUBLW   0BH
0082   1C03           00151                 BTFSS   STATUS,C
0083   01A5           00152                 CLRF    H
0084   3001           00153                 MOVLW   01H
MPASM  4.00 Released                          BLIND_CLOCK.ASM   9-28-2008  6:09:53         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0085   00A2           00154                 MOVWF   TEMP
0086   208E           00155                 CALL    SPEAKER
0087   2873           00156                 GOTO    LOOPH   
0088   1D85           00157 LOOPH_2 BTFSS   GPIO,GP3
0089   2879           00158                 GOTO    LOOPH_1
008A   0825           00159                 MOVF    H,0
008B   00A2           00160                 MOVWF   TEMP
008C   208E           00161                 CALL    SPEAKER
008D   283F           00162                 GOTO    LOOPM
                      00163 
008E                  00164 SPEAKER                           ;发声子程序
008E   0AA2           00165                 INCF    TEMP,1
008F   0BA2           00166 S1              DECFSZ  TEMP,1
0090   2892           00167                 GOTO    S2
0091   2897           00168                 GOTO    S3
0092   1405           00169 S2              BSF             GPIO,GP0
0093   20A1           00170                 CALL    DELAY025S
0094   1005           00171                 BCF             GPIO,GP0
0095   20A1           00172                 CALL    DELAY025S
0096   288F           00173                 GOTO    S1
0097   0008           00174 S3              RETURN
                      00175 
0098                  00176 DELAY01S                  ;0.1s延时子程序
0098   3084           00177                 MOVLW   84H       
0099   00A8           00178                 MOVWF   X
009A   30FB           00179 D01_1   MOVLW   0FBH
009B   00A9           00180                 MOVWF   Y
009C   0BA9           00181 D01_2   DECFSZ  Y,1
009D   289C           00182                 GOTO    D01_2
009E   0BA8           00183                 DECFSZ  X,1
009F   289A           00184                 GOTO    D01_1
00A0   0008           00185                 RETURN
                      00186         
00A1                  00187 DELAY025S                         ;0.5s延时子程序
00A1   3005           00188                 MOVLW   05H
00A2   00AA           00189                 MOVWF   N
00A3   3042           00190 D025_1  MOVLW   42H       
00A4   00A8           00191                 MOVWF   X
00A5   30FB           00192 D025_2  MOVLW   0FBH
00A6   00A9           00193                 MOVWF   Y
00A7   0BA9           00194 D025_3  DECFSZ  Y,1

⌨️ 快捷键说明

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