Jump to content

How to make pc based digital clock via parallel port?

- - - - -

  • Please log in to reply
No replies to this topic

#1
maonin

maonin

    Newbie

  • Members
  • Pip
  • 1 posts
hi, we have this project and we already have a code and the circuit but it is not working..
it's supposed to display the hours and minutes
the problems are:
1. the hour display is not displaying anything
2. the minute displays but it is advanced by one minute
please help us.


so here's the code:
TITLE CLOCK.ASM

DOSSEG

.MODEL SMALL

.STACK 0100H

.DATA

    PRINTERPORTBASEADDRESS equ 378h


.CODE

MAIN        PROC

    MOV AX, @DATA

    MOV DS, AX

    CALL RTIME    ; READ TIME

    CALL DisplayTime     ;DISPLAY TIME    

    

    MOV AX, 4C00H

    INT 21H

MAIN         ENDP

RTIME         PROC

    MOV AH, 02H

    INT 1AH

    RET

    ; CH - HOUR

    ; CL - MINUTES

    ; DH - SECONDS

RTIME        ENDP

DisplayTime PROC

    push     DX    ; was DH

    push     CX    ; was CL

;

    mov      AL,CH

    mov      DX,PRINTERPORTBASEADDRESS

    out        DX,AL

    mov      AL,01h

    mov      DX,PRINTERPORTBASEADDRESS+2

    out        DX,AL    ; enable display

    call       Delay

;

    mov      AL,00h

    mov      DX,PRINTERPORTBASEADDRESS+2

    out        DX,AL

    pop       AX    ; pop CL (minutes)

    mov      DX,PRINTERPORTBASEADDRESS

    out        DX,AL

    mov      AL,02h

    mov      DX,PRINTERPORTBASEADDRESS+2

    out        DX,AL    ; enable display

    call       Delay

;

    mov      AL,00h

    mov      DX,PRINTERPORTBASEADDRESS+2

    out        DX,AL

    pop       AX    ; pop DH (seconds)

    mov    AL,AH

    mov      DX,PRINTERPORTBASEADDRESS

    out        DX,AL

    mov      AL,08h

    mov      DX,PRINTERPORTBASEADDRESS+2

    out        DX,AL    ; enable display

    call       Delay

;

    mov      DX,PRINTERPORTBASEADDRESS+2

    mov      AL,00h

    out        DX,AL

    ret

DisplayTime ENDP

Delay Proc

        MOV CX, 00100h

    X:  PUSH CX

        MOV CX, 0FFFFh

    Y:  LOOP Y

        POP CX

        LOOP X

        RET

Delay ENDP

END

and the circuit:
View image: pp




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users