Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Pic18f4520 initialization for i/o operation

Status
Not open for further replies.

dsnarindra

Newbie level 4
Joined
Jan 21, 2016
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
48
Hi, All
I wants to interface a 2*16 lcd with 8bit mode in assembly language in which the external crystal is 20Mhz in where I have already try but still there is no output, the code samples are below mentioned. So, any one can guide .

Code:
#INCLUDE	p18F4520.inc
R1		EQU		81H
R2		EQU		82H

LCD_DATA	EQU		PORTB
LCD_CTRL	EQU		PORTD

RS		EQU		RD6
EN		EQU		RD7
	
		ORG		00H
CALL		LDELAY
		CALL		LDELAY
		CALL		LDELAY
		CALL		LDELAY
		NOP
		NOP
		CLRF PORTB 
		CLRF LATB 
		MOVLW 0Fh
		MOVWF ADCON1
		MOVLW 0x00 
		MOVWF TRISB 
		CLRF PORTD 
		CLRF LATD
		MOVLW 0x00
		MOVWF TRISD 
               BCF		LCD_CTRL,EN
		NOP
		CALL		LDELAY
             MOVLW	0x38
		CALL		COMMAND
		CALL		LDELAY
		CALL		LDELAY
		CALL		LDELAY
		CALL		LDELAY
		MOVLW		0x0E
		CALL		COMMAND
		CALL		LDELAY
		CALL		LDELAY
		MOVLW		0x001
		CALL		COMMAND
		CALL		LDELAY
		CALL		LDELAY
		MOVLW		0x06
		CALL		COMMAND
		CALL		LDELAY
		CALL		LDELAY
		MOVLW		0x86
		CALL		COMMAND
		CALL		LDELAY
		CALL		LDELAY
		MOVLW		 A'G'
		NOP
		CALL		DATA_DISPLAY
		CALL		LDELAY
		CALL		LDELAY
		MOVLW	 A'S'
		NOP
		CALL		DATA_DISPLAY
		CALL		LDELAY
		CALL		LDELAY
	
HERE	BRA		HERE
;-----------------------------------------------------------------------------
COMMAND	
		NOP
		NOP
		MOVWF 		 LCD_DATA
		
		BCF		LCD_CTRL,RS
		;BCF		LCD_CTRL,RW
		BSF		LCD_CTRL,EN
		CALL		SDELAY
		CALL		LDELAY
		BCF		LCD_CTRL,EN
		NOP
		RETURN
;------------------------------------------------------------------------------

DATA_DISPLAY	
		NOP
		NOP
		MOVWF		LCD_DATA
		BSF		LCD_CTRL,RS
		;BCF		LCD_CTRL,RW
		BSF		LCD_CTRL,EN
		CALL		SDELAY
		CALL		LDELAY
		BCF		LCD_CTRL,EN
		NOP
		RETURN
;-------------------------------------------------------------------------------

;-------------------------------------------------------------------------------	
LDELAY		MOVLW		D'200'
		MOVWF		R1
D1		MOVLW		D'200'
		MOVWF		R2
D2		NOP
		NOP
		DECF		R2,F
		BNZ		D2
		DECF		R1,F
		BNZ		D1
		RETURN
;--------------------------------------------------------------------------------
SDELAY		MOVLW		D'50'
		MOVWF		R1
D4		MOVLW		D'50'
		MOVWF		R2
D3		DECF		R2,F
		BNZ		D3
		DECF		R1,F
		BNZ		D4
		RETURN
;----------------------------------------------------------------------------------


		END
 
Last edited by a moderator:

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top