Full duplex communication between pc and a tmega16(lcd display)

531 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
531
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Full duplex communication between pc and a tmega16(lcd display)

  1. 1. ABLab Solutions Full duplex communication between PC and ATmega16 (LCD display) 1
  2. 2. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 Table of Contents Project Description .................................................................................................... 3 Hardwares Required .................................................................................................. 3 Softwares Required ................................................................................................... 3 C Program.................................................................................................................. 4 Connection Guide ...................................................................................................... 8 Update Yourself......................................................................................................... 9 2
  3. 3. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 Project Description In this project, we will interface PC with ATmega16 microcontroller using RS- 232 Driver and RealTerm software. Then, we will send data from PC to microcontroller through the RealTerm software and the received data will be displayed in the 16X2 LCD. In reply, the microcontroller will send data to PC which can be seen in the RealTerm monitor and the 16X2 LCD. We will repeat the above process. Hardwares Required  AVR Trainer Board-100-1pcs  AVR USB Programmer-1pcs  12V DC Adapter-1pcs  16X2 Alphanumeric LCD(JHD162A)-1pcs  RS-232 Driver-1pcs  1 to 1 Connector-3pcs  10 to 10 FRC Female Connector-3pcs  USB AM-AF Cable(Optional)-1pcs  USB to Serial Cable-1pcs Softwares Required  AVR Studio 4  WinAVR -2010  SinaProg Hex Downloader  USBasp Driver  RealTerm  USB to Serial Driver 3
  4. 4. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 C Program //**************************************************************// //Microcontroller :ATmega16 //System Clock :8MHz //Baud Rate :9600 //Data Bits :8 //Stop Bits :1 //Parity :No Parity //Project :Full duplex communication between PC and ATmega16 (LCD display) //AVR Compiler :AVR-GCC 4.3.2 //Author :ABLab Solutions // :www.ablab.in // :info@ablab.in //Date :1st January 2012 //**************************************************************// #include<avr/io.h> /*Includes io.h header file where all the Input/Output Registers and its Bits are defined for AVR microcontroller*/ #define F_CPU 8000000 /*Defines a macro for the delay.h header file. F_CPU is the microcontroller frequency value for the delay.h header file. Default value of F_CPU in delay.h header file is 1000000(1MHz)*/ #include<util/delay.h> /*Includes delay.h header file which defines two functions, _delay_ms (millisecond delay) and _delay_us (microsecond delay)*/ #define LCD_DATA_PORT PORTB /*Defines a macro for the lcd.h header File. LCD_DATA_PORT is the microcontroller PORT Register to which the data pins of the LCD are connected*/ 4
  5. 5. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 #define LCD_CONT_PORT PORTC /*Defines a macro for the lcd.h header File. LCD_CONT_PORT is the microcontroller PIN Register to which the control pins of the LCD are connected*/ #define LCD_RS PC0 /*Defines a macro for the lcd.h header file. LCD_RS is the microcontroller Port pin to which the RS pin of the LCD is connected*/ #define LCD_RW PC1 /*Defines a macro for the lcd.h header file. LCD_RW is the microcontroller Port pin to which the RW pin of the LCD is connected*/ #define LCD_EN PC2 /*Defines a macro for the lcd.h header file. LCD_EN is the microcontroller Port pin to which the EN pin of the LCD is connected*/ #include<avr/lcd.h> /*Includes lcd.h header file which defines all the functions for all Alphanumeric LCD*/ #include<avr/usart.h> /*Includes usart.h header file which includes all the usart functions*/ void main(void) { DDRB=0xff; /*All pins of PortB are declared output (data pins of LCD are connected)*/ DDRC=0x07; /*PC0, PC1 and PC2 pins of PortC are declared output (control pins of LCD connected)*/ unsigned char usart_received_data; /*Variable declaration*/ usart_init(); /*USART initialization*/ 5
  6. 6. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 lcd_init(); /*LCD initialization*/ lcd_command_write(0x80); /*Cursor moves to 1st row 1st column*/ lcd_string_write("ABLab Solutions"); /*String display in LCD*/ lcd_command_write(0xc0); /*Cursor moves to 2nd row 1st column*/ usart_string_transmit("Press any Key"); /*Transmits string to PC*/ usart_data_transmit(0x0d); /*Transmitting Carriage return to PC for new line*/ /*Start of infinite loop*/ while(1) { usart_received_data=usart_data_receive(); /*Data receive from PC */ lcd_command_write(0xcf); /*Cursor moves to 1st row 16th column*/ lcd_data_write(usart_received_data); /*Received data is displayed in LCD*/ usart_string_transmit("ABLab Solutions"); /*Transmits string to PC*/ usart_data_transmit(0x0d); /*Transmitting Carriage return to PC for new line*/ usart_string_transmit("www.ablab.in"); /*Transmits string to PC*/ 6
  7. 7. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 usart_data_transmit(0x0d); /*Transmitting Carriage return to PC for new line*/ lcd_command_write(0x80); /*Cursor moves to 1st row 1st column*/ lcd_string_write("ABLab Solutions"); /*String display in LCD*/ lcd_command_write(0xc0); /*Cursor moves to 2nd row 1st column*/ lcd_string_write("www.ablab.in"); /*String display in LCD*/ _delay_ms(500); /*500ms second delay*/ } } /*End of program*/ 7
  8. 8. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 Connection Guide The step-by-step procedures for Full duplex communication between PC and ATmega16 (LCD display) are as follows:  Insert the DC Pin of 12V DC Adapter to the DC Socket of AVR Trainer Board-100.  Connect PORTB header with LCD data header of AVR Trainer Board-100 with a 10 to 10 FRC Female Connector.  Connect RS, RW & EN pin of LCD control header with PC0, PC1 & PC2 pin of PORTC header respectively of AVR Trainer Board-100 with 1 to 1 Connectors.  Connect the ISP header of AVR Trainer Board-100 with AVR USB Programmer header with a 10 to 10 FRC Female Connector.  Connect the 16X2 Alphanumeric LCD to the LCD header of AVR Trainer Board- 100.  Connect the RS-232 Driver header with PORTD header of AVR Trainer Board-100 with a 10 to 10 FRC Connector.  Connect the USB to Serial cable to DB-9 connector of RS-232 Driver and USB port of PC/Laptop.  Connect the AVR USB Programmer to the PC/Laptop’s USB Port.  Switch on the power with the help of Power Switch of AVR Trainer Board-100.  Download the Full duplex communication between PC and ATmega16 (LCD display) Hex file to AVR Trainer Board-100.  Send data from PC/Laptop and see the output. 8
  9. 9. ABLab Solutions Sneha Palace, Plot No.60,Laxmi Vihar, Near Appolo Hospital, Bhubaneswar-751005 Website: www.ablab.in | E-mail: info@ablab.in | Ph: 91-674-6573832 Update Yourself For more Softwares, Tutorials, Sample Codes, Installation Guides, User Guides, User Manuals, Videos, Products & Components and Updates, Please Visit us at: www.ablab.in Mail us at: Info@ablab.in View us at: www.youtube.com/ablabsolutions Like us at: www.facebook.com/ablab.in Join us at: www.facebook.com/groups/ablabsolutions 9

×