Att lägga till MIDI till gamla hem organ (2 / 9 steg)
Steg 2: Utmaningen att använda bussades tangentbord
Ett skiftregister är en integrerad krets som omvandlar seriell parallell data och vice versa. Detta projekt använder 74hc165, som är en parallell ingång, Serial Output (PISO) skiftregister. Skiftet registrerar "spärren" i alla ingångar på en gång, och sedan CPU läser data från strängen av SKIFT register seriellt, vilket innebär en bit i taget.
Vi behöver 8 SKIFT register att hantera 61 tangenter som shift registren används har 8 parallella ingångar. Vi kan inte undkomma det faktum att vissa allvarliga elektromonteringsarbeten kommer att behövas för att ansluta alla nycklar till SKIFT register ingångar. Plussidan är vi bara behöver tre CPU pins till kontroll och läsa SKIFT register.
Om vi vill läsa mer än ett tangentbord kan vi multiplex tangentbord med några extra CPU stift. Vad CPU kommer att göra är ändring av tillståndet för de gemensamma buss anslutningarna på varje tangentbord så de är antingen förankrad eller flytande och läsa en i taget. Vi använder en 16 mHz CPU (faktiskt en mikrokontroller) som kan enkelt multiplex två tangentbord och fortfarande ha tid över för att läsa rattar, knappar och uppdatera en display.