4


;licznik pracuje w trybie nr 1 czyli zlicza na 16 bitach

;licznik liczy 9216 taktow co spowoduje ze bedzie to trwalo 10ms

;nastepnie te 10 ms powtazam 100 razy co daje mi w efekcie 1s

;10000us *11,0592Mhz/12 = 9216 taktow do zliczenia

;do licznika laduje wiec 10000h-0DC00h = 9216d

EXTERN INIT_LCD

EXTERN DISPLAY

EXTERN KEYBOARD

TLO EQU 8AH

THO EQU 8CH

ORG 1000H

MOV R3,#100 ;DO PETLI CZASU

ORL 89H,#00000001 ;TMOD

MOV R1,#30H ;ADRES KODU KLAWISZA

MOV 8AH,#00 ;10MS ,TLO

MOV 8CH,#0DCH ;THO

LCALL INIT_LCD

MOV 31H,#30H ;************ zero godz

MOV 32H,#30H ;************ zero godz

MOV 33H,#3AH ;************ dwukropek

MOV 34H,#30H ;************ zero min

MOV 35H,#30H ;************ zero min

MOV 36H,#3AH ;************ dwukropek

MOV 37H,#30H ;************ zero sek

MOV 38H,#30H ;************ zero sek

CLR 7FH

CLR 8DH

SETB 8CH ;PUSZCZENIE

ACALL WYSW

POCZ: JNB 8DH,DAL

CLR 8DH

MOV A,8CH ;PRZEPELNIENIE LICZNIKA

ADD A,#0DCH

MOV 8CH,A

DJNZ R3,POCZ

MOV R3,#100

MOV A,#39H ;SEKUNDY W GORE

CJNE A,38H,SU1

MOV A,#35H

CJNE A,37H,SU2

MOV 38H,#30H

MOV 37H,#30H

SJMP M1UP

SU1: INC 38H

SJMP KON

SU2: INC 37H

MOV 38H,#30H

SJMP KON

M1UP: MOV A,#39H ;MINUTY W GORE

CJNE A,35H,M1U1

MOV A,#35H

CJNE A,34H,M1U2

MOV 35H,#30H

MOV 34H,#30H

LJMP GUP ;GODZINY W GORE

M1U1: INC 35H

SJMP KON

M1U2: INC 34H

MOV 35H,#30H

KON: ACALL WYSW

DAL: LCALL KEYBOARD ;SPRAWDZANIE KALWIATURY

JNB 7FH,POCZ

MOV R4,#0FFH

ST: MOV R2,#0FFH ;OPOZNIENIE(STYKI)

DJNZ R2,$

DJNZ R4,ST

CJNE @R1,#0,SK1

LJMP ZER

SK1: CJNE @R1,#1,SK2

LJMP MDO

SK2: CJNE @R1,#5,SK3

LJMP MUP

SK3: CJNE @R1,#2,SK4

LJMP GDO

SK4: CJNE @R1,#6,POCZ

LJMP GUP

ZER: MOV 37H,#30H ;PROCEDURA ZEROWANIA SEKUND

MOV 38H,#30H

ACALL WYSW

LJMP OPU

MDO: MOV A,#30H ;MINUTY W DOL

CJNE A,35H,MD1

CJNE A,34H,MD2

MOV 35H,#39H

MOV 34H,#35H

SJMP MDE

MD1: DEC 35H

SJMP MDE

MD2: DEC 34H

MOV 35H,#39H

MDE: ACALL WYSW

LJMP OPU

MUP: MOV A,#39H ;MINUTY W GORE

CJNE A,35H,MU1

MOV A,#35H

CJNE A,34H,MU2

MOV 35H,#30H

MOV 34H,#30H

SJMP MUE

MU1: INC 35H

SJMP MDE

MU2: INC 34H

MOV 35H,#30H

MUE: ACALL WYSW

LJMP OPU

GDO: MOV A,#30H ;GODZINY W DOL

CJNE A,32H,GD1

CJNE A,31H,GD2

MOV 32H,#33H

MOV 31H,#32H

SJMP MDE

GD1: DEC 32H

SJMP MDE

GD2: DEC 31H

MOV 32H,#39H

GDE: ACALL WYSW

LJMP OPU

GUP: MOV A,#32H ;GODZINY U GORE

CJNE A,31H,GU1

MOV A,#33H

CJNE A,32H,GU2

MOV 31H,#30H

MOV 32H,#30H

SJMP GUE

GU1: MOV A,#39H

CJNE A,32H,GU2

INC 31H

MOV 32H,#30H

SJMP GUE

GU2: INC 32H

GUE: ACALL WYSW

LJMP OPU

WYSW: LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

LCALL DISPLAY

RET

OPU: CLR 7FH

LCALL KEYBOARD

MOV R4,#0FFH

ST1: MOV R2,#0FFH ;OPOZNIENIE(STYKI)

DJNZ R2,$

DJNZ R4,ST1

JB 7FH,OPU

LJMP POCZ

END



Wyszukiwarka

Podobne podstrony:
4
4
4
4
4
4
Sprawozdanie 4?krement tłumieniar
Fizyka laboratorium 4?danie ciepła właściwego cieczy i ciał stałych
Akumulator do AVTO T`0`4 T`0`4
113 45
8524
Wykład 4 03 12
4
str4 5
Varia, s 4
str4 5
4
4
Wykład 4 03 2014
4

więcej podobnych podstron