You are on page 1of 6

TASK 3

TIMER AND COUNTER PROGRAMMING

NAME: ASHWIN RAJ


REGISTERATION NUMBER: 21BEC0400
LAB SLOT: L33+L34
NAME: ASHWIN RAJ
REGISTRATION NUMBER: 21BEC0400

DATE: 06/02/2023
QUESTION 1:
Write a assembly level program using timer 0 to generate a 500 hz square wave frequency on one of the pins of p1.0. Then examine the
frequency using the KEIL IDE inbuilt logic analyzer using mod 1
Calculation:
F=500 Hz,
T=1/F = 2msec
T1/2=1msec
1msec/1.0825usec = 921.65 msec =921
65536-921=(64615)10 =(FC67)16
TH0 =FC
TL0=67
PROGRAM:
ORG 0000H
MOV TMOD,#01H
HERE:MOV TL0,#66H
MOV TH0,#0FCH
CPL P1.0
ACALL DELAY
SJMP HERE
DELAY: SETB TR0
AGAIN:JNB TF0,AGAIN
CLR TR0
CLR TF0
RET
END
SIMULATION RESULT:

OBSERVATION:
Timer 0 mode 1 is 16 bit register timer. TMOD is loaded with 01H and TL0 with 66H and TH0 with 0FCH. Timer is started and runs till
Tf0 become 1

1
NAME: ASHWIN RAJ
REGISTRATION NUMBER: 21BEC0400

DATE: 06/02/2023
QUESTION 2:
Use timer in mode 1 and generate a square wave
CALCULATION:
F=2000 Hz,
T=1/F = 0.5msec
T1/2=0.25msec
0.25msec/1.0825usec = 230.94 msec =230 msec
255-230=(25)10 =(19)16
TH0 =FC
TL0=67

PROGRAM:
ORG 0000H
MOV TMOD,#20H
MOV TH1,#19H
HERE: CPL P2.0
ACALL DELAY
SJMP HERE
DELAY: SETB TR1
AGAIN: JNB TF1,AGAIN
CLR TR1
CLR TF1
RET
END
SIMULATION RESULT:

OBSERVATION:

Mode 2 timer is a 8 bit register timer. TMOD is loaded with 20H and TH1 with 19H.It is auto loaded timer TL1 is loaded with Th1 and
Timer runs till Tf1 become 1 after that value of TH1 is loaded again in TL1

2
NAME: ASHWIN RAJ
REGISTRATION NUMBER: 21BEC0400

DATE: 4/03/2023
QUESTION 3:
Develop an 8051 ALP program to generate square waves as shown below. examine the same using the KEIL IDE inbuilt
Logic Analyzer

CALCULATION:
T=10 msec
10msec/1.0825usec = 9237.87 msec =9237 msec
65536-9238=(56299)10 =(DBEB)16
TH0 =DB
TL0=EB

PROGRAM:

ORG 0000H
CLR P1.0
CLR P2.0
MOV TMOD,#01H
MOV TH0, #0DBH
MOV TL0, #0EBH
ACALL DELAY
ACALL DELAY
HERE:
CPL P2.0
ACALL DELAY
CPL P1.0
ACALL DELAY
SJMP HERE
DELAY:
SETB TR0;
CB: JNB TF0,CB
CLR TR0
CLR TF0
MOV TH0, #0DBH
MOV TL0, #0EBH
RET
END
SIMULATION RESULT:

3
NAME: ASHWIN RAJ
REGISTRATION NUMBER: 21BEC0400

OBSERVATION:

FIRSTLY delay of 30 msec was created and port P2.0 was toggled and after 10 msec delay P1.0 was toggled and after every
10 msec delay port was toggled
DELAY SUBROUTINE CREATED DELAY FOR 10 msec

4
NAME: ASHWIN RAJ
REGISTRATION NUMBER: 21BEC0400

DATE: : 4/03/2023
QUESTION 4:
Use Counter 1 in mode 2 and after 10 number of counts on TL1, generate a delay of 10 msec on P1.2 by using Timer 0 in mode 1, show the
counts in TL1 on port 2.

PROGRAM:
ORG 0000H
SETB P3.5
MOV TMOD,#61H
MOV TH1,#00H
SETB TR1
XX: MOV A,TL1
MOV P2,A
CJNE A,#10 , XX
CLR TF1
CLR TR0
MOV TH0, #0DBH
MOV TL0, #0EBH
SETB TR0
CPL P1.2
YY: JNB TF0,YY
CLR TF0
CLR TR0
END

SIMULATION RESULT:

OBSERVATION:
Counter are used to count pulses
P3.5 is used for timer 1
Timer0 is used for delay in port P1.2

You might also like