<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックDriving Keypads with Microcontroller</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186325#M13995</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm using an HCS08LG32 part.&amp;nbsp; Starting from an older design, I'm looking at upgrading&amp;nbsp;the design and perhaps removing some redundant or un-needed parts.&amp;nbsp; Currently, the uP is driving a buffer chip (74LS244) thru some series resistors to the keypad connector.&amp;nbsp; I am basically driving 4 inputs and, depending which key is pressed, an input is shorted to an output.&amp;nbsp; This in turn goes thru more series resistors to a CMOS NOR logic gate for eventual analysis to determine which key was pressed.&amp;nbsp; Please see the attached circuit.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question is what are the implications of removing the buffer chip and/or all the series resistors ?&amp;nbsp; Since the NOR gate is CMOS, I will keep the pull-downs for the inputs (since they'll be floating most of the time when no key is pressed).&amp;nbsp; I'm pretty sure that the uP can drive the NOR chip OK, but am not sure of what transients/problems might develop when keys are pressed/released.&amp;nbsp; Could these damage the uP ?&amp;nbsp; Could I get away with just some series resistors ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Mar 2010 01:18:12 GMT</pubDate>
    <dc:creator>Thunder</dc:creator>
    <dc:date>2010-03-26T01:18:12Z</dc:date>
    <item>
      <title>Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186325#M13995</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm using an HCS08LG32 part.&amp;nbsp; Starting from an older design, I'm looking at upgrading&amp;nbsp;the design and perhaps removing some redundant or un-needed parts.&amp;nbsp; Currently, the uP is driving a buffer chip (74LS244) thru some series resistors to the keypad connector.&amp;nbsp; I am basically driving 4 inputs and, depending which key is pressed, an input is shorted to an output.&amp;nbsp; This in turn goes thru more series resistors to a CMOS NOR logic gate for eventual analysis to determine which key was pressed.&amp;nbsp; Please see the attached circuit.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question is what are the implications of removing the buffer chip and/or all the series resistors ?&amp;nbsp; Since the NOR gate is CMOS, I will keep the pull-downs for the inputs (since they'll be floating most of the time when no key is pressed).&amp;nbsp; I'm pretty sure that the uP can drive the NOR chip OK, but am not sure of what transients/problems might develop when keys are pressed/released.&amp;nbsp; Could these damage the uP ?&amp;nbsp; Could I get away with just some series resistors ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Mar 2010 01:18:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186325#M13995</guid>
      <dc:creator>Thunder</dc:creator>
      <dc:date>2010-03-26T01:18:12Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186326#M13996</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The proximity of the keypad to the MCU will mainly determine the likelihood of induced transients, and the need for additional buffering.&amp;nbsp; If the keypad is in the same enclosure&amp;nbsp;as the MCU, I doubt that much would be gained by the buffering.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The series resistors were originally needed for current limiting should two or more keys associated with different columns be simultaneously pressed, where a conflict would occur between the active column and the inactive column(s).&amp;nbsp; If the MCU column outputs can be arranged so that only one column is actively driven at a time, and the other columns&amp;nbsp;are high-Z (inputs), the series resistors can be eliminated.&amp;nbsp; You may find it more convenient to change the active logic state to low, so that the internal pullups can be used when a column is inactive, rather than external pulldown resistors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I notice that the NOR-gate package (confusingly shown as a NAND gates in the schematic) is used as an encoder, to concentrate the six keypad rows into three inputs to the MCU.&amp;nbsp; If three additional GPIO pins happened to be available, the gate package could&amp;nbsp;also be eliminated, and the internal pullups utilized, giving further simplification.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, if you wish to retain the encoder, and use an active low column state, a NAND-gate (or AND-gate) package would now be needed, along with pullup resistors, rather than pulldown resistors.&amp;nbsp; A resistor value of 1k seems excessively low for the typical "standard" keypad.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Mar 2010 04:07:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186326#M13996</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-03-26T04:07:12Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186327#M13997</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Mar 2010 05:30:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186327#M13997</guid>
      <dc:creator>Thunder</dc:creator>
      <dc:date>2010-03-26T05:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186328#M13998</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your quick input.&amp;nbsp; The keypad scan algorithm I'm using is to write a logic 0 to the registers in each of the 4 driving uP pins.&amp;nbsp; Each uP "driver" is set up as an input with its pull-up resistor enabled.&amp;nbsp; Therefore, before the key scan, each uP pin driver is at a logic high (via the pullup).&amp;nbsp; The algorithm then sets each driver low one at a time &amp;nbsp;(by changing the data direction of the pin from an input to an output) while checking if a key was pressed.&amp;nbsp; I believe that this is something along the lines of what you're suggesting, i.e. preventing a conflict in the event that 2 keys are pressed simultaneously.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;They keypad is actually embedded into a metal plate, behind which the pcb is contected via&amp;nbsp;4 standoffs.&amp;nbsp; A 4-inch flat ribbon cable connects the pcb to the keypad.&amp;nbsp; I'll do some bench testing first by shorting all the series resistors and bypassing the buffer.&amp;nbsp; I would tend to agree that the liklihood of a fatal transient migrating to the uP would be minimal.&amp;nbsp; They keypad itself is covered by a non-conductive piece of flexible plastic, so I think we should be safe from static electricity from the user.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Mar 2010 05:43:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186328#M13998</guid>
      <dc:creator>Thunder</dc:creator>
      <dc:date>2010-03-26T05:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186329#M13999</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your description is basically&amp;nbsp;what I was suggesting.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With the present circuit arrangement, the 75HC27 device is actually a triple 3-input NOR gate package, and would require an active high state to work as an encoder.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For an active low state, to cater for the new configuration, the encoder device would need to be replaced by either a 74HC10 triple 3-input NAND gate, or a 74HC11 triple 3-input AND gate.&amp;nbsp; Using the latter AND device would mean that the 3-bit binary code for each keypress would remain the same as for the previous positive logic configuration.&amp;nbsp; Using the NAND gate would&amp;nbsp;provide inverted logic to the MCU.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not sure whether this was clear from my previous post.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Mar 2010 17:22:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186329#M13999</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2010-03-28T17:22:03Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186330#M14000</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I have found 3 extra IO pins on the uP which will be used in monitoring key presses.&amp;nbsp; Together with the other 3 pins to determine keypress output, I&amp;nbsp;can eliminate the logic gate altogether.&amp;nbsp; Now I have just the 4 "driving" pins to the keypad and the 6 GPIO which monitor output, removing also the buffer and series resistors.&amp;nbsp; Thanks again for your assistance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Mar 2010 01:59:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186330#M14000</guid>
      <dc:creator>Thunder</dc:creator>
      <dc:date>2010-03-29T01:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: Driving Keypads with Microcontroller</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186331#M14001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Static electricity is NOT blocked by a layer of non conductive plastic.&amp;nbsp; Your aliminum panel should be designed to SHUNT the static charge to ground.&amp;nbsp; You want to make sure the geometry of your housing and keypad conductors ALWAYS shunt the charge to the aluminum panel and NEVER to your keypad circuits.&amp;nbsp; You also want to make sure your PCB is star grounded to the chassis in such a way it is NOT in the static discharge curent path.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you are always continously scanning your keypad you will be radiating a LOT of noise into your environment and will most probably fail any type of FCC testing if you need to go there.&amp;nbsp; In my experience, I have learned to design the keypad matrix so the uC only reads the inputs until a button press is detected and then performs single scans at 50ms or 100ms intervals until no buttons are pressed and the uC can go into the continous read state.&amp;nbsp; The eliminates the noise to scan time only with a very low duty factor and nearly eliminates any FCC issues.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good Luck,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Peter House&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Mar 2010 20:32:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Driving-Keypads-with-Microcontroller/m-p/186331#M14001</guid>
      <dc:creator>PeterHouse</dc:creator>
      <dc:date>2010-03-29T20:32:00Z</dc:date>
    </item>
  </channel>
</rss>

