📄 rke_tianqiu_630.lst
字号:
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00081 ; movlw b'00001011'
00082 ; movwf TRISA
00FB 300B 00083 movlw b'00001011'
00FC 0085 00084 movwf TRISA
00FD 3003 00085 movlw b'00000011'
00FE 0087 00086 movwf TRISC
00087
00FF 3001 00088 movlw b'00000001'
0100 008C 00089 movwf PIE1
00090
0101 23FF 00091 call 0x3ff
0102 0090 00092 movwf OSCCAL
00093
0103 3000 00094 movlw b'00000000'
0104 0095 00095 movwf WPU
0105 0196 00096 clrf IOC
0106 0199 00097 clrf VRCON
00098
00099 ; clrf ANSEL
00100
00101 ;--------------------------------------
00102
0107 1283 00103 bcf STATUS,RP0
00104
0108 018A 00105 clrf PCLATH
00106
0109 3038 00107 movlw b'00111000'
010A 0587 00108 andwf PORTC,F
00109
00110 ; clrf ADCON0
00111
010B 3005 00112 movlw b'00000101'
010C 0090 00113 movwf T1CON
00114
010D 3007 00115 movlw b'00000111'
010E 0099 00116 movwf CMCON
00117
010F 30E7 00118 movlw b'11100111'
0110 058B 00119 andwf INTCON,F
0111 30E0 00120 movlw b'11100000'
0112 048B 00121 iorwf INTCON,F
00122
0113 0008 00123 return
00064 #include "Eeprom.inc"
00001 ;#####################################
00002 ;Charge_PWM_Deal, Charge_Control pin
00003 ;#####################################
00004 ;Function: Test and change Charge_Statue when A/D one CH cycle is over.
00005 ;Parameter In: Charge_Statue, AD_Control_Flag
00006 ;Return Parameter:
00007 ; Charge_Statue
00008 ;using regs: W,STATUS
00009 ;code size: about 0x00
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00010 ;using time: about 0 instruction cycles
00011 ;WDT: Not Clear
00012 ;Stack using: 1
00013
0114 00014 Read_Eeprom:
0114 00015 Read_Eeprom_Loop:
0114 1283 00016 bcf STATUS,RP0
00017
0115 138B 00018 bcf INTCON,GIE
00019
0116 08C8 00020 movf Eeprom_Number,F
0117 1903 00021 skpnz
0118 2927 00022 goto Read_Eeprom_Over
00023
0119 1683 00024 bsf STATUS,RP0
00025
011A 0847 00026 movf Eeprom_Address,W
011B 009B 00027 movwf EEADR
00028
011C 141C 00029 bsf EECON1,RD
00030
011D 291E 00031 goto $+1
011E 291F 00032 goto $+1
00033
011F 081A 00034 movf EEDATA,W
0120 0080 00035 movwf INDF
00036
0121 1283 00037 bcf STATUS,RP0 ;BANK0
0122 0AC7 00038 incf Eeprom_Address,F
0123 0A84 00039 incf FSR,F
0124 03C8 00040 decf Eeprom_Number,F
0125 2914 00041 goto Read_Eeprom_Loop
00042
0126 178B 00043 bsf INTCON,GIE
00044
0127 00045 Read_Eeprom_Over:
0127 0008 00046 return
00047
00048 ;------------------------------------------------
00049
0128 00050 Write_Eeprom:
0128 00051 Write_Eeprom_Loop:
0128 1283 00052 bcf STATUS,RP0
00053
0129 08C8 00054 movf Eeprom_Number,F
012A 1903 00055 skpnz
012B 2941 00056 goto Write_Eeprom_Over
00057
012C 138B 00058 bcf INTCON,GIE
00059
012D 1683 00060 bsf STATUS,RP0
00061
012E 0847 00062 movf Eeprom_Address,W
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
012F 009B 00063 movwf EEADR
00064
0130 0800 00065 movf INDF,W
0131 009A 00066 movwf EEDATA
00067
0132 3004 00068 movlw b'00000100'
0133 1D3D 00069 btfss WRITE_EEPROM_ENABLE
0134 0103 00070 clrw
0135 009C 00071 movwf EECON1
00072
0136 3055 00073 movlw 0x55
0137 009D 00074 movwf EECON2
0138 30AA 00075 movlw 0xAA
0139 009D 00076 movwf EECON2
013A 149C 00077 bsf EECON1,WR
00078
013B 00079 Write_Eeprom_Wait:
013B 189C 00080 btfsc EECON1,WR
013C 293B 00081 goto Write_Eeprom_Wait
00082
013D 0A84 00083 incf FSR,F
013E 0AC7 00084 incf Eeprom_Address,F
013F 03C8 00085 decf Eeprom_Number,F
0140 2928 00086 goto Write_Eeprom_Loop
00087
0141 00088 Write_Eeprom_Over:
0141 019C 00089 clrf EECON1
0142 1283 00090 bcf STATUS,RP0
00091
0143 178B 00092 bsf INTCON,GIE
0144 0008 00093 return
00094
00095 ;======================================
00096
00065 #include "Key_Deal.inc"
00001
0145 00002 Key_Deal:
0145 1283 1303 00003 banksel PORTA
00004
0147 0905 00005 comf PORTA,W
0148 00A2 00006 movwf Temp1
0149 0DA2 00007 rlf Temp1,F
014A 3004 00008 movlw b'00000100'
014B 05A2 00009 andwf Temp1,F
00010
014C 0807 00011 movf PORTC,W
014D 3903 00012 andlw b'00000011'
014E 0422 00013 iorwf Temp1,W
00014
014F 02C3 00015 subwf Key_Old,F
0150 1D03 00016 skpz
0151 01C6 00017 clrf Key_Push_Timer_Counter
0152 00C3 00018 movwf Key_Old
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00019
0153 1CBD 00020 btfss MAIN_CHECK
0154 2AFE 00021 goto Key_FSM_LED_Deal_Over
0155 10BD 00022 bcf MAIN_CHECK
00023
00024 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
00025 ;PART1: Key_LCD deal
00026 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
00027
0156 00028 Key_Deal_Go:
0156 0F46 00029 incfsz Key_Push_Timer_Counter,W
0157 0AC6 00030 incf Key_Push_Timer_Counter,F
00031
0158 3004 00032 movlw d'4'
0159 0246 00033 subwf Key_Push_Timer_Counter,W
015A 1D03 00034 skpz
015B 295E 00035 goto Key_Push_Deal_Over
015C 0843 00036 movf Key_Old,W
015D 00C4 00037 movwf Key_Flag
015E 00038 Key_Push_Deal_Over:
00039
00040 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
00041 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
00042
015E 3001 00043 movlw b'00000001'
015F 0244 00044 subwf Key_Flag,W
0160 1903 00045 skpnz
0161 2973 00046 goto KEY_OPEN_Begin_Test
00047
0162 3002 00048 movlw b'00000010'
0163 0244 00049 subwf Key_Flag,W
0164 1903 00050 skpnz
0165 2978 00051 goto KEY_CLOSE_Begin_Test
00052
0166 3000 00053 movlw b'00000000'
0167 0244 00054 subwf Key_Flag,W
0168 1D03 00055 skpz
0169 297D 00056 goto KEY_Port_Open_Close_Over
00057
016A 3002 00058 movlw b'00000010'
016B 0245 00059 subwf Key_Flag_Old,W
016C 1903 00060 skpnz
016D 2977 00061 goto Key_Open_Real_Begin
00062
016E 3001 00063 movlw b'00000001'
016F 0245 00064 subwf Key_Flag_Old,W
0170 1903 00065 skpnz
0171 297C 00066 goto Key_Close_Real_Begin
00067
0172 297D 00068 goto KEY_Port_Open_Close_Over
00069
00070
00071 ;==============================
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0173 00072 KEY_OPEN_Begin_Test:
0173 3002 00073 movlw b'00000010'
0174 0245 00074 subwf Key_Flag_Old,W
0175 1D03 00075 skpz
0176 297D 00076 goto KEY_Port_Open_Close_Over
00077
0177 00078 Key_Open_Real_Begin:
0177 29F8 00079 goto Hand_Open_Begin
00080
00081 ;==============================
0178 00082 KEY_CLOSE_Begin_Test:
0178 3001 00083 movlw b'00000001'
0179 0245 00084 subwf Key_Flag_Old,W
017A 1D03 00085 skpz
017B 297D 00086 goto KEY_Port_Open_Close_Over
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -