LCD Driver for PIC 18F452 on MCP355x Microcontroller using C18 - repost

This project received 10 bids from talented freelancers with an average bid price of $198 USD.

Get free quotes for a project like this
Project Budget
$10 - $30 USD
Total Bids
Project Description

Hello there.

I need a small firmware code that will drive the LCD module contained on the Microchip MCP355x Sensor Reference design.

I replaced the PIC 16F877 that came with the board with the PIC18F452. The firmware available at Microchip is in assembly and the one I need should be done using Microchip C18 C compiler.

It will consist of 6 modules:

main.c and main.h;

init.c and init.h; and

lcd.c and lcd.h.

The main.c will have the init functions, that will initialize properly all the ports for the LCD and buttons (no need for the ADC part - I just need the LCD part). It willl also have a button detection routine (one button only is OK) to change the message on LCD. The various messages (let's agree on 6 messages), will change on button press. Debounce routine should be done for buttons. These messages will be available on an array (not sure if this is the right term - it is "dt" on assembly language), that will be chosen according to button press.

The init.c will have the board initialization stuff, like TRISA and TRISB (no need to initialize other ports and buttons and LCD uses only PORTA and PORTB).

The lcd.c will have the initialization stuff for the LCD module. Unfortunately we can't use the xlcd.c of Microchip. The firmware should check for LCD busy flag. The LCD data ports that will be used are low nibble, and are available on page 28 of the datasheet below.

Code may - and strongly encourage - use delays.h.

These are the links for the board:

[url removed, login to view]

[url removed, login to view]

According to the BOM, this is the LCD controller datasheet:

[url removed, login to view]

***Not sure if it is the right one but even the comments are the same in the assembly file.


*** Deadline will be taken seriously. If not handed in by the deadline date, don't bother in delivering it anymore. Will ask for someone else to do it.

*** Communication is a must. By this, we are talking about your progress, too. So, if you are not going to work that day, please let us know, so we can keep calm on our side and be certain that the project will be completed on time.

*** Freelancer will hand in the updated files for our comments and further corrections, on a DAILY basis. This is also very important so I can understand what is going on and come back with some fresh questions.


What I need is the project to be done. Completely. Fully. Working. In all it's extent. Period. I don't want half of a project, or a partial schematic, or partial code, or partial something whatever. What I want is the FULL complete project and this is what I am willing to get and, of course, pay for.

By this, I am creating one full milestone only, to be released when all that I asked for up here is delivered. This is why I tried to be so criterious about each part. No exceptions will be made. *****PLEASE BID ONLY IF YOU ACCEPT THESE TERMS.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online