christwell / PIC16-Projects

Projects with 8-bit PIC16 in C (PIC16F1717/PIC16F1718/PIC16F1719) and Assembly (PIC16F1718) also legacy (PIC16F506)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Libraries and Projects for the 8-bit PIC16 Microcontrollers written in C and Assembly

This is the repository structure

01_C :- Contains Libraries and Projects written in C (XC8)

02_Assembly :- Contains Libraries and Projects written in Assembly

When you download your repository and open the project be sure your target and compiler selected are accurate.

Be sure to check out the blog for more electronics projects:

http://trinirobotics.com/

If you are new to PIC microcontroller programming then make sure and pick up a copy of the book Programming PIC Microcontrollers with XC8:

https://www.apress.com/gp/book/9781484232729

C Libraries and Projects using PIC16F1717/PIC16F1719 Microcontroller

  • 00_Documents: Contains datasheets, pinouts, errata and XC8 compiler users guide

  • 00_Output : (PIC16F1) Use I/O pin as output

  • 01_Flash : (PIC16F1) Flash an LED

  • 02_Internal_Pullups : (PIC16F1) Use internal pullups

  • 03_Pushbutton : (PIC16F1) Use a pushbutton

  • 04_Timer0 : (PIC16F1) Internal Timer0 module

  • 05_Counter : (PIC16F1) Use the counter module

  • 06_Interrupts : (PIC16F1) Use and interrupt with Timer0 module

  • 07_Internal_External : (PIC16F1) Demonstrates pushbutton interrupt

  • 08_Sleep : (PIC16F1) Sleep mode demonstration

  • 09_Watchdog_Timer : (PIC16F1) Uses the internal watchdog timer

  • 10_Peroidic Sleep : (PIC16F1) Perform a task then go to sleep

  • 11_IOC : (PIC16F1) Demonstrates Interrupt on change

  • 12_Comparator : (PIC16F1) Uses the comparator module

  • 13_FVR : (PIC16F1) Uses the internal fixed voltage reference

  • 14_DAC_8_Bit : (PIC16F1) Digital to Analog Converter (DAC) demonstration

  • 15_HD44780_LCD : (PIC16F1) Library for the HD44780 and compatible LCDs

  • 16_ADC : (PIC16F1) Analog to Digital Converter (ADC) module demonstration

  • 17_OneWire : (PIC16F1) Uses the one wire interface for DS18B20

  • 18_Timer1 : (PIC16F1) Uses the Timer1 module

  • 19_Timer2 : (PIC16F1) Uses the Timer2 module

  • 20_PWM : (PIC16F1) Pulse Width Modulation (PWM) demonstration

  • 21_EUSART : (PIC16F1) Driver for the Enhanced USART module

  • 22_SPI : (PIC16F1) Driver for the Serial Peripheral Interface (SPI)

  • 23_I2C : (PIC16F1) Inter-Intgrated Circuit (I2C) driver

  • 24_I2C1 : (PIC16F1) Additional Driver for Inter-Integrated circuit

  • 25_Shift_Register : (PIC16F1) Driver for 74HC595 shift register

  • 26_Line_Decoder : (PIC16F1) Driver for 74HC138 3-8 line decoder

  • 27_NCO : (PIC16F1) Uses the Numerically Controlled Oscillator (NCO) module

  • 28_Sound : (PIC16F1) Uses an I/O pin to produce a sound

  • 29_Soft_UART : (PIC16F1) Software UART implementation

  • 30_Hall_Effect : (PIC16F1) Driver for the Keyes KY-003 Hall Effect Sensor

  • 31_Touchscreen : (PIC16F1) Diver for interfacing to the NX3224T024_011 Touchscreen module

  • 32_CLC : (PIC16F1) Demonstrates use of the configurable logic cell module

  • I01_DC_Motor : Interfacing to DC Motor

  • I02_Seven_Segment : Interfacing to seven segment module

  • I03_Seve_Segment_Mul : Interfacing to multiplexed seven segment modules

  • I04_Servo_Motor : Interfacing to Servo Motors

  • I05_H-Bridge : Interfacing to SN754410 H-Bridge IC

  • I06_Stepper_Motor : Interfacing to a 4 phase unipolar stepper motor

  • I07_Serial_LCD : Interfacing to a serial LCD

  • I08_Joystick : Interfacing to a joystick

  • I09_TTS : Interfacing to a Emic2 Text to Speech Module

  • I10_RGB_LED : Interfacing to an RGB LED Module

  • I11_IR_Distance_Sensor : Interfacing to a IR Distance Sensor Module

  • I12_Nokia5110 : Interfacing to a Nokia5100 LCD

  • I13_GPS : Interfacing to a NEO-6M GPS module

  • I14_Ultrasonic_Sensor : Interfacing to a HC-SR04 ultrasonic distance sensor

  • I15_SSD1306 : Interfacing to a SSD1306 based LCD

  • I16_GSM : Interfacing to a SIM800L module

  • I17_Bargraph_LED : Interfacing to a bargraph LED module

  • I18_DS1306 : Interfacing to a DS1306 RTC IC

  • I19_Bluetooth_HC05 : Interfacing to a HC05 Bluetooth module

  • I20_DHT11 : Interfacing to a DHT11 temperature and humidity sensor

  • I21_SD_Card : Interfacing to a SD Card and writing a file

  • P01_Termometer : Digital Thermometer project using a LM34 temperature sensor and OLED

  • P02_Temperature_Logger : Temperature logger project using EEPROM for storage

  • P03_IoT_WiFi : IoT Project using ESP8266 ESP-12-F WiFi Module

  • P04_Temp_Fan : Temperature controlled fan project

  • P05_Clock : A touch screen clock using RTC IC and Touch LCD Module

(pic-as) Assembly Libraries and Projects using PIC16F1718 Microcontroller

  • 01_On : Turns an LED on

(LEGACY MPASM) Assembly Libraries and Projects using PIC16F506 Microcontroller

  • A01_Led_On : Turns an LED on
  • A02_Blink : Blinks an LED
  • A03_Modules : Demonstrates using ASM modules
  • A04_Switch : Demonstrates using a switch
  • A05_Timer0 : Uses the Timer0 module
  • A06_Counter : Uses the counter module
  • A07_Sleep : Demonstrates sleep mode
  • A08_WPUC : Uses WPUC
  • A10_Watchdog_Timer : Uses watchdog timer
  • A11_Comparator : Uses comparator module
  • A12_Comparator Wake : Comparator and sleep mode
  • A13_ADC : Uses the internal ADC module
  • A14_Software_PWM : Uses the software PWM module
  • A15_Sound : Generates sound

About

Projects with 8-bit PIC16 in C (PIC16F1717/PIC16F1718/PIC16F1719) and Assembly (PIC16F1718) also legacy (PIC16F506)


Languages

Language:C 100.0%