12
ASSIGNMENT # 01-02 Submitted to: Raheel Bhutta Submitted by: Hammad Akbar Roll No: E08-141 (A) Date: 4 th !"t# 010 Embedded Systems

Embedded Assignment

Embed Size (px)

DESCRIPTION

Embedded assignment

Citation preview

ASSIGNMENT # 01-02Submitted to: Raheel Bhutta

Submitted by: Hammad Akbar

Roll No: E08-141 (A)

Date: 24th Oct, 2010

Embedded SystemsASSIGNMENT: 01

Q1: Get 8-bit data from PORTC and send it to PORTB & PORTD?#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

void delay();

void main(void)

{

TRISC=1;

TRISB=0;

TRISD=0;

PORTB=PORTC;

PORTD=PORTC;

}Q2: Toggle all bits of PORTB & PORTC?#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

void delay();

void main(void)

{

TRISB=0;

TRISC=0;

while(1)

{

PORTB=0X55;

PORTC=0XAA;

delay();

PORTB=~PORTB;

PORTC=~PORTC;

}

}

delay();

{

T0CON=0X08;

TMROH=0X85;

TMROL=0XEE;

T0CONbits.TMRON=1;

while(INTCONbits.TMR0IF==0);

T0CONbits.TMRON=0;

INTCONbits.TMRIF=0;

}

Q3:#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

#define TWO PORTBbits.RB2

#define FIVE PORTBbits.RB5

void delay();

void main(void)

{

TRISBbits.TRISRB2=1;

TRISBbits.TRISRB5=1;

while(1)

{

mybit=0X55;

mybit2=0XAA;

delay();

TWO=~TWO;

FIVE=~FIVE;

}

}

delay()

{

T0CON=0X08;

TMROH=0X8C;

TMROL=0XEE;

T0CONbits.TMRON=1;

while(INTCONbits.TMR0IF==0);

T0CONbits.TMRON=0;

INTCONbits.TMRIF=0;

}

Q4: Get status of RC3 and put on R4

#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

#define two PORTCbits.RC3

#define five PORTCbits.RC4

void delay();

void main(void)

{

TRISCbits.TRISRC3=1;

TRISCbits.TRISRC4=0;

while(1)

{

Two=five;

}

ASSIGNMENT # 2Q1: Generate square with time period of 2.5 seconds?

#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

void delay();

void main(void)

{

TRISA=0;

PORTA=1;

while(1)

{

delay();

PORTA=~PORTA;

}

}

delay();

{

T0CON=0X06;

TMROH=0XA0;

TMROL=0XA1;

T0CONbits.TMRON=1;

while(INTCONbits.TMR0IF==0);

T0CONbits.TMRON=0;

INTCONbits.TMRIF=0;

Q2: Generate delay of 5ms,,with highest pre scale using TIMER3 ?

#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

void delay();

void main(void)

{

delay();

}

delay();

{

T3CON=0X30;

TMR3H=0Xf6;

TMR3L=0X3C;

T3CONbits.TMRON=1;

while(PIR2bits.TMR0IF==0);

T3CONbits.TMRON=0;

PIR2bits.TMRIF=0;

}

Q3: PROGRAM TIMER1 to be an event counter, use 16 bit mode and display binary count on PORTB & PORTC ?#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

void delay();

void main(void)

{

TRISB=0;

TRISC=0;

PORTB=0;

PORTC=0;

T1CON=0X00;

TMR1H=0X27;

TMR1L=0X10;

T1CONbits.TMRON=1;

PORTB=TMR1L;

PORTC=TMR1H;

while(PIR1bits.TMR0IF==0);

T1CONbits.TMRON=0;

PIR1bits.TMRIF=0;

}Q4: Generate square with Time delay of 30 m seconds ?

#include

#pragma config WDT=OFF

#pragma config OSC=HS

#pragma config LVP=OFF

#pragma config BOREN=OFF

#define mybit PORTBbits.RB7

void delay();

void main(void)

{

TRISBbits.TRISRB7=1;

mybit=1;

while(1)

{

delay();

mybit=~mybit;

}

}

delay();

{

T0CON=0X01;

TMROH=0X7C;

TMROL=0X2A;

T0CONbits.TMRON=1;

while(INTCONbits.TMR0IF==0);

T0CONbits.TMRON=0;

INTCONbits.TMRIF=0;

}