Porty mikrokontrolera
Transkrypt
Porty mikrokontrolera
Pracownia systemów komputerowych. System dydaktyczny DSM-51 Porty 1. ZAPIS DO PORTU ;Dioda TEST podłączona do linii 7 w porcie P1 LED_ON EQU 01111111B LJMP START ORG 100H START: MOV P1,#LED_ON LJMP $ 2. ;wpisz 0 na bit7 portu P1 wpisz 1-ki na bity 0..6 ;czyli zapal diodę TEST ;pozostań w pętli ZEROWANIE LINII W PORCIE ;Dioda TEST podłączona do linii 7 w porcie P1 LED_ON EQU 01111111B LJMP START ORG 100H START: ANL P1,#LED_ON LJMP $ 3. ;zeruj linię 7 portu P1 czyli zapal diodę TEST ;pozostań w pętli ZEROWANIE/USTAWIANIE LINII W PORCIE ;Dioda TEST podłączona do linii 7 w porcie P1 LED_ON EQU 01111111B LED_OFF EQU 10000000B LJMP START ORG 100H START: ;pętla mrugania diody LOOP: ANL P1,#LED_ON ORL P1,#LED_OFF LJMP LOOP ;zeruj linię 7 portu P1 czyli zapal diodę TEST ;ustaw linię 7 portu P1 czyli zgaś diodę TEST ;powtórz 4. ZMIANA STANU LINII W PORCIE ;Dioda TEST podłączona do linii 7 w porcie P1 LED_MASK EQU 10000000B ;maska do zmiany stanu linii 7 LJMP START ORG 100H START: LOOP: 5. ;Pętla mrugania diody XRL P1,#LED_MASK ;neguj linię (0->1,1->0) ;zapal/zgaś diodę TEST MOV A,#10 ;czekaj czas 10*100ms=1s LCALL DELAY_100MS ;podprogram z EPROMu LJMP LOOP ;powtórz ZMIANA STANU LINII W PORCIE ;Dioda TEST podłączona do linii 7 w porcie P1 ;Brzęczyk podłączony do linii 5 w porcie P1 MASK EQU 10100000B LJMP ORG START 100H ;maska do zmiany stanu linii 5 i 7 w porcie P1 START: LOOP: 6. XRL P1,#MASK MOV LCALL LJMP A,#10 DELAY_100MS LOOP ;Pętla zmiany stanów ;neguj linie portu P1 zgodnie z maską MASK ;1 w masce zmienia stan odpowiedniej linii P1 ;czekaj czas 10*100ms=1s ;podprogram z EPROMu ;powtórz ZMIANA STANU LINII W PORCIE - STEROWANIE NAPRZEMIENNE ;Dioda TEST podłączona do linii 7 w porcie P1 ;Brzęczyk podłączony do linii 5 w porcie P1 LED_ON EQU MASK EQU 01111111B 10100000B ;maska zerowania linii 7 ;maska do zmiany stanu linii 5 i 7 w porcie P1 LJMP ORG START 100H ANL P1,#LED_ON XRL P1,#MASK MOV LCALL A,#10 DELAY_100MS ;zapal diodę TEST !!! ;Pętla zmiany stanów ;neguj linie portu P1 zgodnie z maską MASK ;1 w masce zmienia stan odpowiedniego linii P1 ;czekaj czas 10*100ms=1s ;podprogram z EPROMu LJMP LOOP ;powtórz START: LOOP: