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

    Flickering in 7segment display

      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.





        • 1. Re: Flickering in 7segment display

          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.





          • 2. Re: Flickering in 7segment display

            Dear Mr Bob,






            Please check attachments for details asked for.




            Thank you


            Best Regards


            Sasidharan Ps



            • 3. Re: Flickering in 7segment display

              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.