ASM8051 - Křižovatka
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOC.
Zadání úlohy: Ūkolem bylo sestavit program pro řízení křižovatky mikropočítačem 8051.
Program jsem navrhnul takto:
Doba jízdy j jednom směru = 20 sekund.
Doba změny při přechodu na nebo z oranžové barvy=2 sekundy.
Při oranžové svítí na všech přechodech pro chodce červená.
Oranžová je na semaforu až poté co je na semaforu v kolmém směru červená.
Při spuštění programu nejprve všude svítí červená a po dvou sekundách se teprve začne pouštení jednoho směru.Kterého, to samozřejmě záleží na úhlu pohledu.
Popis obrázku: D17,D22 - červena,semafor - vodorovný směr.
D18,D21 - oranžová,semafor - vodorovný směr.
D19,D20 - zelena,semafor - vodorovný směr.
D23,D28 - červená,semafor - kolmý směr.
D24,D27 - oranžová,semafor - kolmý směr.
D25,D26 - zelena,semafor - kolmý směr.
D8,D6,D2,D4 - červená,přechod pro chodce – kolmý směr.
D7,D5,D3,D1 - zelena,přechod pro chodce - kolmý směr.
D11,D9,D15,D13 - červená,přechod pro chodce -Ť vodorovný směr
D12,D10,D16,D14 - zelená,přechod pro chodce - vodorovný směr.
Shrnutí:
V tom programu není uvažováno :
Signál pro opuštění křižovatky.
Signál pro odbočení pouze vpravo s povinností dát přednost.
Spuštění v závislosti na okolních křižovatkách.
Šlo by zrealizovat:
Signál je-li zelena na přechodu pro chodce pro odbočující auta-stejný výstup jako zelena na semafor pro chodce.
Zvukový signál pro neslyšící na přechodu pro chodce - výstupy červená a zelená na semaforu pro chodce.
Program na řízení křižovatky:
D25 bit P1.0
D24 bit P1.1
D23 bit P1.2
D22 bit P1.3
D21 bit P1.4
D20 bit P1.5
D1357 bit P1.6
D2468 bit P1.7
D19 bit P3.0
D18 bit P3.1
D17 bit P3.2
D28 bit P3.3
D27 bit P3.4
D26 bit P3.5
D0642 bit P3.6
D9531 bit P3.7
clr D17
clr D22
clr D28
clr D23
clr D9531
clr D2468
setb D24
setb D25
setb D27
setb D26
setb D20
setb D21
setb D19
setb D18
setb D0642
setb D1357
acall Malo
sjmp Zapnuto
Start: clr D19
clr D20
clr D23
clr D28
clr D0642
clr D2468
setb D18
setb D17
setb D22
setb D21
setb D24
setb D25
setb D26
setb D27
setb D9531
setb D1357
acall Dlouho
clr D18
clr D21
clr D9531
setb D19
setb D20
setb D0642
acall Malo
clr D17
clr D22
setb D18
setb D21
acall Malo
Zapnuto:clr D24
clr D27
setb D23
setb D28
acall Malo
clr D25
clr D26
clr D1357
setb D24
setb D27
setb D2468
acall Dlouho
clr D24
clr D27
clr D2468
setb D25
setb D26
setb D1357
acall Malo
clr D23
clr D28
setb D24
setb D27
acall Malo
clr D18
clr D21
setb D17
setb D22
acall Malo
sjmp Start
Dlouho: mov R5,#98h
Prvni1: mov R6,#0FFh
Druhy1: mov R7,#0FFh
djnz R7,$
djnz R6,Druhy1
djnz R5,Prvni1
ret
Malo: mov R2,#0Fh
Prvni2: mov R3,#0FFh
Druhy2: mov R4,#0FFh
djnz R4,$
djnz R3,Druhy2
djnz R2,Prvni2
ret
end