Coder Social home page Coder Social logo

ludehsar / simplecalculator Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 170 KB

This is a simple project to make a calculator with atmega 8 microcontroller, a 4 x 4 matrix keypad and two 7 segment display.

License: MIT License

Makefile 79.19% C 20.81%
c makefile avr calculator 7-segment-display

simplecalculator's Introduction

Simple Calculator

MIT license

Table of Contents

About The Project

This is actually the final project for the course CSE 612 (Computer Interfacing and Microcontroller Lab) at Department of Computer Science and Engineering, University of Chittagong. In this presentation, we have been told to interface a simple calculator with atmega 8 microcontroller, a 4 * 4 keypad, and two 7 segment LED displays. The objective of this project is to learn how to program a microcontroller. In order to accomplish the result, we write a C program to control the software behaviour of the calculator. We also have a design file which is used for software simulation by the Proteus 8.6+ professional.

Prerequisites

Before starting with this project, we need some softwares and some hardwares.

Hardware Requirements

The hardwares required for this project are:

  • AVR Programmer burner
  • Atmega 8 microcontroller
  • 4 * 4 small calculator keypad
  • 7 segment display (qty: 2)
  • Connecting wires
  • Breadboard
  • Power adapter

Software Requirements

  • Install avr-gcc, avr-libc, avrdude, gcc, make
  • Install WinAVR for convenience
  • Atmel Studio
  • Proteus 8.6+ professional to run the simulation

Installation

  1. Clone the github repo.
git clone https://github.com/ludehsar/SimpleCalculator.git
  1. Load the hex file of the code to the microcontroller using avr programmer burner.

  2. Now, connect the keypad and 7 segment displays with the microcontroller according to the following figure:

the connections

Note: The pin configuration might not be accurate for the microcontroller. See https://components101.com/microcontrollers/atmega8-avr for pin configuration of the atmega 8 microcontroller. If the image is not clear, then, PB0-PB7 are connected with the calculator, PC0-PC5 are connected with the first 6 ports of the first 7 segment display, PD7 is connected with the 7-th ports of the first 7 segment display. PD0-PD6 are connected with ports a-g of the second 7 segment display. Don't forget to configure the vcc and the grounds. The 7 segment displays are common cathode, so the com ports will be connected to ground. For convenience, the pin configuration of the 7 segment displays can be found here.

  1. Connect the power adapter and you are good to go.

  2. In order to simulate the design file, open Proteus 8.6+ professional and open Calculator.pdsprj. Then hit the play button.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contacts

  1. Md. Rashedul Alam Anik - [email protected]
  2. Sajib Kumar Das - [email protected]
  3. Monayam Reshad - [email protected]
  4. Muhammad Shahriar Alam - [email protected]
  5. Gazi Mohaimin Iqbal - [email protected]

Project Link: https://github.com/ludehsar/SimpleCalculator

simplecalculator's People

Contributors

ludehsar avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

reshadmrrr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.