Scopul proiectului este realizarea unui calculator de buzunar care sa execute operatiile de adunare, scadere, inmultire si impartire asupra a doua numere.
Piesele folosite:
Alimentarea placutei de baza se face prin USB, de la portul USB al unui calculator.
Schema bloc:
Schema in Proteus:
Implementarea codului a fost realizata in limbajul Bascom, utilizând mediul de dezvoltare Micro-IDE.
Codul sursa:
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 “Calculator_alexia” 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 “Calculator_alexia”
Goto Q End Dta: Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15
Arhiva contine: