;******************************************************************************************** LIST P=18F2520 #include radix dec ;******************************************************************************* CONFIG OSC = HS CONFIG WDT = OFF CONFIG LVP = OFF CONFIG CPD = OFF ;?????? EEPROM ?? ???????? ?????????? ? ?????? CONFIG CPB = OFF ;?????? ???????????? ????? CONFIG CP0 = ON ;?????? ?????? ???????? CONFIG CP1 = ON CONFIG CP2 = ON CONFIG CP3 = ON CONFIG WRTC = ON ;?????? ????? ???????????? CONFIG PBADEN = OFF CONFIG MCLRE = ON CONFIG PWRT = ON CONFIG BOREN = OFF ;invert cnop***** ;******************************************************************************************** bank0 EQU 0x008 bank1 EQU 0x009 bank2 EQU 0x00A bank3 EQU 0x00B bank4 EQU 0x00C bank5 EQU 0x00D bank6 EQU 0x00E ;*************************************** wibrosreg EQU 0x00F registrx EQU 0x010 ;*************************************** reg0 EQU 0x011 reg1 EQU 0x012 reg2 EQU 0x013 reg3 EQU 0x014 reg4 EQU 0x015 reg5 EQU 0x016 bank8 EQU 0x017 bank9 EQU 0x018 ;*************************************** registr0 EQU 0x019 registr1 EQU 0x01A registr2 EQU 0x01B registr3 EQU 0x01C registr4 EQU 0x01D registr5 EQU 0x01E registr6 EQU 0x01F registr7 EQU 0x020 registr8 EQU 0x021 ;*************************************** registr11 EQU 0x022 registr12 EQU 0x023 registr13 EQU 0x024 registr14 EQU 0x025 registr15 EQU 0x026 registr16 EQU 0x027 registr17 EQU 0x028 registr18 EQU 0x029 registr21 EQU 0x02A registr22 EQU 0x02B registr23 EQU 0x02C registr24 EQU 0x02D registr25 EQU 0x02E registr26 EQU 0x02F registr27 EQU 0x030 registr28 EQU 0x031 registr31 EQU 0x032 registr32 EQU 0x033 registr33 EQU 0x034 registr34 EQU 0x035 registr35 EQU 0x036 registr36 EQU 0x037 registr37 EQU 0x038 registr38 EQU 0x039 registr41 EQU 0x03A registr42 EQU 0x03B registr43 EQU 0x03C registr44 EQU 0x03D registr45 EQU 0x03E registr46 EQU 0x03F registr47 EQU 0x040 registr48 EQU 0x041 registr51 EQU 0x042 registr52 EQU 0x043 registr53 EQU 0x044 registr54 EQU 0x045 registr55 EQU 0x046 registr56 EQU 0x047 registr57 EQU 0x048 registr58 EQU 0x049 ;*************************************** registr_FLAG EQU 0x04A registr_STATUS EQU 0x04B ;*************************************** TESTER EQU 0x04C ;*************************************** bufer EQU 0x04D ;*************************************** registr_0 EQU 0x04E registr_1 EQU 0x04F registr_2 EQU 0x050 registr_3 EQU 0x051 registr_4 EQU 0x052 registr_5 EQU 0x053 registr_6 EQU 0x054 registr_7 EQU 0x055 ;******************************************************************************************** BANK_ADR EQU 0x056 counter EQU 0x057 counter1 EQU 0x058 counter2 EQU 0x059 counter3 EQU 0x05A princeton_bit EQU 0x05B bank7 EQU 0x05C te_t_0 EQU 0x05D FLAG_stat EQU 0x05E bit_kol EQU 0x05F reg_otladki EQU 0x060 reg_otladki2 EQU 0x061 reg_otladki3 EQU 0x062 reg_anim EQU 0x063 flag_anim EQU 0x064 te_t_1 EQU 0x065 ;te_t_0 reg111 EQU 0x69 reg112 EQU 0x70 reg113 EQU 0x71 ;********************************************************************************* ;******************************************************************************************** ORG 0x0000 ;******************************************************************************************** bcf TRISA,0 bsf TRISB,0 bsf TRISB,1 bsf TRISB,2 bsf TRISB,3 bsf TRISB,4 bcf TRISB,5 bcf TRISB,6 bcf TRISB,7 bcf INTCON2,7 bcf TRISC,0 bcf TRISC,1 bcf TRISC,2 bcf TRISC,3 bcf TRISC,4 bsf TRISC,5 bcf TRISC,6 bcf TRISC,7 clrf LATB clrf LATC bcf LATA,0 ;***************muzon ;******bumer movlw .1000 movwf reg113 Bumcha muzon2 bsf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon2 movlw d'200' movwf reg113 muzon3 bsf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon3 movlw .500 movwf reg113 muzon4 bsf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon4 movlw d'200' movwf reg113 muzon5 bsf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon5 movlw .500 movwf reg113 muzon6 bsf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon6 movlw d'200' movwf reg113 muzon7 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon7 movlw d'500' movwf reg113 muzon8 bsf LATB,6 movlw .400 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .400 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzon8 movlw d'200' movwf reg113 ;*****bumend ;***************muzon end ;******************************************************************************************** bsf LATC,0 bcf LATC,1 movlw d'100' ;reset movwf bank0 recet movlw d'255' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra recet bsf LATC,1 ;********************************1110100 bcf LATC,2 ;obrashaimsa k LCD movlw b'00100001' movwf wibrosreg call wiwodim movlw b'11000001' movwf wibrosreg call wiwodim movlw b'00010011' movwf wibrosreg call wiwodim movlw b'00100000' movwf wibrosreg call wiwodim movlw b'00001100' movwf wibrosreg call wiwodim bsf LATC,2 ;obrashaimsa k LCD ;******************************************************************************************** wektor ;******************************************************************************************** call histim ;chistim pole ;******************************************************************************************** ;***************************** vivodim zapros na pin call STROKA_1 ;***************************** call _AL34 call _AL33 call _AL3 call _AL3 call _AL6 call _AL5 call _AL9 call _AL19 call _AL6 call _AL33 call _AL11 call _AL15 call _AL5 ;***************************** call STROKA_3 ;***************************** call POZIZ_5 call _AL35 call _AL35 call _AL35 call _AL35 call _AL35 call _AL35 ;***************************** clrf reg0 clrf reg1 clrf reg2 clrf reg3 clrf reg4 clrf reg5 ;***************************** vvod koda movlw h'08' movwf registr_0 movlw h'03' movwf registr_1 movlw h'02' movwf registr_2 movlw h'01' movwf registr_3 movlw h'09' movwf registr_4 movlw h'00' movwf registr_5 ;******************************************************************************************** ; obrabotka knopok v kode obrabotka1 movff reg0,bufer call muzinpiczal knopka_p1 call STROKA_4 call belim call STROKA_4 call POZIZ_5 call _AL39 call STROKA_3 call POZIZ_5 call hexx call antidrebezg knopka btfss PORTB,1 bra pribaw btfss PORTB,3 bra otnal btfss PORTB,4 bra obrabotka2 btfss PORTB,2 bra obrabotka1 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka otnal decf bufer call muzinpiczal1 bra metca muzinpiczal movlw .1000 movwf reg113 muzonpik111 bsf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .333 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzonpik111 return muzinpiczal1 movlw .1000 movwf reg113 muzonpik1111 bsf LATB,6 movlw .444 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .444 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzonpik1111 return pribaw incf bufer call muzinpiczal metca call POZIZ_5 call hexx movff bufer,reg0 bra knopka_p1 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** obrabotka2 movff reg1,bufer call muzinpiczal knopka2_p2 call STROKA_4 call belim call STROKA_4 call POZIZ_6 call _AL39 call STROKA_3 call POZIZ_6 call hexx call antidrebezg knopka2 btfss PORTB,1 bra pribaw2 btfss PORTB,3 bra otnal2 btfss PORTB,4 bra obrabotka3 btfss PORTB,2 bra obrabotka1 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka2 otnal2 decf bufer call muzinpiczal1 bra metca2 pribaw2 incf bufer call muzinpiczal metca2 call POZIZ_6 call hexx movff bufer,reg1 bra knopka2_p2 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** obrabotka3 movff reg2,bufer call muzinpiczal knopka3_p3 call STROKA_4 call belim call STROKA_4 call POZIZ_7 call _AL39 call STROKA_3 call POZIZ_7 call hexx call antidrebezg knopka3 btfss PORTB,1 bra pribaw3 btfss PORTB,3 bra otnal3 btfss PORTB,4 bra obrabotka4 btfss PORTB,2 bra obrabotka2 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka3 otnal3 decf bufer call muzinpiczal1 bra metca3 pribaw3 incf bufer call muzinpiczal metca3 call POZIZ_7 call hexx movff bufer,reg2 bra knopka3_p3 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** obrabotka4 movff reg3,bufer call muzinpiczal knopka4_p4 call STROKA_4 call belim call STROKA_4 call POZIZ_8 call _AL39 call STROKA_3 call POZIZ_8 call hexx call antidrebezg knopka4 btfss PORTB,1 bra pribaw4 btfss PORTB,3 bra otnal4 btfss PORTB,4 bra obrabotka5 btfss PORTB,2 bra obrabotka3 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka4 otnal4 decf bufer call muzinpiczal1 bra metca4 pribaw4 incf bufer call muzinpiczal metca4 call POZIZ_8 call hexx movff bufer,reg3 bra knopka4_p4 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** obrabotka5 movff reg4,bufer call muzinpiczal knopka5_p5 call STROKA_4 call belim call STROKA_4 call POZIZ_9 call _AL39 call STROKA_3 call POZIZ_9 call hexx call antidrebezg knopka5 btfss PORTB,1 bra pribaw5 btfss PORTB,3 bra otnal5 btfss PORTB,4 bra obrabotka6 btfss PORTB,2 bra obrabotka4 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka5 otnal5 decf bufer call muzinpiczal1 bra metca5 pribaw5 incf bufer call muzinpiczal metca5 call POZIZ_9 call hexx movff bufer,reg4 bra knopka5_p5 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** obrabotka6 movff reg5,bufer call muzinpiczal knopka6_p6 call STROKA_4 call belim call STROKA_4 call POZIZ_10 call _AL39 call STROKA_3 call POZIZ_10 call hexx call antidrebezg knopka6 btfss PORTB,1 bra pribaw6 btfss PORTB,3 bra otnal6 btfss PORTB,4 bra obrabotka6 btfss PORTB,2 bra obrabotka5 ;***************************** btfss PORTB,0 bra swerka_pin ;***************************** bra knopka6 otnal6 decf bufer call muzinpiczal1 bra metca6 pribaw6 incf bufer call muzinpiczal metca6 call POZIZ_10 call hexx movff bufer,reg5 bra knopka6_p6 ;konecz!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;******************************************************************************************** swerka_pin movf registr_0,w xorwf reg0,w btfss STATUS,Z bra eror bcf STATUS,Z movf registr_1,w xorwf reg1,w btfss STATUS,Z bra eror bcf STATUS,Z movf registr_2,w xorwf reg2,w btfss STATUS,Z bra eror bcf STATUS,Z movf registr_3,w xorwf reg3,w btfss STATUS,Z bra eror bcf STATUS,Z movf registr_4,w xorwf reg4,w btfss STATUS,Z bra eror bcf STATUS,Z movf registr_5,w xorwf reg5,w btfss STATUS,Z bra eror bcf STATUS,Z bra programma eror call STROKA_4 call belim call muzinp2 movlw d'20' movwf bank3 eror2 call zaderjka ;***************************** call STROKA_3 ;***************************** call _AL33 call _AL33 call _AL33 call _AL33 call _AL15 call _AL25 call _AL9 call _AL2 call _AL11 call _AL1 call zaderjka call POZIZ_5 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call muzinp2 decfsz bank3,f bra eror2 bra wektor ;***********************************nadpis phreakerclub ;tilidi muzinpi movlw .300 movwf reg113 muzonp bsf LATB,6 movlw .222 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .222 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzonp return muzinp2 movlw .100 movwf reg113 muzonpup bsf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 bcf LATB,6 movlw .100 movwf reg111 decfsz reg111 bra $-2 decfsz reg113,f goto muzonpup return phreak_anim movlw b'11010011' ;adress v stroke movwf bank9 movlw d'42' ;dlitelnost stroki movwf bank8 anim_1 call STROKA_5 call POZIZ_INCR call phreak call muzinpi call muzinp2 call STROKA_0 call belim call muzinpi call STROKA_1 call belim call zaderjka2 btfss PORTB,0 bra programma2 decf bank9 decf bank9 decfsz bank8,f bra anim_1 call zaderjka2 call zaderjka2 ;***************************************** movlw b'11010011' ;adress v stroke movwf bank9 movlw d'57' ;dlitelnost stroki movwf bank8 movlw d'30' movwf bank7 anim_2 call STROKA_4 call POZIZ_INCR call phreak call muzinp2 call STROKA_4 call belim call STROKA_0 call belim decfsz bank7,f ;esli 0 propustit sleduishiu komandu bra anim_2_1 ;s zaderzhkoy incf bank7 ;bez zaderzhki decf bank9 bra anim_2_2 anim_2_1 call zaderjka2 call zaderjka2 anim_2_2 call zaderjka2 btfss PORTB,0 bra programma2 decf bank9 decfsz bank8,f bra anim_2 ;***************************************** movlw b'11010011' ;adres v stroke movwf bank9 movlw d'16' ;dlitelnost stroki movwf bank8 anim_3 call STROKA_3 call POZIZ_INCR call phreak call STROKA_4 call belim call STROKA_3 call belim call zaderjka2 decf bank9 decf bank9 decfsz bank8,f bra anim_3 return ;*************************************** ;*************************************** phreak ;frikerlab call _ALG call _ALA call _ALN call _ALS call _AL19 call _ALA call _AL356 call _ALP call _ALA call _ALR call _ALA call _ALD call _ALI call _ALS call _ALE call _ALT call _AL18 call _AL15 call _AL13 return ;************************************************************* phreakclub call STROKA_5 call _ALG call _ALA call _ALN call _ALS call _AL19 call _ALA call _ALP call _ALA call _ALR call _ALA call _ALD call _ALI call _ALS call _ALE return ;************************************************************* programma call histim ;chistim pole ;cod prinat call STROKA_2 call POZIZ_3 call _AL11 call _AL15 call _AL5 call _AL33 call _AL16 call _AL17 call _AL9 call _AL14 call _AL32 call _AL19 call zaderjka call zaderjka call zaderjka call phreak_anim programma2 call histim ;chistim pole call STROKA_0 call POZIZ_3 ;codegrabber call _AL11 call _AL15 call _AL5 call _AL4 call _AL17 call _AL1 call _AL2 call _AL2 call _AL6 call _AL17 ;analizator call STROKA_1 call POZIZ_3 call _AL1 call _AL14 call _AL1 call _AL12 call _AL9 call _AL8 call _AL1 call _AL19 call _AL15 call _AL17 ;pomeha call STROKA_2 call POZIZ_5 call _AL16 call _AL15 call _AL13 call _AL6 call _AL22 call _AL1 ;bank call STROKA_3 call POZIZ_6 call _AL2 call _AL1 call _AL14 call _AL11 call phreakclub ; obrabotka cnopok v kode kyrsor1 call vyvod_strelk_0 call antidrebezg knopka_1 ;***************************** btfss PORTB,0 bra prograb ;***************************** btfsc PORTB,3 bra knopka_1 kyrsor2 call vyvod_strelk_1 call antidrebezg ;***************************** knopka_2 ;***************************** analizator btfss PORTB,0 goto priem_statiki ; goto analizatorpac ;***************************** btfss PORTB,1 bra kyrsor1 btfsc PORTB,3 bra knopka_2 kyrsor3 call vyvod_strelk_2 call antidrebezg ;***************************** knopka_3 btfss PORTB,0 bra menu_pomeh btfss PORTB,1 bra kyrsor2 btfsc PORTB,3 bra knopka_3 kyrsor22 call vyvod_strelk_3 call antidrebezg bcf registr_FLAG,2 ;snatie flaga dla umnoy glushilki knopka_22 ;bank ;***************************** btfss PORTB,0 goto READ_EE ;***************************** btfss PORTB,1 bra kyrsor3 bra knopka_22 ;***************************** prograb call histim ;chistim pole ;409 call STROKA_0 call POZIZ_6 call _AL34 call _AL44 call _AL40 call _AL49 call STROKA_1 ;502 call POZIZ_6 call _AL34 call _AL45 call _AL40 call _AL42 call STROKA_2 ;bruti call POZIZ_5 call _AL34 call _AL2 call _AL17 call _AL20 call _AL19 call _AL28 call STROKA_3 ;statica ; call display_pt2240 call POZIZ_4 call _AL34 call _AL18 call _AL19 call _AL1 call _AL19 call _AL9 call _AL11 call _AL1 call phreakclub ; obrabotka cnopok v kode kyrsor_1g call vyvod_strelk_0 call antidrebezg bcf registr_FLAG,4 ;snatie flaga umnoy glushilki dla pomehi bcf registr_FLAG,2 ;snatie flaga umnoy glushilki dla zapisi bcf registr_FLAG,1 ;snatie flaga dla dvuhcnopki knopka_1g ;***************************** btfss PORTB,0 bra kodgrabber ;***************************** btfss PORTB,2 ;knopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfsc PORTB,3 bra knopka_1g kyrsor2g call vyvod_strelk_1 call antidrebezg bcf registr_FLAG,4 ;snatie flaga umnoy glushilki dla pomehi bcf registr_FLAG,2 ;snatie flaga umnoy glushilki dla zapisi bsf registr_FLAG,1 ;snatie flaga dla dvuhcnopki ;***************************** knopka_2g ;***************************** ;but2 btfss PORTB,0 goto kodgrabber ;***************************** btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfss PORTB,1 bra kyrsor_1g btfsc PORTB,3 bra knopka_2g kyrsor3g call vyvod_strelk_2 call antidrebezg ;***************************** knopka_3g btfss PORTB,0 goto progbrut ;***************************** btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfss PORTB,1 bra kyrsor2g btfsc PORTB,3 bra knopka_3g kyrsor22g call vyvod_strelk_3 call antidrebezg knopka_22g ;brut btfss PORTB,0 goto priem_pt2240 btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfss PORTB,1 bra kyrsor3g bra knopka_22g ;***********************************************;menu bruti progbrut call histim ;chistim pole clrf registr_STATUS ;CAME12 call STROKA_0 call POZIZ_5 call _AL18 call _AL1 call _AL13 call _AL6 call _AL41 call _AL42 ;??2240 call STROKA_1 call display_pt2240 call STROKA_2 ;??2262 call display_pt2262 call phreakclub ; obrabotka cnopok v kode call vyvod_strelk_0 call antidrebezg knopka_1brut ;***************************** btfss PORTB,0 goto brutc12 ;***************************** btfss PORTB,2 ;knopki vihoda v menu prograb goto prograb btfss PORTB,4 goto prograb btfsc PORTB,3 bra knopka_1brut kyrsor2brut call vyvod_strelk_1 call antidrebezg clrf registr_STATUS ;snimaem flagi dla pt2262 ;***************************** knopka_2brut ;pt2240 btfss PORTB,0 goto brutp2240 ;***************************** btfss PORTB,2 ;knopki vihoda v menu prograb goto prograb btfss PORTB,4 goto prograb btfss PORTB,1 bra progbrut btfsc PORTB,3 bra knopka_2brut kyrsor3brut call vyvod_strelk_2 call antidrebezg bsf registr_STATUS,1 ;ustanov flag dla pt2262 ;***************************** knopka_3brut ;pt2262 btfss PORTB,0 goto brutp2240 ;***************************** btfss PORTB,2 ;cnopki vihoda v menu prograb goto prograb btfss PORTB,4 goto prograb btfss PORTB,1 bra kyrsor2brut bra knopka_3brut ;konec menu bruyi ;************************************************menu pomehi menu_pomeh call histim ;chistim pole call STROKA_0 ;bank call POZIZ_5 call _AL33 call _AL2 call _AL1 call _AL14 call _AL11 ;priem call STROKA_1 call POZIZ_5 call _AL34 call _AL16 call _AL17 call _AL9 call _AL6 call _AL13 ;pomeha call STROKA_2 call POZIZ_5 call _AL16 call _AL15 call _AL13 call _AL6 call _AL22 call _AL1 call phreakclub ; obrabotka knopok v kode kyrsor1_pomeh call vyvod_strelk_0 call antidrebezg bcf registr_FLAG,4 bsf registr_FLAG,2 ;ustanov flaga dla umnoy glushilki knopka_1_pomeh ;bank ;***************************** btfss PORTB,0 goto READ_EE ;***************************** btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfsc PORTB,3 bra knopka_1_pomeh kyrsor2_pomeh call vyvod_strelk_1 call antidrebezg bcf registr_FLAG,4 bsf registr_FLAG,2 ;ustanov flaga dla umnoy glushilki ;***************************** knopka_2_pomeh ;***************************** ;priem btfss PORTB,0 goto kodgrabber ;***************************** btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfss PORTB,1 bra kyrsor1_pomeh btfsc PORTB,3 bra knopka_2_pomeh kyrsor3_pomeh call vyvod_strelk_2 call antidrebezg ;***************************** ;generator knopka_3_pomeh btfss PORTB,0 bra pomeha btfss PORTB,2 ;cnopki vihoda v menu 1 goto programma2 btfss PORTB,4 goto programma2 btfss PORTB,1 bra kyrsor2_pomeh bra knopka_3_pomeh ;***********************************************chistim strelki chistim_streky call STROKA_0 call _AL33 call POZIZ_14 call _AL33 call STROKA_1 call _AL33 call POZIZ_14 call _AL33 call STROKA_2 call _AL33 call POZIZ_14 call _AL33 call STROKA_3 call _AL33 call POZIZ_14 call _AL33 call STROKA_4 call _AL33 call POZIZ_14 call _AL33 return ;***********************************************vivodim strelki vyvod_strelk_0 call chistim_streky call STROKA_0 call _AL38 call POZIZ_14 call _AL38_1 return vyvod_strelk_1 call chistim_streky call STROKA_1 call _AL38 call POZIZ_14 call _AL38_1 return vyvod_strelk_2 call chistim_streky call STROKA_2 call _AL38 call POZIZ_14 call _AL38_1 return vyvod_strelk_3 call chistim_streky call STROKA_3 call _AL38 call POZIZ_14 call _AL38_1 return vyvod_strelk_4 call chistim_streky call STROKA_4 call _AL38 call POZIZ_14 call _AL38_1 return ;***********************************************;zhdem otpuskanie knopki antidrebezg movlw d'12' movwf bank7 metka_antidrebezg call zaderjka3 btfss PORTB,0 bra antidrebezg btfss PORTB,1 bra antidrebezg btfss PORTB,3 bra antidrebezg btfss PORTB,2 bra antidrebezg btfss PORTB,4 bra antidrebezg decfsz bank7,f bra metka_antidrebezg return ;***************************************************************************************** ; podprogramma pomehi pomeha call histim call STROKA_0 call _AL33 call _AL17 call _AL6 call _AL7 call _AL9 call _AL13 call _AL33 call _AL16 call _AL15 call _AL13 call _AL6 call _AL22 call _AL9 call STROKA_1 call _AL24 call _AL1 call _AL18 call _AL19 call _AL15 call _AL19 call _AL1 call _AL33 call _AL44 call _AL43 call _AL43 call _AL50 call _AL49 call _AL42 call STROKA_2 call POZIZ_3 call _AL34 call _AL13 call _AL15 call _AL5 call _AL20 call _AL12 call _AL32 call _AL23 call _AL9 call _AL32 ;**************************************50 pam call STROKA_3 call POZIZ_3 call _AL33 call _AL33 call _AL33 call _AL45 call _AL40 call _AL33 call _AL4 call _AL23 call antidrebezg pameha_k2 bsf LATC,6 movlw d'250' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 ;************************************** bcf LATC,6 movlw d'250' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 btfss PORTB,3 bra pam1 btfss PORTB,2 goto menu_pomeh btfss PORTB,4 goto menu_pomeh bra pameha_k2 ;********************************100 pam1 call STROKA_3 call POZIZ_3 call _AL33 call _AL33 call _AL42 call _AL40 call _AL40 call _AL33 call _AL4 call _AL23 call antidrebezg pameha_k3 bsf LATC,6 movlw d'62' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 ;************************************** bcf LATC,6 movlw d'62' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 btfss PORTB,1 bra pam btfss PORTB,3 bra pam2 btfss PORTB,2 goto menu_pomeh btfss PORTB,4 goto menu_pomeh bra pameha_k3 ;******************************** ;********************************150 pam2 call STROKA_3 call POZIZ_3 call _AL33 call _AL33 call _AL43 call _AL45 call _AL40 call _AL33 call _AL4 call _AL23 call antidrebezg pameha_k4 bsf LATC,6 movlw d'36' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 ;************************************** bcf LATC,6 movlw d'36' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 btfss PORTB,1 bra pam1 btfss PORTB,2 goto menu_pomeh btfss PORTB,4 goto menu_pomeh bra pameha_k4 ;******************************** ;**************************************************************************************** ; podprogramma kodgrabber kodgrabber call histim ;chistim pole call skan_vkl goto werh ;*********************************************************scan on skan_vkl call STROKA_1 call _AL33 call _AL18 call _AL11 call _AL1 call _AL14 call _AL9 call _AL17 call _AL15 call _AL3 call _AL1 call _AL14 call _AL9 call _AL6 call STROKA_2 call POZIZ_4 call _AL3 call _AL11 call _AL12 call _AL31 call _AL24 call _AL6 call _AL14 call _AL15 call STROKA_3 call POZIZ_5 call _AL44 call _AL43 call _AL43 call _AL50 call _AL49 call _AL42 return ;******************************************************************************************** hexx bcf bufer,7 bcf bufer,6 bcf bufer,5 bcf bufer,4 tabl movlw high NON movwf PCLATH rlncf bufer,w addlw low NON btfsc STATUS,C incf PCLATH,f movwf PCL NON bra _0 bra _1 bra _2 bra _3 bra _4 bra _5 bra _6 bra _7 bra _8 bra _9 bra _A bra _B bra _C bra _D bra _E bra _F otrabotka return ;**********************************************0x3E, 0x51, 0x49, 0x45, 0x3E _0 movlw h'3E' movwf wibrosreg call wiwodim movlw h'51' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'3E' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x00, 0x42, 0x7F, 0x40, 0x00 _1 movlw h'00' movwf wibrosreg call wiwodim movlw h'42' movwf wibrosreg call wiwodim movlw h'7F' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x42, 0x61, 0x51, 0x49, 0x46 _2 movlw h'42' movwf wibrosreg call wiwodim movlw h'61' movwf wibrosreg call wiwodim movlw h'51' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'46' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x21, 0x41, 0x45, 0x4B, 0x31 _3 movlw h'21' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'4b' movwf wibrosreg call wiwodim movlw h'31' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x18, 0x14, 0x12, 0x7F, 0x10 _4 movlw h'18' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'12' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x27, 0x45, 0x45, 0x45, 0x39 _5 movlw h'27' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'39' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x3C, 0x4A, 0x49, 0x49, 0x30 _6 movlw h'3c' movwf wibrosreg call wiwodim movlw h'4a' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'30' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x01, 0x71, 0x09, 0x05, 0x03 _7 movlw h'01' movwf wibrosreg call wiwodim movlw h'71' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'05' movwf wibrosreg call wiwodim movlw h'03' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x36, 0x49, 0x49, 0x49, 0x36 _8 movlw h'36' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'36' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x06, 0x49, 0x49, 0x29, 0x1E _9 movlw h'06' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'1e' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x7E, 0x11, 0x11, 0x11, 0x7E _A movlw h'7e' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'7e' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x36 _B movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'36' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x22 _C movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x7F, 0x41, 0x41, 0x22, 0x1C _D movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'1c' movwf wibrosreg call wiwodim call prabel bra otrabotka ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x41 _E movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel bra otrabotka ;********************************************** 0x7F, 0x09, 0x09, 0x09, 0x01 _F movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel bra otrabotka ;********************************************** ;*********************************************************************************************** ;********************************************** ;**********************************************0x7E, 0x11, 0x11, 0x11, 0x7E ? _AL1 movlw h'7e' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'7e' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x31 ? _AL2 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'31' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x36 ? _AL3 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'36' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x01, 0x01, 0x01, 0x03 ? _AL4 movlw h'7f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'03' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x70, 0x29, 0x27, 0x21, 0x7F ? _AL5 movlw h'70' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'27' movwf wibrosreg call wiwodim movlw h'21' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x41 ? _AL6 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x77, 0x08, 0x7F, 0x08, 0x77 ? _AL7 movlw h'77' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'77' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x41, 0x41, 0x41, 0x49, 0x76 ? _AL8 movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'76' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x10, 0x08, 0x04, 0x7F ? _AL9 movlw h'7f' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'04' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x10, 0x09, 0x04, 0x7F ? _AL10 movlw h'7f' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'04' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x08, 0x14, 0x22, 0x41 ? _AL11 movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x20, 0x41, 0x3F, 0x01, 0x7F ? _AL12 movlw h'20' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x02, 0x0C, 0x02, 0x7F ? _AL13 movlw h'7f' movwf wibrosreg call wiwodim movlw h'02' movwf wibrosreg call wiwodim movlw h'0c' movwf wibrosreg call wiwodim movlw h'02' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x08, 0x08, 0x08, 0x7F ? _AL14 movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E ? _AL15 movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x01, 0x01, 0x01, 0x7F ? _AL16 movlw h'7f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x09, 0x09, 0x09, 0x06 ? _AL17 movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'06' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x22 ? _AL18 movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x01, 0x01, 0x7F, 0x01, 0x01 ? _AL19 movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x47, 0x28, 0x10, 0x08, 0x07 ? _AL20 movlw h'47' movwf wibrosreg call wiwodim movlw h'28' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'07' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x1E, 0x21, 0x7F, 0x21, 0x1E ? _AL21 movlw h'1e' movwf wibrosreg call wiwodim movlw h'21' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'21' movwf wibrosreg call wiwodim movlw h'1e' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x63, 0x14, 0x08, 0x14, 0x63 ? _AL22 movlw h'63' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'63' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x3F, 0x20, 0x20, 0x20, 0x5F ? _AL23 movlw h'3f' movwf wibrosreg call wiwodim movlw h'20' movwf wibrosreg call wiwodim movlw h'20' movwf wibrosreg call wiwodim movlw h'20' movwf wibrosreg call wiwodim movlw h'5f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x07, 0x08, 0x08, 0x08, 0x7F ? _AL24 movlw h'07' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x40, 0x7F, 0x40, 0x7F ? _AL25 movlw h'7f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x3F, 0x20, 0x3F, 0x20, 0x5F ? _AL26 movlw h'3f' movwf wibrosreg call wiwodim movlw h'20' movwf wibrosreg call wiwodim movlw h'3f' movwf wibrosreg call wiwodim movlw h'20' movwf wibrosreg call wiwodim movlw h'5f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x01, 0x7F, 0x48, 0x48, 0x30 ? _AL27 movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'48' movwf wibrosreg call wiwodim movlw h'48' movwf wibrosreg call wiwodim movlw h'30' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x48, 0x30, 0x00, 0x7F ? _AL28 movlw h'7f' movwf wibrosreg call wiwodim movlw h'48' movwf wibrosreg call wiwodim movlw h'30' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x00, 0x7F, 0x48, 0x48, 0x30 ? _AL29 movlw h'00' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'48' movwf wibrosreg call wiwodim movlw h'48' movwf wibrosreg call wiwodim movlw h'30' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x41, 0x41, 0x41, 0x49, 0x3E ? _AL30 movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x7F, 0x08, 0x3E, 0x41, 0x3E ? _AL31 movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x46, 0x29, 0x19, 0x09, 0x7F ? _AL32 movlw h'46' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'19' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************000000 _AL33 movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel return ;**********************************************000000 _AL34 movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel return ;********************************************** ;*********************************************************************************************** ;**********************************************{0x14, 0x7F, 0x14, 0x7F, 0x14},// 23 # _AL35 movlw h'14' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x14, 0x7F, 0x14, 0x7F, 0x14},// 23 # _AL36 movlw h'7f' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x14, 0x7F, 0x14, 0x7F, 0x14},// 23 # _AL37 movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x14, 0x7F, 0x14, 0x7F, 0x14},// 23 # _AL38 movlw h'00' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x14, 0x7F, 0x14, 0x7F, 0x14},// 23 # _AL39 movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x08, 0x14, 0x22, 0x41, 0x00},// 3c < _AL38_1 movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel return ; cifri ;**********************************************{0x3E, 0x51, 0x49, 0x45, 0x3E},// 30 0 _AL40 movlw h'3e' movwf wibrosreg call wiwodim movlw h'51' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x00, 0x42, 0x7F, 0x40, 0x00},// 31 1 _AL41 movlw h'00' movwf wibrosreg call wiwodim movlw h'42' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x42, 0x61, 0x51, 0x49, 0x46},// 32 2 _AL42 movlw h'42' movwf wibrosreg call wiwodim movlw h'61' movwf wibrosreg call wiwodim movlw h'51' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'46' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x21, 0x41, 0x45, 0x4B, 0x31},// 33 3 _AL43 movlw h'21' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'4b' movwf wibrosreg call wiwodim movlw h'31' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x18, 0x14, 0x12, 0x7F, 0x10},// 34 4 _AL44 movlw h'18' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'12' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x27, 0x45, 0x45, 0x45, 0x39},// 35 5 _AL45 movlw h'27' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'45' movwf wibrosreg call wiwodim movlw h'25' movwf wibrosreg call wiwodim movlw h'39' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x3C, 0x4A, 0x49, 0x49, 0x30},// 36 6 _AL46 movlw h'3c' movwf wibrosreg call wiwodim movlw h'4a' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'30' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x01, 0x71, 0x09, 0x05, 0x03},// 37 7 _AL47 movlw h'01' movwf wibrosreg call wiwodim movlw h'71' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'05' movwf wibrosreg call wiwodim movlw h'03' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x36, 0x49, 0x49, 0x49, 0x36},// 38 8 _AL48 movlw h'36' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'36' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x06, 0x49, 0x49, 0x29, 0x1E},// 39 9 _AL49 movlw h'06' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'1e' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x00, 0x60, 0x60, 0x00, 0x00},// 2e . _AL50 movlw h'00' movwf wibrosreg call wiwodim movlw h'60' movwf wibrosreg call wiwodim movlw h'60' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x3F, 0x40, 0x38, 0x40, 0x3F},// 57 W _ALW movlw h'3f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'38' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'3f' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7F, 0x09, 0x09, 0x09, 0x06},// 50 P _ALP movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'06' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7F, 0x08, 0x08, 0x08, 0x7F} _ALH movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7F, 0x09, 0x19, 0x29, 0x46}. _ALR movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'19' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'46' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7F, 0x49, 0x49, 0x49, 0x41},// 45 E _ALE movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7E, 0x11, 0x11, 0x11, 0x7E},// 41 A _ALA movlw h'7f' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'7e' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x7F, 0x08, 0x14, 0x22, 0x41},// 4b K _ALK movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x3F, 0x40, 0x40, 0x40, 0x3F},// 55 U _ALU movlw h'3f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'3f' movwf wibrosreg call wiwodim call prabel return ;********************************************** _ALL ;bukva L movlw 0x7F movwf wibrosreg call wiwodim movlw 0x40 movwf wibrosreg call wiwodim movlw 0x40 movwf wibrosreg call wiwodim movlw 0x40 movwf wibrosreg call wiwodim movlw 0x40 movwf wibrosreg call wiwodim call prabel return ;*********************************************** _ALN: ;bukva N movlw 0x7F ;b'0111 1111','',.127 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x04 ;b'0000 0100',' ',.04 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x08 ;b'0000 1000',' ',.08 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x10 ;b'0001 0000',' ',.16 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x7F ;b'0111 1111','',.127 movwf wibrosreg, ACCESS call wiwodim, 0 call prabel return 0 _ALF: ;bukva F movlw 0x7F movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x09 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x09 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x09 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x01 movwf wibrosreg, ACCESS call wiwodim, 0 call prabel return 0 _ALG ;bukva G movlw 0x3E movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x41 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x49 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x49 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x7A movwf wibrosreg, ACCESS call wiwodim, 0 call prabel return 0 _ALI: ;bukva I movlw 0x00 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x41 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x7F movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x41 movwf wibrosreg, ACCESS call wiwodim, 0 movlw 0x00 movwf wibrosreg, ACCESS call wiwodim, 0 call prabel return 0 ;**********************************************{0x46, 0x49, 0x49, 0x49, 0x31},// 53 S _ALT movlw h'00' movwf wibrosreg call wiwodim movlw h'60' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim return ;**********************************************{// 55 U 0x7f, 0x04, 0x08, 0x10, 0x7f, // 4e N ;**********************************************{ 0x08, 0x08, 0x08, 0x08, 0x08, // 2d - _AL356 movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim call prabel return ;**********************************************{ 0x7f, 0x41, 0x41, 0x22, 0x1c, // 44 D - _ALD movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'1c' movwf wibrosreg call wiwodim call prabel return ;**********************************************{0x46, 0x49, 0x49, 0x49, 0x31, // 53 S _ALS movlw h'46' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'31' movwf wibrosreg call wiwodim call prabel return ; podprogramma vibrosa i probella ;********************************************** prabel movlw h'00' movwf wibrosreg call wiwodim return ;********************************************** wiwodim_1 ; btfss flag_anim bra wiwodim tstfsz reg_anim ;esli reg_anim raven 0 to propustit decfsz reg_anim wiwodim bcf LATC,3 ;?? btfsc wibrosreg,7 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,6 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,5 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,4 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,3 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,2 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,1 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? ;********************************************** bcf LATC,3 ;?? btfsc wibrosreg,0 bsf LATC,3 ;?? bsf LATC,4 ;?? bcf LATC,4 ;?? return ;********************************************** ; podprogramma ochistki displeya s nulevoy strochky ;******************************************************************************************** histim bcf LATC,2 ;obrash k lcd movlw b'10000000' ;adress v stroke movwf wibrosreg call wiwodim movlw b'01000000' ;strochnaya adresacia)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k lcd movlw d'240' movwf bank1 recet5 movlw d'34' movwf bank0 recet3 bcf LATC,3 ;?? bsf LATC,4 bcf LATC,4 ;?? decfsz bank0,f bra recet3 decfsz bank1,f bra recet5 return ;******************************************************************************************** ; podprogramma adressa strochki ;******************************************************************************************** STROKA_0 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000000' ;strochnaya adresacia)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;?????????? ? LCD return ;******************************************************************************************** STROKA_1 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000001' ;strochnaya adresacia)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k LCD return ;******************************************************************************************** STROKA_2 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000010' ;strochnaya adresacia)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k LCD return ;******************************************************************************************** STROKA_3 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000011' ;strochnaya adresacia)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k LCD return ;******************************************************************************************** STROKA_4 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000100' ;strochnaya adresacia?)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k LCD return ;******************************************************************************************** STROKA_5 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim movlw b'01000101' ;strochnaya adresacia?)))) 1-000 2-001 3-010 4-011 5-100 6-101 movwf wibrosreg call wiwodim bsf LATC,2 ;obrash k LCD return ;******************************************************************************************** ; podprogramma pozicii v strochke ;******************************************************************************************** POZIZ_1 bcf LATC,2 ;obrash k LCD movlw b'10000000' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_2 bcf LATC,2 ;obrash k LCD movlw b'10000110' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_3 bcf LATC,2 ;obrash k LCD movlw b'10001100' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_4 bcf LATC,2 ;obrash k LCD movlw b'10010010' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_5 bcf LATC,2 ;obrash k LCD movlw b'10011000' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_6 bcf LATC,2 ;obrash k LCD movlw b'10011110' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_7 bcf LATC,2 ;obrash k LCD movlw b'10100100' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_8 bcf LATC,2 ;obrash k LCD movlw b'10101010' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_9 bcf LATC,2 ;obrash k LCD movlw b'10110000' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_10 bcf LATC,2 ;obrash k LCD movlw b'10110110' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_11 bcf LATC,2 ;obrash k LCD movlw b'10111100' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_12 bcf LATC,2 ;obrash k LCD movlw b'11000010' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_13 bcf LATC,2 ;obrash k LCD movlw b'11001000' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_14 bcf LATC,2 ;obrash k LCD movlw b'11001110' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_15 bcf LATC,2 ;obrash k LCD movlw b'11010100' ;adrs v strochke movwf wibrosreg call wiwodim bsf LATC,2 return ;******************************************************************************************** POZIZ_INCR bcf LATC,2 ;obrash k LCD movff bank9,wibrosreg ;adrs v strochke call wiwodim bsf LATC,2 return ;******************************************************************************************** ; podprogramma zaderzhki cnopki ;******************************************************************************************** zaderjka ;120msek movlw d'155' movwf bank0 metka movlw d'255' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra metka return ;******************************************************************************************** ; podprogramma zaderzhki cnopki ;******************************************************************************************** zaderjka2 ;61msek movlw d'80' movwf bank0 metka2 movlw d'255' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra metka2 return ;******************************************************************************************** zaderjka3 ;4msek movlw d'5' movwf bank0 metka3 movlw d'255' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra metka3 return ;******************************************************************************************** zaderjka4 ;3msek movlw d'15' movwf bank3 metka7 movlw d'255' movwf bank0 metka6 movlw d'255' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra metka6 decfsz bank3,f bra metka7 return zadergka5 ;********************************* movlw d'60' ;15msek movwf bank0 zzz movlw d'80' movwf bank1 decfsz bank1,f bra $-2 decfsz bank0,f bra zzz return ;******************************************************************************************** zaderjka6 ;240msek call zaderjka call zaderjka return ;******************************************************************************************** binarim ;priniat paket starline call histim binarim7 call STROKA_0 call starline_nad ;vivod hex vida call STROKA_1 swapf registr1 movff registr1,bufer call hexx swapf registr1 movff registr1,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr4 movff registr4,bufer call hexx swapf registr4 movff registr4,bufer call hexx call _AL33 call hopping call STROKA_2 swapf registr5 movff registr5,bufer call hexx swapf registr5 movff registr5,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr7 movff registr7,bufer call hexx swapf registr7 movff registr7,bufer call hexx call _AL33 swapf registr8 movff registr8,bufer call hexx swapf registr8 movff registr8,bufer call hexx call fixed return ;************************************ binarim2 call STROKA_3 swapf registr11 movff registr11,bufer call hexx swapf registr11 movff registr11,bufer call hexx swapf registr12 movff registr12,bufer call hexx swapf registr12 movff registr12,bufer call hexx swapf registr13 movff registr13,bufer call hexx swapf registr13 movff registr13,bufer call hexx swapf registr14 movff registr14,bufer call hexx swapf registr14 movff registr14,bufer call hexx call _AL33 call hopping call STROKA_4 swapf registr15 movff registr15,bufer call hexx swapf registr15 movff registr15,bufer call hexx swapf registr16 movff registr16,bufer call hexx swapf registr16 movff registr16,bufer call hexx swapf registr17 movff registr17,bufer call hexx swapf registr17 movff registr17,bufer call hexx call _AL33 swapf registr18 movff registr18,bufer call hexx swapf registr18 movff registr18,bufer call hexx call fixed return ;******************************************************************************************** binarim3 ;priniat paket keeqloq call histim binarim8 call STROKA_0 call keeloq_nad ;vivod hex vida call STROKA_1 swapf registr38 movff registr38,bufer call hexx swapf registr38 movff registr38,bufer call hexx swapf registr37 movff registr37,bufer call hexx swapf registr37 movff registr37,bufer call hexx swapf registr36 movff registr36,bufer call hexx swapf registr36 movff registr36,bufer call hexx swapf registr35 movff registr35,bufer call hexx swapf registr35 movff registr35,bufer call hexx call _AL33 call hopping call STROKA_2 swapf registr34 movff registr34,bufer call hexx swapf registr34 movff registr34,bufer call hexx swapf registr33 movff registr33,bufer call hexx swapf registr33 movff registr33,bufer call hexx swapf registr32 movff registr32,bufer call hexx swapf registr32 movff registr32,bufer call hexx swapf registr31 movff registr31,bufer call hexx call _AL33 swapf registr31 movff registr31,bufer call hexx call fixed return ;************************************ binarim4 call STROKA_3 swapf registr48 movff registr48,bufer call hexx swapf registr48 movff registr48,bufer call hexx swapf registr47 movff registr47,bufer call hexx swapf registr47 movff registr47,bufer call hexx swapf registr46 movff registr46,bufer call hexx swapf registr46 movff registr46,bufer call hexx swapf registr45 movff registr45,bufer call hexx swapf registr45 movff registr45,bufer call hexx call _AL33 call hopping call STROKA_4 swapf registr44 movff registr44,bufer call hexx swapf registr44 movff registr44,bufer call hexx swapf registr43 movff registr43,bufer call hexx swapf registr43 movff registr43,bufer call hexx swapf registr42 movff registr42,bufer call hexx swapf registr42 movff registr42,bufer call hexx swapf registr41 movff registr41,bufer call hexx call _AL33 swapf registr41 movff registr41,bufer call hexx call fixed return ;************************************************* ******************************* ;umnaya glushilka ;************************************************* ******************************* umn_glush_zader call zaderjka6 call umn_glush_disp bra werh umn_glush call pomeha_1sek INCF bank8 call umn_glush_disp bra werh umn_glush_s movff registr5,registr15 movff registr6,registr16 call binarim bcf registr_FLAG,2 ;obnulaim flag zapisi bsf registr_FLAG,4 ;stavim flag glushenia call pomeha_1sek clrf bank8 ;obnuliaim schetchik zaglushennih paketov bra umn_glush_zader umn_glush_s_1 bcf STATUS,Z movf registr15,w ;sverka nash paket ili net xorwf registr7,w btfss STATUS,Z bra umn_glush_zader bcf STATUS,Z bra umn_glush umn_glush_k movff registr33,registr43 movff registr34,registr44 call binarim3 bcf registr_FLAG,2 ;obnulaim flag zapisi bsf registr_FLAG,4 ;stavim flag glushenia call pomeha_1sek clrf bank8 ;obnuliaim schetchik zaglushennih paketov bra umn_glush_zader umn_glush_k_1 ;sverka nash paket ili net bcf STATUS,Z movf registr44,w xorwf registr32,w btfss STATUS,Z bra umn_glush_zader bcf STATUS,Z bra umn_glush ;***********************************************vivod glushilka umn_glush_disp call STROKA_5 ;glushilka call POZIZ_3 call _AL4 call _AL12 call _AL20 call _AL25 call _AL9 call _AL12 call _AL11 call _AL1 call _AL33 movff bank8,bank1 call hex_dec call pomeha_200msek call wibros_hex_dec return ;*********************************************** podprogramma save paket********************************************* werh btfss PORTB,2 goto prograb btfss PORTB,4 goto prograb btfss PORTC,5 ;zhdem log 1 bra werh ;esli 0 to v werh movlw d'6' ;skolko raz budem proverat na log 1 movwf bank1 log1 btfss PORTC,5 bra werh ;esli 0 to v werh movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra log1 ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 ;esli log 1 konchilas bra keeloq ;to uhodim na prinatie keeloq ;******************************************************************************************** btfsc PORTC,5 ;zhdem okonchanie 1 bra $-2 btfss PORTC,5 ;zhdem okonchanie 0 bra $-2 ;************************************** movlw b'00001101' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'5' movwf bank0 preambula movlw d'10' movwf bank2 log_1 btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra werh movlw d'25' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_1 clrf TMR2 ;************************************** taimer_0 btfsc PIR1,TMR2IF bra werh btfsc PORTC,5 bra taimer_0 ;************************************** movlw d'10' movwf bank2 log_0 btfsc PIR1,TMR2IF bra werh btfsc PORTC,5 bra werh movlw d'20' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_0 clrf TMR2 ;************************************** taimer_1 btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra taimer_1 ;************************************** decfsz bank0,f bra preambula ;******************************************************************************************** movlw b'00011100' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'64' movwf bank0 movlw d'4' movwf bank6 movlw d'48' movwf bank5 priem ;************************************** movlw d'7' movwf bank2 bit btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra werh movlw d'4' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra bit ;************************************** clrf TMR2 movlw d'65' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr8 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 ;************************************** decfsz bank5,f ;esle 6 bait prinali to na proverku flaga "umnaiaglushilka" bra metka_s_2 btfsc registr_FLAG,4 ;esli flag = "1" to v podprogrammu "umnglushilka" glushim bra umn_glush_s_1 ;************************************** metka_s_2 btfss PORTC,5 ;esli na portu 1 to na pomehu bra taimer_0_2 decfsz bank6,f ;proverka chtob log 1 bila v tretiy raz bra taimer_0_2 movlw d'4' movwf bank6 btfsc PORTC,5 ;zhdem okonchania log 1 bra $-2 movlw d'15' ;malenkaya pausa pered pomehoy movwf bank2 decfsz bank2,f bra $-2 clrf TMR2 bsf LATC,6 movlw d'10' ;dlitelnost pomehi movwf bank1 movlw d'3' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra $-10 bcf LATC,6 ;************************************** taimer_0_2 btfsc PIR1,TMR2IF bra werh btfsc PORTC,5 bra taimer_0_2 ;************************************** taimer_1_3 btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra taimer_1_3 ;************************************** clrf TMR2 decfsz bank0,f bra priem ;******************************************************************************************** btfsc registr_FLAG,2 ;esli flag = "1" to v podprog "umnglush" zapis bra umn_glush_s call pomeha_1sek ;glushim ostavshiusa posilku ;******************************************************************************************** call binarim ;********************************;zvodim timer1 na prinatie vtorogo paketa ; movlw b'10000110' ; movwf T0CON ; clrf TMR0H ; clrf TMR0L ; bcf INTCON,T0IF wert ;nachalo prinatia vtorogo paketa movlw b'00001101' ;zavodim timer2 dla oshibok v preambule movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** ; btfsc INTCON,T0IF ; goto werh ;0x0000 esli vrema timer1 konchilas idem na prinatie 1 paketa btfss PORTB,2 ;esli < > nazhati to v menu grabba goto prograb btfss PORTB,4 goto prograb movlw d'6' movwf bank0 preambula2 movlw d'10' movwf bank2 log_1_2 btfsc PIR1,TMR2IF bra wert btfss PORTC,5 bra wert movlw d'25' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_1_2 clrf TMR2 ;************************************** taimer_0_4 btfsc PIR1,TMR2IF bra wert btfsc PORTC,5 bra taimer_0_4 ;************************************** movlw d'10' movwf bank2 log_0_2 btfsc PIR1,TMR2IF bra wert btfsc PORTC,5 bra wert movlw d'20' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_0_2 clrf TMR2 ;************************************** taimer_1_5 btfsc PIR1,TMR2IF bra wert btfss PORTC,5 bra taimer_1_5 ;************************************** decfsz bank0,f bra preambula2 ;******************************************************************************************** movlw b'00011100' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'64' movwf bank0 movlw d'4' ;pomeha v log 1 cherez 3 raza movwf bank6 priem2 ;************************************** taimer_1_7 btfsc PIR1,TMR2IF ;zhdem log 1 bra wert btfss PORTC,5 bra taimer_1_7 ;************************************** clrf TMR2 movlw d'7' ;proverka na log 1 7 movwf bank2 bit2 btfsc PIR1,TMR2IF bra wert btfss PORTC,5 bra wert movlw d'4' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra bit2 ;************************************** clrf TMR2 ;zaderzhka 65 raz movlw d'65' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 ;zadvigaem bit v regisrri bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr18 rlcf registr17 rlcf registr16 rlcf registr15 rlcf registr14 rlcf registr13 rlcf registr12 rlcf registr11 ;************************************** btfss PORTC,5 ;esli log 1 to na pomehu bra taimer_0_6 decfsz bank6,f ;proverka chtob log 1 bila v tretiy raz bra taimer_0_6 movlw d'4' movwf bank6 btfsc PORTC,5 ;zhdem okonchania log 1 bra $-2 movlw d'15' ;malenkaya pauza pered pomehoy movwf bank2 decfsz bank2,f bra $-2 clrf TMR2 bsf LATC,6 movlw d'10' ;dlitelnost pomehi movwf bank1 movlw d'3' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra $-10 bcf LATC,6 ;************************************** taimer_0_6 ;zhdem log 0 btfsc PIR1,TMR2IF bra wert btfsc PORTC,5 bra taimer_0_6 ;************************************** decfsz bank0,f ;skolko bit ostalos bra priem2 ;******************************************************************************************** movf registr15,w ;sverka nash paket ili net xorwf registr5,w btfss STATUS,Z bra wert bcf STATUS,Z ;************************************** bsf LATC,6 movlw d'84' movwf bank2 movlw d'12' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 ;************************************** bcf LATC,6 movf registr11,w xorwf registr1,w btfsc STATUS,Z bra wert bcf STATUS,Z ;************************************** movf registr12,w xorwf registr2,w btfsc STATUS,Z bra wert bcf STATUS,Z ;************************************** ;dla dvuhknopki btfss registr_FLAG,1 ;esli log 1 propustit sleduishu komandu bra metka2kns bcf STATUS,Z movf registr18,w xorwf registr8,w btfss STATUS,Z bra metka2kns bcf STATUS,Z call pomeha_1sek movff registr11,registr1 movff registr12,registr2 movff registr13,registr3 movff registr14,registr4 movff registr15,registr5 movff registr16,registr6 movff registr17,registr7 movff registr18,registr8 call binarim7 bra wert ;******************************************************************************************** metka2kns call binarim2 ;otpreavlaim na vivod hex vid ; call pomeha_200msek bra park1 ;******************************** ;******************************************************************************************** knopkaS btfss PORTB,1 bra park1 btfss PORTB,3 bra park2 btfss PORTB,2 goto S_STORE btfss PORTB,4 goto prograb btfsc registr_FLAG,2 ;esli flag = "1" to v podprogrammu "umnglush" zapis bra umn_glush_s call skan btfsc PORTB,0 bra knopkaS ;*********************************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! park1 call wiwidim_pac ;nadpis otpravlaim paket call wiwidim_pacs1 ;nadpis strelka call wiwidim_pacs3 ;nadpis strelka movlw d'12' movwf bank2 paket1 movlw d'6' movwf bank0 wibros_pr bsf LATC,6 movlw d'225' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'225' movwf bank1 nop decfsz bank1,f bra $-4 decfsz bank0,f bra wibros_pr ;******************************************************************************************** movlw d'64' movwf bank0 wibros btfss registr1,7 bcf STATUS,C btfsc registr1,7 bsf STATUS,C rlcf registr8 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 btfsc STATUS,C bra LOG_1 ;******************************************************************************************** bsf LATC,6 movlw d'120' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'120' movwf bank1 nop decfsz bank1,f bra $-4 bra LOG_2 ;******************************************************************************************** LOG_1 bsf LATC,6 movlw d'60' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'60' movwf bank1 nop decfsz bank1,f bra $-4 LOG_2 decfsz bank0,f bra wibros decfsz bank2,f bra paket1 call binarim7 call binarim2 btfsc PORTB,0 bra knopkaS ;*************************************nacalo oshibki stara******************************************************* park2 call wiwidim_pacs2 ;nadpis strelka call wiwidim_pacs0 movlw d'12' movwf bank2 paket2 movlw d'6' movwf bank0 wibros_pr2 bsf LATC,6 movlw d'225' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'225' movwf bank1 nop decfsz bank1,f bra $-4 decfsz bank0,f bra wibros_pr2 ;******************************************************************************************** movlw d'64' movwf bank0 wibros2 btfss registr11,7 bsf STATUS,C btfsc registr11,7 bcf STATUS,C rlcf registr18 rlcf registr17 rlcf registr16 rlcf registr15 rlcf registr14 rlcf registr13 rlcf registr12 rlcf registr11 btfsc STATUS,C bra LOG_1_2 ;*********************************************************sdes oshibka stara*********************************** bsf LATC,6 movlw d'120' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'120' movwf bank1 nop decfsz bank1,f bra $-4 bra LOG_2_2 ;**************************************oshibki stara****************************************************** LOG_1_2 bsf LATC,6 movlw d'60' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'60' movwf bank1 nop decfsz bank1,f bra $-4 LOG_2_2 decfsz bank7,f bra wibros2 decfsz bank2,f bra paket2 call binarim7 call binarim2 btfsc PORTB,0 bra knopkaS ;*******************************gdeto sdes oshibka************************************************************* ;******************************************************************************************** pomeha_200msek movlw d'36' bra metka_pomeha_1sek_2 pomeha_1sek ;pomeha 1 sec 300mhz movlw d'255' metka_pomeha_1sek_2 movwf bank7 metka_pomeha_1sek bsf LATC,6 movlw d'45' movwf bank2 movlw d'20' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 ;************************************** bcf LATC,6 movlw d'45' movwf bank2 movlw d'20' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra $-10 decfsz bank7,f bra metka_pomeha_1sek return ;******************************************************************************************** ;******************************************************************************************** ;******************************************************************************************** ;******************************************************************************************** keeloq clrf registr_STATUS ;************************************** movlw b'00011110' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'8' movwf bank0 preambula_keeloq btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra preambula_keeloq movlw d'6' movwf bank1 log1_k btfss PORTC,5 bra werh movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra log1_k ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfsc PORTC,5 ;esli log 0 to idem dalshe bra werh decfsz bank0,f bra preambula_keeloq clrf TMR2 ;********************************************************************************************;?????? ? ?????? movlw d'3' ;pomeha v horde movwf bank1 pamehahod bsf LATC,6 movlw d'80' movwf bank2 decfsz bank2,f bra $-2 ;************************************** bcf LATC,6 movlw d'80' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra pamehahod ;******************************************************************************************** hoder movlw d'7' movwf bank1 hod btfsc PORTC,5 ;esli log 0 to idem dalshe bra hoder movlw d'27' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra hod ;******************************************************************************************** movlw d'64' movwf bank0 movlw d'48' ;umnglushilka movwf bank5 movlw d'4' ;pomeha v log 0 cherez 3 raza movwf bank6 priem_k btfsc PORTC,5 bra $-2 btfsc PIR1,TMR2IF bra werh btfss PORTC,5 bra $-6 movlw d'6' movwf bank1 TE btfss PORTC,5 bra werh movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra TE ;************************************** movlw d'90' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr31 rlcf registr32 rlcf registr33 rlcf registr34 rlcf registr35 rlcf registr36 rlcf registr37 rlcf registr38 ;******************************************pomeha vo 2om te btfsc PORTC,5 ;esli log 0 to na pomehu bra metka_k_3 decfsz bank6,f ;proverka chtob log 0 bil v tretiy raz bra metka_k_3 movlw d'4' movwf bank6 clrf TMR2 bsf LATC,6 movlw d'10' ;dlitelnost pomehi movwf bank1 movlw d'4' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra $-10 bcf LATC,6 ;******************************************dla umnglushilki metka_k_3 decfsz bank5,f ;esli 6 bait prinali to na proverku flaga "umnglushilka" bra metka_k_2 btfsc registr_FLAG,4 ;esli flag = "1" to v podprogrammu "umnglushilka" glushim bra umn_glush_k_1 ;****************************************** metka_k_2 clrf TMR2 decfsz bank0,f bra priem_k ;******************************************************************************************** btfsc registr_FLAG,2 ;esli flag = "1" to v podprogrammu "umnglushilka" zapis bra umn_glush_k call pomeha_1sek ;******************************** call binarim3 ;******************************************************************************************** ;******************************************************************************************** ; movlw b'10000110' ; movwf T0CON ; clrf TMR0H ; clrf TMR0L ; bcf INTCON,T0IF ;************************************** werh2_keeloq ;************************************** ; btfsc INTCON,T0IF ; goto werh ;0x0000 btfss PORTB,2 ;esli < > nazhati to v menu grtabba goto prograb btfss PORTB,4 goto prograb movlw b'00011110' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'8' movwf bank0 preambula2_k btfsc PIR1,TMR2IF bra werh2_keeloq btfss PORTC,5 bra preambula2_k movlw d'6' movwf bank1 log12 btfss PORTC,5 bra werh2_keeloq movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra log12 ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfsc PORTC,5 bra werh2_keeloq decfsz bank0,f bra preambula2_k clrf TMR2 ;********************************************************************************************;pomeha v hodere movlw d'3' ;pomeha v hodere movwf bank1 pamehahod2 bsf LATC,6 movlw d'80' movwf bank2 decfsz bank2,f bra $-2 ;************************************** bcf LATC,6 movlw d'80' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra pamehahod2 ;******************************************************************************************** hoder2 movlw d'7' movwf bank1 hod2 btfsc PORTC,5 bra hoder2 movlw d'27' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra hod2 ;******************************************************************************************** movlw d'64' movwf bank0 movlw d'4' ;pomeha v log 0 cherez 3 raza movwf bank6 priem2_k btfsc PORTC,5 bra $-2 btfsc PIR1,TMR2IF bra werh2_keeloq btfss PORTC,5 bra $-6 movlw d'6' movwf bank1 TE2 btfss PORTC,5 bra werh2_keeloq movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra TE2 ;************************************** movlw d'90' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr41 rlcf registr42 rlcf registr43 rlcf registr44 rlcf registr45 rlcf registr46 rlcf registr47 rlcf registr48 clrf TMR2 ;******************************************pomeha vo 2om te btfsc PORTC,5 ;esli log 0 to na pomehu bra metka_k_4 decfsz bank6,f ;proverka chtob log 0 bil v tretiy raz bra metka_k_4 movlw d'4' movwf bank6 clrf TMR2 bsf LATC,6 movlw d'10' ;dlitelnost pomehi movwf bank1 movlw d'4' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra $-10 bcf LATC,6 ;************************************** metka_k_4 decfsz bank0,f bra priem2_k ;************************************** movlw d'5' ;pomeha v konce 2 paketa movwf bank1 pamehahod3 bsf LATC,6 movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** bcf LATC,6 movlw d'100' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra pamehahod3 ;**************************************sverka paketa bcf STATUS,Z movf registr44,w xorwf registr34,w btfss STATUS,Z bra werh2_keeloq bcf STATUS,Z ;************************************** ;dla dvuhknopki btfss registr_FLAG,1 ;esli log 1 propustit sleduishuu komandu bra metka2kn bcf STATUS,Z movf registr41,w ;proveraim nazhati knopki xorwf registr31,w ;esli knopka kak v pervoy posilke btfss STATUS,Z ;to perepisivfem paket?2 v paket1 i idem na priem bra metka2kn bcf STATUS,Z call pomeha_1sek movff registr41,registr31 movff registr42,registr32 movff registr43,registr33 movff registr44,registr34 movff registr45,registr35 movff registr46,registr36 movff registr47,registr37 movff registr48,registr38 call binarim8 bra werh2_keeloq ;******************************** metka2kn call binarim4 ; call pomeha_200msek bra paket_1 ;******************************************************************************************** knopkaS1 btfss PORTB,1 bra paket_1 btfss PORTB,3 bra paket_2 btfss PORTB,2 goto K_STORE btfss PORTB,4 goto prograb call STROKA_5 call belim btfsc registr_FLAG,2 ;esli flag = "1" to v podprogrammu "umnglushilka" zapis bra umn_glush_k call skan bcf registr_STATUS,2 btfss PORTB,0 bra paket_1 bra knopkaS1 ;******************************************************************************************** paket_1 movff registr31,registr51 movff registr32,registr52 movff registr33,registr53 movff registr34,registr54 movff registr35,registr55 movff registr36,registr56 movff registr37,registr57 movff registr38,registr58 bcf registr_STATUS,4 call wiwidim_pacs3 call wiwidim_pacs1 ;nadpis strelka ;************************************** bra wibros_pak ;******************************************************************************************** paket_2 movff registr41,registr51 movff registr42,registr52 movff registr43,registr53 movff registr44,registr54 movff registr45,registr55 movff registr46,registr56 movff registr47,registr57 movff registr48,registr58 call wiwidim_pacs2 ;nadpis strelka sdes oshibka bila call wiwidim_pacs0 bsf registr_STATUS,2 ;************************************** bra wibros_pak ;******************************************************************************************** wibros_pak call wiwidim_pac ;nadpis otpravlaim paket movlw d'6' movwf bank6 powtor movlw d'12' movwf bank0 wibros_pre bsf LATC,6 movlw d'100' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'100' movwf bank1 nop decfsz bank1,f bra $-4 decfsz bank0,f bra wibros_pre ;******************************************************************************************** bcf LATC,6 movlw d'210' movwf bank1 hoder_2 movlw d'4' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra hoder_2 ;******************************************************************************************** movlw d'64' movwf bank0 wibros_k btfss registr58,7 bcf STATUS,C btfsc registr58,7 bsf STATUS,C rlcf registr51 rlcf registr52 rlcf registr53 rlcf registr54 rlcf registr55 rlcf registr56 rlcf registr57 rlcf registr58 btfsc STATUS,C bra LOG_1_k ;******************************************************************************************** bsf LATC,6 movlw d'190' movwf bank1 nop decfsz bank1 ,f bra $-4 bcf LATC,6 movlw d'120' movwf bank1 decfsz bank1,f bra $-2 bra LOG_2_k ;******************************************************************************************** LOG_1_k bsf LATC,6 movlw d'120' movwf bank1 decfsz bank1,f bra $-2 bcf LATC,6 movlw d'190' movwf bank1 nop decfsz bank1,f bra $-4 LOG_2_k decfsz bank0,f bra wibros_k ;******************************************************************************************** bsf LATC,6 movlw d'190' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 movlw d'120' movwf bank1 decfsz bank1,f bra $-2 ;************************************** bsf LATC,6 movlw d'120' movwf bank1 decfsz bank1,f bra $-2 bcf LATC,6 movlw d'190' movwf bank1 nop decfsz bank1,f bra $-4 ;************************************** movlw d'19' movwf bank1 ipauza movlw d'255' movwf bank0 decfsz bank0,f bra $-2 decfsz bank1,f bra ipauza decfsz bank6,f bra powtor ;************************************** call wiwidim_pacs3 call binarim8 call binarim4 btfsc registr_STATUS,4 ;esli log 0 propustit sleduishuu komandu bra knopkaS1 movlw d'55' movwf bank1 pauza movlw d'255' movwf bank0 nop nop nop nop nop nop nop nop nop nop decfsz bank0,f bra $-22 decfsz bank1,f bra pauza btfsc PORTB,0 bra knopkaS1 bsf registr_STATUS,4 ;log 1 v registr_STATUS,4 btfss registr_STATUS,2 ;esli log 1 propustit sleduishuu komandu bra paket_2 bra knopkaS1 ;******************************************************************************************** skan ;protsedura skanirovania efira movlw b'00011110' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** t2 btfsc PIR1,TMR2IF bra retu movlw d'55' movwf bank2 wert2 btfss PORTC,5 bra t2 decfsz bank2,f bra wert2 call STROKA_5 call POZIZ_1 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call _AL36 call zaderjka3 call zaderjka3 call zaderjka3 call zaderjka3 call zaderjka3 btfsc PORTC,5 bra $-2 call STROKA_5 call POZIZ_14 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_13 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_12 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_11 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_10 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_9 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_8 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_7 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_6 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_5 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_4 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_3 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_2 call _AL33 call zaderjka3 call STROKA_5 call POZIZ_1 call _AL33 retu return ;******************************************************************************************** ;******************************************************************************************** ; podprogramma indikacii vibrosa paketa wiwidim_pac call STROKA_5 call _AL33 call _AL15 call _AL19 call _AL16 call _AL17 call _AL1 call _AL3 call _AL11 call _AL1 call _AL33 call _AL11 call _AL15 call _AL5 call _AL1 return ;******************************************************************************************** ; podprogramma zabela stroki belim call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 return ;******************************************************************************************** ; podprogramma strelki ;******************************************************************************************** wiwidim_pacs0 call STROKA_4 call POZIZ_10 call _AL37 call _AL37 call _AL37 call _AL37 call _AL38 return ;******************************************************************************************** ; podprogramma strelki ;******************************************************************************************** wiwidim_pacs1 call STROKA_2 call POZIZ_10 call _AL37 call _AL37 call _AL37 call _AL37 call _AL38 return ;******************************************************************************************** ; podprogramma strelki ;******************************************************************************************** wiwidim_pacs2 call STROKA_3 call POZIZ_10 call _AL37 call _AL37 call _AL37 call _AL37 call _AL38 return ;******************************************************************************************** ; podprogramma strelki ;******************************************************************************************** wiwidim_pacs3 call STROKA_1 call POZIZ_10 call _AL37 call _AL37 call _AL37 call _AL37 call _AL38 return ;******************************************************************************************** ; podprogramma analizatora ;******************************************************************************************** analizatorpac call histim ;chistim pole call STROKA_0 call POZIZ_10 call cod call zaderjka call STROKA_1 call POZIZ_10 call hopping call zaderjka call STROKA_2 call POZIZ_10 call fixed call zaderjka call STROKA_3 call POZIZ_10 call button call zaderjka ;******************************************************************************************** werh7_1 goto werh_stat werh7 btfss PORTB,2 goto programma2 btfss PORTB,4 goto programma2 btfss PORTC,5 bra werh7 movlw d'5' movwf bank1 log17 btfss PORTC,5 bra werh7_1 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra log17 ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bra keeloq7 ;******************************************************************************************** btfsc PORTC,5 bra $-2 btfss PORTC,5 bra $-2 ;************************************** movlw b'00001101' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'3' movwf bank0 preambula7 movlw d'10' ;10 movwf bank2 log_17 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra werh7_1 movlw d'25' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_17 clrf TMR2 ;************************************** taimer_07 btfsc PIR1,TMR2IF bra werh7_1 btfsc PORTC,5 bra taimer_07 ;************************************** movlw d'10' movwf bank2 log_07 btfsc PIR1,TMR2IF bra werh7_1 btfsc PORTC,5 bra werh7_1 movlw d'20' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra log_07 clrf TMR2 ;************************************** taimer_17 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra taimer_17 ;************************************** decfsz bank0,f bra preambula7 ;******************************************************************************************** movlw b'00011100' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'64' movwf bank0 priem7 ;************************************** movlw d'8' movwf bank2 bit7 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra werh7_1 movlw d'4' movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f bra bit7 ;************************************** clrf TMR2 movlw d'60' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr8 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 ;************************************** taimer_0_27 btfsc PIR1,TMR2IF bra werh7_1 btfsc PORTC,5 bra taimer_0_27 ;************************************** taimer_1_37 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra taimer_1_37 ;************************************** clrf TMR2 decfsz bank0,f bra priem7 ;******************************************************************************************** ;************************************ call histim call STROKA_0 call starline_nad call STROKA_1 swapf registr1 movff registr1,bufer call hexx swapf registr1 movff registr1,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr4 movff registr4,bufer call hexx swapf registr4 movff registr4,bufer call hexx call _AL33 call hopping ;************************************ call STROKA_2 swapf registr5 movff registr5,bufer call hexx swapf registr5 movff registr5,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr7 movff registr7,bufer call hexx swapf registr7 movff registr7,bufer call hexx call _AL33 call _AL33 call _AL33 call fixed ;************************************ call STROKA_3 swapf registr8 movff registr8,bufer call hexx swapf registr8 movff registr8,bufer call hexx call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call button call displ_te ;************************************ call zaderjka4 bra werh7_1 keeloq7 ;************************************** movlw b'00011110' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** movlw d'6' ;8 movwf bank0 preambula_keeloq7 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra preambula_keeloq7 movlw d'6' movwf bank1 log1_k7 btfss PORTC,5 bra werh7 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra log1_k7 ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfsc PORTC,5 bra werh7_1 decfsz bank0,f bra preambula_keeloq7 clrf TMR2 ;******************************************************************************************** hoder7 movlw d'30' movwf bank1 hod7 btfsc PORTC,5 bra hoder7 movlw d'27' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra hod7 ;******************************************************************************************** movlw d'64' movwf bank0 priem_k7 btfsc PORTC,5 bra $-2 btfsc PIR1,TMR2IF bra werh7_1 btfss PORTC,5 bra $-6 ;6 movlw d'6' movwf bank1 TE7 btfss PORTC,5 bra werh7 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra TE7 ;************************************** movlw d'100' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bsf STATUS,C btfsc PORTC,5 bcf STATUS,C rlcf registr8 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 clrf TMR2 decfsz bank0,f bra priem_k7 ;******************************************************************************************** ;************************************ call histim call STROKA_0 call keeloq_nad call STROKA_1 swapf registr1 movff registr1,bufer call hexx swapf registr1 movff registr1,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr4 movff registr4,bufer call hexx swapf registr4 movff registr4,bufer call hexx call _AL33 call hopping ;************************************ call STROKA_2 swapf registr5 movff registr5,bufer call hexx swapf registr5 movff registr5,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr7 movff registr7,bufer call hexx swapf registr7 movff registr7,bufer call hexx swapf registr8 movff registr8,bufer call hexx call _AL33 call _AL33 call fixed ;************************************ call STROKA_3 swapf registr8 movff registr8,bufer call hexx call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call _AL33 call button call displ_te ;************************************ call zaderjka4 bra werh7_1 ; podprogramma hopping ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 hopping movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x08, 0x08, 0x08, 0x7F movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x7F, 0x09, 0x09, 0x09, 0x06 movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'06' movwf wibrosreg call wiwodim call prabel return ;********************************************************************************* ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 fixed movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x7F, 0x09, 0x09, 0x09, 0x01 movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x00, 0x41, 0x7F, 0x41, 0x00 movlw h'00' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x63, 0x14, 0x08, 0x14, 0x63 movlw h'63' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'63' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 button movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x7F, 0x49, 0x49, 0x49, 0x36 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'36' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x3F, 0x40, 0x40, 0x40, 0x3F movlw h'3f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'3f' movwf wibrosreg call wiwodim call prabel ;**********************************************0x01, 0x01, 0x7F, 0x01, 0x01 movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel return ;**********************************************0x46, 0x49, 0x49, 0x49, 0x31 starline_nad movlw h'46' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'31' movwf wibrosreg call wiwodim call prabel ;**********************************************0x01, 0x01, 0x7F, 0x01, 0x01 movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim movlw h'01' movwf wibrosreg call wiwodim call prabel ;********************************************** 0x7E, 0x11, 0x11, 0x11, 0x7E movlw h'7f' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'11' movwf wibrosreg call wiwodim movlw h'7e' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x09, 0x19, 0x29, 0x46 movlw h'7f' movwf wibrosreg call wiwodim movlw h'09' movwf wibrosreg call wiwodim movlw h'19' movwf wibrosreg call wiwodim movlw h'29' movwf wibrosreg call wiwodim movlw h'46' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x40, 0x40, 0x40, 0x40 movlw h'7f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim call prabel ;**********************************************0x00, 0x41, 0x7F, 0x41, 0x00 movlw h'00' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x04, 0x08, 0x10, 0x7F movlw h'7f' movwf wibrosreg call wiwodim movlw h'04' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'10' movwf wibrosreg call wiwodim movlw h'7f' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x41 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel call _AL33 ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x22 movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x41, 0x41, 0x22, 0x1C movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'1c' movwf wibrosreg call wiwodim call prabel ;******************************************************************************** return ;**********************************************0x7F, 0x08, 0x14, 0x22, 0x41 keeloq_nad movlw h'7f' movwf wibrosreg call wiwodim movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x41 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x49, 0x49, 0x49, 0x41 movlw h'7f' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'49' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x40, 0x40, 0x40, 0x40 movlw h'7f' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim movlw h'40' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x51, 0x21, 0x5E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'51' movwf wibrosreg call wiwodim movlw h'21' movwf wibrosreg call wiwodim movlw h'5e' movwf wibrosreg call wiwodim call prabel call _AL33 call _AL33 call _AL33 ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x22 movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x41, 0x41, 0x22, 0x1C movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'1c' movwf wibrosreg call wiwodim call prabel return ;******************************************************************************** ;**********************************************0x08, 0x14, 0x22, 0x41, 0x00 cod movlw h'08' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'00' movwf wibrosreg call wiwodim call prabel ;**********************************************0x10, 0x10, 0x10, 0x10, 0x10 /ver oshibka movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim movlw h'14' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x22 movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim call prabel ;**********************************************0x3E, 0x41, 0x41, 0x41, 0x3E movlw h'3e' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'3e' movwf wibrosreg call wiwodim call prabel ;**********************************************0x7F, 0x41, 0x41, 0x22, 0x1C movlw h'7f' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'41' movwf wibrosreg call wiwodim movlw h'22' movwf wibrosreg call wiwodim movlw h'1c' movwf wibrosreg call wiwodim call prabel return ;************************************************* ******************************* ; sohr kodov pinketron v eprom ;************************************************* ******************************* P_EE MOVLW 03H ;v nulevuu yacheyku banka zapishem priznak kodirovki (01-S 00-k 03-p) movwf EEDATA CALL EE_WR movf registr11,W movwf EEDATA CALL EE_WR movf registr12,W movwf EEDATA CALL EE_WR movf registr13,W movwf EEDATA CALL EE_WR CALL histim CALL OJIDANIE CALL zaderjka4 GOTO knopka_pt2240_1 ;************************************************* ************************************************* ;schitivanie koda pinketron iz eprom EE_P CALL EE_RD MOVWF registr11 CALL EE_RD MOVWF registr12 CALL EE_RD MOVWF registr13 CALL histim CALL OJIDANIE CALL zaderjka4 goto knopka_pt2240_1 ;************************************************* ******************************* ; sohr kodov starline v eprom ;************************************************* ******************************* S_EE ;movlw 00h ;movwf EEADR MOVLW 01H ;v nulevuu yacheyku banka zapishem priznak kodirovki (01-S 00-k) movwf EEDATA CALL EE_WR movf registr1,W movwf EEDATA CALL EE_WR movf registr2,W movwf EEDATA CALL EE_WR movf registr3,W movwf EEDATA CALL EE_WR movf registr4,W movwf EEDATA CALL EE_WR movf registr5,W movwf EEDATA CALL EE_WR movf registr6,W movwf EEDATA CALL EE_WR movf registr7,W movwf EEDATA CALL EE_WR movf registr8,W movwf EEDATA CALL EE_WR movf registr11,W movwf EEDATA CALL EE_WR movf registr12,W movwf EEDATA CALL EE_WR movf registr13,W movwf EEDATA CALL EE_WR movf registr14,W movwf EEDATA CALL EE_WR movf registr15,W movwf EEDATA CALL EE_WR movf registr16,W movwf EEDATA CALL EE_WR movf registr18,W movwf EEDATA CALL EE_WR CALL histim CALL OJIDANIE CALL zaderjka4 CALL histim CALL binarim CALL binarim2 ; GOTO knopkaS ;************************************************* ************************************************* ;schitivanie koda starline iz eprom EE_S CALL EE_RD MOVWF registr1 CALL EE_RD MOVWF registr2 CALL EE_RD MOVWF registr3 CALL EE_RD MOVWF registr4 CALL EE_RD MOVWF registr5 CALL EE_RD MOVWF registr6 CALL EE_RD MOVWF registr7 CALL EE_RD MOVWF registr8 CALL EE_RD MOVWF registr11 CALL EE_RD MOVWF registr12 CALL EE_RD MOVWF registr13 CALL EE_RD MOVWF registr14 CALL EE_RD MOVWF registr15 CALL EE_RD MOVWF registr16 CALL EE_RD MOVWF registr18 CALL histim CALL OJIDANIE CALL zaderjka4 movff registr7,registr17 CALL histim CALL binarim CALL binarim2 goto knopkaS ;************************************************* ************************************************** ***** ;zapis keeloq v eprom ;************************************************* ************************************************** ***** K_EE MOVLW 00H movwf EEDATA ;v nulevuu yacheyku banka zapishem priznak kodirovki (01-S 00-k) CALL EE_WR movf registr31,W movwf EEDATA CALL EE_WR movf registr32,W movwf EEDATA CALL EE_WR movf registr33,W movwf EEDATA CALL EE_WR movf registr34,W movwf EEDATA CALL EE_WR movf registr35,W movwf EEDATA CALL EE_WR movf registr36,W movwf EEDATA CALL EE_WR movf registr37,W movwf EEDATA CALL EE_WR movf registr38,W movwf EEDATA CALL EE_WR movf registr41,W movwf EEDATA CALL EE_WR movf registr43,W movwf EEDATA CALL EE_WR movf registr44,W movwf EEDATA CALL EE_WR movf registr45,W movwf EEDATA CALL EE_WR movf registr46,W movwf EEDATA CALL EE_WR movf registr47,W movwf EEDATA CALL EE_WR movf registr48,W movwf EEDATA CALL EE_WR CALL histim CALL OJIDANIE CALL zaderjka4 CALL histim CALL binarim3 CALL binarim4 goto knopkaS1 ;************************************************* ************************************************** ******************** ;chtenie keeloq iz eprom ;************************************************* ************************************************** ******************** EE_K CALL EE_RD MOVWF registr31 CALL EE_RD MOVWF registr32 CALL EE_RD MOVWF registr33 CALL EE_RD MOVWF registr34 CALL EE_RD MOVWF registr35 CALL EE_RD MOVWF registr36 CALL EE_RD MOVWF registr37 CALL EE_RD MOVWF registr38 CALL EE_RD MOVWF registr41 CALL EE_RD MOVWF registr43 CALL EE_RD MOVWF registr44 CALL EE_RD MOVWF registr45 CALL EE_RD MOVWF registr46 CALL EE_RD MOVWF registr47 CALL EE_RD MOVWF registr48 CALL histim CALL OJIDANIE CALL zaderjka4 movff registr32,registr42 CALL histim CALL binarim3 CALL binarim4 goto knopkaS1 ;************************************************* ************************************************** **************** ;podprogramma zapisi v eprom ;************************************************* ************************************************** **************** EE_WR CLRF EECON1 bcf EECON1,EEPGD bsf EECON1,WREN bcf INTCON,GIE movlw 055h MOVWF EECON2 movlw 0AAh MOVWF EECON2 BSF EECON1,WR BTFSC EECON1,WR BRA $-2 BSF INTCON,GIE BCF EECON1,WREN INCF EEADR RETURN ;************************************************* ************************************************** ***************** ;podprogramma chtenia iz eprom ;************************************************* ************************************************** ***************** EE_RD CLRF EECON1 BCF EECON1,EEPGD BSF EECON1,RD MOVF EEDATA,W INCF EEADR RETURN ;************************************************* ************************************************** ****************** ;zapros nomer banka pinketron na zapis koda ;************************************************* ************************************************** ****************** P_STORE BSF registr_FLAG,3 BRA S_STORE_1 na_zapis BTFSS registr_FLAG,3 BRA S_EE ;ushli na zapis starline BRA P_EE ;ushli na zapis pinketron ;************************************************* ************************************************** ****************** ;zapros nomera banka starline na zapis koda ;************************************************* ************************************************** ****************** S_STORE BCF registr_FLAG,3 S_STORE_1 CALL histim ;****************************vivodim zapros CALL STROKA_1 ;****************************************** CALL _AL33 CALL _AL8 ;? CALL _AL1 ;? CALL _AL16 ;? CALL _AL50 ;. CALL _AL33 CALL _AL3 ;? CALL _AL33 CALL _AL2 ;? CALL _AL1 ;? CALL _AL14 ;? CALL _AL11 ;? ;****************************************** CALL STROKA_3 ;****************************************** CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL35 ;************************************************* ************** ;obrabotka knopok ;************************************************* ************** MOVLW 00h MOVWF EEADR MOVFF EEADR,BANK_ADR MOVFF EEADR,bufer KN1_1 CALL STROKA_4 CALL belim ;************************************************* *** CALL STROKA_4 ;************************************************* *** CALL POZIZ_7 CALL _AL39 CALL STROKA_3 CALL POZIZ_7 CALL hexx call antidrebezg KN1 BTFSS PORTB,1 BRA PLUS BTFSS PORTB,3 BRA MINUS BTFSS PORTB,2 GOTO programma2 BTFSS PORTB,4 GOTO programma2 ;************************************************* ******* BTFSS PORTB,0 BRA na_zapis ;ushli na zapis ;************************************************* ******** BRA KN1 MINUS DECF bufer MOVLW 10H SUBWF BANK_ADR,1 BRA NOMER PLUS INCF bufer MOVLW 10H ADDWF BANK_ADR,1 NOMER CALL POZIZ_7 CALL hexx MOVFF BANK_ADR,EEADR BRA KN1_1 ;********************************konecz!!!!!!!!!!!! !!!!!!!!!!!!!! ;************************************************* ************************************************** **************************** ;zapros keeloq na zapis koda ;************************************************* ************************************************** **************************** K_STORE CALL histim ;****************************vivodim zapros CALL STROKA_1 ;****************************************** CALL _AL33 CALL _AL8 ;? CALL _AL1 ;? CALL _AL16 ;? CALL _AL50 ;. CALL _AL33 CALL _AL3 ;? CALL _AL33 CALL _AL2 ;? CALL _AL1 ;? CALL _AL14 ;? CALL _AL11 ;? ;****************************************** CALL STROKA_3 ;****************************************** CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL35 ;************************************************* ************** ;obrabotka knopok ;************************************************* ************** MOVLW 00h MOVWF EEADR MOVFF EEADR,BANK_ADR MOVFF EEADR,bufer KN2_1 CALL STROKA_4 CALL belim ;************************************************* *** CALL STROKA_4 ;************************************************* *** CALL POZIZ_7 CALL _AL39 CALL STROKA_3 CALL POZIZ_7 CALL hexx call antidrebezg KN2 BTFSS PORTB,1 BRA PLUS1 BTFSS PORTB,3 BRA MINUS1 BTFSS PORTB,2 GOTO programma2 BTFSS PORTB,4 GOTO programma2 ;************************************************* ******* BTFSS PORTB,0 BRA K_EE ;ushli na zapis ;************************************************* ******** BRA KN2 MINUS1 DECF bufer MOVLW 10H SUBWF BANK_ADR,1 BRA NOMER1 PLUS1 INCF bufer MOVLW 10H ADDWF BANK_ADR,1 NOMER1 CALL POZIZ_7 CALL hexx MOVFF BANK_ADR,EEADR BRA KN2_1 ;********************************konecz!!!!!!!!!!!! !!!!!!!!!!!!!! ;************************************************* ************************************************** *********** ;chtenie kodov iz eprom ;************************************************* ************************************************** *********** ;************************************************* ************************************************** **************************** ;zapros nomera banka ;************************************************* ************************************************** **************************** READ_EE CALL histim BTFSS PORTB,0 BRA $-2 ;****************************vivodim zapros CALL STROKA_1 ;****************************************** CALL _AL33 CALL _AL24 ;? CALL _AL9 ;? CALL _AL19 ;? CALL _AL50 ;. CALL _AL33 CALL _AL9 ;? CALL _AL8 ;3 CALL _AL33 CALL _AL2 ;? CALL _AL1 ;? CALL _AL14 ;? CALL _AL11 ;? CALL _AL1 ;? ;****************************************** CALL STROKA_3 ;****************************************** CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL33 CALL _AL35 ;************************************************* ************** ;obrabotka knopok ;************************************************* ************** MOVLW 00h MOVWF EEADR MOVFF EEADR,BANK_ADR MOVFF EEADR,bufer KN3_1 CALL STROKA_4 CALL belim ;************************************************* *** CALL STROKA_4 ;************************************************* *** CALL POZIZ_7 CALL _AL39 CALL STROKA_3 CALL POZIZ_7 CALL hexx call antidrebezg KN3 BTFSS PORTB,1 BRA PLUS2 BTFSS PORTB,3 BRA MINUS2 BTFSS PORTB,2 GOTO programma2 BTFSS PORTB,4 GOTO programma2 ;************************************************* ******* BTFSS PORTB,0 BRA K_S ;ushli na opredelenie kodirovoki ;************************************************* ******** BRA KN3 MINUS2 DECF bufer MOVLW 10H SUBWF BANK_ADR,1 BRA NOMER2 PLUS2 INCF bufer MOVLW 10H ADDWF BANK_ADR,1 NOMER2 CALL POZIZ_7 CALL hexx MOVFF BANK_ADR,EEADR BRA KN3_1 ;************************************************* *********** ;opredeliayim kakoy kod v pamati i uhodim na nuzhnoe chtenie ;************************************************* *********** K_S CALL EE_RD ;chitaem nulevuu yacheyku v bank (kodirovka 01-starline, 00-keeloq) MOVWF TESTER ;pomeshaem dannie iz nee v registr "TESTER" BTFSS TESTER,0 ;proveraim znachimiy bit (esli 1 pereskakivemm na chtenie starlene ili pincetron BRA EE_K ;esli 0 to na chtenie keeloq) BTFSS TESTER,1 ;proveraim znachimiy bit (esli 1 pereskakivemm na chtenie pincetron BRA EE_S ;esli 0 to na chtenie starline) BRA EE_P ;************************************************* ******************************* ; vivod na ekran nadpisi "zhdite" ;************************************************* ******************************* OJIDANIE CALL histim ;****************************vivod CALL STROKA_2 ;****************************************** CALL _AL33 CALL _AL33 CALL _AL7 CALL _AL5 CALL _AL9 CALL _AL19 CALL _AL6 CALL _AL50 CALL _AL50 CALL _AL50 RETURN ;************************************************* ******************************* ;brut came ;************************************************* ******************************* brutc12 clrf registr_STATUS clrf registr11 clrf registr12 bcf registr12,4 ;************************************************************************ call displ_GAME call antidrebezg bra wozc12 werhc12 ;************************************************************************** btfss registr_STATUS,2 ;esli log 1 to propustit sleduishu komandu bra perepc12 bcf STATUS,C decf registr11 ;umensh na 1 registr11 btfss STATUS,C ;esli perepolnitsa registr11 decf registr12 ;umensh na 1 registr12 bra perep1c12 perepc12 bcf STATUS,C incf registr11 ;uvelich na 1 registr11 btfsc STATUS,C ;esli perepolnitsa registr11 incf registr12 ;uvelich na 1 registr12 perep1c12 ;******************************************************************************************** movlw d'4' movwf bank6 werh2c12 movlw d'3' movwf bank0 rrrc12 btfss registr12,7 ;esli bit = 0 bcf STATUS,C ;to zapisat 0 btfsc registr12,7 ;esli bit = 1 bsf STATUS,C ;to zapisat 1 rlcf registr11 rlcf registr12 decfsz bank0,f bra rrrc12 ;************************************ movlw d'13' movwf bank0 wibrosc12 btfss registr12,7 ;esli bit = 0 bcf STATUS,C ;to zapisat 0 btfsc registr12,7 ;esli bit= 1 bsf STATUS,C ;to zapisat 1 rlcf registr11 rlcf registr12 btfsc STATUS,C bra LOG_1c12 ;******************************************************************************************** bcf LATC,6 ;vibros ed movlw d'160' movwf bank1 nop decfsz bank1,f bra $-4 bsf LATC,6 movlw d'110' movwf bank1 decfsz bank1,f bra $-2 bcf LATC,6 bra LOG_2c12 ;******************************************************************************************** LOG_1c12 bcf LATC,6 ;vibros nu movlw d'110' movwf bank1 decfsz bank1,f bra $-2 bsf LATC,6 movlw d'160' movwf bank1 nop decfsz bank1,f bra $-4 bcf LATC,6 LOG_2c12 decfsz bank0,f bra wibrosc12 ;********************************* decfsz bank6,f bra werh2c12 ;*****************************************vibros na displey call displ_GAME_bit ;***************************************** btfsc registr12,4 ;proverka pervogo bita na edenicu bra werh3c12 ;esli 1 to werh3c12 werh4c12 btfsc registr_STATUS,1 ;esli log? 0 to propustit sleduishu komandu bra knopkac12 btfss PORTB,0 ;esli na portu log 1 propustit sleduishuu komandu bra knopkac12 ;esli 0 to knopkac12 na pauzu call zadergka5 wozwratc12 bra werhc12 ;*********************************obrabotka knopki knopkac12 ;zhdem otpuskania knopki call antidrebezg call zaderjka2 call zaderjka2 clrf registr_STATUS wozc12 ;pauza btfss PORTB,2 ;knopki vihoda v menu 1 goto progbrut btfss PORTB,4 goto progbrut call skan btfss PORTB,1 bra vverhc12 btfss PORTB,3 bra vnizc12 btfsc PORTB,0 ;esli na portu log 0 propustit sleduyshiu komandu bra wozc12 call zaderjka2 call zaderjka2 call zaderjka2 btfss PORTB,0 ;esli na portu log 1 propustit sleduyshiu komandu bra wozc12 ;esli 0 to woz bra wozwratc12 ;esli 1 to wozwrat ; PODPROGRAMMI ;******************************************************************************************** ;********************************* vverhc12 bsf registr_STATUS,1 bra wozwratc12 ;********************************* vnizc12 bsf registr_STATUS,1 bsf registr_STATUS,2 bra wozwratc12 ;********************************* werh3c12 btfss registr_STATUS,2 ;esli log 1 to propustit sleduushiu komandu bra perepcc12 movlw d'15' movwf registr12 bra werh4c12 perepcc12 movlw d'0' movwf registr12 bra werh4c12 ;************************************************************************ displ_GAME call histim call STROKA_1 call POZIZ_6 call _ALG call _AL1 call _AL13 call _AL6 return ;*****************************************vibros na displey bit displ_GAME_bit call STROKA_3 call POZIZ_6 swapf registr12 movff registr12,bufer call hexx swapf registr12 movff registr12,bufer call hexx swapf registr11 movff registr11,bufer call hexx swapf registr11 movff registr11,bufer call hexx return ;***************************************** ;************************************************* ******************************* ; brut PRINCETON pt2240 ;************************************************* ******************************* brutp2240 clrf registr11 clrf registr12 clrf registr13 movlw 0x93 ;72 - 350mks, 93 - 450mks(nominal), B5 - 550mks movwf princeton_bit imitator_princeton: call histim ;vivod na displey ??2240 call STROKA_0 call display_pt2240 imitator_princeton_1: call antidrebezg btfss PORTB, 0, ;zhdem otpuskanie knopki bra imitator_princeton_1 call delay_62ms, 0 ;antidrebezg ;************************************************* ;menu vibora rezhimov ;vruchnuu ; call STROKA_1 ; call POZIZ_4 ; call _AL3 ; call _AL17 ; call _AL20 ; call _AL24 ; call _AL14 ; call _AL20 ; call _AL31 ;vizov call STROKA_1 call POZIZ_5 call _AL34 call _AL3 call _AL28 call _AL8 call _AL15 call _AL3 ;vikl call STROKA_2 call POZIZ_6 call _AL3 call _AL28 call _AL11 call _AL12 call STROKA_3 ;vkl call POZIZ_5 call _AL34 call _AL33 call _AL3 call _AL11 call _AL12 call phreakclub ; OBRABOTKA KNOPOK V KODE kyrsor_1p24 call vyvod_strelk_1 call antidrebezg movlw d'48' ;konstanta dla knopki vizov movwf registr13 knopka_1p24 btfss PORTB,2 ;knopki vihoda v menu progbrut goto progbrut btfss PORTB,4 goto progbrut btfss PORTB,0 goto imitator_princeton_2 ;vizov btfss PORTB,3 bra kyrsor2p24 bra knopka_1p24 ;***************************** kyrsor2p24 call vyvod_strelk_2 call antidrebezg movlw d'12' ;konstanta dla knopki vikl movwf registr13 knopka_2p24 call zaderjka2 btfss PORTB,2 ;knopki vihoda v menu progbrut goto progbrut btfss PORTB,4 goto progbrut btfss PORTB,0 goto imitator_princeton_2 ;vikl btfss PORTB,1 bra kyrsor_1p24 btfss PORTB,3 bra kyrsor3p24 bra knopka_2p24 ;***************************** kyrsor3p24 call vyvod_strelk_3 call antidrebezg movlw d'3' ;konstanta dla knopki vkl movwf registr13 knopka_3p24 btfss PORTB,2 ;knopki vihoda v menu progbrut goto progbrut btfss PORTB,4 goto progbrut btfss PORTB,0 bra imitator_princeton_2 ;vkl btfss PORTB,1 bra kyrsor2p24 btfss PORTB,3 ; bra kyrsor22p24 bra knopka_3p24 bra knopka_3p24 ;***************************** kyrsor22p24 call vyvod_strelk_4 call zaderjka2 call antidrebezg movlw d'3' ;konstanta knopki vruchnuu movwf registr13 knopka_22p24 btfss PORTB,2 ;knopki vihoda v menu progbrut goto progbrut btfss PORTB,4 goto progbrut btfss PORTB,0 goto imitator_princeton_2 ;vruchnuu btfss PORTB,1 bra kyrsor3p24 bra knopka_22p24 ;***************************** imitator_princeton_2: call histim call display_pt2240 call display_princeton imitator_princeton_22 btfss PORTB, 0 ;proverili otpuskanie knopki bra imitator_princeton_22 call antidrebezg ;antidrebezg imitator_princeton_222 btfss PORTB,2 call transmit_princeton btfss PORTB,4 ;knopki vihoda v menu imitator_princeton goto imitator_princeton call skan btfss PORTB, 1, ;vverh call princeton_vverh btfss PORTB, 3, ;vniz call princeton_vniz btfss PORTB, 0, bra krug_princeton ;perehod k brutu koda bra imitator_princeton_222 ;**************************************************************brut krug_princeton btfss PORTB, 0 ;proverili otpuskanie knopki bra krug_princeton call antidrebezg ;antidrebezg krug_princeton_2 ; bcf registr_STATUS,3 ;flag dla inkrementa call princeton_plus_minus ;inkremetiruem paket call transmit_princeton ;vibrasivaem paket btfss PORTB, 0, bra imitator_princeton_22 bra krug_princeton_2 ;************************************************************** princeton_vverh bcf registr_STATUS,3 ;flag dla inkrementa call princeton_plus_minus ;inkremetiruem paket princeton_lock_1: call transmit_princeton ;perehod k podache koda btfss PORTB, 1 ;proverili otpuskanie knopki goto princeton_lock_1 call antidrebezg ;antidrebezg return 0 ; princeton_vniz bsf registr_STATUS,3 ;flag dla inkrementa call princeton_plus_minus ;decrementiruem paket princeton_unlock_1: call transmit_princeton btfss PORTB, 3, ;proverili otpuskanie knopki goto princeton_unlock_1 call antidrebezg ;antidrebezg return 0 ; ;*************** ???????? ??????? PRINCETON ************** ; transmit_princeton: btfsc registr_STATUS,1 ;proveraim na flag pt2262 call dlya_pt2262 call wiwidim_pac movlw d'3' ;zadaem kolichestvo paketov v posilke movwf counter1 transmit_princeton_1: movlw 0x18 ;24 - zadaem kolichestvo bit v kodovoy posilke movwf counter transmit_princeton_2: btfss registr11,7, bcf STATUS,C, btfsc registr11,7, bsf STATUS,C, rlcf registr13 rlcf registr12 rlcf registr11 btfsc STATUS,C, ;proverili bit ? bra transmit_princeton_3 ;esli ?="1", to perehodim na peredachu log. "1" ; call princeton_zero, 0 bra transmit_princeton_4 transmit_princeton_3: call princeton_one, 0 transmit_princeton_4: decfsz counter,f bra transmit_princeton_2 ;perehod k sleduiyshemu bitu koda call princeton_sync, 0 ;peredacha bita sinhronizacii decfsz counter1, F, bra transmit_princeton_1 call display_princeton return 0 ; ;************** peredacha koda logichskogo nulia PRINCETON *************** princeton_zero: bsf LATC,6, ;log. "1" na vihode peredatchika call delay_princeton, 0 bcf LATC,6, ;log. "0" na vihode peredatchika call delay_princeton, 0 call delay_princeton, 0 call delay_princeton, 0 return 0 ;************* peredacha koda logichskoy edenici PRINCETON ************** princeton_one: bsf LATC,6, ;log. "1" na vihode peredatchika call delay_princeton, 0 call delay_princeton, 0 call delay_princeton, 0 bcf LATC,6, ;log. "0" na vihode peredatchika call delay_princeton, 0 return 0 ; ;****************** podprogramma bita sinhronizacii PRINCETON ****************** princeton_sync: bsf LATC,6, ;log. "1" na vihode peredatchika call delay_princeton, 0 bcf LATC,6, ;log. "0" na vihode peredatchika ; movlw 0x1F ;31 - kilicesdtvo intervalov posle bita sinhronizacii movwf counter3, princeton_sync_1: call delay_princeton, 0 decfsz counter3, F, bra princeton_sync_1 return 0 ;****************** podprogramma uvelichenia ili umenishenia na 1 ****************** princeton_plus_minus btfsc registr_STATUS,3 ;esli log 0 to propustit sleduushuu komandu bra princeton_minus1 ;decrementiruem paket bra princeton_plus1 ;inkremetiruem paket ;****************** ???????????? ?????????? ?? 1 ****************** princeton_plus1 bcf STATUS,C incf registr12 ;uvelich na 1 registr12 btfsc STATUS,C ;esli perepolnitsa registr12 incf registr11 ;uvelich na 1 registr11 bra princeton_kon ;****************** ???????????? ?????????? ?? 1 ****************** princeton_minus1 bcf STATUS,C decf registr12 ;umensh na 1 registr12 btfss STATUS,C ;esli perepolnitsa registr12 decf registr11 ;umensh na 1 registr11 princeton_kon return ;*************** ???????????? ???????? ************************ ; delay_62ms: ;zaderzhka 62ms movlw 0x50 movwf bank0, delay_62ms_1: movlw 0xFF movwf bank1, delay_62ms_2: decfsz bank1, F, bra delay_62ms_2 decfsz bank0, F, bra delay_62ms_1 return delay_princeton: movff princeton_bit, bank4 delay_princeton_1: decfsz bank4, F, bra delay_princeton_1 return ;*****************************************vibros na displey princeton hex display_princeton call STROKA_3 call POZIZ_5 swapf registr11 movff registr11,bufer call hexx swapf registr11 movff registr11,bufer call hexx swapf registr12 movff registr12,bufer call hexx swapf registr12 movff registr12,bufer call hexx swapf registr13 movff registr13,bufer call hexx swapf registr13 movff registr13,bufer call hexx return ;*****************************************vibros na displey pt2240 display_pt2240 call POZIZ_5 call _AL17 call _AL19 call _AL42 call _AL42 call _AL44 call _AL40 btfsc registr_STATUS,1 ;esli log 0 to propustit sleduushuu komandu call display_pt2262 ;esli flag ustanovlen to vibros ??2262 return ;*****************************************vibros na displey ??2262 display_pt2262 call POZIZ_5 call _AL17 call _AL19 call _AL42 call _AL42 call _AL46 call _AL42 return ;*****************************************proverka paketa ??2266 dlya_pt2262 bcf registr_STATUS,2 bcf registr_STATUS,4 btfsc registr12,7 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr12,6 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr12,5 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr12,4 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr12,3 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr12,2 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr12,1 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr12,0 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr11,7 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr11,6 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr11,5 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr11,4 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr11,3 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr11,2 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfsc registr11,1 ;esli log 0 to propustit sleduushuu komandu bsf registr_STATUS,2 ;ustanavlivaem flag esli ne pt2266 btfsc registr11,0 ;esli log 0 to propustit sleduushuu komandu bcf registr_STATUS,2 ;snimaem flaf esli pt2266 btfsc registr_STATUS,2 bsf registr_STATUS,4 btfss registr_STATUS,4 ;esli log 1 to propustit sleduushuu komandu return ;esli paket pt2266 to return call princeton_plus_minus ;umenishaem ili uvelichivaem paket bra dlya_pt2262 ;na proverku paketa ;************************************************priem pt2240 priem_pt2240 clrf registr_STATUS call histim call skan_vkl movlw 0x93 ;72 - 350mks, 93 - 450mks(nominal), B5 - 550mks movwf princeton_bit ; btfss PORTB,0 ; bra $-2 verh_pt2240 btfss PORTB,2 ;knopki vihoda v menu prograb goto prograb btfss PORTB,4 goto prograb btfss PORTC,5 ;esli 1 propustit sled komandu bra verh_pt2240 ;************************************** movlw b'00011110' movwf T2CON clrf TMR2 bcf PIR1,TMR2IF ;************************************** proveriayem 6 raz na log 1 movlw d'24' movwf bank0 priem_pt2240_1 movlw d'6' movwf bank1 te_pt2240 ;proveriayem 6 raz na log 1 btfss PORTC,5 ;esli 1 propustit sled komandu bra verh_pt2240 btfsc PIR1,TMR2IF bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra te_pt2240 ;**************************************pauza 2/3 te movlw d'200' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bcf STATUS,C btfsc PORTC,5 bsf STATUS,C rlcf registr3 rlcf registr2 rlcf registr1 movlw d'7' movwf bank1 btfsc PORTC,5 ;esli 0 propustit sled komandu bra $-2 TE_pt2240_1 ;proverka 3 te btfsc PORTC,5 ;esli 0 propustit sled komandu bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 btfsc PIR1,TMR2IF bra verh_pt2240 decfsz bank1,f bra TE_pt2240_1 clrf TMR2 btfss PORTC,5 ;esli 1 propustit sled komandu bra $-2 decfsz bank0,f bra priem_pt2240_1 ;**************************************??? ????????????? btfss PORTC,5 ;esli 1 propustit sled komandu bra $-2 movlw d'7' movwf bank1 TE_pt2240_2 ;???????? 3 ?? btfss PORTC,5 ;esli 0 propustit sled komandu bra verh_pt2240 btfsc PIR1,TMR2IF bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra TE_pt2240_2 ;**************************************????? btfsc PIR1,TMR2IF bra verh_pt2240 btfsc PORTC,5 ;esli 0 propustit sled komandu bra $-6 movlw 0x1D ;31 - kolichestvo intervalov posle bita sinhronizacii movwf counter3 heder_pt2240 call delay_princeton decfsz counter3 bra heder_pt2240 clrf TMR2 ;**************************************priem 2 paket dla sverki verh_pt2240_2 btfss PORTB,2 ;knopki vihoda v menu prograb call prograb btfss PORTB,4 goto prograb btfsc PIR1,TMR2IF bra verh_pt2240 btfss PORTC,5 bra verh_pt2240_2 ;************************************** clrf TMR2 ;************************************** proveriayem 6 raz na log 1 movlw d'24' movwf bank0 priem_pt2240_1_2 movlw d'6' movwf bank1 te_pt2240_0_2 btfss PORTC,5 bra verh_pt2240 btfsc PIR1,TMR2IF bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra te_pt2240_0_2 ;**************************************pauza 2/3 te movlw d'200' movwf bank2 decfsz bank2,f bra $-2 ;************************************** btfss PORTC,5 bcf STATUS,C btfsc PORTC,5 bsf STATUS,C rlcf registr13 rlcf registr12 rlcf registr11 movlw d'7' movwf bank1 btfsc PORTC,5 bra $-2 TE_pt2240_1_2 ;proverka 3 te btfsc PORTC,5 bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 btfsc PIR1,TMR2IF bra verh_pt2240 decfsz bank1,f bra TE_pt2240_1_2 clrf TMR2 btfss PORTC,5 ;esli 1 propustit sled komandu bra $-2 decfsz bank0,f bra priem_pt2240_1_2 ;**************************************bit sinhronizacii btfss PORTC,5 ;esli 1 propustit sled komandu bra $-2 movlw d'7' movwf bank1 TE_pt2240_2_2 ;proverka 3te btfss PORTC,5 ;esli 1 propustit sled komandu bra verh_pt2240 btfsc PIR1,TMR2IF bra verh_pt2240 movlw d'15' movwf bank2 decfsz bank2,f bra $-2 decfsz bank1,f bra TE_pt2240_2_2 ;**************************************sveriayem paketi movf registr12,w xorwf registr2,w btfss STATUS,Z bra verh_pt2240 bcf STATUS,Z ;************************************** knopka_pt2240_1 call histim call display_pt2240 call display_princeton knopka_pt2240 btfss PORTB, 1, ;vverh goto imitator_princeton btfss PORTB,2 goto P_STORE btfss PORTB,4 goto prograb call skan btfss PORTB,0 call transmit_princeton bra knopka_pt2240 ;************************************************* ******************************* ; priem statiki ;************************************************* ******************************* ;__0 priem_statiki clrf reg_otladki3 call histim ; bra obrabotka_nastr priem_statiki_1 call histim call skan_vkl clrf reg_otladki ;obnuliaem registr metok werh_stat incf reg_otladki clrf FLAG_stat ;obnuliaem registr flagov clrf te_t_1 ;obnuliaem registr dlitelnosti te_t_1 clrf te_t_0 ;obnuliaem registr dlitelnosti te_t_0 clrf bit_kol ;obnuliaem registr kolichestvo bit clrf registr_0 ;obnuliaem registr registr_0 clrf registr_2 ;obnuliaem registr clrf registr_3 ; clrf reg_otladki ;obnuliaem registr metok clrf reg_otladki2 ;obnuliaem registr metok clrf registr0 clrf registr7 clrf registr6 clrf registr5 clrf registr4 clrf registr3 clrf registr2 clrf registr1 werh_stat_2 btfss PORTB,2 goto programma2 btfss PORTB,4 goto programma2 btfss PORTC,5 ;zhdem visokiy uroven signala bra werh_stat_2 ;esli 0 to v werh_stat_2 movlw d'2' movwf bank0 ;**************************************zameriyem te log1_stat ;10us incf te_t_0 ;inkremetiruem registr dlitelnosti te decfsz bank0,f bra zzzz movlw d'3' movwf bank0 incf registr_3 nop z2 btfsc PORTC,5 ;proverka na visokiy uroven signala bra log1_stat ;esli? 0 to dalshe bra bit_stat_1 ;************************************** zzzz nop bra z2 ;************************************** bit_stat_1 call dlya_priema ;************************************** bit_stat ;**************************************1/1 0 incf reg_otladki2 log0_stat movff te_t_0,bank2 log0_stat_1 btfsc PORTC,5 ;proveriyem esli? 1 to bra metka_stat_p ;esli 0 konchilsa to metka_stat_p decfsz bank2,f ; bra log0_stat_1 ;**************************************2/1 0 movff te_t_0,bank2 call decf_bank2_8 log0_stat_2 btfsc PORTC,5 ;proveriyem esli? 1 to vverh bra werh_stat ;esli 0 konchilsa to vverh decfsz bank2,f ; bra log0_stat_2 ;**************************************1/2 0 movff te_t_0,bank2 log0_stat_3 btfsc PORTC,5 ;proveriyem esli? 1 to metka_stat_n bra metka_stat_n ;esli 0 konchilsa to 1 nice decfsz bank2,f ; bra log0_stat_3 ;**************************************2/2 0 bcf registr_0,0 ;ustanavlivaem bit 0 btfsc FLAG_stat,5 ;proveriyaem flag dla nice flor s bsf registr_0,0 ;ustanavlivaem bit 0 bsf FLAG_stat,3 ;flag dla pervoy 1 prinketon movff te_t_0,bank2 call decf_bank2_6 log0_stat_4 btfsc PORTC,5 ;esli 1 to bra werh_stat ;esli 0 konchilsa to vverh decfsz bank2,f ; bra log0_stat_4 ;**************************************1/3 0 zhdem 1 nice flor s metka_stat movff te_t_0,bank2 log0_stat_5 btfsc PORTC,5 ;esli 1 to bra metka_stat_1 ;esli 0 konchilsa to metka_stat_1 decfsz bank2,f ; bra log0_stat_5 ;**************************************2/3 0 bsf registr_0,0 ;zapisivaem bit movff te_t_0,bank2 call decf_bank2_6 log0_stat_14 btfsc PORTC,5 ;esli 1 to bra werh_stat ;esli 0 konchilsa to vverh decfsz bank2,f ; bra log0_stat_14 ;************************************** movff te_t_0,bank2 log0_stat_15 btfsc PORTC,5 ;esli 1 to bra metka_stat_1 ;esli 0 konchilsa to metka_stat_1 decfsz bank2,f ; bra log0_stat_15 bra konec_stat ;esli 0 konchilsa to konecz posilki ;**************************************1/1 1 __0 metka_stat_1 movff te_t_1,bank2 call decf_bank2_8 log0_stat_8 btfss PORTC,5 ;esli 1 to bra werh_stat ;esli 1 konchilas to vverh decfsz bank2,f ; bra log0_stat_8 ; ;**************************************************************************************** metka_stat_3 call uklad_bit ;**************************************2/1 1 metka_stat_2 movff te_t_1,bank2 call decf_bank2_4 log0_stat_9 btfss PORTC,5 ;esli 1 to bra werh_stat ;esli 1 konchilas to vverh decfsz bank2,f ; bra log0_stat_9 ;**************************************1/2 1 movff te_t_1,bank2 log0_stat_10 btfss PORTC,5 ;esli 1 to bra bit_stat ;esli 1 konchilas to na prinatie sledushego bita decfsz bank2,f ; bra log0_stat_10 ;**************************************2/2 1 bcf registr_0,0 ;zapisivaem bit call uklad_bit movff te_t_1,bank2 call decf_bank2_6 log0_stat_11 btfss PORTC,5 ;esli 1 to bra werh_stat ;esli 1 konchilas to vverh decfsz bank2,f ; bra log0_stat_11 ;****************************************1/3 movff te_t_1,bank2 log0_stat_18 btfss PORTC,5 ;esli 1 to bra metka_stat_4 ;esli 1 konchilas to metka_stat_4 decfsz bank2,f ; bra log0_stat_18 ;****************************************2/3 movff te_t_1,bank2 call decf_bank2_7 log0_stat_19 btfss PORTC,5 ;esli 1 to bra werh_stat ;esli 1 konchilas to vverh decfsz bank2,f ; bra log0_stat_19 ;**************************************** bsf FLAG_stat,1 ;ustanavlivaem flag dla prinketon btfsc PORTC,5 ;zhdem okonchania 1 bra $-2 btfsc FLAG_stat,5 ;proveriyaem flag dla nice flor s bra konec_stat ;eski flag dla nice flor s to konetcz posilki metka_stat_4 movff te_t_0,bank2 log0_stat_20 btfsc PORTC,5 ;esli 1 to bra metka_stat_5 movlw d'5' ;dlitelnost movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f ; bra log0_stat_20 bra werh_stat metka_stat_5 movff te_t_1,bank2 call decf_bank2_7 log0_stat_12 btfss PORTC,5 ;esli 1 to bra werh_stat ;esli 1 konchilas to vverh decfsz bank2,f ; bra log0_stat_12 bra metka_stat_2 ;********************************************** ; OPREDELENIE POSILKI ;******************************************************************************************** metka_stat_p ;METKA 1 DLA prinketon bcf registr_0,0 ;zapisivaem bit bsf FLAG_stat,1 ;ustanavlivaem flaf dla prinketon btfss FLAG_stat,3 ;esli 1 v perviy raz to delim bank2 movff registr_3,te_t_0 ;delim te_d call dlya_priema bra metka_stat_1 ;************************************** metka_stat_n ;metka 1 dla nice movff registr_3,bank2 decf bank2 decf bank2 log0_stat_6 btfss PORTC,5 ;proveriyaem esli 1 to bra werh_stat ;esli 1 konchilas to vverh nop nop nop nop nop decfsz bank2,f ; bra log0_stat_6 ;*************************************** movff registr_3,bank2 decf bank2 log0_stat_17 btfss PORTC,5 ;proveriyaem esli 1 to bra metka_stat_nice_f_1 ; nop nop nop nop nop decfsz bank2,f ; bra log0_stat_17 ;*************************************** movff registr_3,bank2 decf bank2 log0_stat_16 btfss PORTC,5 ;proveriyaem esli 1 to bra metka_stat_nice_f_0 ; nop nop nop nop nop decfsz bank2,f ; bra log0_stat_16 ;*************************************** movff te_t_1,bank2 call decf_bank2_4 log0_stat_7 btfss PORTC,5 ;proveriyaem esli 1 to bra werh_stat7 ;esli 1 konchilas to v analizator decfsz bank2,f ; bra log0_stat_7 bsf registr_0,0 ;zapisivaem bit bra metka_stat_3 ;*************************************** metka_stat_nice_f_1 bsf registr_0,0 ;zapisivaem bit bsf FLAG_stat,5 ;????????????? ???? ??? nice flor s movff registr_3,te_t_0 ;????? te_d call dlya_priema call uklad_bit bra metka_stat_4 metka_stat_nice_f_0 bcf registr_0,0 ;zapisivaem bit bsf FLAG_stat,5 ;ustanavlivaem flag dla nice flor s movff registr_3,te_t_0 ;delim te_d call dlya_priema call uklad_bit bra metka_stat_4 ;********************************************** dlya_priema movff reg_otladki3,bank3 movff te_t_0,te_t_1 incf bank3 incf te_t_1 dlya_priema_1 decf te_t_1 decfsz bank3,f bra dlya_priema_1 return ;*********************************************** decf_bank2_9 decf bank2 decf_bank2_8 decf bank2 decf_bank2_7 decf bank2 decf_bank2_6 decf bank2 decf_bank2_5 decf bank2 decf_bank2_4 decf bank2 decf_bank2_3 decf bank2 decf_bank2_2 decf bank2 decf_bank2_1 decf bank2 return ; ZAPIS BIT ;************************************************************************************************ uklad_bit btfss registr_0,0 bsf STATUS,C btfsc registr_0,0 bcf STATUS,C rlcf registr0 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 incf bit_kol ;uvelichivaem schetchik bit return ;************************************************************************************************ konec_stat movff te_t_0,bank2 log0_stat_13 btfsc PORTC,5 ;esli 1 to bra werh_stat ;esli 0 konchilas to vverh movlw d'9' ;dlitelnost movwf bank1 decfsz bank1,f bra $-2 decfsz bank2,f ; bra log0_stat_13 movlw d'7' cpfsgt bit_kol bra werh_stat ;esli priniyato bit menshe 8 to vverh ; dokruchivaem registri ;************************************************************************************************ movf bit_kol,0,0 sublw d'64' movwf bank0 bcf STATUS,C dokrut_reg rlcf registr0 rlcf registr7 rlcf registr6 rlcf registr5 rlcf registr4 rlcf registr3 rlcf registr2 rlcf registr1 decfsz bank0,f bra dokrut_reg ;************************************************************************************************ btfsc FLAG_stat,5 ;proveriyaem flag dla nice flor s bra nice_flor_stat ;********************************************************* btfss FLAG_stat,1 bra nice_stat ;************************************************************************************************ prinketon_stat movff registr1,registr11 movff registr2,registr12 movff registr3,registr13 call histim call display_pt2240 call display_princeton call displ_te ; call otladka call zaderjka6 bra werh_stat nice_stat call displ_GAME call displ_nice_bit call displ_te ; call otladka call zaderjka6 bra werh_stat ;********************************************* nice_flor_stat decf bit_kol call nice_flor_stat_displ call displ_nice_bit call displ_te ; call otladka call zaderjka call zaderjka6 bra werh_stat ;********************************************* werh_stat7 movlw d'64' ;bit movwf bit_kol goto werh7 ;****************************************vibros na displey kolichestvo bit vremiya te displ_te movff bit_kol,bank1 call hex_dec call STROKA_5 call POZIZ_1 call wibros_hex_dec call _AL33 call _AL2 call _AL9 call _AL19 call displ_te_3 return ;****************************************vibros na displey dlitelnost te displ_te_3 movff te_t_0,bank1 call hex_dec call POZIZ_8 ; call _AL33 call wibros_hex_dec call _AL40 call _AL33 call _AL19 call _AL6 return ;******************************************vibros na displey displ_nice_bit call STROKA_3 call POZIZ_4 call _AL34 btfsc FLAG_stat,5 call POZIZ_1 call _AL34 swapf registr1 movff registr1,bufer call hexx swapf registr1 movff registr1,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr2 movff registr2,bufer call hexx swapf registr3 movff registr3,bufer call hexx swapf registr3 movff registr3,bufer call hexx btfss FLAG_stat,5 ;proveriyaem flag dla nice flor s return swapf registr4 movff registr4,bufer call hexx swapf registr4 movff registr4,bufer call hexx swapf registr5 movff registr5,bufer call hexx swapf registr5 movff registr5,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr6 movff registr6,bufer call hexx swapf registr7 movff registr7,bufer call hexx swapf registr7 movff registr7,bufer ; call hexx return ;*****************************************hex v dec hex_dec clrf registr_1 clrf registr_2 tstfsz bank1 ;esli bank1 raven 0 to propustit bra hex_dec_1 return hex_dec_1 incf registr_2 bcf FLAG_stat,6 btfsc registr_2,3 ;esli log 0 to propustit sleduushuu komandu bsf FLAG_stat,6 ;ustanavlivaem flag btfss registr_2,1 ;esli log 1 to propustit sleduushuu komandu bcf FLAG_stat,6 ;snimaem flag btfsc FLAG_stat,6 call hex_dec_2 bcf FLAG_stat,6 btfsc registr_2,7 ;esli log 0 to propustit sleduushuu komandu bsf FLAG_stat,6 ;ustanavlivaem flag btfss registr_2,5 ;esli log 1 to propustit sleduushuu komandu bcf FLAG_stat,6 ;snimaem flag btfsc FLAG_stat,6 call hex_dec_3 decfsz bank1,f bra hex_dec_1 return ;***************************************** hex_dec_2 swapf registr_2 incf registr_2 swapf registr_2 bcf registr_2,1 bcf registr_2,3 return ;***************************************** hex_dec_3 incf registr_1 bcf registr_2,5 bcf registr_2,7 return ;*****************************************vibros hex_dec wibros_hex_dec ; call _AL33 movlw d'0' cpfsgt registr_1 bra wibros_hex_dec_2 movff registr_1,bufer call hexx wibros_hex_dec_1 swapf registr_2 movff registr_2,bufer call hexx swapf registr_2 movff registr_2,bufer call hexx return wibros_hex_dec_2 call _AL33 bra wibros_hex_dec_1 ;***************************************** nice_flor_stat_displ call histim call STROKA_1 call POZIZ_3 call _AL34 call _ALN call _ALI call _AL18 call _AL6 call _AL33 call _ALF call _ALL call _AL15 call _ALR return ;******************************************* otladka movff reg_otladki3,bank1 call hex_dec call STROKA_0 call POZIZ_1 movff registr_1,bufer call hexx swapf registr_2 movff registr_2,bufer call hexx swapf registr_2 movff registr_2,bufer call hexx movff te_t_1,bank1 ; movff reg_otladki2,bank1 call hex_dec call STROKA_0 call POZIZ_12 movff registr_1,bufer call hexx swapf registr_2 movff registr_2,bufer call hexx swapf registr_2 movff registr_2,bufer call hexx call displ_te call displ_nice_bit call zaderjka4 return ;******************************************* ; OBRABOTKA KNOPOK V KODE obrabotka_nastr movff reg_otladki3,bufer knopka_p1_nastr call STROKA_4 call belim call STROKA_4 call POZIZ_5 call _AL39 call STROKA_3 call POZIZ_5 call hexx call antidrebezg knopka_nastr btfss PORTB,1 bra pribaw_nastr btfss PORTB,3 bra otnal_nastr btfss PORTB,4 bra obrabotka_nastr ;***************************** btfss PORTB,0 bra priem_statiki_1 ;***************************** bra knopka_nastr otnal_nastr decf bufer bra metca_nastr pribaw_nastr incf bufer metca_nastr call POZIZ_5 call hexx movff bufer,reg_otladki3 bra knopka_p1_nastr ;KONECZ NE HUY!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;********************************************************************** END ;***************************** __0 incf reg_otladki call otladka ;*****************************