9 Replies Latest reply on May 9, 2015 2:28 AM by ambhc_285371

    no. of buttons possible with 8-bit uC

      Hello all,


      Greetings for the day.


             I'm working with the PSoC 1, device CY8C20x34-12


      It is a 8-bit micro-controller, I have configured 8 Buttons (+8 LED's) using this uC; my question is Can I configure more than 8 Buttons using this uC.


      it has 28 I/O's, 7required for (4- 2VDD, VSS, XRES & 3- 2EzI2Cs, Extr. Cap) & remaining available.


      If it is possible please guide me on it, also if you have some sample codes for it do forward.


      Thanks & Regards-



        • 1. Re: no. of buttons possible with 8-bit uC

          Using a ssop 20634 seems like tool indicates 27 pins can be capsense....








          Regards, Dana.

          • 2. Re: no. of buttons possible with 8-bit uC

            Thanks Dana,


            Did you mean 17/21?


            I mean how can I get 27 pins as capsense when


            4 out of 28 aren't accessable & another 3 are used for the Std. functions like EzI2Cs.


            Another thing is If  I can get a sample code for the 8+ Butoons I will have a brief idea how to assign the pins addresses for working of 8+ buttons.


            Any random code configured for 8+ buttons will help.


            Thanks & Regards-



            • 3. Re: no. of buttons possible with 8-bit uC

              Unless you make buttons dual function if the package does not


              have enough pins then you need to use a different device/package


              to get the amount of buttons you want.




              It may be possible to time mux things like I2C and Capsense


              but the complexity that brings to coding/debugging vs just get enough


              pins on a package I would think latter best path to design success.




              There is another approach where you use a pin, tie a multi R voltage divider


              to the pin with buttons wired to ground and an A/D looking at pin. You can


              cram quite a few buttons on a pin using this approach, you have to do a DC


              analysis to determine how many based on switch R and resistor tolerance


              and A/D accuracy.....








              Regards, Dana.

              • 4. Re: no. of buttons possible with 8-bit uC

                Hello Dana & Bob,


                I have code for working 8 buttons with Device CY8C20x34, now I am trying to increase the count to 16.


                To do this what will be the changes I will have to do in my code?


                I am trying it by defining 2 functions separately for the 2 packs of 8 buttons viz


                BYTE bButtonState_0 &  BYTE bButtonState_1 ; considering 8-bit controller thought of defining separate function for each 8 buttons.


                in accordance to this here are the changes I made in the code files :-


                Display.c file :-


                          void Capsense_DisplaySensorState(BYTE bButtonState)
                                     void Capsense_DisplayButtonState(BYTE bButtonState_0, BYTE bButtonState_1);




                           struct I2C_Regs
                                   BYTE bSensorIndex;
                                   WORD wSensorRawCount;
                                   WORD wSensorBaseline;
                                   WORD wSensorDiffCount;
                                   BYTE bButtonState_0;
                                   BYTE bButtonState_1;
                            } MyI2C_regs;


                        //display button state
                                         Capsense_DisplayButtonState(CSA_EMC_baSnsOnMask[0], CSA_EMC_baSnsOnMask[1]);


                I wish to know if I'm going on right track or not? Guide on it.


                Any ref. code for 8+ buttons will help, please share if you have one.


                Thanks & Regards-



                • 5. Re: no. of buttons possible with 8-bit uC

                  Fron Capsense deisgn guide -








                  Regards, Dana.

                  • 6. Re: no. of buttons possible with 8-bit uC

                    This ap note obsolete, not sure why, but cannot find project.








                    You could file a CASE to see if you can get project to examine.








                    To create a technical or issue case at Cypress -








                    “Technical Support”


                    “Create a Case”




                    You have to be registered on Cypress web site first.




                    Regards, Dana.

                    • 7. Re: no. of buttons possible with 8-bit uC

                      Hello Dana & Bob,




                      1.       I wish to implement 16 sensors on my device with PSoC 1 CY8C20534.


                      With that I'm using it for the 8 buttons currently, by unlocking the pins assigned to LED's I can get around 20-21 pins to configure as inputs.


                      I have tried to do it & I have done it for the 10 inputs (build ok), project for the same is attached; please check if I'm going write or not & tell me the modifications for the same to get it to 16.


                      2.         Can I get more than 16 buttons? what will be the changes for that? Defining " BYTE bButtonState_2 " ?


                      3.        Can I use DPDT switches to turn the desired appliance & corresponding LED with single Capsense Button? Currently I'm using SPDT one each for the appliance & LED Corrsp.


                      Also tell me if any simple & better way to do it. Please guide.


                      Thanks & Regards-



                      • 8. Re: no. of buttons possible with 8-bit uC

                        This can save pins with the following limitations -




                        1) LEDs must have low Vth


                        2) LEDs, when both on, wll have lower brightness then when


                        only one on.


                        3) You can turn on either LED with a 0 or one to pin , or both if pin









                        Regards, Dana.

                        • 9. Re: no. of buttons possible with 8-bit uC

                          Hello Dana,


                          Greetings for the day.


                          Now I'm trying to get 16 Buttons by removing/un-locking all the pins assigned to LED's (availabel =~21 pins).


                          To do this i.e. moving to Word from a Byte what are the changes I need to understand? Can you give  me any sample code for the word length without implementing LED's?


                          Do I need to define two variables BYTE bButtonstate_0 & BYTE bButtonstate_1 for two Bytes or with WORD wButtonstate will do the job?


                          Also tell about modifying other variable from byte to word & if any sample code to refer.


                          Is the index register a Byte or a Word?


                          Thanks & Regards-