Vous êtes sur la page 1sur 3

CAR PARKING

=========================================================================
#include<mega16.h>
#include<delay.h>
unsigned char count;
interrupt[EXT_INT0]void car_in()
{ count++;}
interrupt[EXT_INT1]void car_out()
{ count--;}
void main()
{
unsigned char DISP[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
DDRA=0xFF;
PORTA=0x00;
MCUCR=0x0F;
GICR|=0xC0;
#asm("sei");
while(1)
{ PORTA=DISP[count]; }
}
=========================================================================
LCD DiSPLaY
=========================================================================
#include<mega16.h>
#include<delay.h>
#define CPRT PORTB //Control port
#define DPRT PORTA //Data port
#define RS PORTB.0
#define E PORTB.1

void cmnd(unsigned char a) //For Instructions


{
DPRT=a;
RS=0; //Instuctions Mode
E=1; //Instructions Transferred to LCD
delay_us(2); //Not Necessary
E=0;
delay_us(100); // Minimum 14 Micro-Seconds
}

void data_W(unsigned char d) //For Data Write


{
DPRT=d;
RS=1; //DATA Write Mode
E=1; //DATA Transferred to LCD
delay_us(2); //Not Necessary
E=0;
delay_us(100); //Not Necesaarry
}

void init_LCD()
{
DDRA=0xFF;
E=0;
delay_ms(2); //Not Necessary
cmnd(0x38); //2 line 5x7 matrix
cmnd(0x0E); //display on,cursor on
cmnd(0x01); //clear LCD Screen
delay_ms(2); //Minimum 2 Milli-Seconds
cmnd(0x06); //shift cursor right
}

void lcd_goxy(unsigned char x,unsigned char y)


{
unsigned char fir_char_Ad[]={0x80,0xC0,0x94,0xD4};
cmnd(fir_char_Ad[y-1]+x-1);
delay_us(100); //Not Necessary
}

void print(char *str)


{
unsigned char i=0;
label:
while(str[i]!=0)
{
data_W(str[i]);
delay_ms(50); //Time Between printing each character
i++;
}
}

void main()
{
DDRA=0xFF;
DDRB=0xFF;
init_LCD(); //initialize LCD
lcd_goxy(1,1); //1st Row 1st Box
print("0123456789ABCDEF");
lcd_goxy(1,2); //2nd Row 1st Box
print("FEDCBA9876543210");
while(1); //Not Necessary
}
=========================================================================
BlinK
=========================================================================
#include<mega16.h>
#include<delay.h>
#define a_bit PORTB.4

void main()
{
DDRB=0x10;
a_bit=0;
while(1)
{
a_bit=~a_bit;
delay_ms(100);
}
}
=========================================================================
8-BiT CouNteR
=========================================================================
#include<mega16.h>
#include<delay.h>
unsigned char z;
void main()
{
DDRC=255;
PORTC=0;
while(1)
{
for(z=0;z<=255;z++)
{
PORTC=z;
delay_ms(400);
}
}
}

Vous aimerez peut-être aussi