laboratorijska vježba iz upravljanja i regulacije broj 1

MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE
Vježba 4:
Ispis na 7- segmentni LED displej
Cilj vježbe: Savladavanje osnovnih programskih zadataka pomoću mikro upravljača
Izgled i oznake segmenata 7-segmentnog displeja
Shema spoja 7-segmentnog displeja
Priključak na razvojnoj ploči:
-1-
MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE
7-segmentni LED displej služi za ispisivanje brojeva koji se moraju očitati iz veće udaljenosti. Na
displeju se mogu ispisati i neka slova, na primjer A,E,P,U,L i druga koja nemaju kose crte na
primjer N,M,KW,V koja se ne mogu ispisivati.
Za konstantno ispisivanje jednoznamenkastih brojeva na jednom 7-segmentnom displeju potreban
nam je jedan port mikroupravljača, a anodu displeja spojimo na +5V. Katode pojedinog segmenta
preko otpornika povežemo sa odabranim portom mikroupravljača (μC). Svaki broj ima svoje
binarno stanje na izlazu μC.
Određivanje stanja izlaz μC za pojedine brojeve i neka slova:
Segment A u binarnom ispisu je LSB (bit najmanjeg doprinosa) ,a DP ja MSB bit najvećeg
doprinosa .
Aktivan segment „0“
Broj
0
1
2
3
4
5
6
7
8
9
A
C
E
F
H
J
L
P
S
U
A
0
1
0
0
B
0
1
0
0
C
0
1
1
0
D
0
1
0
0
E
0
0
0
1
F
0
0
1
1
Binarni podatak na
portu
G
1
1
0
0
-2-
DP
1
1
1
1
1
1
1
1
1
1
11000000
11001111
PORTB.0=A
PORTB.1=B
PORTB.2=C
PORTB.3=D
PORTB.4=E
PORTB.5=F
PORTB.6=G
PORTB.7=DP
MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE
Zadatak 1 – izradite program za ispis brojeva od 0 do 9 na 7-segmentnom displeju tako da se u
beskonačnoj petlji naizmjenično ispisuju brojevi, a svaki broj je ispisan 50ms. U Bascom Help
potražite objašnjenje naredbe „Lookup „ i primijenite ju u izradi programa. Priključak S1 na
razvojnoj ploči priključite na GND mikroupravljača.
Bascom AVR kod:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 40
$framesize = 24
Zadatak 2 – izradite program kojim ćete ispisati PULA na 7-segmentnom displeju.
Ukoliko želimo ispisati četveroznamenkasti broj na displeju pomoću mikro upravljača potrebna su
nam četiri 7-segmentna displeja sa zajedničkom anodom, a katode se spajaju na port mikro
upravljača. Kada bismo katode pojedinog displeja spojili na portove tada bi iskoristili sve porove
mikroupravljača, a s druge strane mikroupravljač bi bio strujno preopterećen.
Zbog navedenog katode od sva četiri displeja spajaju se paralelno na isti port mikro upravljača, što
znači kada bi anode sva četiri displeja bile spojene na +5V, tada bi sva četiri displeja prikazivala isti
broj. To dovodi do potrebe multipleksiranja. Ukoliko želimo ispisati primjerice broj PULA na
displeju moramo to izvesti na sljedeći način:
Podatkovni port je port na koji su spojene katode displeja, postavimo u takvo stanje da se na
displeju ispisuje slovo P .
Priključak S1 na koji je spojen emiter tranzistora koji upravlja prvim displejem dovedemo u
stanje vođenja tako da ga spojimo na upravljački port na primjer PORTC.0 kojeg postavimo
u stanje „0“
Takvo stanje zadržimo 1ms
Nakon isteka vremena PORTC.0 dovedemo u stanje „1“ čime isključujemo prvi displej
Podatkovni port postavimo u stanje gdje ispisuje slovo U
Upravljački port drugog displeja na primjer PORTC.1 dovedemo u stanje „0“ stanje vođenja
tranzistora
Takvo stanje zadržimo 1ms
Nastavljamo dalje s ispisom do kraja
-3-
MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE
BascomAVR kod:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 40
$framesize = 24
-4-
MIKRO UPRAVLJAČI – LABORATORIJSKE VJEŽBE
Zadatak 3 – Izradite program koji će ispisivati brojeve od broja 0 do broja 9999 bunom brzinom na
displej
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 40
$framesize = 24
-5-