3 Replies Latest reply on Jul 26, 2016 11:38 AM by user_1377889

    Flickering in 7segment display

    pambaele_1755856

      We are doing new development using Cypress controllers. the controller is CY 8C4124Ax1-443, 44 pin TQFP ic. We made a digital thermostat using this controller. 13 nnos of capsense keys with backlit is provided. when back lit LED & 4nos of 7 segment LEDs are switched together we face flickering in dispaly & backlit leds. The uart operation is also not ok. Some time the controller hangs.

         

      Please resolve these problems. we are have few days left for completing the job.

         

      Regards,

         

      Sasidharan

        • 1. Re: Flickering in 7segment display
          user_1377889

          Welcome in the forum, Sasidharan.

             

          Can you please post your complete project, so that we all can have a look at all of your settings. To do so, use
          Creator->File->Create Workspace Bundle (minimal)
          and attach the resulting file.

             

           

             

          Bob

          • 2. Re: Flickering in 7segment display
            pambaele_1755856

            Dear Mr Bob,

               

             

               

            Greetings!

               

            Please check attachments for details asked for.

               

             

               

            Thank you

               

            Best Regards

               

            Sasidharan Ps

               

            +91-9895281311

            • 3. Re: Flickering in 7segment display
              user_1377889

              No Mr. Just "Bob"

                 

              The display needs to be timed very regularly or the naked eye will see the digits flicker.

                 

              You started to program that, but you did not finish it.

                 

              Write an interrupt handler for a timer which runs 100 * NumberofDigits, so that the display doesn't flicker.

                 

              In the interrupt handler:

                 

              Clear the interrupt cause (Timer_ClearInterrupt() API)

                 

              clear the current 7-segment digit

                 

              Change to the next digit selected

                 

              write the (now) current 7-segment digit pattern

                 

              This way, all the timing is kept in the interrupt handler which runs independently from other functions in main().

                 

               

                 

              You might experience some "ghost" segment lightning because the transistor driver for the selection might be slow. Check that in darkness. If there are "Ghost" segments put a few µs delay between the change of digit selected.

                 

               

                 

              There is a calculation error for the temperature. you will need intermediate float arithmetic because (5/9) will result in 0 (zero) and (9/5) will give 1.

                 

               

                 

              Bob