📄 main.lst
字号:
00012
0005 00013 ORG 0005H
0005 00014 START:
00015 INCLUDE "S_REG.ASM"
00001 ;////////////////////////////////////////////////
00002 ;SET I/O PORT
00003 ;////////////////////////////////////////////////
00004
00005 ;SET OUTPUT STATE ; BIT =(7|6|5|4|3|2|1|0)
0005 0186 00006 CLRF PORTB ;PORTB=(L|L|L|L|L|L|L|L)
0006 30FF 00007 MOVLW 0XFF;B'01101000'
0007 0087 00008 MOVWF PORTC
0008 30FF 00009 MOVLW 0XFF
0009 0088 00010 MOVWF PORTD ;PORTD=(H|H|H|H|H|H|H|H)
00011
000A 0185 00012 CLRF PORTA ;PORTA=(L|L|L|L|L|L|L|L)
000B 0189 00013 CLRF PORTE ;PORTE=(L|L|L|L|L|L|L|L)
00014
00015 ;SET I/O PIN DIRECTION
000C 1683 00016 BSF STATUS,RP0 ;TO BANK1
Message[302]: Argument out of range. Least significant bits used.
000D 0188 00017 CLRF TRISD
Message[302]: Argument out of range. Least significant bits used.
000E 0186 00018 CLRF TRISB ;SET PORTB IS OUTPUT PORT
000F 30DC 00019 MOVLW B'11011100'
Message[302]: Argument out of range. Least significant bits used.
0010 0085 00020 MOVWF TRISA
00021
0011 3006 00022 MOVLW B'00000110'
Message[302]: Argument out of range. Least significant bits used.
0012 009F 00023 MOVWF ADCON1
00024
0013 3004 00025 MOVLW B'00000100'
Message[302]: Argument out of range. Least significant bits used.
0014 0089 00026 MOVWF TRISE
0015 1283 00027 BCF STATUS,RP0 ;TO BANK0
00028
00029 ;////////////////////////////////////////////////
00030 ;SET SPI COMMAND
00031 ;////////////////////////////////////////////////
00032 ;SET SPI STATUS
0016 3013 00033 MOVLW B'00010011' ;TRANSMIT ON FALLING EDGE, RECEIVE ON RISING EDGE
0017 0094 00034 MOVWF SSPCON ;MASTER MODE, CLOCK = TMR2 OUTPUT/2
00035
00036 ;////////////////////////////////////////////////
00037 ;CLEAR BUFFER
00038 ;////////////////////////////////////////////////
0018 301F 00039 MOVLW 0X20-1
0019 0084 00040 MOVWF FSR
001A 00041 CLEAR_BUFFER1
001A 0A84 00042 INCF FSR,F
001B 0180 00043 CLRF INDF
00044
001C 0804 00045 MOVF FSR,W
001D 3A7F 00046 XORLW 0X7F
001E 1D03 00047 BTFSS STATUS,Z
001F 281A 00048 GOTO CLEAR_BUFFER1
00049
0020 309F 00050 MOVLW 0XA0-1
0021 0084 00051 MOVWF FSR
0022 00052 CLEAR_BUFFER1A
0022 0A84 00053 INCF FSR,F
0023 0180 00054 CLRF INDF
00055
0024 0804 00056 MOVF FSR,W
0025 3AFF 00057 XORLW 0XFF
0026 1D03 00058 BTFSS STATUS,Z
0027 2822 00059 GOTO CLEAR_BUFFER1A
00060
00061 ; CLRF DSR_FB
00062 ; CLRF EEP_FB
00063 ; CLRF EEP_OPT
00064 ; CLRF COUNT_DSR
00065 ; CLRF MODE_TYPE
00066 ; CLRF DIS_BUF_FB
00067
0028 3002 00068 MOVLW 0X02
Message[302]: Argument out of range. Least significant bits used.
0029 00C4 00069 MOVWF NOF_RD_PSCTP
00070
002A 305A 00071 MOVLW 0X5A ;CHECK ACKNOWLEDGE = 5A
002B 00DA 00072 MOVWF C_ACK
00073
00074 ;////////////////////////////////////////////////
00075 ;ENABLE INTERRUPT
00076 ;////////////////////////////////////////////////
00077
00078 ; MOVLW B'11000000' ;ENABLE (GLOBAL,PERIPHERAL) INTERRUPT
00079 ; IORWF INTCON,F
00080
00081
00082
00083 ;////////////////////////////////////////////////
00084 ;DISPLAY DATE
00085 ;////////////////////////////////////////////////
00086
002C 2120 00087 CALL DIS_DATE
00088
002D 3078 00089 MOVLW D'120'
002E 00A0 00090 MOVWF TEMP_BUFFER
00091
002F 00092 DISPLAY_RELEASE_DATE
002F 158A 00093 BSF PCLATH,3 ;PAGE 1
Message[306]: Crossing page boundary -- ensure page bits are set.
0030 2000 00094 CALL DISPLAY_DATA
0031 018A 00095 CLRF PCLATH ;PAGE 0
00096
0032 0BA0 00097 DECFSZ TEMP_BUFFER,F
0033 282F 00098 GOTO DISPLAY_RELEASE_DATE
00016 INCLUDE "S_TIMING.ASM"
00001 ;////////////////////////////////////////////////
00002 ;SET WATCHDOG PRESCALER
00003 ;////////////////////////////////////////////////
00004
00005 ; BSF STATUS,RP0 ;TO BANK1
00006 ; MOVLW B'11111101' ;WDT TIMER 1.6ms
00007 ; ANDWF OPTION_REG,F ;SET WDT PRESCALER
00008 ; BCF STATUS,RP0 ;TO BANK0
00009
00010
00011 ;////////////////////////////////////////////////
00012 ;SETUP COMMUNICATION TIMING NOTE: CRYSTAL=12MHz
00013 ;////////////////////////////////////////////////
00014
0034 3005 00015 MOVLW D'5' ;CLOCK CYCLE 4us :5 , 2us :2
0035 00BB 00016 MOVWF TCYC
00017
00018 ;////////////////////////////////////////////////
00019 ;SET SCK CLOCK CYCLE
00020 ;////////////////////////////////////////////////
00021
00022 ;SCK TIMING
0036 083B 00023 MOVF TCYC,W
0037 1683 00024 BSF STATUS,RP0 ;TO BANK1
Message[302]: Argument out of range. Least significant bits used.
0038 0092 00025 MOVWF PR2 ;SET SCK = 4us
0039 1283 00026 BCF STATUS,RP0 ;TO BANK0
00027
00028 ;ENABLE TIMER2
003A 3004 00029 MOVLW B'00000100'
003B 0092 00030 MOVWF T2CON ;ENABLE TIMER2 & PRESCALER IS 1
00031
00032
00017 INCLUDE "RD_PSCTP.ASM"
003C 00001 RD_PSCTP:
003C 3003 00002 MOVLW 0X03
003D 00C7 00003 MOVWF PSCTP_REQ ;
003E 00CD 00004 MOVWF PSCTP_SET ;
00005
00006 ; BSF PCLATH,3
00007 ; CALL EE_WPROT
00008 ; CALL EE_ERASE
00009 ; CLRF PCLATH
00010
00011 ; CALL WR_DEFAULT_DATA
00012
00013 ;--------------------------------------------------------------------
003F 3005 00014 MOVLW D'5'
0040 00A0 00015 MOVWF TEMP_BUFFER
00016
0041 30DF 00017 MOVLW NOF_CMD_ADDR-1
0042 0084 00018 MOVWF FSR
00019
0043 30FF 00020 MOVLW 0XFF
0044 00C9 00021 MOVWF EE_ADDR
00022
0045 00023 RD_EEP:
0045 0AC9 00024 INCF EE_ADDR,F
0046 01CA 00025 CLRF EE_BUF0
0047 01D2 00026 CLRF EE_BUF1
00027
0048 158A 00028 BSF PCLATH,3
Message[306]: Crossing page boundary -- ensure page bits are set.
0049 2058 00029 CALL EE_READ
004A 018A 00030 CLRF PCLATH
00031
004B 0A84 00032 INCF FSR,F
004C 084A 00033 MOVF EE_BUF0,W
004D 0080 00034 MOVWF INDF
00035
004E 0A84 00036 INCF FSR,F
004F 0852 00037 MOVF EE_BUF1,W
0050 0080 00038 MOVWF INDF
00039
0051 0BA0 00040 DECFSZ TEMP_BUFFER,F
0052 2845 00041 GOTO RD_EEP
00042
00043 ;--------------------------------------------------------------------
00044 ;Check EEPROM ID
0053 1448 00045 BSF EE_EXIST_FB
0054 30E0 00046 MOVLW NOF_CMD_ADDR
0055 0084 00047 MOVWF FSR
00048
0056 0800 00049 MOVF INDF,W
0057 3A50 00050 XORLW 0X50
0058 1D03 00051 BTFSS STATUS,Z
0059 1048 00052 BCF EE_EXIST_FB
00053
005A 0A84 00054 INCF FSR,F
005B 0800 00055 MOVF INDF,W
005C 3A53 00056 XORLW 0X53
005D 1D03 00057 BTFSS STATUS,Z
005E 1048 00058 BCF EE_EXIST_FB
00059
005F 0A84 00060 INCF FSR,F
0060 0800 00061 MOVF INDF,W
0061 3A02 00062 XORLW 0X02
0062 1D03 00063 BTFSS STATUS,Z
0063 1048 00064 BCF EE_EXIST_FB
00065
00066 ;--------------------------------------------------------------------
0064 1848 00067 BTFSC EE_EXIST_FB ;EEPROM is existed ?
0065 286E 00068 GOTO DIS_EEP_DATE ;Yes
00069
0066 158A 00070 BSF PCLATH,3 ;No
Message[306]: Crossing page boundary -- ensure page bits are set.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -