Vintage TI DataMath / Sinclair vetenskaplig kalkylator Emulator (3 / 5 steg)
Steg 3: Schematisk, källa koden och bygga tips
Jag fästa den schematiska här men det är inte mycket läsvärd, jag började min pcb design genom att placera komponenter 1: a, göra spår. Och slutligen jag låta Fritzing till auto rutt schematiskt.
Det är lättare att förstå anslutningarna med ASCII-konst Schematisk, enligt min mening
MSP430G2452
-----------------
/|\| |
| | |
--| RST |
| | 2 x 4 siffriga bubblan ledde
| siffran 0 P2.0|--- +---+ +---+
| siffran 1 P2.6|---| % % % % | | % % % % |
| siffran 2 P2.1|--- +---+ +---+
| siffra 3 P2.2|--/
| siffran 4 P2.3|--/
| siffran 5 P2.7|--/
| Siffran 6 P2.4|--/
| Siffran 7 P2.5|-- / segmentera en g + dot...
| | / ....\
| | / \ (minus ledde)
| segment A P1.2|-----+-----+-----+-----+-----+-----+-----+-----+-(>|) -+
| | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | |
| segmentet B P1.3| - o o + o o + o o + o o + o o + o o + o o + o o- +---
| | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ |
| segmentera c P1.7| - o o + o o + o o + o o + o o + o o + o o-+
| | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ |
| segment D P1.1| - o o + o o + o o + o o + o o + o o-+
| | _=_ | _=_ | _=_ | _=_ | _=_ |
| segmentera E P1.5| - o o + o o + o o + o o + o o-+
| | _=_ | _=_ | _=_ | _=_ |
| segmentet F P1.4| - o o + o o + o o + o o-+
| | _=_ | _=_ | _=_ |
| segmentet G P1.0| - o o + o o + o o-+
| | _=_ |
| segmentet H P1.6| - o o- + (inte alla knappar befolkade)
| |
TMS0803/0805 emulering logiken har antagits från Ken Shirriff (plus andra) web baserade emulatorer, TI och Sinclair vetenskapliga.
Det finns också bra mängd H/W information kommenterade inne koden
Om du planerar att designa din egen PCB, är den grundläggande principen i relation med koden
- P1 för LED segment
- P2 för LED siffror
- P1 också för nyckelknappen skanning
Du kan flytta saker runt så länge du följer ovanstående. Dvs. om det passar bättre på din PCB, kan du byta siffran 1 w / siffran 3, segmentet A w / segment E, etc, etc. Allt du behöver är att ändra #define i en header-fil och sammanställa.