Statement:Write a program for displaying BCD up counter. Counter should count numbers from 00 to 99H and it should increment after every 1 sec. Assume operating frequency of 8085 equal to 3MHz. Display routine is available.

Home
8085 Forum
8085 Free Projects
8085 Free Programs
8085 Tutorials
8085 details
Interfacing Techniques
Electronic Tutorials
Electronic Projects
Assembler/ IDE
Datasheets
Guest Book
About Me
Source Program:
       
       LXI SP, 27FFH        : Initialize stack pointer
       MVI C, OOH                : Initialize counter
BACK: CALL Display         : Call display subroutine
       CALL Delay                : Call delay subroutine
       MOV A, C
       ADI A, 0 1                : Increment counter
       DAA                        : Adjust it for decimal
       MOV C,A                : Store count
       CPI ,00                : Check count is > 99
       JNZ BACK                : If not, repeat
       HLT                        : Stop

Delay Subroutine:

Delay:MVI B, Multiplier-count        : Initialize multiplier count
BACK 1:LXI D, Initialize Count
BACK:    DCX  D                        : Decrement count
           MOV A, E
       ORA D                        : Logically OR D and E
       JNZ BACK                        : If result is not a, repeat
       DCR B                                : Decrement multiplier count
       JNZ BACK 1                        : If not zero, repeat
       RET                                : Return to main program.


FLOWCHART




Flowchart for Source Program:
Flowchart for Delay routine:
Operating Frequency : 3MHz