Design a Digital Clock Using 8085 Microprocessor

Program to simulate a real-time clock in 8085 Microprocessor


Here we will see one interesting problem. We will see how to simulate one real-time clock using 8085 microprocessor.

Problem Statement

Write an 8085 Assembly language program to simulate real-time clock.

Discussion

In this program we are creating a real time clock using 8085MPU. Here we are generating 1s delay to update seconds. This clock is 24Hrs clock. We are initializing the clock from 00:00:00. To display the values into 7-segment display we have to use some Port ICs and correct configurations. In each 60 seconds the minute field is updated, and in each 60 minutes the hour field is updated. For decimal update, DAA instruction is used in each increment.

We are storing the hour field into 8008H and minute field is stored at 8007H. The second value is stored at location 8009H.

Note: Here for simplicity we are storing the numbers into memory. To show the numbers, we can use 7 – segment display and other display function for showing it into the display.

Input

Here we are not providing any input.

Flow Diagram

Program

Address
HEX Codes
Labels
Mnemonics
Comments
F000
21, 00, 00
BEG
LXI H,0000H
Clear HL with 0000H
F003
22, 07, 80
HR_MIN
SHLD 8007H
Store HL content at 8007H and 8006H
F006
AF

XRA A
Clear A register
F007
32, 09, 80
N_SEC
STA 8009H
Store acc content at 8009H
F00A
CD, 34, F0

CALL DELAY
Delay for 1 second
F00D
3A, 09, 80

LDA 8009H
Load the second value
F010
C6, 01

ADI 01H
Add 01 with Acc
F012
27

DAA
Adjust decimal
F013
FE, 60

CPI 60H
Compare with 60H
F015
C2, 07, F0

JNZ N_SEC
If Z = 0, jump to N_SEC
F018
2A, 07, 80

LHLD 8007H
Load HL from 8007H
F01B
7D

MOV A,L
Load L to A
F01C
C6, 01

ADI 01H
Add 01 with A
F01E
27

DAA
Decimal adjust
F01F
6F

MOV L,A
Load L from A
F020
FE, 60

CPI 60H
Compare A with 60H
F022
C2, 03, F0

JNZ HR_MIN
If Z = 0, jump to HR_MIN
F025
2E, 00

MVI L,00H
Clear L register
F027
7C

MOV A,H
Load H to A
F028
C6, 01

ADI 01H
Add 01 with A
F02A
27

DAA
Decimal adjust
F02B
67

MOV H,A
Send back A to H
F02C
FE, 24

CPI 24H
Compare Hour with 24
F02E
C2, 03, F0

JNZ HR_MIN
Jump to HR_MIN if Z = 0
F031
C3, 00

JMP BEG
Jump to Begin
F034
0E, 02
DELAY
MVI C,02H
Initialize Count to 02H
F036
11, FF, FF
L1
LXI D,FFFFH
Load DE with FFFFH
F039
1B
L2
DCX D
Decrease DE
F03A
7A

MOV A,D
Take D to A
F03B
B3

ORA E
OR A and E
F03C
C2, 16, F0

JNZ L2
If Z = 0, jump to L2
F03F
0D

DCR C
Decrease C by 1
F040
C2, 13, F0

JNZ L1
Jump to L1, if Z = 0
F043
C9

RET
Return from subroutine

Output

                The numbers are storing into memory location 8008H – 8007H and 8009H.

raja

Published on 04-Oct-2019 12:49:24

  • Related Questions & Answers
  • 8085 Program to simulate a real-time clock
  • Program to simulate decimal down counter in 8085 Microprocessor
  • Real Time Clock (RTC) with Arduino
  • Simulate decimal up counter in 8085 Microprocessor
  • 8085 Program to simulate decimal up counter
  • 8085 Program to simulate decimal down counter
  • Program to compute LCM in 8085 Microprocessor
  • Program counter (PC) in 8085 Microprocessor
  • Program for simulating a stopwatch in 8085 Microprocessor
  • Earliest data output time considering TACC in 8085 Microprocessor
  • Earliest data output time considering TCE in 8085 Microprocessor
  • Earliest data output time considering TOE in 8085 Microprocessor
  • C program to print digital clock with current time
  • Program to perform linear search in 8085 Microprocessor
  • Program to check for palindrome in 8085 Microprocessor

Design a Digital Clock Using 8085 Microprocessor

Source: https://www.tutorialspoint.com/program-to-simulate-a-real-time-clock-in-8085-microprocessor

0 Response to "Design a Digital Clock Using 8085 Microprocessor"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel