Skip to content

M0stafa077/PIC-Drivers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 

Repository files navigation

PIC18F4620 Drivers Repository

Welcome to the PIC18F4620 Drivers repository! This project is a labor of love where I've embarked on the journey of developing drivers from scratch for the PIC18F4620 microcontroller.

As an embedded systems enthusiast, I understand the importance of reliable and efficient drivers to unlock the full potential of this 8-bit microcontroller. In this repository, you'll find handcrafted drivers, each carefully designed to interface with different peripherals and functionalities of the PIC18F4620.

Introduction

The PIC18F4620 is a powerful microcontroller from Microchip Technology Inc., offering a wide range of functionalities. I am excited to share with you my efforts in creating these drivers to simplify your development process and provide a seamless experience while working with the PIC18F4620.

By developing these drivers myself, I have endeavored to ensure high quality, optimized code, and extensive documentation to make your experience as smooth as possible. Let me assure you that:

  • Code Quality: The drivers are meticulously crafted, adhering to best practices and coding standards. I've paid attention to details such as variable naming, code modularity, and error handling.

  • Organization: The repository structure is well-organized. You'll find clear separation between the MCAL (Microcontroller Abstraction Layer) and the ECUAL (Electronic Unit Abstraction Layer). Each driver resides in its own folder, making it easy to locate and work with specific components.

  • Documentation: Comprehensive documentation accompanies each driver. You'll find detailed explanations of how to use the drivers, including initialization, configuration, and usage examples. I've also included comments within the code to enhance readability.

Supported Drivers

MCAL (Microcontroller Abstraction Layer)

  1. ADC Module: Provides analog-to-digital conversion functionality.
  2. Capture/Compare/PWM (CCP) Module: Enables pulse width modulation and input capture.
  3. GPIO: Handles general-purpose input/output pins.
  4. EEPROM: Smooth read and write operations to the Electrically Erasable Programmable Read-Only Memory.
  5. Interrupts (Internal and External): Configurable GPIO pin selection for interrupt monitoring.
  6. Serial Peripheral Interface (SPI): Communication with other devices using SPI protocol.
  7. Timers (0, 1, 2, 3): Timer functionality for precise timing and event triggering.
  8. UART Module: Serial communication via UART.
  9. Inter-Integrated Circuits: Communication with other devices using I2C protocol.

ECUAL (Electronic Unit Abstraction Layer)

The ECUAL layer can be customized based on your specific application requirements. It includes drivers for the following components:

  1. Seven-Segment Display: Control seven-segment displays for numeric or alphanumeric output.
  2. Bluetooth Module: Enable wireless communication using Bluetooth technology.
  3. Push Button: Handle input from physical buttons or switches.
  4. Buzzer: Generate audible tones and alerts.
  5. DC Motor: Drive DC motors for motion control.
  6. Keypad: Interface with matrix or individual keypads for user input.
  7. LCD (Liquid Crystal Display): Display text and graphics on character or graphical LCD screens.
  8. LED (Light Emitting Diode): Control LEDs for status indicators or visual feedback.
  9. Servo Motor: Precisely control servo motors for positioning or movement.
  10. Relay: Manage high-power loads using relays.

Getting Started

  1. Clone this repository to your local machine.
  2. Explore the individual driver folders within the MCAL and ECUAL directories.
  3. Refer to the documentation provided in each driver folder for usage instructions and examples.

Contribution

I hope this repository becomes a valuable resource for your PIC18F4620 projects, and that you find inspiration in developing your own drivers for other microcontrollers and projects. Your contributions are welcome! Feel free to create pull requests or open issues if you have any suggestions or improvements.

Thank you for your interest in my PIC18F4620 Drivers repository, and I wish you the best in all your endeavors as you embark on your own embedded systems journey! πŸš€

About

PIC18F4620 Device Drivers.

Resources

Rate limit Β· GitHub

Access has been restricted

You have triggered a rate limit.

Please wait a few minutes before you try again;
in some cases this may take up to an hour.

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages