We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2
Giao tiếp LCD – 8 bit
// Program for LCD Interfacing with 8051 Microcontroller (AT89S52)
#include<reg51.h> #define display_port P2 //Data pins connected to port 2 on microcontroller sbit rs = P3^2; //RS pin connected to pin 2 of port 3 sbit rw = P3^3; // RW pin connected to pin 3 of port 3 sbit e = P3^4; //E pin connected to pin 4 of port 3 void msdelay(unsigned int time) // Function for creating delay in milliseconds. { unsigned i,j ; for(i=0;i<time;i++) for(j=0;j<1275;j++); } void lcd_cmd(unsigned char command) //Function to send command instruction to LCD { display_port = command; rs= 0; rw=0; e=1; msdelay(1); e=0; } void lcd_data(unsigned char disp_data) //Function to send display data to LCD { display_port = disp_data; rs= 1; rw=0; e=1; msdelay(1); e=0; } void lcd_init() //Function to prepare the LCD and get it ready { lcd_cmd(0x38); // for using 2 lines and 5X7 matrix of LCD msdelay(10); lcd_cmd(0x0F); // turn display ON, cursor blinking msdelay(10); lcd_cmd(0x01); //clear screen msdelay(10); lcd_cmd(0x81); // bring cursor to position 1 of line 1 msdelay(10); } void main() { unsigned char a[15]="HELLO WORLD"; //string of 14 characters with a null terminator. int l=0; lcd_init(); while(a[l] != '\0') // searching the null terminator in the sentence { lcd_data(a[l]); l++; msdelay(50); } }