Assembler - 5. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Assembler - 5. lekceAssembler - 5. lekce

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

Assembler - 5. lekce

Google       Google       30. 8. 2005       22 733×

• Vnější přerušení
• Neprobrané registry..

Reklama
Reklama
Vnější přerušení


Po vnějším ovlivnění určitého bitu portu procesor ihned skončí příkaz a přejde na adresu přerušení (03H a 13H) a po vykonání programu přerušení se příkazem RETI vrátí tam, kde zrovna skončil v hlavním programu, ovšem nejdřív je zapotřebí povolit přerušení, to se nastavuje v osmi bitovém registru IE, významy jednotlivých bitů jsou popsány v závěru lekce.

µprocesor, který my budeme používat má dvě vnější přerušení:
INT0 a INT1 a jsou vyvedené na portu P3 na druhém a třetím bitu.


Ukázka níže vytváří "maják" s osmi LED diodami které jsou připojené na port P2 a rychlost otáčení měníme změnou úrovně na portu P3.2 - zpomalení a P3.3 - zrychlení

Ukázka: ORG 0
RYCHLOST EQU 30H
JMP START
ORG 03H ;ADRESA PRERUSENI P3.2
MOV RYCHLOST,#15 ;PROGRAM PRERUSENI
RETI ;NAVRAT DO HLAVNÍHO PROGRAMU

ORG 13H ;ADRESA PRERUSENI P3.3
MOV RYCHLOST,#5 ;PROGRAM PRERUSENI
RETI ;NAVRAT DO HLAVNÍHO PROGRAMU

START: ;HLAVNI PROGRAM
MOV IE, #10000101 ;POVOLENI PRERUSENI
MOV TMOD,#1 ;NASTAVENI MODU CASOVACE
SETB TR0 ;POVOLENI CASOVACE
MOV RYCHLOST,#5 ;ZAKLADNI RYCHLOST

MOV A, #0FFH

ROTACE: MOV P0, A
RLC A
CALL CAS
JMP ROTACE


CAS: MOV R5, RYCHLOST ;CASOVAC
ZPET: JBC TF0, DAL
SJMP ZPET
DAL: DJNZ R5, ZPET
RET
END


Příklad si opět můžete vyzkoušet v simulátoru As51, abyste nemuseli tak dlouho čekat, dejte středník před CALL ZPOZDENI a už budete vidět, jak akumulátor rotuje. Pokud budete chtít simulovat vnější přerušení, pak jen zmáčknete F5 a najedete na port P3 a přepíšete ho na FB – interup 0, nebo F7 – interup 1, poté se vrátíte k trasování F10-kou, jednou odtrasujete a v programu vám to odskočí na adresu 03H nebo 13H, poté můžete zpět přepsat P3 na FF, aby to po skončení programu přerušení neskočilo zase na přerušení, záleží jak je nastavený TCON.


Neprobrané registry

Pokud chcete mít přehled v nastavení, nebo aktuálního stavu čehokoli v mikroprocesoru, pak čtěte pozorněji. V programu AS51 v hlavním nabídkovém menu v položce VIEW první a druhá položka nás nebude zajímat, protože to slouží k prohlížení externích pamětí, ale další položkou pod názvem REGISTER BANK se dá přepínat banky registru R0 – R7 využívá se to třeba, když v podprogramu využíváte registry, které už používáte někde jinde v programu.

Poslední dvě položky 1st a 2nd Remember obsahují stejné detailní zobrazení jednotlivých registrů v pravém dolním okénku s názvem ZOOM.


IE – Interrup enable
EA Je-li v 1, pak globálně povoluje přerušení
ES Povolení přerušení od sériové linky (23H)
ET1 Povolení přerušení přetečením časovače 1 (1BH)
EX1 Povolení přerušení externím zdrojem přerušení INT1 (13H)
ET0 Povolení přerušení přetečením časovače 0 (0BH)
EX0 Povolení přerušení externím zdrojem přerušení INT0 (03H)

IP - Interrup priority (které přerušení je důležitější)
PX0 Externí 0
PT0 Timer0
PX1 Externí 1
PT1 Timer1
PS Sériový port

PSW
CY Carry flag
AC Auxiliary carry
F0 Flag0 - pro volné použití
RS1 Register bank selector bit1
RS0 Register bank selector bit0
OV Overflow flag
-
P Parity flag. Každá instrukce jej nastaví dle počtu jedniček v A

SCON - Nastavení sériového rozhraní


Registry které nejsou bitově adresovatelné:
(je třeba je naplnit celé jedním bajtem v kuse)

PCON - Power control register
SMOD Po resetu v 0, při nastavení do 1, zvýší přenosovou rychlost sériového portu na dvojnásobek.
GF1 General purpose flag bit - libovolné použití.
GF0 General purpose flag bit - libovolné použití.
PD Power down bit. Nastavením přejde do power down módu, není u neCMOS 51 implementován.
IDL Idle mode bit. Nastavením přejde do power idle módu, není u neCMOS 51 implementován.

TCON - Program status word
TF1 Nahozením do 1 oznámí, že nám přetekl timer1.
TR1 Nahozením do 1 povolíme timer1, shozením do 0 ho zastavíme.
TF0 Nahozením do 1 oznámí, že nám přetekl timer0.
TR0 Nahozením do 1 povolíme timer0, shozením do 0 ho zastavíme.
IE1 External interrupt 1 edge flag. Nastaví se při shození pinu /INT1 do nuly.
IT1 Interrupt 1 type control bit. nastavení, jestli k externímu přerušení dojde
sestupnou hranou nebo nízkou úrovní na pinu /INT1.
IE0 External interrupt 0 edge flag. Nastaví se při shození pinu /INT0 do nuly.

TMOD -(nižší bity jsou od časovače 0)
GATE Je-li v 1, pak běží čítač/časovač jen je-li pin /INT1 ve vysoké úrovni (a je nastaven TR1=1 v TCON), je-li v 0, pak běží jen v závislosti na TR1.
C/T Přepínání mezi čítačem a časovačem. Je-li 0, pak pracuje jako časovač, je-li 1 pak jako čítač.
M1 Výběr módu 1.
M0 Výběr módu 0.


DU :
Vytvořte program, který rozbliká LED na portu P2 a nultém bitu. Rychlost bude 1 sekunda, ta se ovšem bude měnit pomocí vnějšího přerušení v rozsahu 0,5 až 1 sekunda po 0,1s. Tak že jedním přerušením se sníží rychlost o 0,1 a druhým se navýší. Bude zapotřebí zajistit aby rychlost byla pouze v tomto rozsahu. Rychlost bude zobrazována na P2.2-7, tedy pokud rychlost bude 0,7 pak bude v jedničce P2.2-4 a pokud bude rychlost 0,5 pak bude v jedničce pouze P2.2 .

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Assembleru, zajímá se o elektroniku a tunning PC.

Nové články

Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý