Academia.eduAcademia.edu

Microprocessor Report-6

IUBAT – International University of Business Agriculture and Technology Subject Name: Microprocessor Interfacing Subject Code: CSC 471 Projects: Interfacing LCD display controller. Participant’s Name and ID: Name ID Naimul Ferdous 13303042 Saiful Islam 13303095 Abdullah Al Tarek 14203115 Md. Moshiur Rahman 15303063 Amimul Ahsan 15303032 Md. Ashraful Alam 15203131 Section: D Group: 8051 Submitted To: Dr. Ehteshamul Haque Faculty, Dept. of CSE Submission Date: 16.08.2018 Project Name: Interfacing LCD display controller. Objective of Project: Programming the AT89C2051 microcontroller to show the sentence “I LOVE YOU” on 16x2 line LCD display. Circuit Diagram: List of components: SL Name and Description Quantity 1 MCU 89C2051 1 2 LED 2 3 Resistance 1K Ohm 4 4 Capacitors 30pf (10 uf 50Volt(1),100uf 50Volt(1)) 2 5 Crystal Q11.059A1 1 6 Voltage regulator 7805 1 7 Bread board 2 8 Connecting wires 9 Battery 9 Volt 1 10 16*2 LCD display 1 Printout of Program: ; P1.0-P1.7=D0-D7, P3.0=RS, P3.1=R/W, P3.2=E ORG 0 MOV DPTR,#MYCOM C1: CLR A MOVC A,@A+DPTR ACALL COMNWRT ;call command subroutine ACALL DELAY ;give LCD some time INC DPTR JZ SEND_DAT SJMP C1 SEND_DAT: MOV DPTR,#MYDATA D1: CLR A MOVC A,@A+DPTR ACALL DATAWRT ;call command subroutine ACALL DELAY ;give LCD some time INC DPTR JZ AGAIN SJMP D1 AGAIN: SJMP AGAIN ;stay here COMNWRT: ;send command to LCD MOV P1,A ;copy reg A to P1 CLR P3.0 ;RS=0 for command CLR P3.1 ;R/W=0 for write SETB P3.2 ;E=1 for high pulse ACALL DELAY ;give LCD some time CLR P3.2 ;E=0 for H-to-L pulse RET DATAWRT: ;write data to LCD MOV P1,A ;copy reg A to port 1 SETB P3.0 ;RS=1 for data CLR P3.1 ;R/W=0 for write SETB P3.2 ;E=1 for high pulse ACALL DELAY ;give LCD some time CLR P3.2 ;E=0 for H-to-L pulse RET DELAY: MOV R3,#250 ;50 or higher HERE2: MOV R4,#255 ;R4 = 255 HERE: DJNZ R4,HERE ;stay until R4 becomes 0 DJNZ R3,HERE2 RET ORG 300H MYCOM: DB 38H,0EH,01,06,84H,0 ; commands and null MYDATA: DB "I LOVE YOU",0 END Brief Description of Program: Here, In program P1.0-P1.7=D0-D7, P3.0=RS, P3.1=R/W, P3.2=E. We defined the COMNWRT subroutine to send command to the LCD. And we defined the DATAWRT subroutine to write data to the LCD. We defined our command codes in the memory location 300h. And then our display codes. Achievements (Result): By this project we can learn about how to program microprocessor and get the output on 16*2 LCD display. Here we use AT89C2051 microcontroller. We program it for showing “I LOVE YOU”. We program this reason and they are working as we program.