8085 program for pulse waveform

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 vica 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 accumutor is used again in the program.
  4. Mask all bits but 0th bit.
  5. Output A at port 1.


My Personal Notes arrow_drop_up

Sophomore at Netaji Subhas Institute of Technology

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.