Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/04/06 08:23
Read: times


 
#109164 - Polling vs interrupts in a chess clock.
I'm designing a chess clock which is basically two LCDs with two related pushbuttons (PBs). Only one clock is active at a given time and it decrements at one second intervals. When the active clock's PB is pressed it stops decrementing and the other starts. When one clock reaches zero it just stops -- it's the player's duty to notice that he's run out of time.

At first I just assumed the way to go was to assign external interrupts (INT0/1) to the PBs and have one or two ISRs handle the LCDs. This is prob. because of my background in "real-computer" programming, but it does seem to be at least somewhat supported by various 8051 books and tutorials. However I understand from previous threads that you guys frown upon it, at least most of the time.

Some considerations that I can think of are:
Pro interrupts: this will be battery operated and I might power it down between seconds when the active display is changed;
Con: maybe it would need de-bounce hardware for the PBs (not a major problem). Actually I see from an old post a way to avoid this.
Con: maybe the ISR will have a problem controlling the LCDs; I understand its functionality is pretty restricted.

I would be most interested in hearing of more ideas.

Thanks,
Peter.

P.S. I'll be using SDCC on the 8051 Development Board from PJRC.


List of 41 messages in thread
TopicAuthorDate
Polling vs interrupts in a chess clock.            01/01/70 00:00      
   Polling            01/01/70 00:00      
      Debounce            01/01/70 00:00      
   Either            01/01/70 00:00      
      debounce?            01/01/70 00:00      
         Yes            01/01/70 00:00      
      Alternatively            01/01/70 00:00      
         but PBs update clocks asynchronously            01/01/70 00:00      
            micro time vs real time            01/01/70 00:00      
               One second is a long time in Blitz chess            01/01/70 00:00      
            Use a fast main loop            01/01/70 00:00      
               but this won't let us power-down            01/01/70 00:00      
                  Do what Ian says            01/01/70 00:00      
                     I don't understand            01/01/70 00:00      
                        set a flag in the PB ISR right?            01/01/70 00:00      
                           No pb isr as such.            01/01/70 00:00      
                              The PB INTs wake up the cpu also            01/01/70 00:00      
                                 re: The PB INTs wake up the cpu also            01/01/70 00:00      
                                    Still LCD            01/01/70 00:00      
                              Isn't PB bouncing going to be a problem?            01/01/70 00:00      
                                 No            01/01/70 00:00      
                                    OK, I get it now, thanks            01/01/70 00:00      
                                       In the timer loop            01/01/70 00:00      
                                          Is it?            01/01/70 00:00      
                                             No            01/01/70 00:00      
                                                ISR capability?            01/01/70 00:00      
                                                   Pick a way            01/01/70 00:00      
                                                   ISR reources            01/01/70 00:00      
               Debounce            01/01/70 00:00      
            Define Immediately            01/01/70 00:00      
               No if the debounce is post delay            01/01/70 00:00      
                  Granted            01/01/70 00:00      
               naah and to the question bu the OP            01/01/70 00:00      
   The smartest thing ...            01/01/70 00:00      
      Re the smartest thing            01/01/70 00:00      
         Re Re the smartest thing            01/01/70 00:00      
         as for the character LCD ...            01/01/70 00:00      
            There are several IC to do this            01/01/70 00:00      
               Perhaps it's cheaper ...            01/01/70 00:00      
                  DigiKey has them            01/01/70 00:00      
      Saving Power            01/01/70 00:00      

Back to Subject List