{"id":25633816,"url":"https://github.com/sulaimanniazi/pic-simple-calculator","last_synced_at":"2026-06-19T15:32:06.103Z","repository":{"id":277721602,"uuid":"933145417","full_name":"SulaimanNiazi/PIC-Simple-Calculator","owner":"SulaimanNiazi","description":"A simple calculator made using PIC16F877A and displaying values on LCD display LM016L","archived":false,"fork":false,"pushed_at":"2025-03-05T05:28:25.000Z","size":9301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T06:27:52.437Z","etag":null,"topics":["button-control","buttons","calculator","lcd","lcd-display","lcd-screen","lcd1602","lcd16x2","lm016l","microchip-pic","microcontroller","microcontrollers","mplab","mplab-ide","mplabx","mplabxide","pic","pic16f877a","proteus","proteus-simulation"],"latest_commit_sha":null,"homepage":"","language":"SWIG","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SulaimanNiazi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-15T08:57:12.000Z","updated_at":"2025-03-05T05:28:29.000Z","dependencies_parsed_at":"2025-02-15T17:28:30.121Z","dependency_job_id":"f87f2b34-23c0-4f54-a25f-c67bad9d5d74","html_url":"https://github.com/SulaimanNiazi/PIC-Simple-Calculator","commit_stats":null,"previous_names":["sulaimanniazi/pic-simple-calculator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SulaimanNiazi/PIC-Simple-Calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SulaimanNiazi%2FPIC-Simple-Calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SulaimanNiazi%2FPIC-Simple-Calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SulaimanNiazi%2FPIC-Simple-Calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SulaimanNiazi%2FPIC-Simple-Calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SulaimanNiazi","download_url":"https://codeload.github.com/SulaimanNiazi/PIC-Simple-Calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SulaimanNiazi%2FPIC-Simple-Calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34538179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["button-control","buttons","calculator","lcd","lcd-display","lcd-screen","lcd1602","lcd16x2","lm016l","microchip-pic","microcontroller","microcontrollers","mplab","mplab-ide","mplabx","mplabxide","pic","pic16f877a","proteus","proteus-simulation"],"created_at":"2025-02-22T22:32:38.258Z","updated_at":"2026-06-19T15:32:06.074Z","avatar_url":"https://github.com/SulaimanNiazi.png","language":"SWIG","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PIC Simple Calculator\n\nThis project is a firmware application designed for the PIC16F877A microcontroller to function as a calculator. It displays the results on an LM016L LCD display. The firmware is developed using the MPLAB X IDE and the XC8 compiler.\n\n\u003cvideo title=\"PIC Simple Calculator Simulation video\" width=\"100%\" controls autoplay\u003e\n    \u003csource src=\"./Simulation/PIC Simple Calculator Simulation video.mp4\" type=\"video/mp4\"\u003e\n    Your browser does not support the video tag.\n\u003c/video\u003e\n\n## Table of Contents\n\n- [Prerequisites](#prerequisites)\n- [Building the Project](#building-the-project)\n- [Apparatus](#apparatus)\n- [Uploading to the Microcontroller](#uploading-to-the-microcontroller)\n- [Usage](#usage)\n- [Troubleshooting](#troubleshooting)\n\n## Prerequisites\n\n- MPLAB X IDE\n- XC8 Compiler\n- PIC16F877A Microcontroller\n\n## Building the Project\n\n1. Open the project in MPLAB X IDE.\n2. Ensure the XC8 compiler is selected.\n3. Build the project to generate the `.hex` or `.cof` file.\n4. Alternatively, you can build the project using Visual Studio Code with the MPLAB extension. Set the project output file path, name, and extension using `Ctrl+Shift+P` and selecting \"Edit Project Properties\".\n\n## Apparatus\n\nNecessary components that can't be changed:\n\n1. PIC16F877A microcontroller: To run the program.\n1. LM016L LCD display: To display output.\n1. Quartz Crystal and 2 1nF non-polarized capacitors.\n\nOptional components depending on your circuit:\n\n1. 16 Buttons \n1. 9 Resistors\n\n## Uploading to the Microcontroller\n\nAfter building the project, upload the generated `.hex` or `.cof` file to the PIC16F877A microcontroller using a suitable programmer. The file can be found in either of the following paths:\n\n1. In case of using MPLAB X IDE: [dist\\default\\debug\\PIC_Calculator.X.debug.cof](./dist/default/debug/PIC_Calculator.X.debug.cof)\n2. In case of using Visual Studio Code (if the file name was set as default): [out\\PIC_Simple_Calculator\\default.hex](./out/PIC_Simple_Calculator/PIC_Calculator.hex)\n\n## Usage\n\n1. Connect the microcontroller and the necessary components as per the circuit diagram.\n2. Power on the system.\n3. The LCD will display the current input and results.\n4. Use the buttons to input numbers and operations.\n\n## Troubleshooting\n\n- Ensure all connections are secure and correct.\n- Verify the microcontroller is programmed with the correct `.hex` or `.cof` file.\n- Check the power supply to the microcontroller and other components.\n- If the LCD does not display correctly, check the connections and contrast settings.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsulaimanniazi%2Fpic-simple-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsulaimanniazi%2Fpic-simple-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsulaimanniazi%2Fpic-simple-calculator/lists"}