Open In App

8085 program for pulse waveform

Improve
Improve
Like Article
Like
Save
Share
Report

Problem – Write a program to generate continuous square wave. Use D0 bit to output the square wave. The required waveform is:
Square Waveform

Explanation –
The alternate pattern of 0/1 bits can be provided by loading the accumulator with AAH(10101010) and rotating the pattern once through each loop. Bit D0 of the output port is used to proved logic 0 and 1. Therefore, all other bits can be masked by ANDing the accumulator with 01H.

Example –

Accumulator   : 1 0 1 0 1 0 1 0
And with 01H  : 0 0 0 0 0 0 0 1
Output        : 0 0 0 0 0 0 0 0
So output => 0

After RLC :

Accumulator   : 0 1 0 1 0 1 0 1 
And with 01H  : 0 0 0 0 0 0 0 1
Output        : 0 0 0 0 0 0 0 1
So output => 1

Program –

Address Label Mnemonics Comments
2000H MVI D, AAH Load bit pattern AAH
2002H ROTATE MOV A, D Load bit pattern in A
2003H RLC Change data to AAH to 55H and vice versa
2004H MOV D, A Save A
2005H ANI 01H Mask bits D7 to D1
2007H OUTPORT 1 Output the D0 bit
2009H JMP ROTATE Jump to ROTATE to change logic level

Program Description –

  1. Register D is loaded with AAH(10101010).
  2. Bit pattern is moved to accumulator.
  3. Bit pattern is rotated left and saved again in register D. This save is necessary as accumulator is used again in the program.
  4. Mask all bits but 0th bit.
  5. Output A at port 1.

Last Updated : 31 Jan, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads