You are on page 1of 4

 

MicroController & Application    Roll No:102 

OPEN ENDED ASSIGNMENT 


Name: Ved Vadake 
 

Problem 
Write a program for 8051 microcontroller to transfer 8 bit value serially (one bit at a time) 
via Port 1 pin 2. Put one high at the start and end of the data. Send the LSB first.Calculate 
the total time required to execute the code, assuming the crystal frequency is 11.0592MHz 

My CODE validation 

 
 
 

My Simulation Snapshot 

TABLE OF TIME REQUIRED: 


COMMANDS CYCLES TIME (per cycle)(µs) TOTAL TIME (µs)
MOV R7, #0AH 1 1.085 1.085
MOV A, #85H 1 1.085 1.085
CJNE R7 3 2.17 6.51
CLR C 2 1.085 2.17
SETB C 2 1.085 2.17
MOV P1.2, C 11 2.17 23.87
DJNZ R7, 10 2.17 21.7
RRC A 9 1.085 9.765
68.355 ​µs

 

 
 

My code: 
ORG 0H
MOV R7, #0AH ;ASSIGN 0A TO R7
MOV A, #85H ;ASSIGN 85H TO A

CONDITION1:
CJNE R7,#0AH,SERIAL ;IF NOT STATEMENT FOR ZEROTH BIT TO TRANSMIT 1
CLR C ;CLEAR C
SETB C ;ACTIVATE C
MOV P1.2, C ;PASS C TO P1.2
DJNZ R7, CONDITION1 ;REDUCE R7 VALUE GO TO CONDITION 1 AGAIN

SERIAL:
MOV P1.2, C ;PASS C TO P1.2
RRC A ;ROTATE A CLOCKWISE
DJNZ R7, SERIAL ;LOOP IT

CONDITION2:
CJNE R7,#00H,SERIAL ;IF NOT STATEMENT FOR EIGHTH BIT TO TRANSMIT 1
CLR C ;CLEAR C
SETB C ;ACTIVATE C
MOV P1.2, C ;PASS C TO P1.2
END 

Results: 

1. Code is successfully compiled. 

2. Code is successfully simulated (​ shown in video downside). 

3. Code takes 68.35 µs time to perform operation. 

 

 
 
 

My Video Link: 
https://drive.google.com/file/d/1aOGgn_WYhR0LzbYjUNfqCOeGV9TxT9kc/view?usp=sharing 

OR  

 

You might also like