ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM



Podobne dokumenty
4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

Start Bity Bit Stop 1 Bit Par Rys. 1

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie

TECHNIKA MIKROPROCESOROWA

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

Instytut Teleinformatyki

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Hardware mikrokontrolera X51

TECHNIKA MIKROPROCESOROWA

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Programowanie mikrokontrolerów AVR z rodziny ATmega.

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd)

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Instytut Teleinformatyki

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

Komunikacja w mikrokontrolerach Laboratorium

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Opis procedur asemblera AVR

Instytut Teleinformatyki

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Zastosowanie moduł Wi-Fi ESP-12 (1) Wirtualny interfejs szeregowy

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

SZYMAŃSKI ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) Tel./fax. (042) Kom

Schemat blokowy architektury AVR

Instytut Teleinformatyki

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Zerowanie mikroprocesora

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

1. Tworzenie nowego projektu.

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Instrukcja obsługi czytnika MM-R32

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

Kod produktu: MP01611

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Podstawy programowania w języku C i C++

Łukasz Wieczorek Paweł Zaleski Grupa I3 [REFLEKSOMETR] Systemy wbudowane projekt laboratoryjny.

Programator układów HCS

Programowanie w językach asemblera i C

Instytut Teleinformatyki

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

Opis mikrokontrolera AT89C2051

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Ćwiczenia podstawowe, zestaw 5, część 1

Programowanie w językach

asix4 Podręcznik użytkownika MicroSmart - drajwer do wymiany danych ze sterownikami MicroSmart firmy IDEC

Instytut Teleinformatyki

Kod produktu: MP01105

Klawiatura matrycowa

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Instrukcja obsługi symulatora linii produkcyjnej Komunikacja Modbus RTU (sterowniki PSW, Beckhoff)

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Wprowadzenie do środowiska Visual Studio cz. 2 (ćwiczenie wykonywane zdalnie) Wykorzystanie Wirtualnego portu COM

Kod produktu: MP01611-ZK

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Technika mikroprocesorowa I Wykład 4

Wstęp Architektura... 13

DODATEK A OPIS INTERFEJSU SIECIOWEGO FMP300

Opis czytnika TRD-55 CLASSIC ver Moduł czytnika transponderów UNIQUE z zewnętrzną anteną

2. Architektura mikrokontrolerów PIC16F8x... 13

GRM-10 - APLIKACJA PC

Kod produktu: MP01105T

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Instrukcja do ćwiczeń

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Programowanie mikrokontrolerów AVR

architektura komputerów w 1 1

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Techniki mikroprocesorowe i systemy wbudowane

ze względu na jego zaokrąglony kształt musimy go umieścić w innych bloczkach np. ze zmienną: lub jeśli chcemy sprawdzić jaki właśnie znak odczytujemy:

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 03

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Wstęp. do języka C na procesor (kompilator RC51)

Transkrypt:

ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów w przesyłanych danych i źródłem sygnałów taktujących odbiornik i nadajnik. Tryby pracy portu szeregowego oraz inne aspekty jego pracy są wybierane przez odpowiednie ustawienie znaczników w rejestrze SCON mieszczącego się pod adresem 98H w przestrzeni SFR. Znaczniki tego rejestru mogą być ustawiane pojedynczo a ich znaczenie jest następujące: SCON adres 98H SM0 SM1 SM2 REN TB8 RB8 TI RI SM0, SM1 wybór pracy trybu Stan logiczny Tryb Rodzaj transmisji Częstotliwość taktująca 0 0 0 Rejestr przesuwny 8 bitów fosc/12 0 1 1 UART (8 bitów) zmienna 1 0 2 UART (9 bitów) fosc/64 lub fosc/32 1 1 3 UART (9 bitów) zmienna SM2 Tryb 0 - SM2 = 0 Tryb 1 - przy SM2 = 1, znacznik przerwania RI nie jest uaktywniany przy braku bajtu stopu w odbieranym słowie. Tryb 2 i 3 - przy SM2 = 1 znacznik przerwania RI nie jest uaktywniany jeżeli 9- ty bit odbieranego słowa jest równy 0. W tych trybach bit ten jest wykorzystywany przy komunikacji wieloprocesorowej. REN znacznik uaktywnienia odbiornika. Obiór dozwolony gdy REN = 1, zablokowany gdy REN = 0. TB8 znacznik używany w transmisji dziewięciobitowej. RB8 znacznik używany w transmisji dziewięciobitowej. TI Znacznik końca transmisji, ustawiany sprzętowo może być zerowany tylko programowo. RI Znacznik końca odbierania, ustawiany sprzętowo, kasowany programowo Do taktowania portu szeregowego należy zastosować licznik T1, prędkość transmisji 9600 bod: //ustawienie portu RS jako nadajnik TL1=0x00; // TH1=0xFD; //ustawienie wartości autodoładowania (dla prędkości 9600 bod) TMOD =0X20; //ustawienie trybu pracy licznika T1 na tryb 2 // włączanie licznika

Jeżeli port szeregowy ma pracować jako nadajnik to rejestr SCON=0x40 Jeżeli port szeregowy ma pracować jako odbiornik to rejestr SCON = 0x50 Wysyłanie portem szeregowym prędkość transmisji 9600 bod, taktowanie licznikiem T1 TMOD = 0x20; void putc_rs(char znak) Odbieranie danej z portu szeregowego: SCON=0x50; TMOD = 0x20; void getc_rs(void) if ( RI = = 1) a=sbuf; RI = 0; return a; else return 0;

1. Otwieramy projekt o nazwie BLINKY z katalogu c:\keil\c51\examples\test\ BLINKY.Uv2 2. Ćwiczenia dotyczące działania portu szeregowego. Zadanie 1. Napisz program który wysyła portem szeregowym stałą 0x41 z prędkością 9600 bod. Kod ASCII A = 0x41. W zadaniu utwórz funkcję inicjującą port szeregowy o raz wysyłającą znak. #include <reg515.h> #include <absacc.h> void delay (void) unsigned int i=100; while(i--); void init_rs (void) //inicjowanie portu szeregowego TMOD =0x20; void putc_rs(char znak) void main (void) init_rs(); while (1) putc_rs(0x41); delay();

Zadanie 2. Napisz modyfikację do programu z zadania 1 aby wysyłać portem szeregowym wyraz DOM, po wyrazie DOM należy umieścić znak pusty. DOM DOM DOM Zadanie 3. Przeanalizuj funkcję wysyłania portem szeregowym ciągu znaków a następnie użyj ją w programie do wysyłania Pracownia mikroprocesorowa. Sprawdź co się zmienia po dołożeniu na końcu tekstu \n void puts_rs (char *s) while(*s) putc_rs(*s); s++; Wywołanie funkcji w programie głównym:... puts_rs("pracownia mikroprocesorów.");... do drugiej części zadania puts_rs("pracownia mikroprocesorów.\n"); Zadanie 4. Napisz program który wysyła na naciśnięty klawisz P5^0 literę A, portem szeregowym z prędkością 9600 bod. #include <reg515.h> #include <absacc.h> sbit P5_0=P5^0; void delay (void) unsigned int i=100; while(i--); void init_rs (void) TMOD =0x20;

void putc_rs(char znak) void main (void) unsigned char kl,kl_p=1; init_rs(); while (1) kl=p5_0; if(kl= =0 && kl_p= =1) putc_rs('a'); putc_rs( \n ); kl_p=kl; Zadanie 5. Napisz modyfikację do programu z zadania 4 aby na naciśnięty klawisz P5^0 wysyłany był znak A, natomiast na naciśnięty klawisz P5^1 znak B. Przykładowe wysłanie znaku B na naciśnięty klawisz: sbit P5_1=P5^1; kl2=p5_1; if(kl2==0&& kl2_p==1) putc_rs('b'); kl2_p=kl2;

... Zadanie 6. Napisz program który wysyła znak \n na naciśnięty klawisz P5^7. Zaobserwuj w symulatorze co powoduje wysłanie znaku \n. Zadanie 7. Napisz program który na wciśnięty klawisz P5^0 wysyła portem szeregowym napis ALARM 1, natomiast na naciśnięty klawisz P5^1 napisz ALARM 2. Program powinien działać w ten sposób aby każde wyświetlenie napisu zaczynało się od początku linii. Zadanie 8. Utwórz bibliotekę system.h do obsługi portu szeregowego. #include<reg515.h> void init_rs (void) //inicjowanie portu szeregowego TMOD =0x20; void putc_rs(char znak) //wysłanie znaku portem szeregowym void puts_rs (char *s)//wysłanie łańcucha portem szeregowym while(*s) putc_rs(*s); s++; void getc_rs(void) // odbieranie znaku portem szeregowym if ( RI = = 1) a=sbuf; RI = 0; return a; else return 0;