Task 9
Task 9
TASK 9
Spring 2021
CSE307 MBSD
“On my honor, as student of University of Engineering and Technology, I have neither given
nor received unauthorized assistance on this academic work.”
Submitted to:
Dr. Bilal Habib
Sunday, July 4, 2021
TMOD:
Timer1 Timer0
Gate C/T M1 M0 Gate C/T M1 M0
0 0 0 0 0 0 0 1 (Hex= 1)
IE:
EA -- -- ES ET1 EX1 ET0 EX0
1 0 0 0 0 0 1 1
void init()
{
TMOD = 0x1; //Timer 0 mode 1
EA =1; //Enable Global interrupt
ET0 = 1; //Enale Timer 0 interrupt
EX0 = 1; //Enable external interrupt 0
TH0 = 0xFD; //700usec delay
TL0 = 0x43;
IT0 =1; //Make interrupt 0 edge triggered
}
void delay()
{
unsigned int a;
for(a=0;a<1;a++);
}
void main(void)
{
init();
TR0 = 1; //Start timer 0
while (1)
{
switch(wave%4)
{
case 0:
P1 = sine[index]; //Send sine wave
break;
case 1: //Send Triangular Wave
for(i =0;i<255;i++)
{
P1 = i;
delay();
}
for(i=255;i>0;i--)
{
P1 = i;
delay();
}
break;
case 2: //Send Ramp wave
P1 = ramp;
break;
case 3: //Send Square wave
P1 = i;
break;
}
}