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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Stefan Kanev
09/16/11 23:34
Modified:
  09/17/11 00:08

Read: 328 times
Silistra
Bulgaria


 
#183782 - "formulae"
Responding to: Ralph Sac's previous message
Your Timer is running with XTAL/12 .
For every count in timer You have tick=((1/xtal))*12 time spended.
Timer's flag TF is settled when timer over-counts from 0ffffh to 10000h. Most significant bit does not exist in 16 bit timer, so TF is settled when timer changes from 0ffffh to 0000h. You are loading Timer1=TH1TL1==7634h ==35276(dec).
So (65536-TH1TL1)*tick is time between loading timer and settling TF1, in Your program this is semiperiod of output freq.
For F output frequency You have 1/2F seconds semiperiod.
1/(2*F)=(65536-TH1TL1)*tick.
Maximum semiperiod is 65536*tick, in Your case - 0.07 sec. So You need:
- to change crystal (which is not usual practice) OR
- to 'extend' counter's bit in software:
--- usually timer's setup is with thick 1, 10, 20 milliseconds - to be easy remembered and used for calculations in mind. Assume 10 milliseconds -
TH1TL1 should be (65536-9216). Then in some variable THIGHBITS count from 0 to 25 on every TF1 settling. When THIGHBITS becomes 25 - clear this variable and toggle output.


With 555 You can do it easy, but how about 10 microseconds pulse on each 10 minutes? Microcontrollers are fun for hobby.
good luck

List of 42 messages in thread
TopicAuthorDate
Need a little help with frequency      Ralph Sac      09/16/11 21:32      
   use 89c52      Maunik Choksi      09/16/11 23:00      
   "formulae"      Stefan KAnev      09/16/11 23:34      
   How to post legible source code - and text      Andy Neil      09/17/11 10:43      
      Legible source code      Ralph Sac      09/17/11 16:09      
         Not the whole message!      Andy Neil      09/17/11 16:16      
            Thanks Andy got little messed up      Ralph Sac      09/17/11 17:00      
               Already answered      Per Westermark      09/17/11 18:43      
                  Still not understanding isr with tick      Ralph Sac      09/23/11 21:33      
                     use may use this code      Maunik Choksi      09/23/11 23:19      
                        Thanks for time      Ralph Sac      09/24/11 18:43      
                        Rewrote Source Code for Metalink Assembler      Ralph Sac      10/20/11 18:36      
                           keil assembler      Maunik Choksi      10/20/11 23:25      
                           No need for picture      Maunik Choksi      10/21/11 07:36      
                     try      Stefan KAnev      09/23/11 23:34      
                        the code above is a typical illustration of ...      Erik Malund      09/24/11 07:35      
                           You are right      Ralph Sac      09/24/11 18:39      
                              never too old      Erik Malund      09/25/11 06:46      
                                 Never too late to pick up a new trick      Per Westermark      09/25/11 09:10      
                                    One good trick ...      Richard Erlacher      09/25/11 13:49      
                                 Score -1      Michael Karas      09/25/11 19:59      
                                    Learn one before Jumping head      Ralph Sac      09/26/11 21:11      
                                       Learning Assembler First      Michael Karas      09/27/11 00:41      
                                          I wholehardely concur.      Erik Malund      09/27/11 08:03      
                        Thanks also you for your time      Ralph Sac      09/24/11 18:46      
   Here's something to try ...      Richard Erlacher      09/24/11 14:57      
   One suggession for higher frequency      Maunik Choksi      09/26/11 02:00      
      Remember no fractional part for      Per Westermark      09/26/11 06:02      
         Precise frequency      Mahmood Elnasser      09/26/11 09:00      
      I did not know that      Ralph Sac      09/26/11 21:15      
         89c2051      Stefan KAnev      09/26/11 22:10      
            When you wrote code      Ralph Sac      09/27/11 12:10      
               You normally always need to test - but may not need to debug      Per Westermark      09/27/11 15:20      
               it was example      Stefan KAnev      09/27/11 15:20      
                  Ok then if I      Ralph Sac      09/27/11 15:40      
                     try      Stefan KAnev      09/27/11 21:54      
                     depends      Erik Malund      09/28/11 06:54      
                     Testing Code      Michael Karas      09/28/11 07:25      
                        In short      Per Westermark      09/28/11 08:41      
                           someone said it better      Erik Malund      09/28/11 09:03      
                              "Proven Product" Syndrome      Andy Neil      09/29/11 01:24      
                     Did you ever look at that MIDE51 I previously mentioned?      Richard Erlacher      10/21/11 01:39      

Back to Subject List