2

I have been studying the datasheet of the MM74C922N , a 4x4 matrix keypad, but I cannot seem to understand how it works under the 'Theory of Operation'.

I know it outputs a 4-bit binary code depending on the key pressed, but other than that, I don't know how it actually works internally.

Can anyone explain it in simpler terms?

Thanks

ocrdu
  • 8,705
  • 21
  • 30
  • 42
BeatriceUK
  • 95
  • 1
  • 7

1 Answers1

1

enter image description here

A quick look at the internal block diagram... There's a 2 bit "X" counter and a decoder that enables outputs X1...X1 in sequence, one at a time. It looks like the output is set to logic 0 when enabled. When a key is pressed, this propagates to the corresponding Y1...Y5 input ; the encoder detects this and outputs a 3-bit number which is output along with the 2 bit X counter value to give a 5 bit key number.

While a key is pressed it activates a wait timer for "key bounce elimination" that inhibits the counter so it will stay watching that key until it is confirmed that it's pressed, probably.

bobflux
  • 70,433
  • 3
  • 83
  • 203
  • Whats the purpose of the counter? And how does that help in determining which key was pressed? Also, the MM74C922N I am using outputs 4bits? – BeatriceUK Nov 14 '21 at 09:34
  • The counter is there to scan the four X lines in sequence. – bobflux Nov 14 '21 at 09:44
  • How are the Y lines scanned? – BeatriceUK Nov 14 '21 at 09:47
  • They're not scanned, the key switches connect the X columns to the Y lines when pressed, so when the 2-4 encoder enables one X columns, and a key is pressed on that column, current will go through the switch to the Y line and it will be detected by the "encoding logic" block. – bobflux Nov 14 '21 at 09:49
  • Oh okay, the data sheet also mentions a "key debounce" circuit that runs before DATA available is activated. What does key debounce mean and what does it do? What is the point of 'watching' the key? – BeatriceUK Nov 14 '21 at 09:55
  • Keys don't switch cleanly; they "bounce" and produce noise until they settle. One way to clean up the bounce is simply to wait for a while (5 to 20 ms). The external capacitor is a clue that this circuit probably does that; hopefully there's a formula in the datasheet to describe how to choose EXT C to get the delay you want. –  Nov 14 '21 at 11:20