??? 05/19/00 12:26 Read: times |
#2768 - RE: Clock generation using mc 89c52 |
Srikanth,
Babar Latif and I answered your question "How to use the mc for sending clock ?" when we suggested the ALE line be used. Here it is more clearly: Assume you run a 8051 crystal at 12Mhz. The fastest you can run a counted output is 1Mhz. However, if you use the ALE line as an external clock for your ADC, you'll get 2Mhz (minus a little if you run MOVX during the ADC conversion). The reason this works is that for one machine cycle (1Mhz rate) you get TWO ALE cycles (i.e. 2Mhz). The only exception is when you operate a MOVX instruction in which case you get one ALE cycle (1MHz). This technique clocks your ADC twice as fast and hence you'll have ADC conversions twice as fast. !?!?!? If you don't want answers twice as fast, you can either use a internal timer for 1MHz maximum, or use the ALE and immediatedly execute an inline string of many MOVX instructions to slow the ALE down. This would of course be silly. The real question you should ask yourself is can you afford to wait at a clock rate of 2Mhz or 1Mhz to process your ADC conversions. Your ADC appears to be capable of 10Mhz rate, at which it could process conversions 5 to 10 faster from your herein suggested 2Mhz or 1Mhz solution. As I mentioned in my previous answer, I chose not to add additional circuitry and not to waste an internal timer. I used my EXISTING ALE line and used it to clock the ADC at 2Mh. I didn't sacrifice an I/O pin and I didn't sacrifice a timer. Remember the ADC clock is just used to push its conversion through a state machine that does a binary search comparison for the digital valuation of its analog signal (anyone is welcome to split hairs on this). It is not an free oscillator requiring a fixed frequency. I assume that is why you distrusted using the ALE method??? -Jay C. Box |
Topic | Author | Date |
Clock generation using mc 89c52 | 01/01/70 00:00 | |
RE: Clock generation using mc 89c52 | 01/01/70 00:00 | |
RE: Clock generation using mc 89c52 | 01/01/70 00:00 | |
RE: Clock generation using mc 89c52 | 01/01/70 00:00 | |
RE: Clock generation using mc 89c52 | 01/01/70 00:00 | |
RE: Clock generation using mc 89c52![]() | 01/01/70 00:00 |