Az LCD kijelző programozása

Slides:



Advertisements
Hasonló előadás
Analóg-digitális átalakítás
Advertisements

A számítógép felépítése
Soros kommunikáció. •Üzenet–>Kódolás (bináris kód) •A bitek átküldése a vezetéken időben egymás után (soros) •Dekódolás–>Üzenet GND
1 Products for Growth - Hannover 03 PLC-s rendszerünk evolúciója.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Small Liga Mozgás vezérlő rendszere
2009 Bevezetés a programozásba Krankovits Melinda.
A mikrovezérlők Áttekintő előadás.
ATMEL AVR mikrokontroller család hardver-felépítése
PIC mikrovezérlők.
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Mikrovezérlők, perifériák laboratóriumi gyakorlat Mingesz Róbert 8. óra Október 30. v
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák mutatókra
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
LabView használata PTE PMMK MIT Nagyváradi Anett
Mikroszámítógépek I 8085 processzor.
Mikrokontrollerek - MCU -. Mikor kontroller, amikor professzor? Az Aranyköpések c. gyűjteményből…
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
TÉTELEK Info_tech_2012. Simon Béláné. 1. TÉTEL 1.a. A digitális számítógép és a logikai áramkör kapcsolata (6.4.1.) 1.b. Az ÉS logikai áramkörnek adja.
Sínrendszer.
A mikrovezérlők világa
Egy harmadik generációs gép (az IBM 360) felépítése
1 Operációs rendszerek Az NT folyamatok kezelése.
Miben hasonlítanak egymásra a mai és az ötvenes évek számítógépei? Takács Béla Melyek a közös tulajdonságaik ?
MI A MEMÓRIA? A memória tulajdonképpen egy logikai áramkör, ami adatok megőrzésére alkalmas. Az adat számunkra most azt jelenti, hogy van-e jel vagy nincs.
Számítógép architektúra
A mikroszámítógép felépítése 2. rész. A memória chipen belüli rekeszek címzéséhez szükséges címbitek száma a chip méretétől függ. Az ábrán látható memóriarekesz.
Hasznos ismeretek Hogyan bővítsük ismereteinket AVRDUDEflags -E noreset.
Atmega128 mikrokontroller programozása
Mikrokontroller (MCU, mikroC)
Neumann János és elvei.
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
Pozicionálás 1. Kurzor elhelyezése a képernyőn 2. Színkezelés.
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
Készítette: Csíki Gyula
Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem.
A képernyő kezelése: kiíratások
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Monitor. AszámítógépAszámítógép legfontosabb kiviteli egysége (perifériája) a televíziókhoz hasonló számítógép-képernyő vagy monitor. A monitort egy.
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Önálló laboratórium I. Mesterséges tapintás érzékelő Konzulens: Kis Attila Dr. Szolgay Péter.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Feladatok. Óra A mikrokontrollerből egy órát kell kialakítani. Az óra rendelkezhet speciális funkciókkal: –Másodpercek kijelzése számokkal –Riasztás ledek.
Beépített analóg I/O terület 4-3. Beépített analóg I/O terület Beépített analóg bemeneti bitek: CIO 200 … CIO 203 ( 4 szó ) Beépített analóg kimeneti.
Serial PLC Link terület 4-6. Serial PLC Link terület A Serial PLC Link terület 90 szót tartalmaz a CIO 3100 –tól CIO 3189 –ig terjedő területen. ( CIO.
C Programozási alapok.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Írja fel a tizes számrendszerbeli
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat BCD kijelzés és számlálók Mingesz Róbert V március
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Mikrovezérlők alkalmazástechnikája levelező laboratóriumi gyakorlat
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 6.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
BS_2 mikroszámítógép Felépítése Egyszerű áramkör Villogó LED Közlekedési lámpa LED kigyújtása alacsony /magas szinttel For…NEXT Változók deklarálása DEBUG.
Készítette: Rummel Szabolcs Elérhet ő ség: Linux kezelése.
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Hétszegmenses kijelző használata Makan Gergely, Markella Máté, Mellár János, Mingesz Róbert.
06. GYAKORLAT LCD kijelző.
A programozható mikrokontroller
Változók.
Grosz Imre f. doc. Sorrendi áramkörök
Az információ.
Teljes visszalépéses elemzés
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
Előadás másolata:

Az LCD kijelző programozása

Az ismeretszerzés menete

2X16 karakter Lábkiosztás: Interface Pin Function

Mikroprocesszor

A data lábakon ami megjelenik az adat? Vagy utasítás? Adat jön: RS High, azaz logikai 1 Utasítás jön: RS Low, azaz logikai 0 Hogyan jeleníti meg a karaktereket: 2X16 bd karakter: ennyi memóriacím a DisplayDataRAM-ban. Képernyő memória. AC regiszter: A DDRAM egy címére mutat. Pld: bal felső karakter kezdőcíme: 00 Baloldali szomszéd: 01 (látszik, hogy egy karakter 8 bitből van felépítve.) Alsó sor kezdete balról: 40, jobb alsó sarok 4F Hogyan lesz a 8 bites kódból karakter? CGROM – beépített karakterek CGRAM - átprogramozható

Ha adat érkezik (RS bit H vagy L) és R/W akkor az adat a DDRAM megfelelő helyére (ahol a kurzor éppen áll) kerül és az adatnak megfelelő karakter megjelenik. Ha utasítás érkezik akkor valami történik a kurzorral, a képernyővel stb.

A próbapanel kapcsolási rajzán megnézzük, hol az LCD A föld és a logikai áramköröknek az 5V be van kötve, elvileg. Az A i/O porthoz van kötve az LCD. R/W földelve van. Csak írhatunk az LCD-re. PA0 és PA1 a vezérlő bitek, PA2,3,4,5 a 4 bites adatátvitelre használható. Egy karaktert (8 bit) két részletben kell küldeni. PA 6,7 nem használt. Van egy poti ami a fényerőt szabályozza, (PT1) de lehet, hogy jumperelni kell.

/***************************************************************************/ /* */ /* LCD kijelzo kezelo fuggvenyei */ /* PA0 - az LCD kijelzo RS (Reset / Torlo) laba (4 lab) */ /* Fold - R/~W (Read / ~Write) csak irni tudunk az LCD kijelzobe(5 lab) */ /* PA1 - E (Enable / Engedelyezo) lab (6 lab) */ /* PA2-PA5 - az LCD kijelzo DB4-DB7 adatbemenetei */ #include <avr/io.h> #include <util/delay.h> #include "lcd.h" /* #define RS PA0 //Az LCD kijelzo RS jelenek az azonositoja #define EN PA1 //Az LCD kijelzo E jelenek az azonositoja #define TIME 5 //Alapkesleltetes az MCU (1 * 8) MHz-es orajelnel */

/*-----------------Az LCD kijelzo adatbeirasanak fuggvenye-----------------*/ void lcd4_dat(unsigned char p) //"p" az adat byte-ja { PORTA |= _BV(RS) | _BV(EN); //RS = EN = 1 jel PORTA &= 0xC3; //A 8 bites adat felso nibble-jenek kiadasa a DB4-DB7 adatsinre PORTA |= ((p & 0xF0) >> 2); _delay_ms(TIME / 2); //Az EN jel idotartartamanak megadasa PORTA &= ~_BV(EN); //EN = 0. Az LCD kijelzo-utasitas beirasanak frontja _delay_ms(5 * TIME / 2); //A kijelzo-utasitas vegrehajtasi idonek megadasa PORTA |= _BV(EN); //EN = 1 jel //A 8 bites adat also nibble-jenek kiadasa a DB4-DB7 adatsinre PORTA |= ((p & 0x0F) << 2); } //Az "lcd4_dat" fuggveny vege

/*----------------Az LCD kijelzo utasitasbeirasanak fuggvenye--------------*/ void lcd4_com(unsigned char p) //"p" az utasitas byte-ja { PORTA &= ~_BV(RS); //RS = 0 jel PORTA |= _BV(EN); //EN = 1 jel PORTA &= 0xC2; //A 8 bites LCD kijelzo-utasitas felso nibble-jenek kiadasa a //DB4-DB7 adatsinre PORTA |= ((p & 0xF0) >> 2); _delay_ms(TIME); //Az EN jel idotartartamanak megadasa PORTA &= ~_BV(EN); //EN = 0. Az LCD kijelzo-utasitas beirasanak frontja _delay_ms(5 * TIME); //A kijelzo-utasitas vegrehajtasi idonek megadasa //A 8 bites LCD kijelzo-utasitas also nibble-jenek kiadasa a PORTA |= ((p & 0x0F) << 2); } //Az "lcd4_com" fuggveny vege

/*---------------------------Az LCD kijelzo inicializalasa----------------*/ void lcd4_init(void) //4 bites uzemmod, villogo kurzor { lcd4_com(0x33); //Elokeszites _delay_ms(10 * TIME); lcd4_com(0x32); //4 bit, 2 sor lcd4_com(0x28); lcd4_com(0x08); //Az LCD kijelzo teljes kikapcsolasa lcd4_com(0x01); //Az LCD kijelzo torlese lcd4_com(0x06); //A kurzor eltolasa jobbra lcd4_com(0x0D); //Az LCD kijelzo bekapcsolasa, villogo kurzor } //Az "lcd4_init" fuggveny vege

Mintaprojekt Az lcd.c kerüljön a makefile SRC sorába! #include <avr/io.h> //Az I/O konyvtar #include <util/delay.h> //A kesleltetes-beallitas konyvtar #include <avr/sleep.h> #include "lcd.h"

int main(void) //A foprogram kezdete { DDRA = 0xFF; //A PORT A kimenet PORTA = 0xC0; //A PORT A (PA0-PA5) kimeneteit 0-ra allitjuk, a (PA6-PA7) - 1-re lcd4_init(); //Az LCD kijelzo inicializalasa (4 bit, 2 sor) //A szoveg kezdete lcd4_dat('H'); lcd4_dat('e'); lcd4_dat('l'); lcd4_dat('o'); lcd4_dat(','); lcd4_dat(' '); lcd4_dat('v'); lcd4_dat('i'); lcd4_dat('a'); lcd4_dat('g'); lcd4_dat('!'); //A szoveg vege lcd4_com(0xC0); //Beiras az LCD kijelzo masodik soraba sleep_cpu(); //A MPU "elaltatasa" return(0); //A "main" program sikeres befejezese }

Feladatok: Mozgassunk egy karaktert az LCD-n. Az lcd-n írjuk ki, ha a futófény balra vagy jobbra megy.