Skip to content

Latest commit

 

History

History
208 lines (99 loc) · 14.7 KB

README.md

File metadata and controls

208 lines (99 loc) · 14.7 KB

pic18f Fun Factory Archieve

Hi, this is all about 🎉PIC Microcontrollers - Programming in C , using mikroc PRO for PIC compiler and pic Family F18.

You're more then welcome to visit my Web Pages:

Jungletronics (Arduino, RPi, PIC, Eagle, Blender, Unity3D, Pixy, and more) KidsTronics (MIT App Inventor, LEGO, Arduino For Kids, and more)

And youtube playlists: PIC Serie Enjoyment or PicAsm - Assembler Right Now!!!

Why PIC? 😍

PIC (usually pronounced as "pick") is a family of microcontrollers made by Microchip Technolog. In 2000, Microchip introduced the PIC18 architecture. it has proven to be very popular, with a large number of device variants presently in manufacture. C has become the predominant development language.

In this series I will bring to you how to code PIC pastile in C all from the beginning 'till advanced feature like interruptions;)

Welcome!

Hardware: Development Boards (OPTIONS):

PicGenios: Hardware: Elect. Schema. & Layout & Board: PICGENIOS & Chip: PIC18F4520,
EasyPIC™ v7<- Chip: PIC18F45k22 <- The code here works to this board too via preprocessor directives (plz help me to debug :D) or EasyPIC™ v8* - Chip: PIC18F47k42 (*) if you ask me for my recommendation, buy this one! not tested by J3, though :/ make do with what you have :)

Compiler: Compiler IDE:

mikroC PRO for PIC

Software: Development Programmer/Debugger:

Microchip’s PICkit™ 2* -> used here therein! Download: Microchip’s PICkit™ 3 and the new MPLAB PICkit™ 4 or mikroProg suite for PIC

PIC Lessons: How to Start to Program PIC 18 - Step-by-step for Beginners! (2019) 🐜

Unit - 01 - IOs

#01_code#picSeries - Pic 18 IO Hello World \o/ - Hello World to PIC 18 using mikroC Pro for PIC compiler

#02_code#picSeries - Pic 18 IO Push & Blink an LED - How to setting a momentary button to blink an LED

#03_code#picSeries - PIC 18 IO Push & Debounce! - How to deal with DEBOUNCE

#04_code#picSeries - PIC 18 IO Lighting LEDs In a Row! - How to make a usefull lights' switch

#05_code#picSeries - PIC 18 IO Chasing LEDs - The net result is that LEDs seem to be chasing each other

#06_code#picSeries - PIC 18 IO Double Chasing LEDs - This code deals with bitwise operators o/

#07_code#picSeries - PIC 18 IO Ambulance Light LEDs - Algorithm for ambulance-like-flashing-light

#08_code#picSeries - PIC 18 IO Random Flashing LEDs - How to generating a random number w/ seed

#09_code#picSeries - PIC 18 IO Internal Weak Pull-Ups - How to activate weak-pull-ups-resistors on PIC18

#10_code#picSeries - PIC 18 IO Button Library - How to use Button Library from mikroC PRO for PIC

#11_code#picSeries - PIC 18 IO Up Down Counter - A cool algorithm — making a counter for PIC18F

Unit - 02 - LCD

#00_code#picSeries - PIC 18 LCD Simulator - Know How Controller HD44780 Character LCD Displays works!

#01_code#picSeries - PIC 18 LCD First Print on Screen - Let’s make our first print on LCD using PIC18F!

#02_code#picSeries - PIC 18 LCD First Animation On Screen - Let’s make our first animation on LCD using PIC18F!

#03_code#picSeries - PIC 18 LCD Key & Counter - Press UP or Down key to(inc)decrement a counter-show at LCD

#04_code#picSeries - PIC 18 LCD Custom Symbols - How to create a custom character on LCD for PIC18F

#05_code#picSeries - PIC 18 LCD Digital Thermomether - Designing a Digital Thermometer w/ LM35 & PIC18F

#06_code#picSeries - PIC 18 LCD Calculator - How to set up a calculator using PIC18F

#07_code#picSeries - PIC 18 LCD Keypad - How to set up a keypad using PIC18F

#08_code#picSeries - PIC 18 LCD Menu - How to set up a LCD menu using PIC18F

Unit - 03 - ADC

#01_code#picSeries - PIC 18 ADC Intro - Reading a tripot at AN0 without library w/ PIC18F

#02_code#picSeries - PIC 18 ADC Choosing Channel - Create a function to read tripots' channel AN0 or AN1 using PIC18F

#03_code#picSeries - PIC 18 ADC Formatting Numbers - How to format numbers for LCD's presentation using PIC18F

#04_code#picSeries - PIC 18 ADC Voltmeter - How to create a voltmeter using PIC18F

#05_code#picSeries - PIC 18 ADC Floating Numbers - How to fake loating numbers using PIC18F

Unit - 04 - TMR

#01_code#picSeries - PIC 18 TMR Timer0 Hello World - Hello World for TIMER0 to overflow at each 1s

#02_code#picSeries - PIC 18 TMR Timer0 Extended - TIMER0 counts at every 5 long seconds

#03_code#picSeries - PIC 18 TMR Timer0 Counts 'Till Ten - TIMER0 counts 'till ten

#04_code#picSeries - PIC 18 TMR Timer1 Counts 'Till its MAX - So, what is the max period for Timer1 (@8MHz)?

#05_code#picSeries - PIC 18 TMR Timer1 as a Counter - TIMER1 AS COUNTER and present results on LCD

#06_code#picSeries - PIC 18 TMR Timer1 & LCD - Let's present results on LCD!

#07_code#picSeries - PIC 18 TMR Timer2 INTRO - Let's turn on & off Timer2?

#08_code#picSeries - PIC 18 TMR Timer0 Review - TMR0 Review!

#09_code#picSeries - PIC 18 TMR Timer0 Review 2 - TMR0 Review 2!

#10_code#picSeries - PIC 18 TMR Timer0 Explainned - How to program TIMER0 to overflow at each 50ms - step-by-step

Unit - 05 - INT

#01_code#picSeries - PIC 18 INT Timer0 Hello World - Hello World INTERRUPTIONS for TIMER0

#02_code#picSeries - PIC 18 INT Timer0 Priorities - How to deal with priorities w/ PIC18F

#03_code#picSeries - PIC 18 INT & ADC - How to average ADC reading using interruptions w/ PIC18F

#04_code#picSeries - PIC 18 INT0 - How to use INT0 interruptions w/ PIC18F

#05_code#picSeries - PIC 18 INT0, INT1 & INT2 - How to use INT0, INT1 & INT2 interruptions w/ PIC18F

#06_code#picSeries - PIC 18 INT IOC - How to use IOC interruptions w/ PIC18F

Unit - 06 - CAPTURE

#01_code#picSeries - PIC 18 CAPTURE HOW-TO - Do input a signal on RC2 pin to see its rating in microseconds - PIC18F

#02_code#picSeries - PIC 18 CAPTURE 16th Sampling - This capture will take 16 sampling mode - PIC18F

#03_code#picSeries - PIC 18 CAPTURE Width Calc - This capture will calculate pulse width (t1-----w-----t2) PIC18F

#04_code#picSeries - PIC 18 CAPTURE Duty Calc - This capture will calculate DutyCycle - PIC18F

Unit - 07 - COMPARE

#01_code#picSeries - PIC 18 COMPARE HOW-TO 50 Hz - Generate a 50Hz pulse - PIC18F

#02_code#picSeries - PIC 18 COMPARE HOW-TO 1000 Hz - Generate a 1000Hz pulse - PIC18F

Unit - 08 - PWM

#01_code#picSeries - PIC 18 PWM HOW-TO 4KHz - PWM at 4khz@50% - PIC18F

#02_code#picSeries - PIC 18 PWM HOW-TO 10 KHz - PWM AT 10khz@25% - PIC18F

#03_code#picSeries - PIC 18 PWM HOW-TO LCD - PWM at AN1 printed on LCD - PIC18F

#04_code#picSeries - PIC 18 PWM HOW-TO Custom Fuction - PMW myFunction - PIC18F

Unit - 10 - 7SEG

#00_code#picSeries - PIC 18 7SEG First Test - Hello World 7-Segments for PIC18F

#01_code#picSeries - PIC 18 7SEG Interruptions - Interruptions for 7-Segments using PIC18F

#02_code#picSeries - PIC 18 7SEG Up-Down Counter - Let's press a key, (de)increment a counter & display at 7-segs?

Unit - 11 - EEPROM

#01_code#picSeries - PIC 18 EEPROM Hello World - Hello World EEPROM for PIC18F

#02_code#picSeries - PIC 18 EEPROM Library Hello World - Library Hello World EEPROM for PIC18F

Unit - 12 - HLVD

#00_code#picSeries - PIC 18 HLVD Hello World - Saving critical variable at EEPROM via HLVD peripheral

#01_code#picSeries - PIC 18 HLVD & 7-SEG Display - Interfacing EEPROM + 7-Segment Display + HLVD back-up protection

Unit - 13 - SPI

#01_code#picSeries - PIC 18 SPI Hello World - Interfacing SD Card via SPI Protocol

Unit - 14 - I2C

#01_code#picSeries - PIC 18 I2C Hello World - Interfacing external EEPROM with PIC Microcontroller via I2C Protocol

Unit - 15 - USB

#01_code#picSeries - PIC 18 USB Hello World - Interfacing PIC18F4550 via USB Protocol using MS Visual Studio App #vs#picSeries - Visual Studio Solution - How to use Visual Studio - PIC18 - USB

License

License: CC BY-NC-ND 3.0