439


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:
439
439
439 , W poszukiwaniu zdrowej demokracji na podstawie Józefa Majki
ActaAgr 133 2006 7 2 439
439 Instalacja co
438 439
439 ac
439
439
439
439
439
439
03 Karta cwiczen Lekarskiid 439 Nieznany (2)
439
Oznakowanie opakowań substancji niebezpiecznych i preparatów niebezpiecznych 09 53 439
6 Zasada zachowania pedu id 439 Nieznany
03 Kalkulacja szczegolowaid 439 Nieznany (2)
6 Wymagania na kolokwium id 439 Nieznany (2)

więcej podobnych podstron