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

📄 eeprom.lst

📁 RFID功能中阅读器源代码,实现汽车的无钥匙进入功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
MPASM  5.14                        EEPROM.ASM   4-25-2008  16:32:27         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 #include "Project.inc"
                      00001 
                      00002 
                      00003         list p=16F639                           ; list directive to define processor
                      00004         #include <p16f639.inc>      ; processor specific variable definitions
                      00001         LIST
                      00002 ; P16F639.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                      00315         LIST
                      00005 
                      00006         ERRORLEVEL 0,-302,-312  ; Messages, Warnings and Errors Printed
                      00007                                         ; Ignore [301] => Processor Mismatch. 
                      00008                                         ; Ignore [302] => Register in operand not in bank 0. 
                      00009                                                                 ; Ignore [312] => Pagesel not needed for
                             Device
                      00002 
                      00003      udata
0000                  00004 EEPROM_ByteCount    res 1  
0001                  00005 EEPROM_ADDRESS          res 1
  0000                00006     global EEPROM_ByteCount,EEPROM_ADDRESS
Error[113]  : Symbol not previously defined (EEPROM_Init)
  0000                00007         global EEPROM_Init,EEPROM_Write,EEPROM_WriteBytes,EEPROM_ReadBytes,EEPROM_Read
                      00008 flag_ovr          udata_ovr  ;此伪指令声明开始一段被覆盖的未初始化的数据,此段声明的空间被所有其他同名的 
                            udata_ovr段覆盖。由于它允
                      00009                          ;许在同一个存储器单元中声明多个变量,因此这是一种声明临时变量的理想方法。此段不
                            会生成代码。
                      00010                          ;应该使用 res 伪指令来为数据保留空间。
0000                  00011 flag res 1              ;using bit 1 of flag register
                      00012     code
Error[111]  : Missing symbol
                      00013 -----------------------------------------------
                      00014 ;初始化
Error[111]  : Missing symbol
                      00015 -----------------------------------------------
0000                  00016 EEPROM.Init
0000   1683 1303      00017     banksel EEDATA      
0002   019A           00018         clrf    EEDATA
0003   019B           00019         clrf    EEADR
0004   019C           00020         clrf    EECON1
0005   019D           00021         clrf    EECON2
0006   0008           00022         return
Error[111]  : Missing symbol
0006   0008           00023 --------------------------------------------------------------------------------------------------------
                            -------------------------------
                      00024 ; input:
                      00025 ;      w:要写入EEPROM的数据
                      00026 ;      EEPROM_ADDRESS:写入EEPROM的地址
Error[111]  : Missing symbol
                      00027 --------------------------------------------------------------------------------------------------------
                            -------------------------------
0007                  00028 EEPROM_Write
0007   1683 1303      00029     banksel EEDATA   
0009   009A           00030     movwf EEDATA ; 
000A   1683 1303      00031     banksel EEADR
MPASM  5.14                        EEPROM.ASM   4-25-2008  16:32:27         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

000C   08??           00032     movf EEPROM_ADDRESS,w  
000D   1683 1303      00033     banksel EEADR
000F   009B           00034     movwf EEADR
                      00035 
0010                  00036 EEWRITE2
0010   151C           00037         bsf             EECON1,WREN             ; 允许写周期
0011   3055           00038         movlw   55H
0012   009D           00039         movwf   EECON2                  ; Write 55H
0013   30AA           00040         movlw   0AAH
0014   009D           00041         movwf   EECON2                  ; Write AAH
0015   149C           00042         bsf             EECON1,WR               ; 开始写周期
                      00043 
0016                  00044 WR_WAIT
0016   0064           00045         CLRWDT
0017   189C           00046         btfsc   EECON1,WR               ; Wait for write to complete
0018   2???           00047         goto    WR_WAIT
0019                  00048 EEWRITE3 ;不使能写EEPROM
0019   111C           00049         bcf             EECON1,WREN                     ; 禁止写周期
001A   ???? ????      00050         banksel EEPROM_ADDRESS
001C   0A??           00051         incf    EEPROM_ADDRESS,F        ; Auto-increase Address Pointer
001D   ???? ????      00052         banksel flag
001F   1C80           00053         btfss   flag,.1
0020   3400           00054         retlw   0H
0021   2???           00055         goto    Return_Write
Error[111]  : Missing symbol
0021   2???           00056 --------------------------------------------------------------------------------------------------------
                            --------------------------
                      00057 ; input:
                      00058 ;       w:要写入的字节数
                      00059 ;       EEPROM_ADDRESS:要写入EEPROM的初始地址
                      00060 ;       FSR:要写入EEPROM的数据在RAM中存放的初始地址
                      00061 ; output:
                      00062 ;       flag.0=1表示成功
Error[111]  : Missing symbol
                      00063 --------------------------------------------------------------------------------------------------------
                            --------------------------
0022                  00064 EEPROM_WriteBytes
0022   ???? ????      00065     banksel flag
0024   1480           00066     bsf flag,.1
0025   ???? ????      00067     banksel EEPROM_ByteCount
0027   00??           00068     movwf EEPROM_ByteCount
0028                  00069 EEPROM_WriteBytes_Loop
0028   1383           00070     bankisel PORTA
0029   0800           00071     movf INDF,w
002A   2???           00072     goto EEPROM_Write 
002B                  00073 Return_Write  
002B   0A84           00074     incf FSR,f  
002C   ???? ????      00075     banksel EEPROM_ByteCount
002E   0B??           00076     decfsz EEPROM_ByteCount,f
002F   2???           00077     goto EEPROM_WriteBytes_Loop
0030   ???? ????      00078     banksel flag
0032   1080           00079     bcf flag,.1
0033   0008           00080     return
MPASM  5.14                        EEPROM.ASM   4-25-2008  16:32:27         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

Error[111]  : Missing symbol
0033   0008           00081 --------------------------------------------------------------------------------------------------------
                            ----------------------------
                      00082 ; input:
                      00083 ;     EEPROM_ADDRESS:要读取EEPROM数据的地址
                      00084 ; output:
                      00085 ;     w:读出的数据    
Error[111]  : Missing symbol
                      00086 --------------------------------------------------------------------------------------------------------
                            ------------------------
0034                  00087 EEPROM_Read
0034   ???? ????      00088     banksel EEPROM_ADDRESS
0036   08??           00089     movf EEPROM_ADDRESS,w
0037   1683 1303      00090     banksel EEADR
0039   009B           00091     movwf EEADR
                      00092 
003A   141C           00093         bsf             EECON1,RD                       ; Command read
003B   081A           00094         movf    EEDATA,w                        ; Get data
                      00095 
003C   ???? ????      00096         banksel EEPROM_ADDRESS
003E   0A??           00097         incf    EEPROM_ADDRESS,f        ; Auto-increase Address Pointer
003F   ???? ????      00098         banksel flag
0041   1C80           00099         btfss   flag,.1
0042   0008           00100         return                                          ; Return without changing w-register
0043   2???           00101         goto    Return_Read
Error[111]  : Missing symbol
0043   2???           00102 --------------------------------------------------------------------------------------------------------
                            --------------------------
                      00103 ; input:
                      00104 ;       w:要读出的字节数
                      00105 ;       EEPROM_ADDRESS:要读出值的初始地址
                      00106 ;       FSR:要读取EEPROM的数据在RAM中存放的初始地址
                      00107 ;output:
                      00108 ;       flag.0=0表示成功
Error[111]  : Missing symbol
                      00109 --------------------------------------------------------------------------------------------------------
                            --------------------------
0044                  00110 EEPROM_ReadBytes
0044   ???? ????      00111     banksel flag
0046   1480           00112     bsf flag,.1
0047   ???? ????      00113     banksel EEPROM_ByteCount
0049   00??           00114     movwf EEPROM_ByteCount
004A                  00115 EEPROM_ReadBytes_Loop
004A   2???           00116     goto EEPROM_Read
004B                  00117 Return_Read   
004B   1383           00118     bankisel PORTA
004C   0080           00119     movwf INDF
004D   0A84           00120     incf FSR,f
004E   ???? ????      00121     banksel EEPROM_ByteCount
0050   0B??           00122     decfsz EEPROM_ByteCount,f
0051   2???           00123     goto EEPROM_ReadBytes_Loop
0052   ???? ????      00124     banksel flag
0054   1080           00125     bcf flag,.1
MPASM  5.14                        EEPROM.ASM   4-25-2008  16:32:27         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00126     ;movf EEPROM_ByteCount,w
                      00127     ;subwf FSR,f
0055   0008           00128     return
                      00129       END
MPASM  5.14                        EEPROM.ASM   4-25-2008  16:32:27         PAGE  5


SYMBOL TABLE
  LABEL                             VALUE 

C                                 00000000
C1IE                              00000003
C1IF                              00000003
C1INV                             00000004
C1OUT                             00000006
C2IE                              00000004
C2IF                              00000004
C2INV                             00000005
C2OUT                             00000007
C2SYNC                            00000000
CIS                               00000003
CM0                               00000000
CM1                               00000001
CM2                               00000002

⌨️ 快捷键说明

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