VIGYÁZAT! Jelen oldalt a tömörség miat szakszavakkal tömködtem tele, így megértése nem könnyű. Javaslom továbbá, hogy olvass utána a soros port működésének, mivel nem garantálom, hogy minden pontosan van itt leírva.
Elektromos eszközök között történő adatok közlésére lehet a portokat használni. Összesen 5 port található a processzor tüskéin: P0, P1, P2, P3, és a soros port.
A P0-P3-on lehet párhuzamos elrendezésben küldeni adatot. Ez annyit jelent, hogy az elküldött byte mind a 8 bitje egyszerre jelenik meg a porton. Hátránya, hogy ez sok vezetéket igényel.
P0 @ 80h
0@80h
1@81h
2@82h
3@83h
4@84h
5@85h
6@86h
7@87h
P1 @ 90h
0@90h
1@91h
2@92h
3@93h
4@94h
5@95h
6@96h
7@97h
P2 @ 0a0h
0@a0h
1@a1h
2@a2h
3@a3h
4@a4h
5@a5h
6@a6h
7@a7h
P3 @ 0b0h
0@b0h
1@b1h
2@b2h
3@b3h
4@b4h
5@b5h
6@b6h
7@b7h
A P0, P2 és P3 nem mindig használható, mivel a processzor tüskekiosztásán néhány fontos funkciót ellátó tüske egyebeesik ezen portok helyével. Ha külső memóriával akarunk kommunikálni (prog. vagy RAM), vagy megszakításokkal kapcsolatos műveleteket akarunk végezni (INT¤, T¤, soros), akkor csak a P1 áll rendelkezésünkre teljes egészében.
A soros porton ellenben üzenetet "lassan" lehet közölni; minden bit egymás után jön. Emiatt szükség van egy órajelre, ami metronómként üzemel, vagyis jelzi, hogy új bit lett közölve. Előnye, hogy nem igényel sok kábelt, viszont viszonylag sokat kell az adatra várni.
Az adat bájtonként küldhető el. Mindig a byte legkisebb helyiértékű bitjével kezdődik az adatátvitel.
A 99h címen lakó SBUF regiszter olvasásakor lehet megtekinteni a fogadott bájtot, amikor beleírunk, akkor meg a beírt bájtot tudjuk továbbítani. Az SCON@98h kezelésével állítható be a soros port működése.
SCON felboncolva bitekre:
- 7@9fh: működési üzemmód 0. bit
- 6@9eh: működési üzemmód 1. bit
- 5@9dh: 0-s bit viselkedése
- 4@9ch: fogadhatunk adatot?
- 3@9bh: 9. bit küldéskor
- 2@9ah: 9. bit fogadáskor
- 1@99h: adat teljesen elküldve?
- 0@98h: adat teljesen fogadva?
Adat csak akkor küldhető/fogadható, ha az SCON.1-es vagy SCON.0s bit ki van kapcsolva, a műveletnek megfelelően. Mindig a szoftvernek kell erről gondoskodni. Továbbá fogadás esetén az SCON.4-nek bekapcsolva kell lennie.
Az SCON.5-ös bit megmondja, hogy SCON.0 mikor kapcsolhat be:
- 01-es módban:
- 1: csak 1 lehet a megállító bit
- 0: bármilyen lehet a megállító bit (1 és 0)
- 10 és 11 módban:
- 1: csak 1es lehet a paritásbit
- 0: bármilyen lehet a paritásbit
- 00: 8 bites shift regiszter (fix sebesség)
- 01: 8 bites start+stop (állítható sebesség)
- 10: 9 bites s+s+paritás (fix sebesség)
- 11: 9 bites s+s+paritás (állítható sebesség)
A küldési órajel a kristály-órajel 12-ede.
01-s módban az SBUF-ban található adat 2 extra bittel társul: az elején egy 0, a végén pedig 1-es bittel. A TXD az jel küldésére, RXD pedig annak fogadására alkalmas. A küldés órajele az 1-es, vagy 2-es időzítő lejártához kötött; ezért állítható a sebesség.
A fogadás megkezdéséhez az RXD tüskén lévő feszültségnek 1-ről 0-ra kell váltani, mivel a 0-s jel jelenti a kommunikáció megkezdését.
10-s módban az adatküldés/-fogadás egy 0-s indító bittel, majd az SBUF tartalmával, egy paritásbittel, majd végül egy 1-es bittel zárásként történik. A paritásbittel van alkalmunk ellenőrizni a fogadott adat helyességét; egyébként ez akármi lehet, az SCON.3-as bit mutatja meg. A fogadás hasonlóképpen zajlik, csak a paritásbit az SCON.2-be kerül be.
Ebben a módban a küldési órajel a kristály-órajel 64-ede.
A 11-es mód megegyezik a 10-essel, kivéve abban, hogy ennek állítható a küldési sebessége.
Nincsenek megjegyzések:
Megjegyzés küldése
Mit gondolsz?