MINO-o'-2016 25. 回路設計(5):落穂拾い

キーマトリクス、切替え側が4、読みだし側が5本であって、逆でないのは何故?

4だと処理中の桁の更新が ++column; column&=3;で済むからです。
5ならif(++column==5){ column=0; }でちょっとだけ処理が遅いですね。

MIDI出力回路

MCUの出力Hレベルが十分に高ければ、ハイサイドにもってくることも出来ます。

MCUのピン割り当てはどうして決めたの?

まず、ハードウェアで支援がある機能は出来るだけそれを使うようにします。
で、MIDI送信はUARTですからPD1(TxD)で確定です。
74HC595への送信はSPIが使えますから、クロックがPB5(SCK)、データがPB3(MOSI)で決定です。SPIを使うとPB4がSPIの入力に強制されるので、ここは空きにしておきます。
スライド可変抵抗はADCですからPC0から:PC5のいずれかになります。
残りは比較的自由なのですが、LEDはPWM出力が可能なピンを割り当てると明るさが調節できます。残っているのはPD3,PD5,PD6,PB1,PB2です。カウンタは無駄使いしないように一つで済ませるとすると(PD5,PD6)か(PB1,PB2)の組です。
また、キーマトリクスの読みだしは一回で出来ると楽です。
読み出しをPC0-4にしてADC(可変抵抗)はPC5にしてしまいましょう。
あとは適当に同属を近いところに割り当てると前日のような割り当てになります。