Simple calculator using avr microcontroller
Here's a simple calculator with the Atmega16 microcontroller. It have an LCD display and a 4x4 keypad.
You can also download the proteus simulation file on the downloads
Circuit Diagram
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
Download
Similar Posts
- Stepper motor Control with Atmega16
- Connect 2 microcontrollers through serial port
- Measure negative temperature with Lm35

10.25.2009 at 2:13 PM
thank you.verygood
2.23.2010 at 8:46 PM
sir how can i test this program can i do it in avr studio4 or any other compiler .please help me
2.24.2010 at 10:23 AM
Use Bascom, you can download it from www.mcselec.com
3.19.2010 at 1:07 AM
sir can i make this project using atmega8 ,what changes i have to make.pls help me sir.
5.16.2010 at 11:20 PM
can you give me codvison c code?
thank you
5.18.2010 at 11:29 PM
do it for me again using vmlab and proteus. or jus help me in displaying int value on lcd
7.08.2010 at 10:05 AM
can u provide me the same calculator with atmega8.it should also have digital clock and temperature sensor.i want code for it in c to simulate in avrstudio4