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:
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 –
- Register D is loaded with AAH(10101010).
- Bit pattern is moved to accumulator.
- Bit pattern is rotated left and saved again in register D. This save is necessary as accumulator is used again in the program.
- Mask all bits but 0th bit.
- Output A at port 1.
Last Updated :
31 Jan, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...