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 calculator

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

Leave a Comment

You must be logged in to post a comment.

Recent Posts

I2C Bus for ATtiny and ATmega

I2C Bus for ATtiny and ATmega

I love the Atmel AVR microcontrollers! Since building the Ghetto Development System described in thi[...]
Interfacing GY 26 with atmega640

Interfacing GY 26 with atmega640

Hello friend once again with new instructable in this I will show you how to interface GY 26 with UA[...]
Using Atmega32 with Arduino IDE

Using Atmega32 with Arduino IDE

Over time I have used all kinds of Atmel microcontrollers in various projects. One of the mos[...]
Standalone Arduino / ATMega chip on breadboard

Standalone Arduino / ATMega chip on breadboard

Step 1: Parts needed I bought my parts from Digikey and Sparkfun Electronics - they're 2 of my favo[...]
Burning atmega328-pu and atmega328p-pu bootloader

Burning atmega328-pu and atmega328p-pu bootloader

Burning the boot loader in an atmega328 could be somewhat tricky but if u follow these steps correct[...]

Read more:
Popular ‘dashcams’ catch everything from scammers to plane crashes
Close