; TREBA KRYSTAL NA 20MHz !!!!! LIST P=16F874A, R=DEC, F=INHX8M ; list directive to define processor #INCLUDE ; processor specific variable definitions __CONFIG _CP_OFF&_WDT_OFF&_BODEN_ON&_PWRTE_ON&_XT_OSC&_LVP_OFF&_DEBUG_OFF&_CPD_OFF ; Ports: ; ; B0 - B3 = I/0 ; B4 = RS ; B5 = RW ; B6 = E ; Special Function Registers ============================================== RAM EQU H'0C' ;Zde je jiny zpusob zadavani registru. RAM_END EQU H'7F' ;konec RAMky RBF EQU RAM ;Zada se kde je RAM a dalsi registry jsou RBF1 EQU RAM+1 ;za RAMem NUM EQU RAM+2 NUM1 EQU RAM+3 TMP EQU RAM+4 TM1 EQU RAM+5 TM2 EQU RAM+6 POM EQU RAM+7 ADRTX EQU RAM+8 PIP EQU RAM+9 ZK1 EQU RAM+10 ZK2 EQU RAM+11 TL EQU RAM+12 TL_OLD1 EQU RAM+13 TL_OLD2 EQU RAM+14 TL_OLD3 EQU RAM+15 JDI EQU RAM+16 JDI_LAB EQU RAM+17 JDI_RED EQU RAM+18 JDI_SPE EQU RAM+19 JDI_ZAJ EQU RAM+20 PROSTOJ1 EQU RAM+21 PROSTOJ2 EQU RAM+22 JDI_pr EQU RAM+23 W_temp EQU RAM_END-1 S_temp EQU RAM_END CAS EQU 10h ;tlacitka LAB_p EQU 0 Check_p EQU 1 RED_p EQU 2 SPE_p EQU 3 ZAJ_p EQU 4 UNK_p EQU 5 ; Bit Definitions ========================================================= #define RS PORTB,4 ;Prirazeni nazvu z duvodu dlouhych prikazu, #define RW PORTB,5 ;ci pro lepsi pochopeni #define E PORTB,6 #define BF_lcd RBF,3 #define LABt PORTA,LAB_p ;LAB #define Check PORTA,Check_p ;Check #define REDt PORTA,RED_p ;RED #define SPEt PORTA,SPE_p ;SPE #define ZAJt PORTA,ZAJ_p ;ZAJ #define UNK PORTA,UNK_p ;????? #define ED PORTC,0 ;El dílny #define LA PORTC,1 ;lab aut #define LM PORTC,2 ;lab mereni #define LV PORTC,3 ;lab vypocetka #define LP PORTC,4 ;lab PC gafiky #define RE PORTC,5 ;reditel #define ZA PORTC,6 ;zástupce #define JI PORTC,7 ;jídelna #define SE PORTD,0 ;sekratariat #define AU PORTD,1 ;audioviz #define PR PORTD,2 ;projekc #define UC PORTD,3 ;uc CH,F #define UE PORTD,4 ;uc EN #define JA PORTD,5 ;jazyk uc #define PO PORTD,6 ;posilovna #define SK PORTD,7 ;skolni klub #define KN PORTE,0 ;knihovna #define TE PORTE,0 ;telocvicna BANK0 macro bCf STATUS,RP0 bCf STATUS,RP1 endm BANK1 macro bSf STATUS,RP0 bCf STATUS,RP1 endm BANK2 macro bCf STATUS,RP0 bSf STATUS,RP1 endm BANK3 macro bSf STATUS,RP0 bSf STATUS,RP1 endm ;,,,,,,,,,,,,,,,,, Nahrání programové paměti ,,,,,,,,,,,,,,,,,, ;--------------------------------------------------------------------------------------- ORG H'00' ;adresa zacatku prog. GOTO START_cold ;------------------------------ INTERRUPT ORG H'04' ;interrupt se vola pomoc TIMER0, perioda = 13.1ms bCf INTCON,GIE ;stop jinemu interruptu movWF W_temp ;zaloha registru W swapF STATUS,W ;zaloha STATUS registru movWF S_temp BANK0 ;--------------------- movF TL_OLD2,W ;tabule movWF TL_OLD3 ;zaznam 4 poslednich stavu cudliku movF TL_OLD1,W movWF TL_OLD2 movF TL,W movWF TL_OLD1 movF PORTA,W movWF TL ;--- kontrola prostoje ... decFsZ PROSTOJ1,F goto testy decFsZ PROSTOJ2,F goto testy bSf JDI_pr,0 ;--- testy, jestli nedoslo ke stisku tlacitek -------------- testy btfSS TL_OLD3,Check_p ;stisklo se Check ? (musi byt v TL* posloupnost 0,0,0,1 goto next_tl_1 btfSC TL_OLD2,Check_p goto next_tl_1 btfSC TL_OLD1,Check_p goto next_tl_1 btfSC TL,Check_p goto next_tl_1 bSf JDI,0 ;hura - stisklo se tlacitko Check next_tl_1 btfSS TL_OLD3,LAB_p ;stisklo se LAB ? goto next_tl_2 btfSC TL_OLD2,LAB_p goto next_tl_2 btfSC TL_OLD1,LAB_p goto next_tl_2 btfSC TL,LAB_p goto next_tl_2 bSf JDI_LAB,0 next_tl_2 btfSS TL_OLD3,RED_p ;stisklo se RED ? goto next_tl_3 btfSC TL_OLD2,RED_p goto next_tl_3 btfSC TL_OLD1,RED_p goto next_tl_3 btfSC TL,RED_p goto next_tl_3 bSf JDI_RED,0 next_tl_3 btfSS TL_OLD3,SPE_p ;stisklo se SPE ? goto next_tl_4 btfSC TL_OLD2,SPE_p goto next_tl_4 btfSC TL_OLD1,SPE_p goto next_tl_4 btfSC TL,SPE_p goto next_tl_4 bSf JDI_SPE,0 ;hura - stisklo se tlacitko Check next_tl_4 btfSS TL_OLD3,ZAJ_p ;stisklo se SPE ? goto konecI btfSC TL_OLD2,ZAJ_p goto konecI btfSC TL_OLD1,ZAJ_p goto konecI btfSC TL,ZAJ_p goto konecI bSf JDI_ZAJ,0 ;----- konecI NOP ;--------------------- OBNOVA STATUS a W ze zalohy swapF S_temp,W movWF STATUS swapF W_temp,F swapF W_temp,W bCf INTCON,T0IF ; RETFIE ;--------------------------------------------------------------------------------------- st_count movLW 18 ;nastaveni cekaci smycky prostoje na 1min movWF PROSTOJ2 ;60s od ted se JDI_pr nastavi do 1 clrF PROSTOJ1 clrF JDI_pr RETURN ;Čekací smyčky a různou délkou t100mS MOVLW 130 ;doba 0,1 s GOTO Wa1 t15mS MOVLW 20 ;doba 15ms GOTO Wa1 t4mS MOVLW 6 ;doba 4ms GOTO Wa1 t1mS5 MOVLW 2 ;doba 1,5ms Wa1 MOVWF TM1 Wa3 MOVLW 255 MOVWF TM2 Wa2 DECFSZ TM2,F GOTO Wa2 DECFSZ TM1,F GOTO Wa3 RETURN t100uS MOVLW 33 ;doba 100 mikrosekund MOVWF TM1 Wa4 DECFSZ TM1,F GOTO Wa4 RETURN ;------------------------------------ T_BF BCF RS ;testuje BF tak dlouho, dokud BSF RW ;LCD nepotvrdi zkonceni operace CALL Ain BSF E MOVF PORTB,W MOVWF RBF BCF E NOP BSF E MOVF PORTB,W MOVWF RBF1 BCF E BTFSC BF_lcd GOTO $-10 RETURN ;------------------------------------ Aout MOVLW B'00000000' ;nastaveni portu A: PIC -> LCD GOTO $+2 Ain MOVLW B'00001111' ;nastaveni portu A: LCD -> PIC BSF STATUS,RP0 ;Banka 1 MOVWF TRISB ;nastaveni portu A BCF STATUS,RP0 ;Banka 0 RETURN ;------------------------------------ WRdata BSF RS ;nastaveni LCD pro zapis DAT MOVWF TMP ;PRIKAZ/DATA pro LCD W -> TMP CALL Aout SWAPF TMP,W ;horni 4 bity TMP -> W MOVWF ZK1 BSF ZK1,4 ;Musim nastavit Bajt tak, abych si BCF ZK1,5 ;neprepsal RS, RW, E BSF ZK1,6 MOVF ZK1,W BSF E ;prenos MOVWF PORTB BCF E BSF TMP,4 ;Musim nastavit Bajt tak, abych si BCF TMP,5 ;neprepsal RS, RW, E BSF TMP,6 MOVF TMP,W BSF E ;Prenos MOVWF PORTB BCF E CALL T_BF ; testuj BF RETURN ;------------------------------------- WRpri BCF RS ;nastaveni LCD pro zapis PRIKAZU BCF RW MOVWF TMP ;PRIKAZ/DATA pro LCD W -> TMP CALL Aout SWAPF TMP,W ;horni 4 bity TMP -> W MOVWF ZK1 BCF ZK1,4 ;Musim nastavit Bajt tak, abych si BCF ZK1,5 ;neprepsal RS, RW, E BSF ZK1,6 MOVF ZK1,W BSF E ; prenos MOVWF PORTB BCF E BCF TMP,4 ;Musim nastavit Bajt tak, abych si BCF TMP,5 ;neprepsal RS, RW, E BSF TMP,6 MOVF TMP,W ; dolni 4 bity TMP -> W BSF E ;Prenos MOVWF PORTB BCF E CALL T_BF ;testuj BF RETURN ;------------------------------------- RDdata CALL WRpri ;nastaveni ctene adresy CALL Ain BSF RS BSF RW BSF E MOVF PORTB,W MOVWF NUM ;jedna pulka dat do NUM SWAPF NUM,F BCF E MOVLW B'11110000' ANDWF NUM,F ;vymaskovani hornich 4 bitu BSF E MOVF PORTB,W MOVWF NUM1 ;druha pulka dat do NUM1 BCF E MOVLW B'00001111' ;vymaskovani dolnich 4 bitu ANDWF NUM1,W IORWF NUM,F ;secteni horni a dolni pulky NUM CALL T_BF RETURN ;---------------------------------------- INILCD CALL t15mS ;inicializuje display BCF RS BCF RW CALL Aout BSF E MOVLW B'01000011' MOVWF PORTB BCF E CALL t4mS BSF E MOVLW B'01000011' MOVWF PORTB BCF E CALL t100uS BSF E MOVLW B'01000011' MOVWF PORTB BCF E CALL t100uS MOVLW B'00101000' CALL WRpri ;4bit komunikace / 2 radky MOVLW B'00001000' ;LCD OFF CALL WRpri MOVLW B'00001100' CALL WRpri ;LCD ON / kurzor OFF / blikani OFF MOVLW B'00000110' CALL WRpri ;inkrementace, normalni operace RETURN ;------------------------------------------ TEXT2 MOVWF ADRTX ;posle na LCD sring CALL KOD2 ;ktery zacina na MOVWF POM ;adrese ADRTX+3 od KOD MOVF POM,F ;konec stringu rozpozna BTFSC STATUS,Z ;tim, ze narazi na znak 0 RETURN CALL WRdata INCF ADRTX,F MOVF ADRTX GOTO $-8 ;------------------------------------------ TEXT MOVWF ADRTX ;posle na LCD sring CALL KOD ;ktery zacina na MOVWF POM ;adrese ADRTX+3 od KOD MOVF POM,F ;konec stringu rozpozna BTFSC STATUS,Z ;tim, ze narazi na znak 0 RETURN CALL WRdata INCF ADRTX,F MOVF ADRTX GOTO $-8 ;------------------------------------------ BEGIN movlw B'00000001' ;prikaz pro vymazani LCD call WRpri MOVLW B'10000000' ;adresa počátečního znaku textu CALL WRpri ;1 radek/1 znak RETURN ;------------------------------------ CEKEJ bCf JDI,0 ;nastavime cekani na cudlik check call st_count ;nastavime minutovy odpocet btFsC JDI,0 retLW 1 btFsC JDI_pr,0 retLW 0 goto $-4 ;------------------------------------ ZHASNI CLRF PORTC CLRF PORTD CLRF PORTE RETURN ;------------------------------------ HELLO movlw B'00000001' ;prikaz pro vymazani LCD call WRpri MOVLW B'10000000' ;adresa počátečního znaku textu CALL WRpri MOVLW 122 CALL TEXT RETURN ;------------------------------------ O1 CALL BEGIN MOVLW 0 ;adresa textu 0 ( Elektrotech. dilny ) CALL TEXT ;vypsání textu MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 19 CALL TEXT ;adresa textu 19 ( Prizemi ) RETURN O2 CALL BEGIN MOVLW 27 ; ( Lab. ) CALL TEXT MOVLW B'10000101' ;adresa počátečního znaku textu CALL WRpri ;1 radek/6 znak MOVLW 32 ; ( automatizace ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 45 ; ( 1. patro ) CALL TEXT RETURN O3 CALL BEGIN MOVLW 112 ; ( Lab. mereni ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 45 ; ( 1. patro ) CALL TEXT RETURN O4 CALL BEGIN MOVLW 72 ;adresa textu 72 ( Lab. vypocetni tech. ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 54 ; ( 2. patro ) CALL TEXT RETURN O5 CALL BEGIN MOVLW 96 ;adresa textu 96 ( Lab. PC grafiky ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 54 ; ( 2. patro ) CALL TEXT RETURN ;------------------------------------ O6 CALL BEGIN MOVLW 132 ;adresa textu 132 ( Reditel skoly ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 146 ; ( tel. ) CALL TEXT MOVLW B'11000101' CALL WRpri ;2 radek / 6 znak MOVLW 151 ; ( cislo reditele ) CALL TEXT RETURN O7 CALL BEGIN MOVLW 163 ;adresa textu 163 ( Zastupce reditele ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 146 ; ( tel. ) CALL TEXT MOVLW B'11000101' CALL WRpri ;2 radek / 6 znak MOVLW 181 ; ( cislo zastupce ) CALL TEXT RETURN O8 CALL BEGIN MOVLW 193 ;adresa textu 193 ( Skolni jidelna ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek/1 znak MOVLW 146 ; ( tel. ) CALL TEXT MOVLW B'11000101' CALL WRpri ;2 radek / 6 znak MOVLW 208 ; ( cislo jidelny ) CALL TEXT RETURN O9 CALL BEGIN MOVLW 220 ;adresa textu 220 ( Sekretariat skoly ) CALL TEXT MOVLW B'11000010' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 3 znak MOVLW 0 ; ( info@uzlabina.cz ) CALL TEXT2 RETURN ;------------------------------------ O10 CALL BEGIN MOVLW 17 ;adresa textu 17/2 ( Audiovizualni uc. ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 45 ; ( 1. patro ) CALL TEXT MOVLW B'11001001' ;adresa počátečního znaku textu CALL WRpri ;2 radek / znak 73 MOVLW 35 ; ( 111 ) CALL TEXT2 RETURN O11 CALL BEGIN MOVLW 41 ;adresa textu 41/2 ( Projekcni ) CALL TEXT2 MOVLW B'10001010' ;adresa počátečního znaku textu CALL WRpri ;1 radek / znak 10 MOVLW 51 ; ( ucebna ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 19 ; ( prizemi ) CALL TEXT MOVLW B'11001000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / znak 72 MOVLW 58 ; ( 035 ) CALL TEXT2 RETURN O12 CALL BEGIN MOVLW 64 ;adresa textu 64/2 ( Odborna ucebna ) CALL TEXT2 MOVLW B'10001111' ;adresa počátečního znaku textu CALL WRpri ;1 radek / znak 15 MOVLW 82 ; ( Ch, F ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 63 ; ( 3. patro ) CALL TEXT MOVLW B'11001000' ;adresa počátečního znaku textu xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx CALL WRpri ;2 radek / znak 72 MOVLW 58 ; ( 035 ) CALL TEXT2 RETURN O13 CALL BEGIN MOVLW 64 ;adresa textu 64/2 ( Odborna ucebna ) CALL TEXT2 MOVLW B'10001111' ;adresa počátečního znaku textu CALL WRpri ;1 radek / znak 15 MOVLW 79 ; ( EN ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 63 ; ( 3. patro ) CALL TEXT MOVLW B'11001000' ;adresa počátečního znaku textu xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx CALL WRpri ;2 radek / znak 72 MOVLW 58 ; ( 035 ) CALL TEXT2 RETURN O14 CALL BEGIN MOVLW 88 ;adresa textu 88/2 ( Jazykove ucebny ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 45 ; ( 1. patro ) CALL TEXT MOVLW B'11001000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / znak 72 MOVLW 104 ; ( a ) CALL TEXT2 MOVLW B'11001010' ;adresa počátečního znaku textu CALL WRpri ;2 radek / znak 74 MOVLW 54 ; ( 2. patro ) CALL TEXT RETURN ;------------------------------------ O15 CALL BEGIN MOVLW 106 ;adresa textu 106/2 ( Posilovna ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 19 ; ( Prizemi ) CALL TEXT RETURN O16 CALL BEGIN MOVLW 116 ;adresa textu 116/2 ( Skolni ) CALL TEXT2 MOVLW B'10000111' ;adresa počátečního znaku textu CALL WRpri ;1 radek / 7 znak MOVLW 123 ; ( klub ) CALL TEXT2 MOVLW B'10001101' ;adresa počátečního znaku textu CALL WRpri ;1 radek / 13 znak MOVLW 19 ; ( Prizemi ) CALL TEXT MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 128 ; ( wifi fotbalek ) CALL TEXT2 RETURN O17 CALL BEGIN MOVLW 116 ;adresa textu 116/2 ( Skolni ) CALL TEXT2 MOVLW B'10000111' ;adresa počátečního znaku textu CALL WRpri ;1 radek / 7 znak MOVLW 145 ; ( knihovna ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 19 ; ( prizemi ) CALL TEXT MOVLW B'11001000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / znak 72 MOVLW 154 ; ( 7:00-15:30 ) CALL TEXT2 RETURN O18 CALL BEGIN MOVLW 165 ;adresa textu 165/2 ( Telocvicna ) CALL TEXT2 MOVLW B'11000000' ;adresa počátečního znaku textu CALL WRpri ;2 radek / 1 znak MOVLW 45 ; ( 1. patro ) CALL TEXT RETURN ;---------------//*\\----------------- LAB CALL O1 CALL ZHASNI BSF ED CALL CEKEJ btFsS STATUS,Z goto START CALL O2 CALL ZHASNI BSF LA CALL CEKEJ btFsS STATUS,Z goto START CALL O3 CALL ZHASNI BSF LM CALL CEKEJ btFsS STATUS,Z goto START CALL O4 CALL ZHASNI BSF LV CALL CEKEJ btFsS STATUS,Z goto START CALL O5 CALL ZHASNI BSF LP CALL CEKEJ GOTO START ;------------------------------------ RED CALL O6 CALL ZHASNI BSF RE CALL CEKEJ btFsS STATUS,Z goto START CALL O7 CALL ZHASNI BSF ZA CALL CEKEJ btFsS STATUS,Z goto START CALL O8 CALL ZHASNI BSF JI CALL CEKEJ btFsS STATUS,Z goto START CALL O9 CALL ZHASNI BSF SE CALL CEKEJ goto START ;------------------------------------ SPE CALL O10 CALL ZHASNI BSF AU CALL CEKEJ btFsS STATUS,Z goto START CALL O11 CALL ZHASNI BSF PR CALL CEKEJ btFsS STATUS,Z goto START CALL O12 CALL ZHASNI BSF UC CALL CEKEJ btFsS STATUS,Z goto START CALL O13 CALL ZHASNI BSF UE CALL CEKEJ btFsS STATUS,Z goto START CALL O14 CALL ZHASNI BSF JA CALL CEKEJ btFsS STATUS,Z goto START ;------------------------------------ ZAJ CALL O15 CALL ZHASNI BSF PO CALL CEKEJ btFsS STATUS,Z goto START CALL O16 CALL ZHASNI BSF SK CALL CEKEJ btFsS STATUS,Z goto START CALL O17 CALL ZHASNI BSF KN CALL CEKEJ btFsS STATUS,Z goto START CALL O18 CALL ZHASNI BSF TE CALL CEKEJ btFsS STATUS,Z goto START ;**************************.::PROGRAM::.**************************; START_cold ;====== inicializace ======= BANK1 ;MOVLW B'00000000' ; port B: vystupy pro LCD CLRF TRISB ; RB - OUT CLRF TRISC ; RC - OUT CLRF TRISD ; RD - OUT CLRF TRISE ; RE - OUT MOVLW B'00011111' ; MOVWF TRISA ; RA - IN movLW B'00000111' movWF OPTION_REG ; nastavení předěličky na 1:256 BANK0 clrF JDI clrF JDI_LAB clrF JDI_RED clrF JDI_SPE clrF JDI_ZAJ clrF PROSTOJ1 clrF PROSTOJ2 clrF JDI_pr CALL INILCD ;Inicializace displaye movLW B'10100000' movWF INTCON ;====== inicializace END ======= START CALL HELLO BTFSC LABt ;Kdyz T0=0 tak preskoci pristi prikaz GOTO LAB BTFSC REDt GOTO RED BTFSC SPEt GOTO SPE BTFSC ZAJt GOTO ZAJ GOTO $-8 ;===================== 2. pamet vet ============================= ORG H'700' ;adresa pulky pameti (2. stranka 700-7FF) KOD2 MOVLW 7 ;nastaveni 2 stranky programove pameti MOVWF PCLATH ;tohle je vlastně tabulka ASCII. Je to MOVF ADRTX,W ;posloupnost znaků, které se vypíší ADDWF PCL,F ;na display LCD. Zpráva se přestane vypisovat, ;když se narazí na zak s ASCII kódem 0 RETLW 105 ; ADR 0 ( info@uzlabina.cz ) RETLW 110 RETLW 102 RETLW 111 RETLW 64 RETLW 117 RETLW 122 RETLW 108 RETLW 97 RETLW 98 RETLW 105 RETLW 110 RETLW 97 RETLW 46 RETLW 99 RETLW 122 RETLW 0 RETLW 65 ; ADR 17 (Audiovizualni uc. ) RETLW 117 RETLW 100 RETLW 105 RETLW 111 RETLW 118 RETLW 105 RETLW 122 RETLW 117 RETLW 97 RETLW 108 RETLW 110 RETLW 105 RETLW 32 RETLW 117 RETLW 99 RETLW 46 RETLW 0 RETLW 40 ; ADR 35 ( (111) ) RETLW 49 RETLW 49 RETLW 49 RETLW 41 RETLW 0 RETLW 80 ; ADR 41 ( Projekcni ) RETLW 114 RETLW 111 RETLW 106 RETLW 101 RETLW 107 RETLW 99 RETLW 110 RETLW 105 RETLW 0 RETLW 117 ; ADR 51 ( ucebna ) RETLW 99 RETLW 101 RETLW 98 RETLW 110 RETLW 97 RETLW 0 RETLW 40 ; ADR 58 ( (035) ) RETLW 48 RETLW 51 RETLW 53 RETLW 41 RETLW 0 RETLW 79 ; ADR 64 ( Odborna ucebna ) RETLW 100 RETLW 98 RETLW 111 RETLW 114 RETLW 110 RETLW 97 RETLW 32 RETLW 117 RETLW 99 RETLW 101 RETLW 98 RETLW 110 RETLW 97 RETLW 0 RETLW 69 ; ADR 79 ( EN ) RETLW 78 RETLW 0 RETLW 67 ; ADR 82 ( Ch, F ) RETLW 104 RETLW 44 RETLW 32 RETLW 70 RETLW 0 RETLW 74 ; ADR 88 ( Jazykove ucebny ) RETLW 97 RETLW 122 RETLW 121 RETLW 107 RETLW 111 RETLW 118 RETLW 101 RETLW 32 RETLW 117 RETLW 99 RETLW 101 RETLW 98 RETLW 110 RETLW 121 RETLW 0 RETLW 97 ; ADR 104 ( a ) RETLW 0 RETLW 80 ; ADR 106 ( Posilovna ) RETLW 111 RETLW 115 RETLW 105 RETLW 108 RETLW 111 RETLW 118 RETLW 110 RETLW 97 RETLW 0 RETLW 83 ; ADR 116 ( Skolni ) RETLW 107 RETLW 111 RETLW 108 RETLW 110 RETLW 105 RETLW 0 RETLW 107 ; ADR 123 ( klub ) RETLW 108 RETLW 117 RETLW 98 RETLW 0 RETLW 87 ; ADR 128 ( WI-FI a fotbalek ) RETLW 73 RETLW 45 RETLW 70 RETLW 73 RETLW 32 RETLW 97 RETLW 32 RETLW 102 RETLW 111 RETLW 116 RETLW 98 RETLW 97 RETLW 108 RETLW 101 RETLW 107 RETLW 0 RETLW 107 ; ADR 145 ( knihovna ) RETLW 110 RETLW 105 RETLW 104 RETLW 111 RETLW 118 RETLW 110 RETLW 97 RETLW 0 RETLW 55 ; ADR 154 ( 7:00-15:30 ) RETLW 58 RETLW 48 RETLW 48 RETLW 45 RETLW 49 RETLW 53 RETLW 58 RETLW 51 RETLW 48 RETLW 0 RETLW 84 ; ADR 165 ( Telocvicna ) RETLW 101 RETLW 108 RETLW 111 RETLW 99 RETLW 118 RETLW 105 RETLW 99 RETLW 110 RETLW 97 RETLW 0 ;===================== 1. pamet vet ============================= ORG H'600' ;adresa konce pameti (3. stranka 600-6FF) KOD MOVLW 6 ;nastaveni 3 stranky programove pameti MOVWF PCLATH ;tohle je vlastně tabulka ASCII. Je to MOVF ADRTX,W ;posloupnost znaků, které se vypíší ADDWF PCL,F ;na display LCD. Zpráva se přestane vypisovat, ;když se narazí na zak s ASCII kódem 0 RETLW 69 ; ADR 0 ( Elektrotech. dilny ) RETLW 108 RETLW 101 RETLW 107 RETLW 116 RETLW 114 RETLW 111 RETLW 116 RETLW 101 RETLW 99 RETLW 104 RETLW 46 RETLW 32 RETLW 100 RETLW 105 RETLW 108 RETLW 110 RETLW 121 RETLW 0 RETLW 80 ; ADR 19 ( Prizemi ) RETLW 114 RETLW 105 RETLW 122 RETLW 101 RETLW 109 RETLW 105 RETLW 0 RETLW 76 ; ADR 27 ( Lab. ) RETLW 97 RETLW 98 RETLW 46 RETLW 0 RETLW 97 ; ADR 32 ( automatizace ) RETLW 117 RETLW 116 RETLW 111 RETLW 109 RETLW 97 RETLW 116 RETLW 105 RETLW 122 RETLW 97 RETLW 99 RETLW 101 RETLW 0 RETLW 49 ; ADR 45 ( 1. patro ) RETLW 46 RETLW 32 RETLW 112 RETLW 97 RETLW 116 RETLW 114 RETLW 111 RETLW 0 RETLW 50 ; ADR 54 ( 2. patro ) RETLW 46 RETLW 32 RETLW 112 RETLW 97 RETLW 116 RETLW 114 RETLW 111 RETLW 0 RETLW 51 ; ADR 63 ( 3. patro ) RETLW 46 RETLW 32 RETLW 112 RETLW 97 RETLW 116 RETLW 114 RETLW 111 RETLW 0 RETLW 76 ; ADR 72 ( Lab. vypocetni tech. ) RETLW 97 RETLW 98 RETLW 46 RETLW 32 RETLW 118 RETLW 121 RETLW 112 RETLW 111 RETLW 99 RETLW 101 RETLW 116 RETLW 110 RETLW 105 RETLW 32 RETLW 116 RETLW 101 RETLW 99 RETLW 104 RETLW 110 RETLW 105 RETLW 107 RETLW 46 RETLW 0 RETLW 76 ; ADR 96 ( Lab. PC grafiky ) RETLW 97 RETLW 98 RETLW 46 RETLW 32 RETLW 80 RETLW 67 RETLW 32 RETLW 103 RETLW 114 RETLW 97 RETLW 102 RETLW 105 RETLW 107 RETLW 121 RETLW 0 RETLW 76 ; ADR 112 ( Lab. merení ) RETLW 97 RETLW 98 RETLW 46 RETLW 109 RETLW 101 RETLW 114 RETLW 110 RETLW 105 RETLW 0 RETLW 86 ; ADR 122 (Vytam Vas ) RETLW 121 RETLW 116 RETLW 97 RETLW 109 RETLW 32 RETLW 86 RETLW 97 RETLW 115 RETLW 0 RETLW 82 ;ADR 132 (Reditel skoly) RETLW 101 RETLW 100 RETLW 105 RETLW 116 RETLW 101 RETLW 108 RETLW 32 RETLW 115 RETLW 107 RETLW 111 RETLW 108 RETLW 121 RETLW 0 RETLW 116 ;ADR 146 (tel. ) RETLW 101 RETLW 108 RETLW 46 RETLW 0 RETLW 50 ; ADR 151 ( telefon reditele - 274 774 210 ) RETLW 55 RETLW 52 RETLW 32 RETLW 55 RETLW 55 RETLW 52 RETLW 32 RETLW 50 RETLW 49 RETLW 48 RETLW 0 RETLW 90 ; ADR 163 (Zastupce reditele) RETLW 97 RETLW 115 RETLW 116 RETLW 117 RETLW 112 RETLW 99 RETLW 101 RETLW 32 RETLW 114 RETLW 101 RETLW 100 RETLW 105 RETLW 116 RETLW 101 RETLW 108 RETLW 101 RETLW 0 RETLW 50 ; ADR 181 ( telefon zastupce - 274 016 225 ) RETLW 55 RETLW 52 RETLW 32 RETLW 48 RETLW 49 RETLW 56 RETLW 32 RETLW 50 RETLW 50 RETLW 53 RETLW 0 RETLW 83 ; ADR 193 (Skolni jidelna) RETLW 107 RETLW 111 RETLW 108 RETLW 110 RETLW 105 RETLW 32 RETLW 106 RETLW 105 RETLW 100 RETLW 101 RETLW 108 RETLW 110 RETLW 97 RETLW 0 RETLW 50 ; ADR 208 ( telefon jidelna - 274 016 215 ) RETLW 55 RETLW 52 RETLW 32 RETLW 48 RETLW 49 RETLW 56 RETLW 32 RETLW 50 RETLW 49 RETLW 53 RETLW 0 RETLW 82 ; ADR 220 ( Sekretariant skoly ) RETLW 101 RETLW 107 RETLW 114 RETLW 101 RETLW 116 RETLW 97 RETLW 114 RETLW 105 RETLW 97 RETLW 116 RETLW 32 RETLW 115 RETLW 107 RETLW 111 RETLW 108 RETLW 121 RETLW 0 END ;BCF STATUS, RP0 ; RP0=0 ;BSF STATUS, RP1 ; RP1=1 Bank1 ;CLRF PORTA ; ;BCF STATUS, RP0 ; ;BCF STATUS, RP1 ; Bank0