Skip to content

Libraries for interfacing PIC16F887 with several modules (DHT11, MAX7219, PCF8574).

Notifications You must be signed in to change notification settings

nahueespinosa/pic_libraries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

PIC Libraries

Libraries for interfacing PIC16F887 with several peripherals. Most of them were programmed for specific projects of high school students and I thought of sharing them as they might be useful as a basic start in hobbyist projects.

Index

  • DHT11
    • Basic ultra low-cost temperature and humidity sensor. It uses a one-wire protocol and this driver's implementation contemplates the use of down to 4MHz crystal as clock source.
  • DS1307
    • Serial real-time clock, full binary-coded decimal (BCD) clock/calendar plus 56 bytes of NV SRAM.
  • MAX7219
    • Serial input/output common-cathode display drivers. Implements functions for drawing in an 8x8 led matrix.
  • MSSP
    • Driver for configuration and usage of the "Master Synchronous Serial Port" module for PIC16F887.
  • LCD through I2C
    • Functions to configure and control an LCD connected to an IO expander (PCF8574).

Usage

The compiler used was XC8 v1.45 in MPLABX IDE.

Copy the necessary *.c and *.h files in your projects directory and include the header files.

#include "dht11.h"

void main(void) {
    float hum, temp;
    dht11_config();

    while(1) {
        dht11_read(&hum, &temp);
        __delay_ms(100);
    }
}

Be sure to check the header file of each device to correctly select the GPIOs according to your board.

#define PIN_DHT11   PORTBbits.RB4
#define TRIS_DHT11  TRISBbits.TRISB4

About

Libraries for interfacing PIC16F887 with several modules (DHT11, MAX7219, PCF8574).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published