Heya guys, I put together a little DINx1(breadboarded), DOUTx1(breadboarded), Core(18f452, MIOS 1.9g) combo to scan my 61 key Fatar keyboard. I compiled and uploaded a .hex file using the ASM version of the sm_fast example which has JimHenry’s name credited. Anyhow, I chose this one because it prints out the row/column and note # on the LCD. I have the swap function set to 0. So the issue is, the app only responds to the ‘odd’ keys i.e. C,D,E,F#,G#,A#,C etc… The ‘Lowest’ key which is D0 on both shift registers(DIN,DOUT) is the C key which is what I’m counting as 1. Anyhow, I’ve looked over the sm_fast.inc and main.asm files and just can’t quite figure out how this app works. This is my first trek into the ASM camp as I usually am scripting in C# and C++. Any insight you guys have is much appreciated. I’ve thoroughly checked over all the hardware and connections and I am 99.9% sure there are no issues there. Thanks in advance!
buhler
[edit] I would like to add a small update… I realized after going over the SM schematic that I had the ‘rows’ connected to the DOUT and the ‘columns’ connected to the DIN… Seeing as the anodes of the diodes are all connected… DOUT -> anode, cathode -> DIN. Anyhow, I switched them around as they are in the schematic and now I’ve got no response from the keyboard!!! I’m even worse off than when I started! Why would the anodes be connected to the DIN shift register and cathodes to the DOUT? Well, I guess the question is, do I go back to a barely working state or continue on with what should be the ‘right’ way…?
