mikro12


Politechnika Lubelska

Laboratorium podstaw systemów mikroprocesorowych

w Lublinie

Ćwiczenie nr 1,2

Nazwisko:

Bogusz

Lasota

Kukiełka

Imię:

Albert

Wojciech

Rafał

Semestr

V

Grupa

ED 5.1

Rok akademicki

1999/00

Temat ćwiczenia:

Linie wejść i wyjść mikrokontrolera

Data wykonania

08.10.99

Ocena:

1. Cel ćwiczenia :

Zapoznanie się ze sposobami sterowania urządzeniami podłączonymi bezpośrednio do portów mikrokontrolera.

;************************************************

;LEKCJA 1 - LINIE WEJŚĆ/WYJŚĆ MIKROKONTROLERA

;PRZYKŁAD 4 - MRUGANIE DIODY - OPÓŹNIENIA CZASOWE

;************************************************

LED EQU P1.7 ;Dioda TEST podłączona do portu P1.7

LJMP START

ORG 100H

START:

LOOP: ;Nagłówek pętli mrugania diody TEST

CLR LED ;Zerowanie linii P1.7 powodujące zapalenie diody

MOV A,#10 ;Wprowadzenie do akumulatora wartości 10

LCALL DELAY_100MS ;Wywołanie podprogramu z EPROMu odpowiedzialnego za opóźnienie

SETB LED ;Ustawienie linii P1.7 powodujące gaśnięcie diody

MOV A,#10 ; Wprowadzenie do akumulatora wartości 10

LCALL DELAY_100MS ;Wywołanie podprogramu z EPROMu odpowiedzialnego za opóźnienie

LJMP LOOP ;Skok do początku programu

Program obrazuje nam, iż w systemie istnieje możliwość definiowania swoich zmiennych - LED (etykiecie tej przypisany jest bit #7 portu 1).

Zawarta w listingu instrukcja DELAY_100MS, będąca podprogramem zawartym w pamięci EPROM, pozwala na wprowadzenie opóźnienia w granicach (1 - 256)* 100ms.

;************************************************

;LEKCJA 1 - LINIE WEJŚĆ/WYJŚĆ MIKROKONTROLERA

;PRZYKŁAD 6 - STEROWANIE DIODY I BRZĘCZYKA

;************************************************

LED EQU P1.7 ;Dioda TEST podłączona do P1.7

BUZZER EQU P1.5 ;Brzęczyk podłączony do P1.5

LJMP START

ORG 100H

START:

LOOP: ;Pętla mrugania diody

;i sterowania brzęczyka

CPL LED ;zapal/zgaś diodę TEST

CPL BUZZER ;włącz/wyłącz brzęczyk

MOV A,#10 ;czekaj czas 10*100ms=1s

LCALL DELAY_100MS ;podprogram z EPROMu

LJMP LOOP ;powtórz

;************************************************

LED EQU P1.7 ;Dioda TEST podłączona do P1.7

BUZZER EQU P1.5 ;Brzęczyk podłączony do P1.5

LJMP START

ORG 100H

START:

LOOP: ;Pętla mrugania diody

;i sterowania brzęczyka

CPL LED

MOV A,#20 ; Wprowadzenie do akumulatora wartości 20

LCALL DELAY_100MS ; Wywołanie podprogramu z EPROMu odpowiedzialnego za opóźnienie

CPL LED ;Negacja P1.7

CPL BUZZER ; Negacja P1.5

MOV A,#10 ; Wprowadzenie do akumulatora wartości 10

LCALL DELAY_100MS ; Wywołanie podprogramu z EPROMu odpowiedzialnego zaopóźnienie

CPL BUZZER ; Negacja P1.5

LJMP LOOP ;Skok do początku programu

Użyta w programie instrukcja CPL służy do negacji określonego bitu.

Powyższy program powoduje świecenie diody na przemian z działaniem brzęczyka, przy czym czas działania diody jest dwukrotnie dłuższy od czasu brzęczyka.

;************************************************

;LEKCJA 2 - PORTY MIKROKONTROLERA

;PRZYKŁAD 3 - 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:

LOOP: ; Nagłówek pętli mrugania diody TEST

ANL P1,#LED_ON ;Zerowanie linii 7 portu P1 (włączenie diody TEST)

ORL P1,#LED_OFF ;Ustawienie linii 7 portu P1(wyłączenie diody TEST)

LJMP LOOP ;Skok do początku programu

;************************************************

;LEKCJA 2 - PORTY MIKROKONTROLERA

;PRZYKŁAD 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: ;Nagłówek pętli mrugania diody

XRL P1,#LED_MASK ;Negacja linii 7 portu 1 (wączanie/wyłączenie diody TEST)

MOV A,#10 ;Wprowadzenie do akumulatora wartości 10

LCALL DELAY_100MS ; Wywołanie podprogramu z EPROMu (opóźnienie czasowe)

LJMP LOOP ;Skok do początku programu

W programach wykorzystano maski, które odpowiedzialne są za ustawienie odpowiednich bitów w porcie, jak również całego portu. Jedną z zalet takiego programowania jest możliwość dokonywania modyfikacji programu bez głębszej ingerencji w listing - wystarczy zmienić odpowiednie bity w masce.

;************************************************

;LEKCJA 1 - LINIE WEJŚĆ/WYJŚĆ MIKROKONTROLERA

;PRZYKŁAD 6 - STEROWANIE DIODY I BRZĘCZYKA

;************************************************

LED EQU P1.7

LED_BUZ EQU 10100000B ;Maska do zmiany stanu linii 5 i 7

LJMP START

ORG 100H

START:

CLR LED

LOOP: ;Pętla mrugania diody i sterowania brzęczyka

XRL P1,#LED_BUZ ; Negacja linii (0⇒1,1⇒0)

MOV A,#10 ;Czekaj czas 10*100ms=1s

LCALL DELAY_100MS ;Podprogram z EPROMu

XRL P1,#LED_BUZ

MOV A,#20

LCALL DELAY_100MS

LJMP LOOP ;Skok do początku pętli

Powyższy program powoduje świecenie diody na przemian z działaniem brzęczyka, gdzie czas działania diody jest dwukrotnie dłuższy od czasu brzęczyka, a zmiana stanów linii diody i brzęczyka jest dokonywana za pomocą maski LED_BUZ.

;************************************************

;LEKCJA 2 - PORTY MIKROKONTROLERA

;PRZYKťAD 4 - ZMIANA STANU LINII W PORCIE

;************************************************

ZM EQU 00100100B ; Maska do zmiany stanów linii 2 i 5

MASK EQU 11001111B ; Maska ustawiająca początkowy stan bitów portu

LJMP START

ORG 100H

START:

MOV P1,#MASK ;Ustawienie początkowego stanu portu P1

LCALL LCD_CLR ;Czyszczenie wyświetlacza LCD (podprogram z EPROMu)

MOV A,P1

LCALL WRITE_HEX ; Wyświetlenie zawartości akumulatora

XRL P1,#ZM ;Zmiana stanów linii

MOV A,#' '

LCALL WRITE_DATA ;Wyświetlenie znaku w postaci spacji

MOV A,P1

LCALL WRITE_HEX

LJMP $ ;Pozostanie w pętli

Powyższy program powoduje ustalenie początkowego stanu portu P1, a następnie zostaje zmieniony stan linii 2 i 5 tego portu oraz wyświetlenie zawartości akumulatora przed i po wykonaniu ciągu operacji.



Wyszukiwarka

Podobne podstrony:
Mikro1 wyk 4
mikro1(1)
Mikro1 wyk 11
mikro1 nasilowski(1)
mikro11 id 300841 Nieznany
Mikro1 wyk 8
mikro1, Studia, Mikroekonomia
mikro10
21 wykładów, MIKRO18
mikro1
mikro1 3AQ4IOTATRZL57DROHUCLP7ELX2KNJQHAMULWLY
21 wykładów, MIKRO14, Wyk˙ad 14.
mikro1, Ogrodnictwo UP Lbn, mikrobiologia
mikro1 AS5YWTABHNXHFIQCNVK4PI6EXMZWFRSCGS3MENQ
mikro1
Mikro1 wyk 5 id 300837
(3047) 07 teoria producenta cd, SGH, ekonomia, mikro1

więcej podobnych podstron