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

    no. of buttons possible with 8-bit uC

    user_420283366

      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-

         

      Amit

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

          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
            user_420283366

            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-

               

            Amit

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

              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
                user_420283366

                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);
                               }

                   

                Main.c

                   

                           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-

                   

                Amit

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

                  Fron Capsense deisgn guide -

                     

                   

                     

                   

                     

                   

                     

                  Regards, Dana.

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

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

                       

                     

                       

                    www.cypress.com/

                       

                     

                       

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

                       

                     

                       

                        

                       

                              

                       

                    To create a technical or issue case at Cypress -

                       

                     

                       

                    www.cypress.com

                       

                    “Support”

                       

                    “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
                      user_420283366

                      Hello Dana & Bob,

                         

                      Greetings!

                         

                      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-

                         

                      Amit

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

                        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

                           

                        tristated.

                           

                         

                           

                           

                         

                           

                        Regards, Dana.

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

                          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-

                             

                          Amit