Simple calculator using avr microcontroller Atmega16

Jun 12, 2012 by


Here’s a simple calculator with the Atmega16 microcontroller. It have an LCD display and a 4×4 keypad.

You can also download the proteus simulation file on the downloads

Simple calculator1 Simple calculator using avr microcontroller Atmega16

Bascom Code

 

$regfile = “m16def.dat”
$crystal = 1000000

Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2

Dim A As Byte
Dim B As Byte
Dim Key As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte

Cls
Cursor Off
Locate 2 , 1
Lcd “avrprojects.info”
E = 0
B = 0

Q:
Waitms 200
‘B = 0
A = Getkbd()
If A > 15 Then
Goto Q
Else
Key = Lookup(a , Dta)
If Key <= 9 Then
D = 0
B = 10 * B
B = B + Key
If E = 0 Then C = B
If E = 1 Then D = B
Cls : Lcd B
Elseif Key = 10 Then
Cls
F = 1
E = 1
B = 0
Elseif Key = 11 Then
Cls
E = 1
F = 2
B = 0
Elseif Key = 12 Then
Cls
E = 1
F = 3
B = 0
Elseif Key = 15 Then
Cls
E = 1
F = 4
B = 0
Elseif Key = 13 Then
Cls
E = 0
B = 0
Elseif Key = 14 Then
If E = 1 Then
Cls
Select Case F
Case 1 :
B = C / D
Case 2:
B = C * D
Case 3:
B = C – D
Case 4:
B = C + D
End Select
Lcd B

End If
End If
End If
Locate 2 , 1
Lcd “avrprojects.info”

Goto Q
End
Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15

For more Detail: Simple calculator using avr microcontroller atmega16

This free embedded project also found using:

  • calculator using microcontroller
  • avr calculator project
  • calculator using atmega16
  • calculator with avr
  • config kbd bascom
  • scientific calculator using atmega16

Leave a Comment

You must be logged in to post a comment.

Recent Posts

Drumming Teaching and feedback device Using Atmega1284

Drumming Teaching and feedback device Using Atmega1284

For our ECE 4760 final project, we designed and built a drum trainer that can be attached to most Ja[...]
Thermistor Respiratory Monitor Using Atmega1284

Thermistor Respiratory Monitor Using Atmega1284

Our final project for ECE 4760 is a respiratory monitor that was designed for low-resource environme[...]
Glove Mouse Using Atmega1284

Glove Mouse Using Atmega1284

For our ECE 4760 final project, we designed and built a wireless computer pointing device with accel[...]
Hand-Motion Chess Using Atmega1284

Hand-Motion Chess Using Atmega1284

An Introduction "A glove embedded with accelerometers to play a hand motion-controlled chess ga[...]
Color to Sound Player Using Atmega1284

Color to Sound Player Using Atmega1284

Introduction We created a device that determines the RGB content of a surface and then speaks the c[...]

Read more:
Sony Digital Paper offers 12.6-ounce business rewrite
Close