CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

PIC18F97J94 4-bit LCD not working

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
kwadwo



Joined: 09 Nov 2017
Posts: 2

View user's profile Send private message

PIC18F97J94 4-bit LCD not working
PostPosted: Thu Nov 09, 2017 11:29 am     Reply with quote

Hi, has anyone successfully got an LCD to work on PIC18F97J94 in 4-bit mode ?

I cannot get my LCD to work (4-bit ).
The LCD shows black squares.
I program a PIC16F1825 with similar code (only difference is the fuse INTRO_RC that is not accepted on the 18F97J94 and the device header file) and it works.
I have checked the hardware connections and changed the development board (Microchip MA180034).
Please see code below.
Any assistance would be greatly appreciated.
Thank you.
Code:

#include <18F97J94.h>
#device ADC=10


#define LCD_ENABLE_PIN  PIN_E0
#define LCD_RS_PIN      PIN_E1
#define LCD_RW_PIN      PIN_E2
#define LCD_DATA4       PIN_B4
#define LCD_DATA5       PIN_B5
#define LCD_DATA6       PIN_B6
#define LCD_DATA7       PIN_B7

#include <stdio.h>
#include <stdlib.h>
#include <string.h>




#fuses  NOWDT, NOPROTECT
#use delay(internal=4MHz)


#pin_select U1TX=PIN_C6
#pin_select U1RX=PIN_C7
#use rs232(baud=9600, UART1, parity=N,stream=RS232,bits=8)


#include <LCD.c>

void main()
{   
   setup_adc_ports(sAN0|sAN1);
   setup_adc(ADC_CLOCK_INTERNAL|ADC_TAD_MUL_0);

   int i=0;
   lcd_init();
   
           

   delay_ms(100);
   lcd_putc("\fReady...\n");

    while(TRUE)
   {
       lcd_putc('\f'); //Clear Display
     lcd_putc("Hello World");
     delay_ms(2000);
     lcd_putc('\f'); //Clear Display
     lcd_putc("Welcome To");
     lcd_gotoxy(1,2);
     lcd_putc("LCD Library");
     delay_ms(2000);
     lcd_putc('\f');
     printf(lcd_putc,"Count = %d", i);
     delay_ms(2000);
     i++;
     output_low(PIN_B0);
   
   }
}

_________________
KNS
temtronic



Joined: 01 Jul 2010
Posts: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Thu Nov 09, 2017 12:48 pm     Reply with quote

You've not got 'something' setup correctly, probably port access. In the LCD.C driver, CCS says what has to be done as far as setup or configuring for using the driver.

I haven't used it in years, since the 'flex_lcd' driver came out.
I suspect you got 'lucky' with the other PIC.

Also there are several code errors like 'adc_clock_internal' and no 'ERRORS' added in the RS232 (...options...)

Jay
Ttelmah



Joined: 11 Mar 2010
Posts: 19539

View user's profile Send private message

PostPosted: Thu Nov 09, 2017 2:02 pm     Reply with quote

First, a general comment:

The fuses, clock and serial setup should be before you include any library files like stdio.h

If you have these afterwards, it can (in a few specific cases like software serial), cause problems because the timings are not setup.

Much better to get into the habit of configuring the chip _before_ anything else.

The fuse on the 1825, would have been INTRC_IO, and if you look at the data sheet, you will see that this disables the clockout, that otherwise appears on the OSC2 pin. The J94 does not do this, hence no such fuse.

The big problem is you need to disable the internal LCD controller. This has priority over the I/O pins.

setup_lcd(LCD_DISABLED, 0, 0,0);
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Thu Nov 09, 2017 2:07 pm     Reply with quote

Quote:

I have checked the hardware connections and changed the development
board (Microchip MA180034).

I can't find a schematic of this board. It has jumpers on it. I can't find
a manual that explains the jumpers.

What board do you have it plugged into ? Microchip Explorer ? What's the part number ?
kwadwo



Joined: 09 Nov 2017
Posts: 2

View user's profile Send private message

PostPosted: Mon Nov 13, 2017 5:44 am     Reply with quote

Thank you all for your help. I requested the datasheet for the MA180034 board from Microchip. It turns out the pin-outs are not one-to-one as the supplier suggested.
_________________
KNS
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group