CN205384582U - Matrix type keyboard scanning circuit and coding circuit - Google Patents

Matrix type keyboard scanning circuit and coding circuit Download PDF

Info

Publication number
CN205384582U
CN205384582U CN201620006900.1U CN201620006900U CN205384582U CN 205384582 U CN205384582 U CN 205384582U CN 201620006900 U CN201620006900 U CN 201620006900U CN 205384582 U CN205384582 U CN 205384582U
Authority
CN
China
Prior art keywords
pulse
row
keyboard
state
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201620006900.1U
Other languages
Chinese (zh)
Inventor
王兵
凌云
彭杲
陈海东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University of Technology
Original Assignee
Hunan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University of Technology filed Critical Hunan University of Technology
Priority to CN201620006900.1U priority Critical patent/CN205384582U/en
Application granted granted Critical
Publication of CN205384582U publication Critical patent/CN205384582U/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

The utility model provides a matrix type keyboard scanning circuit and coding circuit comprises matrix type keyboard, a shift register, the 2nd shift register, state code register, encoder. Scanning circuit's scan method is, via the scanning pulse that satisfies specific timing requirements, a shift pulse, the 2nd shift pulse's control, with matrix type keyboard's single bond operation, key combination operation, or the sustaining state, converts active state sign indicating number and the invalid state sign indicating number of same binary system length to, invalid key that effective key of corresponding through the back output of encoder code and each active state sign indicating number number or export corresponds with all invalid state sign indicating numbers number, different single bond operation, key combinations operation, or the sustaining state only embodies not the same at the status codes, the keyboard scanning circuit structure need not modifyd to if necessary increase/decrease keys operating function or adjustment button operating function, and it can only to need to change the encoder according to the corresponding relation between the status codes after the increase and decrease and the key number. The reliable operation need not be compile and operating program to the invention circuit.

Description

A kind of matrix keyboard scanning circuit and coding circuit
Technical field
The present invention relates to the scanning circuit of a kind of keyboard, especially one matrix keyboard scanning circuit and coding circuit.
Background technology
Along with the development of embedded technology, the current commonly used microcontroller of each electronic product is as control core, and keyboard, as main input equipment, is widely used.
Current keyboard scan is mainly controlled by microcontroller, it is necessary to being undertaken by running the program in microcontroller, run into interference, cause program to run fast, scanning imaging system is by cisco unity malfunction.
Application number is the Scan orientation process that the mode that the patent of invention " fast scanning and positioning method of a kind of matrix keyboard " of CN201010153560.2 adopts keyboard interrupt to trigger enters keyboard, whether button is effective to adopt the method repeatedly repeating keyboard scan step to judge, and the key assignments obtained is carried out condition adjudgement;If multiple repairing weld state is identical, being then in steady statue, key assignments is effective;If multiple repairing weld state is different, key assignments is invalid.Single key stroke or Macintosh operation need individually to judge, single key stroke in this way then enters singly-bound tupe;Macintosh operation in this way, then enter Macintosh tupe.Method described in this patent solves the keyboard shake owing to the mechanical property of keyboard self causes and causes the wrong Problem-Error such as key, continuous touching, and the support issue to Macintosh and repeat key.But described method single key stroke needs to process respectively with Macintosh operation;Do not account for keyboard state and maintain a period of time keyboard operation function to rear just execution effectively operation;When increase and decrease button operation function or adjustment button operation function, it is necessary to amendment keyboard scan finder structure.
Summary of the invention
In order to solve the above-mentioned technical problem that existing keyboard scan localization method exists, the invention provides a kind of matrix keyboard scanning circuit and coding circuit, be made up of matrix keyboard, the first shift register, the second shift register, conditional code depositor, encoder.
Described a kind of matrix keyboard scanning circuit and coding circuit are carried out Synchronization Control by scanning impulse, the first shift pulse, the second shift pulse.
Described matrix keyboard has X row, Y row, is provided with N bit keyboard status signal output;Described N bit keyboard status signal is level signal;Described N=X+Y.Described matrix keyboard is provided with sampling pulse input.
Described first shift register has N bit synchronization parallel input terminal and serial output terminal;Described second shift register has serial input terminal and 2 × N parallel-by-bit outfan.
The N parallel-by-bit input of described first shift register is connected to N bit keyboard status signal output;The serial input terminal of the second shift register is connected to the serial output terminal of the first shift register;The clock pulse input terminal of the first shift register is connected to the first shift pulse, and the shift pulse input of the second shift register is connected to the second shift pulse, and the parallel input of the first shift register controls end and is connected to scanning impulse.
Described conditional code depositor is 2 × N position binary register;2 × N bit data input of conditional code depositor is connected to 2 × N parallel-by-bit outfan of the second shift register;The reception pulse input end of described conditional code depositor is connected to scanning impulse.
Described encoder has 2 × N position coding input end, and described 2 × N position coding input end is connected to 2 × N bit data outfan of conditional code depositor.
Described scanning impulse, the first shift pulse, the second shift pulse sequential meet claimed below:
Every 1+N the first shift pulse is a scan period;
In one scan period, during the 1st the first shift pulse cycle, scanning impulse is that the first shift register inputs enable significant level parallel;
In one scan period, during the N number of first shift pulse cycle after the 1st the first shift pulse cycle, scanning impulse is that the first shift register inputs enable inactive level parallel;
In one scan period, the second shift pulse has N number of shift pulse.
The cycle of described scanning impulse is 20~100ms.
Described first shift register, the second shift register shift pulse edge effective;The effective edge of N number of shift pulse of the second shift pulse along the moment earlier than the effective edge of the first corresponding N number of shift pulse of shift pulse along the moment.
The serial shift of described first shift register and parallel input are preset by the first shift pulse control, realize serial shift on the effective edge edge of the first shift pulse or parallel input is preset.
The conditional code of 2 × N bit data outfan output, 2 × N position of described conditional code depositor;Described conditional code is made up of effective status code and disarmed state code;The key number of described encoder output is made up of effective key number and invalid key number;Described effective status code is produced by effective keyboard operation or state, and encoder inputs the corresponding effectively key number of correspondence output during each effective status code;Described disarmed state code is produced by invalid keyboard operation or state, and encoder inputs all corresponding output invalid key number during all disarmed state codes.
Described encoder has M position key outfan, and the selection of M value should meet 2MQuantity sum be more than or equal to effective key number with invalid key number.
Described a kind of matrix keyboard scanning circuit and coding circuit also include keyboard state change pulse generation unit, whether the key number for the output of judgment matrix formula keyboard changes, when the key number of matrix keyboard output changes, export keyboard state change pulse.
Described keyboard state change pulse generation unit by M position delay buffer, M XOR gate and or door form;M position delay buffer is for carrying out signal delay respectively to the M position key number of matrix keyboard output;The input of the input of M XOR gate respectively M position delay buffer, output signal;The output of M XOR gate is respectively connecting to or the input of door;Or the outfan output keyboard state change pulse of door.
Described matrix keyboard is enabled effective row three state buffer by X row-Y row key-press matrix, low level, high level enables effective row three state buffer, trailing edge latches effective row status register, rising edge latches effective column-shaped state depositor and forms;The line of all key-press matrixs is respectively connecting to the outfan of row three state buffer, and the alignment of all key-press matrixs is respectively connecting to the outfan of row three state buffer;All inputs of row three state buffer and row three state buffer are connected to low level;The line of all key-press matrixs is respectively connecting to the input of row status register, and the alignment of all key-press matrixs is respectively connecting to the input of row status register;The outfan of described row status register and the outfan of row status register collectively constitute keyboard state signal output part.
Described low level enables effective row three state buffer, the enable of the high level effective row three state buffer of enable controls input and is connected to sampling pulse;Described trailing edge latches effective row status register, the reception pulse input end of the rising edge effective column-shaped state depositor of latch is connected to sampling pulse.
Described a kind of matrix keyboard scanning circuit and coding circuit also include the circuit being made up of agitator, enumerator, pulsqe distributor;The circuit that described scanning impulse, the first shift pulse, the second shift pulse are made up of agitator, enumerator, pulsqe distributor produces.Described pulsqe distributor is ROM memory.
The cycle of described sampling pulse is not more than the scan period.Be generally selected scanning impulse, the first shift pulse, one of the second shift pulse as sampling pulse.
Described N position, 2 × N position, M position refer both to binary digit data.
The invention has the beneficial effects as follows: single key stroke, Macintosh operation, keyboard will be maintained the Scan orientation that state operates, the conditional code of same binary length is converted to by the multiple Pulse Width Control meeting specific time sequence requirement, adopt Unified coding mode process, single key stroke, Macintosh operation, keyboard maintain state operation be only embodied in conditional code not ibid;If needing increase and decrease button operation function or adjusting button operation function, keyboard scanning circuit structure need not be revised, only need to according to the corresponding relation change encoder between conditional code and the key number after increase and decrease, the storage content namely re-writing read only memory.Described invention circuit does not use the microcontroller such as single-chip microcomputer, ARM, need not run program, reliable operation.
Accompanying drawing explanation
Fig. 1 is a kind of matrix keyboard scanning circuit and coding circuit theory diagram;
Fig. 2 is the matrix keyboard circuit diagram of the embodiment of the present invention;
Fig. 3 is the scanning encoding circuit diagram of the embodiment of the present invention;
Fig. 4 is the pulse sequence figure of the embodiment of the present invention;
Fig. 5 is the impulse circuit schematic diagram of the embodiment of the present invention;
Fig. 6 is the circuit diagram of the keyboard state change pulse generation unit of the embodiment of the present invention;
Fig. 7 is the waveform correlation schematic diagram that the keyboard of the embodiment of the present invention effectively operates.
Detailed description of the invention
Below in conjunction with accompanying drawing, the invention will be further described.
Fig. 1 is a kind of matrix keyboard scanning circuit and coding circuit theory diagram, is made up of matrix keyboard the 400, first shift register the 100, second shift register 200, conditional code depositor 500, encoder 300.
Fig. 2 is the circuit diagram of the matrix keyboard 400 of the embodiment of the present invention, have 2 row, 2 row, totally 4 buttons, by button S1, button S2, button S3, button S4 be connected to the pull-up resistor R1 of power supply+VCC, pull-up resistor R2, pull-up resistor R3, pull-up resistor R4, and row three state buffer 401, row three state buffer 402, row status register 403, row status register 404 form.2 outfans Y1, Y2 of row three state buffer 401 are respectively connecting to 2 lines, and 2 outfans Y3, Y4 of row three state buffer 402 are respectively connecting to 2 alignments;All input X1~X4 of row three state buffer 401 and row three state buffer 402 are connected to low level.
2 inputs D41, D42 of row status register 403 are respectively connecting to 2 lines, and 2 inputs D43, D44 of row status register 404 are respectively connecting to 2 alignments;2 outfans Q41, Q42 of row status register 403 export row status signal I1, I2, and 2 outfans Q43, Q44 of row status register 404 export row status signal I3, I4;2 outfans of row status register 403 and 2 outfans of row status register 404 collectively constitute 4 bit keyboard status signal output, export keyboard state signal I1, I2, I3, I4.
In embodiment, the enable input EN1 Low level effective of row three state buffer 401, the enable input EN2 high level of row three state buffer 402 is effective;EN1 and EN2 is connected to the sampling pulse CK outfan of agitator 500.Receive pulse input end CLK3, CLK4 of row status register 403 and row status register 404 are connected to the sampling pulse CK outfan of agitator 500, row status register 403 carries out data latch at the trailing edge of sampling pulse CK, and row status register 404 carries out data latch at the rising edge of sampling pulse CK.
When row three state buffer 401 and row three state buffer 402 use the three state buffer of same model, such as, when using three state buffer 74HC241 simultaneously, the enable input of 74HC241 is effective for high level, therefore, between the enable input EN1 of sampling pulse CK outfan and row three state buffer 401, it is necessary to increase a not gate.Similarly, when row status register 403 and row status register 404 use the data register of same model, such as, when row status register 403 and row status register 404 all use double D trigger 74HC74 to form data register, the triggering input of 74HC74 is effective for rising edge, therefore, between the reception pulse input end CLK3 of sampling pulse CK outfan and row status register 403, it is necessary to increase a not gate.
First shift register the 100, second shift register 200 in Fig. 1, conditional code depositor 500 form scanning circuit, and encoder 300 forms coding circuit, and embodiment circuit diagram is as shown in Figure 3.The status signal of embodiment matrix keyboard circuit output has 4, therefore, first shift register 100 is 4 binary shift registers with input of running simultaneously, Serial output function, and the second shift register 200 is 8 binary shift registers with serial input, parallel output function.4 parallel input terminal L0~L3 of the first shift register 100 are sequentially connected to I1, I2, I3, I4, and the serial input terminal D2 of the second shift register 200 is connected to the serial output terminal Q1 of the first shift register 100.The clock pulse input terminal CLK1 of the first shift register 100 is connected to the first shift pulse CP1, the shift pulse input CLK2 of the second shift register 200 is connected to the second shift pulse CP2, and the parallel input of the first shift register 100 controls end LD and is connected to scanning impulse CP3.
Conditional code depositor 500 requires to deposit 8 bit binary data, and its 8 bit data input D57~D50 is connected to the 8 parallel-by-bit outfan Q27~Q20 of the second shift register 200;The reception pulse input end CLK5 of conditional code depositor 500 is connected to scanning impulse CP3.
8 input A7~A0 of encoder 300 are connected to 8 data output end Q57~Q50 of conditional code depositor 500.Encoder 300 output is scanned through encoding 4 the binary system keys number determined.
In Fig. 3 embodiment, the first shift register 100 can select had, by 74HC166 etc., input of running simultaneously, the medium-scale integration shift register of Serial output function forms, or is made up of edge triggered flip flop.Second shift register 200 can select had serial input by 74HC164 etc., the medium-scale integration shift register of parallel output function forms, or is made up of edge triggered flip flop.When being formed the first shift register 100, the second shift register 200 by edge triggered flip flop, it is preferable that be made up of the d type flip flop of edging trigger.Conditional code depositor 500 is made up of edge triggered flip flop, it is preferable that be made up of the d type flip flop of edging trigger, for instance, select double D trigger 74HC74 or 4D trigger 74HC175 or 8D trigger 74HC273 composition.
In Fig. 3 embodiment, encoder 300 is read only memory.The input that address input end A7~A0 is encoder 300 of read only memory, the coding outfan C3~C0 that data output end D3~D0 is encoder 300 of read only memory.
The operation principle of a kind of matrix keyboard scanning circuit and coding circuit is as follows:
Scanning circuit scanning impulse CP3, the first shift pulse CP1, the second shift pulse CP2 control under work, relevant pulse sequence figure is as shown in Figure 4.
In embodiment, the sequential of CP1, CP2, CP3 meets claimed below: every 5 CP1 pulses are a scan period.In one scan period, the 1st CP1 pulse period is the parallel input control cycle, and CP3 is that the first shift register 100 inputs enable significant level parallel, and it is preset that the first shift register 100 carries out parallel input under the control of the 1st CP1 pulse;Ensuing 4 CP1 pulse periods are shift cycle, and CP3 is that the first shift register 100 inputs enable inactive level parallel, and the first shift register 100 carries out serial shift under the control of CP1 pulse.In one scan period, CP2 has 4 shift pulses.
CP1, CP2, CP3 pulse meeting timing requirements can be produced by various pulsqe distributors, and Fig. 5 is the impulse circuit schematic diagram of the embodiment of the present invention, is made up of agitator 801, enumerator 802, pulsqe distributor 803.Clock pulse CP in Fig. 4 is produced by agitator, and CP delivers to enumerator 802 and counts, and enumerator 802 is 10 system Counters, and 10 states (numerical value) of its result P are followed successively by P0 → P9, as shown in Figure 4.Pulsqe distributor 803 in embodiment adopts ROM memory to realize, hereon referred to as pulse distribution ROM memory.The address input of pulse distribution ROM memory is connected to the counting output of enumerator 802, and 3 bit data outfans of pulse distribution ROM memory export CP1 pulse, CP2 pulse, CP3 pulse respectively.The write content of pulse distribution ROM memory is in Table 1.
Table 1 pulse distribution ROM memory tables of data
ROM memory address in table 1, namely enumerator output is at least 4 binary codes.Generally, if enumerator 802 adopts binary addition rule, then corresponding 4 binary codes 0000~1001 of P0~P9 order, namely ROM memory address realm is 0000~1001, and the storage content of address 0000~1001 is content corresponding for P0~P9 in table 1.
Pulse distribution ROM memory needs 3 bit data outputs.If the address input of pulse distribution ROM memory has R position, when matrix keyboard has N bit keyboard status signal to export, the selection of R needs to meet 2RBe more than or equal to 2 × (N+1).
Agitator 801 is multivibrator.The cycle of scanning impulse CP3 is 20~100ms.CP1, CP2, CP3 can also be provided by the circuit outside a kind of matrix keyboard scanning circuit and coding circuit or device.
In Fig. 2,4 buttons of matrix keyboard arrange with the matrix form of 2 × 2, and all of line and alignment are all connected to power supply+VCC by pull-up resistor.Matrix keyboard is controlled by sampling pulse CK, adopts reversal process to obtain keyboard state signal I4, I3, I2, I1.Such as, it does not have the keyboard state signal that the keyboard state signal that key is pressed is 1111, the S1 keyboard state signals pressed is 1010, S1, S2 presses simultaneously is 0010.4 binary codes of keyboard state signal are called key assignments.Sampling pulse CK can select in scanning impulse CP3, the first shift pulse CP1, the second shift pulse CP2, it is preferable that by the first shift pulse CP1 simultaneously as sampling pulse CK.
Sampling pulse CK controls matrix keyboard is carried out the method for sampling reading key assignments: in the low level of sampling pulse CK, control all line output low levels by row three state buffer 401, and row three state buffer 402 exports the open alignment of high-impedance state;Sampled by row status register 404 at the rising edge of sampling pulse CK and read high 2 as key assignments of alignment state;At the high level of sampling pulse CK, controlling all alignment output low levels by row three state buffer 402, row three state buffer 401 exports the open line of high-impedance state;Sampled by row status register 403 at the trailing edge of sampling pulse CK and read low 2 as key assignments of line state;Said process goes round and begins again, and 4 key assignments of row status register 404, row status register 403 output are always the last state of matrix keyboard.
Control matrix keyboard is carried out, from sampling pulse CK, the method that key assignments is read in sampling, row three state buffer 401, when the low level of sampling pulse CK enables effective, requires that row status register 404 carries out data latch at the rising edge of sampling pulse CK, row three state buffer 402 enables effectively at the high level of sampling pulse CK, row status register 403 carries out data latch at the trailing edge of sampling pulse CK simultaneously.In turn, if row three state buffer 401 is when the high level of sampling pulse CK enables effective, require that row status register 404 carries out data latch at the trailing edge of sampling pulse CK, row three state buffer 402 enables effectively in the low level of sampling pulse CK, row status register 403 carries out data latch at the rising edge of sampling pulse CK simultaneously.
Control in the process that key assignments is read in sampling at above-mentioned sampling pulse CK, the moment that row status register 403, row status register 404 carry out sampling is precisely row three state buffer 402 and row three state buffer 401 and carries out the moment of state reversion, and row status register 403 or row status register 404 under normal operation can correctly be sampled.If requiring the allowance having in certain sequential, then can postpone being connected to the row three state buffer 402 sampling pulse CK with row three state buffer 401, method is to make sampling pulse CK be then connected to EN1, EN2 of row three state buffer 401 and row three state buffer 402 through RC delay circuit, time delay is determined by RC delay circuit, the principle determining the time delay of RC delay circuit is that the sampling pulse CK phase place of delay is less than 90 °;Or sampling pulse CK is then connected to EN1, EN2 of row three state buffer 401 and row three state buffer 402 after the buffering of several gate circuits, time delay now is the overall delay time of described several gate circuit.
First shift register 100 is under the control of scanning impulse CP3 and the first shift pulse CP1, status signal I1, I2, I3, I4 of matrix keyboard 400 output is carried out data input latch, and now the data of the latch within the first shift register 100 are called current key assignments.The control via 8 CP2 pulses in two cycles before of second shift register 200, the first two current key assignments is displaced to the second shift register 200 outfan, 4 bit data now first moved in the second shift register 200 output are called existing state key assignments, and rear 4 bit data moved into are called front state key assignments.
The existing state key assignments that second shift register 200 is exported by scanning impulse CP3, front state key assignments are latched in the outfan of conditional code depositor 500, and the output of conditional code depositor 500 is similarly front state key assignments and existing state key assignments.
The equal edge of shift pulse of first shift register the 100, second shift register 200 is effective;In the shift cycle of a scan period, the effective edge of 4 shift pulses of CP2 is along the effective edge of moment 4 shift pulses corresponding earlier than CP1 along the moment.
The serial shift of the first shift register 100 and parallel input are preset by the first shift pulse CP1 control, realize serial shift on the effective edge edge of the first shift pulse CP1 or parallel input is preset.In embodiment, first shift register 100 selects to be made up of 74HC166, input control is effective for low level enable parallel for it, therefore, when scanning impulse CP3 is low level, it is preset that first shift register 100 carries out parallel input at the rising edge of CP1, and when scanning impulse CP3 is high level, the first shift register 100 carries out serial shift at the rising edge of CP1.
In embodiment, 4 existing state key assignments and 4 front state key assignments of the output of conditional code depositor 500 data output end collectively constitute 8 conditional codes.8 described conditional codes are used for current state and the mode of operation of recognition matrix formula keyboard.Such as, in the present embodiment, the conditional code pressed without key is 11111111;The conditional code of S1 key singly-bound push is 11111010;The conditional code that S1 key singly-bound is pressed and maintained is 10101010;The conditional code of S1 key singly-bound release operation is 10101111;The conditional code of S2 key singly-bound push is 11110110;The conditional code of S4 key singly-bound push is 11110101;The S1 push of S2+S1 combination operation, represents after first pressing S2, maintains, at S2, the state pressed and presses the operation of S1 again, and the conditional code of this operation is 01100010.
Encoder 300 is for being converted to key number by conditional code.In embodiment, it is provided with 6 effective keyboard operations and state, including:
The singly-bound push of operation 0: button S1, key number is 0000;
The singly-bound push of operation 1: button S2, key number is 0001;
The singly-bound push of operation 2: button S3, key number is 0010;
Operation 3: button S3 singly-bound press after maintenance state, key number is 0011;
Operation 4: after button S4 singly-bound is pressed, then the Macintosh operation of the S2 that pushes button, key number is 0100;
The singly-bound release operation of operation 5: button S1, key number is 0101.
The conditional code obtained according to above-mentioned regulation and key number are shown in coding schedule 2:
Table 2 coding schedule
Keyboard operation Conditional code (address) Key number (storage data)
S1 singly-bound is pressed 11111010 0000
S2 singly-bound is pressed 11110110 0001
S3 singly-bound is pressed 11111001 0010
Maintenance pressed by S3 singly-bound 10011001 0011
S4+S2 combination operation 01010100 0100
S1 singly-bound discharges 10101111 0101
Other operation or states ******** 1111
Encoder 300 is combinational logic circuit, designs circuit, meets the logical relation of table 2.
The encoder 300 of embodiment is preferably made up of read only memory 301.Read only memory 301 has 8 bit address, and totally 28Individual 4 binary storage cells.6 effective keyboard operations have 6 effective status codes, corresponding 6 effective keys number with state;Using conditional code address A7~A0 as read only memory 301, in the memory element corresponding with 6 effective status code-phase, using corresponding key number as storage data write.The conditional code produced outside 6 effective keyboard operations and state is disarmed state code, is namely disarmed state code produced by the operation of other in table 2 or state;In other memory element, all write invalid keys number, invalid key number is a value outside 6 effective keys number, and in embodiment, invalid key number is 1111.
Read only memory 301 always works at data output state.When read only memory 301 there is chip select control, data export dash-control function time, its chip select should be made to control, data output dash-control is in effective status.
Key number in embodiment is 4 binary codes.The number of bits of key number can increase as required, or reduces, and now, only need to select the read only memory 301 matched with this.If the selection that the number of bits of key number is M, M value should meet 2MQuantity sum be more than or equal to effective key number with invalid key number.When matrix keyboard has N bit keyboard status signal to export, read only memory 301 needs the input of 2 × N bit address, and M-bit data exports.
If needing increase and decrease button operation function or adjusting button operation function, only need to revise table 2 as required, amended content is re-write the storage content of read only memory 301.
The edge of the scanning impulse CP3 that conditional code depositor 500 carries out the moment of data latch is called state latch edge, is the rising edge of CP3 in embodiment.In embodiment, when matrix keyboard S1 singly-bound is pressed, the state latch of preset and next CP3 pulse is inputted parallel along after conditional code is latched in conditional code depositor 500, in the CP3 pulse period, encoding outfan C3~C0 run-out key number 0000 through CP3 Pulse Width Control;When matrix keyboard S2 singly-bound is pressed, input the state latch of preset and next CP3 pulse parallel along after conditional code is latched in conditional code depositor 500 through CP3 Pulse Width Control, in the CP3 pulse period, run-out key number 0001;After matrix keyboard first presses S4, pressing S2 again, encoder 300 is pressed at S2 Macintosh, inputs the state latch of preset and next CP3 pulse parallel along after conditional code is latched in conditional code depositor 500 through CP3 Pulse Width Control, in one CP3 pulse period, run-out key number 0100;When matrix keyboard S1 singly-bound discharges, input the state latch of preset and next CP3 pulse parallel along after conditional code is latched in conditional code depositor 500 through CP3 Pulse Width Control, in the CP3 pulse period, run-out key number 0101;It can therefore be seen that when identify be effective button operation of matrix keyboard time, encoder 300 output duration after this effective button operation is effective key number of a CP3 periodic width.
In embodiment, when matrix keyboard S3 singly-bound is pressed, encoder 300 is pressed at S3 singly-bound, inputs the state latch of preset and next CP3 pulse parallel along after conditional code is latched in conditional code depositor 500 through CP3 Pulse Width Control, in one CP3 pulse period, run-out key number 0010;Start on the state latch edge of ensuing CP3, press maintenance state to S3 singly-bound to terminate, the state latch of preset and next CP3 pulse is inputted parallel along after conditional code is latched in conditional code depositor 500, encoder 300 run-out key number 0011 through CP3 Pulse Width Control;It can therefore be seen that when identify be the maintenance state of matrix keyboard time, the persistent period of persistent period and this maintenance state that encoder 300 exports effective key number adapts.
When the state of keyboard or operation are for time outside 6 effective keyboard operations described in table 2 and state, encoder 300 exports invalid key number 1111.No matter it is export effective key number, or output invalid key number, encoder 300 changes the state latch edge that the moment is CP3 of output content;In embodiment, encoder 300 changes the rising edge that the moment is CP3 of output content.
The cycle of CP3 is the scan period of matrix keyboard.The keyboard scan cycle is when more than 20ms, it is possible to be effectively shielded from the impact of keyboard shake;The keyboard scan cycle, when below 100ms, is unlikely to omit keyboard operation;Therefore, the cycle of CP3 should control at 20~100ms.
It is front state key assignments and existing state key assignments at state latch along the conditional code being latching to conditional code depositor 500 due to CP3 pulse, current key assignments after button operation needs one CP3 pulse period of delay could become conditional code as existing state key assignment combination, therefore, after button is pressed, encoder 300 run-out key number also has the delay of a CP3 pulse period.Owing to button is by manual operation, the time delay of tens ms is on not impact in operation.
Fig. 6 is the circuit diagram of the keyboard state change pulse generation unit of the embodiment of the present invention.When identify be effective button operation of matrix keyboard time, the state latch of the encoder 300 CP3 after this effective button operation is along starting, and to the state latch edge of next one CP3, output duration is effective key number of a CP3 periodic width.Receive the device of described matrix keyboard output, it is necessary to the output of moment inquiry matrix keyboard, obtain key number.The period distances of inquiry is necessarily less than the cycle of CP3.
Circuit shown in Fig. 6 is for whether the key number of judgment matrix formula keyboard output changes, when the key number of matrix keyboard output changes, output keyboard state change pulse, the key number receiving the output of device receiving matrix formula keyboard for auxiliary moment configuration keyboard, such as, using keyboard state change pulse as receive device interrupt request singal.
Circuit shown in Fig. 6 is made up of delay buffer 601, XOR gate 602, XOR gate 603, XOR gate 604, XOR gate 605 or door 606.Delay buffer 601 is made up of 4 edge triggered flip flops only with Trigger Function, and the trigger input of 4 edge triggered flip flops is the reception pulse input end of delay buffer 601, is connected to CP3;Delay buffer 601 carries out data latch on the state latch edge of CP3.
Delay buffer 601 is for carrying out delay disposal respectively to the 4 bit data C3~C0 of the coding outfan of encoder 300.4 data input pin D63~D60 of delay buffer 601 are connected to the coding outfan C3~C0 of encoder 300, and the data that 4 data output end Q63~Q60 of delay buffer 601 export accordingly are C31~C01;C31~C01 is after the first-level buffer of delay buffer 601, and its signal postpones a CP3 pulse period than C3~C0, and Fig. 7 show the waveform correlation schematic diagram that the keyboard of the embodiment of the present invention effectively operates.The T1 being located at CP3 pulse is interval, matrix keyboard existence once effectively operates, and the effectively operation of embodiment includes: S1 singly-bound is pressed, S2 singly-bound is pressed, S3 singly-bound is pressed, the S1 of S4+S1 combination operation presses, the S2 of S4+S2 combination operation presses, the release of S1 singly-bound.On the next state latch edge of once effectively operation, i.e. rising edge after CP3 pulse T1 interval in Fig. 7, the coding C3~C0 of encoder 300 output changes;Interval at T2, encoder 300 exports the efficient coding C3~C0 of a CP3 pulse period;At T3, T4 and interval afterwards, coding C3~the C0 of encoder 300 output changes again and enters maintenance state, this maintenance state is probably such as S1 singly-bound and presses maintenance state below, output invalid key number, it is also likely to be S3 singly-bound and presses maintenance state below, export effective key number, until effectively operate next time.
D6 pulse in Fig. 7 schematically illustrates the coding C3~C0 of encoder 300 output and is in maintenance state, it does not have change, still changes, is absent from described D6 pulse in side circuit.As it is shown in fig. 7, D6 pulse is low level, the coding C3~C0 schematically illustrating encoder 300 output is in maintenance state, it does not have change;D6 pulse is high level, schematically illustrates encoder 300 and exports the efficient coding C3~C0 in a cycle.What the Q6 in Fig. 7 reflected is the situation of change of C31~C01, it is clear that Q6 postpones a CP3 pulse period than D6.Equally, side circuit is absent from described Q6 pulse.
In Fig. 7, coding C3~the C0 of encoder 300 output is in maintenance state, it is not changed in, still changes, be really the logic circuit being made up of 4 delay buffers 601, XOR gate 602, XOR gate 603, XOR gate 604, XOR gate 605 or door 606 and complete.Encode in outfan C3~C0 with encoder 300 respectively 1 of 4 XOR gates is corresponding, the input of input respectively 4 delay buffers 601, output signal.Such as, two inputs signal respectively C0 and C01, C01 of XOR gate 602 postpone a CP3 pulse period than C0, and therefore, when C0 changes, XOR gate 602 exports the positive pulse of 1 CP3 pulse period width;When C0 is a CP3 pulse period change width signal, XOR gate 602 exports the positive pulse of 2 CP3 pulse period width.XOR gate 603, XOR gate 604, XOR gate 605 judge whether C1~C3 changes respectively, and principle is with to judge whether C0 changes identical.XOR gate 602, XOR gate 603, XOR gate 604, XOR gate 605 outfan be respectively connecting to or the input of door 606, or whether door 606 changes for comprehensive descision C0~C3, as long as C0~C3 changes, or namely door 606 exports keyboard state change pulse F, and this pulse is positive pulse.
In embodiment, delay buffer 601 selects the 8D trigger 74HC273 that rising edge triggers.
Delay buffer 601 can also adopt other schemes, for instance, adopt RC circuit, utilize 4 RC circuit respectively C0~C3 to be postponed;If the time delay of RC circuit is less than a CP3 pulse period, when then encoder 300 exports the efficient coding C3~C0 in a cycle, starting and export efficient coding C3~C0 to terminate all to produce a keyboard state change pulse at output efficient coding C3~C0, the width of keyboard state change pulse is equal to RC circuit delay time;If the time delay of RC circuit is be more than or equal to a CP3 pulse period, when then encoder 300 exports the efficient coding C3~C0 in a cycle, producing a keyboard state change pulse when exporting efficient coding C3~C0 and starting, this pulse width is be more than or equal to 2 CP3 pulse periods.Require that the time delay of RC circuit is less than 2 CP3 pulse periods, in order to avoid producing to fail to report.
In described invention circuit, single key stroke, Macintosh operation, keyboard will be maintained the location that state operates, the conditional code of same binary length is converted to by 2 Pulse Width Control meeting specific time sequence requirement, adopt Unified coding mode process, single key stroke, Macintosh operation, keyboard maintain state operation be only embodied in conditional code not ibid;If needing increase and decrease button operation function or adjusting button operation function, it is not necessary to amendment keyboard scanning circuit structure, only need to update encoder 300 according to the state code table after increase and decrease, namely re-write the storage content updating read only memory.Described invention circuit does not use the microcontroller such as single-chip microcomputer, ARM, need not run program, reliable operation.

Claims (8)

1. a matrix keyboard scanning circuit and coding circuit, it is characterised in that be made up of matrix keyboard, the first shift register, the second shift register, conditional code depositor, encoder;
Described matrix keyboard has X row, Y row, is provided with N bit keyboard status signal output;Described N=X+Y;
Described matrix keyboard is provided with sampling pulse input;
Described first shift register has N bit synchronization parallel input terminal and serial output terminal;Described second shift register has serial input terminal and 2 × N parallel-by-bit outfan;
The N parallel-by-bit input of described first shift register is connected to N bit keyboard status signal output;The serial input terminal of the second shift register is connected to the serial output terminal of the first shift register;The clock pulse input terminal of the first shift register is connected to the first shift pulse, and the shift pulse input of the second shift register is connected to the second shift pulse, and the parallel input of the first shift register controls end and is connected to scanning impulse;
Described conditional code depositor is 2 × N position binary register;2 × N bit data input of conditional code depositor is connected to 2 × N parallel-by-bit outfan of the second shift register;The reception pulse input end of described conditional code depositor is connected to scanning impulse;
Described encoder has 2 × N position coding input end, and described 2 × N position coding input end is connected to 2 × N bit data outfan of conditional code depositor;Described encoder has M position key outfan.
2. a kind of matrix keyboard scanning circuit according to claim 1 and coding circuit, it is characterised in that: described encoder is read only memory.
3. a kind of matrix keyboard scanning circuit according to claim 1 and coding circuit, it is characterised in that: also include the circuit being made up of agitator, enumerator, pulsqe distributor;The circuit that described scanning impulse, the first shift pulse, the second shift pulse are made up of agitator, enumerator, pulsqe distributor produces.
4. a kind of matrix keyboard scanning circuit according to claim 3 and coding circuit, it is characterised in that: described pulsqe distributor is ROM memory.
5. a kind of matrix keyboard scanning circuit according to claim 1 and coding circuit, it is characterised in that: also include keyboard state change pulse generation unit.
6. a kind of matrix keyboard scanning circuit according to claim 5 and coding circuit, it is characterised in that: described keyboard state change pulse generation unit by M position delay buffer, M XOR gate and or door form;M position delay buffer is for carrying out signal delay respectively to the M position key number of matrix keyboard output;The input of the input of M XOR gate respectively M position delay buffer, output signal;The output of M XOR gate is respectively connecting to or the input of door;Or the outfan output keyboard state change pulse of door.
7. a kind of matrix keyboard scanning circuit according to claim 1 and coding circuit, it is characterised in that: described matrix keyboard is enabled effective row three state buffer by X row-Y row key-press matrix, low level, high level enables effective row three state buffer, trailing edge latches effective row status register, rising edge latches effective column-shaped state depositor and forms;The line of all key-press matrixs is respectively connecting to the outfan of row three state buffer, and the alignment of all key-press matrixs is respectively connecting to the outfan of row three state buffer;All inputs of row three state buffer and row three state buffer are connected to low level;The line of all key-press matrixs is respectively connecting to the input of row status register, and the alignment of all key-press matrixs is respectively connecting to the input of row status register;The outfan of described row status register and the outfan of row status register collectively constitute keyboard state signal output part.
8. a kind of matrix keyboard scanning circuit according to claim 7 and coding circuit, it is characterised in that: described low level enables effective row three state buffer, the enable of the high level effective row three state buffer of enable controls input and is connected to sampling pulse;Described trailing edge latches effective row status register, the reception pulse input end of the rising edge effective column-shaped state depositor of latch is connected to sampling pulse.
CN201620006900.1U 2016-01-05 2016-01-05 Matrix type keyboard scanning circuit and coding circuit Expired - Fee Related CN205384582U (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201620006900.1U CN205384582U (en) 2016-01-05 2016-01-05 Matrix type keyboard scanning circuit and coding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201620006900.1U CN205384582U (en) 2016-01-05 2016-01-05 Matrix type keyboard scanning circuit and coding circuit

Publications (1)

Publication Number Publication Date
CN205384582U true CN205384582U (en) 2016-07-13

Family

ID=56347350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201620006900.1U Expired - Fee Related CN205384582U (en) 2016-01-05 2016-01-05 Matrix type keyboard scanning circuit and coding circuit

Country Status (1)

Country Link
CN (1) CN205384582U (en)

Similar Documents

Publication Publication Date Title
CN105468164B (en) Matrix keyboard scanner uni coding circuit
CN105677055A (en) Matrix keyboard scanning circuit and method
CN205384582U (en) Matrix type keyboard scanning circuit and coding circuit
CN205490496U (en) Matrix type keyboard operation discernment and coding circuit
CN205318331U (en) Matrix type keyboard scanning and coding circuit
CN205320063U (en) Matrix type keyboard state recognition and coding circuit
CN105677051A (en) Stand-alone keyboard scanning circuit and coding circuit
CN205384581U (en) Stand alone type keyboard scanning circuit and coding circuit
CN105680873A (en) Independent keyboard scanning and encoding circuit
CN105700695A (en) Matrix keyboard scanning circuit and coding circuit
CN105677053A (en) Stand-alone keyboard operation identifying and coding circuit
CN205318332U (en) Discernment of stand alone type key board operation and coding circuit
CN105680875A (en) Operation identification and coding circuit of matrix keyboard
CN105677054B (en) Independent keyboard Scan orientation circuit
CN105700696A (en) Matrix keyboard scanning and coding circuit
CN105703780B (en) Matrix keyboard Scan orientation circuit
CN205485933U (en) Matrix type keyboard scans positioning circuit
CN105677052A (en) Stand-alone keyboard state identifying and coding circuit
CN205353947U (en) Stand alone type keyboard scan and coding circuit
CN105700698B (en) Matrix keyboard state recognition and coding circuit
CN105680874A (en) Matrix-type keyboard scanning circuit and scanning and encoding method
CN105700697A (en) Independent keyboard scanning circuit and method
CN105471439B (en) Independent keyboard scanner uni coding circuit
CN205490497U (en) Stand alone type keyboard scan positioning circuit
CN105677050A (en) Stand-alone keyboard scanning circuit and scanning coding method

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160713

Termination date: 20170105