Sprawdzam działanie programu w asemblerze dla uP ATMEL 2051 do sterowania oświetleniem akwariowym
program w asemblerze
From: "MatriX" <matrix159_at_nospam_op.pl>
Subject: program w asemblerze
Date: Fri, 21 Nov 2003 19:46:08 +0100
możecie powiedzieć czy poprawnie napisałem program?
ma ustawiać bit na P0.0 na 12 godzin, P0.1 na 3 godziny i na 9 godzin
wszedzie jedynki. Program ma byćzrealizowany na uP ATMEL 2051. Jeśli podałem
za mało informacji to pytajcie bo naprawde pisze program pierwszy raz i
jestem laikiem z krwi i kości :)
"Elektroniczny Sterownik Oświetlenia Akwarium"
Org 0h
ljmp SEKUNDA
Org 01bh
inc r1
reti
Sekunda:
Podprogram:
setb ea
mov tmod,#0
setb et1
setb tr1
clr r1
Tu:
cjne r1,#113,TU
inc r2
cjne r2,#60,TU
inc r3
cjne r3,#60,TU
inc r4
ret
Zmiana1 Equ 00111111b
Zmiana2 Equ 11111111b
Port Equ 01111111b
Dzien:
mov p1,#port
cjne r4,#12,TU
clr r2
clr r3
clr r4
Call Podprogram
Noc:
cjne r4,#3,TU
XRL p1,#Zmiana1
clr r2
clr r3
clr r4
Call Podprogram
Nic:
cjne r4,#9,TU
mov p1,#Zmiana2
clr r1
clr r2
clr r3
clr r4
ljmp DZIEN
End
========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai
From: "swiniaczek" <swiniaczek_at_nospam_buziaczek.pl>
Subject: Re: program w asemblerze
Date: Fri, 21 Nov 2003 23:26:22 +0100
No jak na pierwszy raz to nieźle. Ale ogólnie jest źle.
1) Dopracować przerwania czasowe. Można wykorzystać licznik 16 bitowy do
uzyskiwania przerwań np. co 50msek i w procedurze obsługi przerwania
umieścić licznik sekund, min itd.
2) ljmp SEKUNDA ..............kończy się "ret" ?
3) i inne drobiazgi.
Użytkownik "MatriX" <matrix159_at_nospam_op.pl> napisał w wiadomości
news:bpln53$mnf$1_at_nospam_nemesis.news.tpi.pl...
możecie powiedzieć czy poprawnie napisałem program?
ma ustawiać bit na P0.0 na 12 godzin, P0.1 na 3 godziny i na 9 godzin
wszedzie jedynki. Program ma byćzrealizowany na uP ATMEL 2051. Jeśli
podałem
za mało informacji to pytajcie bo naprawde pisze program pierwszy raz i
jestem laikiem z krwi i kości :)
"Elektroniczny Sterownik Oświetlenia Akwarium"
Org 0h
ljmp SEKUNDA
Org 01bh
inc r1
reti
Sekunda:
Podprogram:
setb ea
mov tmod,#0
setb et1
setb tr1
clr r1
Tu:
cjne r1,#113,TU
inc r2
cjne r2,#60,TU
inc r3
cjne r3,#60,TU
inc r4
ret
Zmiana1 Equ 00111111b
Zmiana2 Equ 11111111b
Port Equ 01111111b
Dzien:
mov p1,#port
cjne r4,#12,TU
clr r2
clr r3
clr r4
Call Podprogram
Noc:
cjne r4,#3,TU
XRL p1,#Zmiana1
clr r2
clr r3
clr r4
Call Podprogram
Nic:
cjne r4,#9,TU
mov p1,#Zmiana2
clr r1
clr r2
clr r3
clr r4
ljmp DZIEN
End
========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.man.poznan.pl!newsfeed.media.kyoto-u.ac.jp!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.tpinternet.pl!atlantis.news.tp