Skip to main content

LED Matrix






  • Aim: To display a character or letter on a 8x8 LED matrix.
  • Code:
#define F_CPU 8000000UL
#include<avr/io.h>
#include<util/delay.h>

int main(){
DDRC=0xFF;
DDRD=0xFF;
DDRB=0x00;
while(1){
if(PINB==0x01){
PORTC=0x08;
PORTD=0xEF;
_delay_ms(100);
PORTC=0x1C;
PORTD=0xC7;
_delay_ms(100);
PORTC=0x3E;
PORTD=0x83;
_delay_ms(100);
PORTC=0x7F;
PORTD=0x01;
_delay_ms(100);
PORTC=0xFF;
PORTD=0x00;
_delay_ms(100);
PORTC=0x7F;
PORTD=0x01;
_delay_ms(100);
PORTC=0x3E;
PORTD=0x83;
_delay_ms(100);
PORTC=0x1C;
PORTD=0xC7;
_delay_ms(100);
PORTC=0x08;
PORTD=0xEF;
_delay_ms(100);
}
else if(PINB==0x02){
PORTC=0x02;
PORTD=0xF0;
_delay_ms(1);
PORTC=0x04;
PORTD=0xEF;
_delay_ms(1);
PORTC=0x08;
PORTD=0xDF;
_delay_ms(1);
PORTC=0x10;
PORTD=0xBF;
_delay_ms(1);
PORTC=0x20;
PORTD=0xDF;
_delay_ms(1);
PORTC=0x40;
PORTD=0xEF;
_delay_ms(1);
PORTC=0x80;
PORTD=0xF0;
_delay_ms(1);
}}}


  • Proteus Simulation:

LED matrix simulation



  •  Constraints: 
1) Only displays letter "V"
2)Can't be modified externally
  • Conclusion: 
LED matrix displays the letter "V" which has been created using C programming in Avr studio software and simulation of the same in proteus software. The simulation picture is shown above and the constraints have been noted.

Comments

Popular posts from this blog

GSM message sending system

Aim: To send a message using gsm module from microcontroller to phone. Code: #define F_CPU 8000000UL #define BAUD RATE 9600 #include<avr/io.h> #include<util/delay.h> void lcd_cmd(char value); void lcd_data(char value); void lcd_string(char *str); void lcd_num(unsigned int number); void usart_init(); void usart_transmit(char x); char usart_recieve(); int j=0; void initialize() { lcd_cmd(0x01); //clear LCD lcd_cmd(0x02);    //home position lcd_cmd(0x06);    //L-R //lcd_cmd(0x04); lcd_cmd(0x28); //4 bit mode lcd_cmd(0x0C);    //character generation } void lcd_cmd(char value) { int un,ln; // pc7-pc4 = un ; pc3-pc4 =ln un=value&0xF0; // & is anding function PORTC=0x04|un; _delay_ms(2); PORTC=0x00|un; _delay_ms(2); ln=(value<<4)&0xF0; //<<=left shif by 4 bits _delay_ms(2); PORTC=0x04|ln; _delay_ms(2); PORTC=0x00|ln; } void lcd_data(char value) { ...

Bluetooth Bot

Aim: To control a bot using Bluetooth. Code: #define F_CPU 8000000UL #define BAUD RATE 9600 #include<avr/io.h> #include<util/delay.h> void usart_init(); void usart_transmit(char x); char usart_recieve(); void usart_init(){ UBRRH=0; UBRRL=51; // or 0x33 UCSRB=0x18; UCSRC=0x86; } void usart_transmit(char x){ while((UCSRA&0x20)==0); UDR=x; //data gets stored in UDR } char usart_recieve(){ while((UCSRA&0x80)==0);//Till it gets overflow return UDR; } int main() { DDRC=0xFF; PORTC=0xff; _delay_ms(1000); PORTC=0x00; usart_init(); _delay_ms(2); char a[10]; int i=0; while(1) { if(usart_recieve()=='b'){ if(usart_recieve()=='a'){ if(usart_recieve()=='c'){ if(usart_recieve()=='k'){ if(usart_recieve()=='$'){ PORTC=0b00000101; _delay_ms(100); }}}}} if(usart_recieve()=='r'){ if(usart_recieve()=='i'){ if(usart_recieve()=='g'){ if(usart_recieve()=='h'){ if(usart_recieve()=='t'){ if...

Lighting of a marriage garden

Aim: To design a basic lighting system for a standard marriage garden. Software: Autodesk Revit 2019 Plan of the Garden: Entrance: Stage: Food Area: 3D View of Stage: