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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/17/11 05:34
Modified:
  09/17/11 06:08

Read: times


 
#183782 - "formulae"
Responding to: ???'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            01/01/70 00:00      
   use 89c52            01/01/70 00:00      
   "formulae"            01/01/70 00:00      
   How to post legible source code - and text            01/01/70 00:00      
      Legible source code            01/01/70 00:00      
         Not the whole message!            01/01/70 00:00      
            Thanks Andy got little messed up            01/01/70 00:00      
               Already answered            01/01/70 00:00      
                  Still not understanding isr with tick            01/01/70 00:00      
                     use may use this code            01/01/70 00:00      
                        Thanks for time            01/01/70 00:00      
                        Rewrote Source Code for Metalink Assembler            01/01/70 00:00      
                           keil assembler            01/01/70 00:00      
                           No need for picture            01/01/70 00:00      
                     try            01/01/70 00:00      
                        the code above is a typical illustration of ...            01/01/70 00:00      
                           You are right            01/01/70 00:00      
                              never too old            01/01/70 00:00      
                                 Never too late to pick up a new trick            01/01/70 00:00      
                                    One good trick ...            01/01/70 00:00      
                                 Score -1            01/01/70 00:00      
                                    Learn one before Jumping head            01/01/70 00:00      
                                       Learning Assembler First            01/01/70 00:00      
                                          I wholehardely concur.            01/01/70 00:00      
                        Thanks also you for your time            01/01/70 00:00      
   Here's something to try ...            01/01/70 00:00      
   One suggession for higher frequency            01/01/70 00:00      
      Remember no fractional part for            01/01/70 00:00      
         Precise frequency            01/01/70 00:00      
      I did not know that            01/01/70 00:00      
         89c2051            01/01/70 00:00      
            When you wrote code            01/01/70 00:00      
               You normally always need to test - but may not need to debug            01/01/70 00:00      
               it was example            01/01/70 00:00      
                  Ok then if I            01/01/70 00:00      
                     try            01/01/70 00:00      
                     depends            01/01/70 00:00      
                     Testing Code            01/01/70 00:00      
                        In short            01/01/70 00:00      
                           someone said it better            01/01/70 00:00      
                              "Proven Product" Syndrome            01/01/70 00:00      
                     Did you ever look at that MIDE51 I previously mentioned?            01/01/70 00:00      

Back to Subject List