hello, every body i'm working with the AT89C5115 of ATMEL and i want to generate a square pulse of 40Khz using the PCA( PWM, the capture or the timer ). for the moment i coulndn't resolve the problem PCA counter registers (CL and CH) doesn't increment even activated. ? if some one have informations i'll be gratefull thanks in advance
The "PCA cookbook" found at http://www.intel.com/design/MCS51/applnots/27085101.PDF gives suggestions and code for virtually any application of the PCA. I do not know your specific derivative (Atmel), but the Philips PCA implementations are extremely similar to those used in the Intel appnote. Erik
For a square Pulse of any Frequency I found the Timer 2 Output on P1.0 useful. Werner
thanks for informations, but finally i didnt use the pwm to generate a burst of 40khz, it wasn't possible for more than 25khz. so i wrote a function in assembly. i used directly the port (p1) by putting directly 0's and 1's in such a way to have a frequency of 40khz. for the timer2 through which pin we could generate the required signal, and i need two signals of 40khz. thanks all
hi, well even i'm working with the atmel mc T89C5115 and i havent found the logic for programming the PCA to generate a 25KHz freq wave which has 10% duty cycle. i wud be really thankful if u wud share any logic that u have with me on this topic. the cookbook abt philips wasnt helpful in programming the PCA since i was not able to understand the codes it had in assembly and moreover the mc used there was different. thanks, swapna
have you even looked at the PCA cookbook? Erik
erik, i have not only seen but read the cookbook and i found that it has information only about a few philips microcontrollers whereas i need information about atmel chips. moreover the code examples given there are in assembly which i'm not able to relate much to. the codes i wrote in C are giving me error as certain sfr's are not defined in particular register files. so any information on atmel chips wud be helpful. thanks, swapna.
i found that it has information only about a few philips microcontrollers whereas i need information about atmel chips. 10 there is no info on "philips chips" in the cookbook, only Intel. Who cares, if you had taken the time to check, you would have seen that the Atmel implementation is the same (maybe with a small expansion here or there). moreover the code examples given there are in assembly which i'm not able to relate much to. Then I will not give $0.05 for you C. If you do not know the underlying workings of your controller (have made some assembler) your C will be woefully inefficient. Erik
Dear dear Erik, there is no info on "philips chips" in the cookbook, only Intel. you dont need to tell me this as it is an INTEL cookbook. i can perfectly well realise that. maybe with a small expansion here or there... i hope u realise very well that while involving urself in major projects "small expansions" play a very important role....if i cud do these small expansions myself i wudnt waste my time posting this query on the site. still i'm "thankful" for ur "valuable advice". Then I will not give $0.05 for you C. My efficiency in C does not require ur evaluation and my requirement in my project far exceeds and involves in improving the efficiency of my controller so OBVIOUSLY i'm confident in my knowledge abt my controller. Other than commenting on my efficiency i wud appreciate sum genuine TECHNICAL advice. swapna.
"you dont need to tell me this as it is an INTEL cookbook. i can perfectly well realise that." I'm curious, then, why you keep stating that it refers to Philips chips? If you want to be taken seriously I suggest you avoid using the following childish nonsense: u urself cud wudnt ur abt wud sum
Perhaps Keil could apply a spell checker for all posts onto the board, and fire an error if any SMS-speak is detected in the post. Something along the lines of "There is no 160 character limit on this board. Please use FULL words. Or go post somewhere else."
since i was not able to understand the codes it had in assembly OBVIOUSLY i'm confident in my knowledge abt my controller That "confidence" is not worth much when you can not even read assembler. Erik
I still can't get over the open acrimony toward SMS-style word abbreviation here. Did any of you that read his post actually have to stutter for even a moment to understand what he meant by those abbreviations? If not, then he's communicating effectively enough for something informal like this. People on this board make the most abhorrent grammar errors every day--including some of those who are most vocal about SMS hatred. No one spends all day correcting those, so perhaps we should just let it go.
swapna, How to do this depends a bit on your clock frequency. Take a look at the datasheet for your chip. On page 76 it details the CMOD register. Two of the bits in this SFT are used for selecting the source for the PWM. This is how you control the PWM's frequency. As you can see, it can be a fixed fraction of the clock frequency, or if you need a specific frequency, it can be clocked from an overflow on a timer. The duty cycle is set by using the CCAPxH and CCAPxL registers, where x is the number of the PCA module you're using as a PWM. What happens is that the PCA counter counts up from 0x00 to 0xFF. Whenever the value of the counter is BELOW the value in CCAPxL, the output on that PCA module's pin is LOW. Whenever the value is HIGHER than CCAPxL, the output is high. CCAPxH is important because you don't load new values into CCAPxL directly. You put the desired value in CCAPxH and the hardware loads it for you when the PCA counter overflows. There are, of course, other important details involved, like how to put the PCA into PWM mode, but these are ALL included in the cookbook that everyone keeps admonishing you to read. As far as assembly versus C, if you've included the header files from Keil, writing a value to a register is simple. For instance, if you want to load 0x55 into the CCON register, just write
CCON = 0x55;
"I still can't get over the open acrimony toward SMS-style word abbreviation here. Did any of you that read his post actually have to stutter for even a moment to understand what he meant by those abbreviations?" It took me considerably longer to read and understand his post than it would have without the SMS. English is my first language, I read it quickly without having to think about the meaning of the words. When it is riddled with SMS, however, I frequently have to stop and mentally translate the abbreviations before I can make sense of it. If English were not my first language I doubt I'd be able to make sense of it at all. "If not, then he's communicating effectively enough for something informal like this." He could communicate much more effectively if he wrote English, which he is clearly capable of, rather than SMS. Making one's question as clear and easy to understand as possible is the best way to elicit a useful response, and shows that one at least has some respect for those one is asking for free advice from. "People on this board make the most abhorrent grammar errors every day--including some of those who are most vocal about SMS hatred. No one spends all day correcting those" Of course. The essential difference, though, is that grammatical errors are unintentional, whereas use of SMS is a conscious decision. That is why nobody wastes time correcting them. You'll notice that some posters don't have a very good grasp of English - nobody criticises them either. In fact, I make a lot of effort to try to understand broken English. "so perhaps we should just let it go." In some cases I don't think so. Generally I just ignore posts that contain a lot of SMS, but when the poster combines this with a refusal to take the advice he's been given I sometimes feel the need to say something.
Jay, I still can't get over the open acrimony toward SMS-style word abbreviation here. Did any of you that read his post actually have to stutter for even a moment to understand what he meant by those abbreviations? Yes, I had to decipher, rather than read. Many have stated "I write SMS because it is faster to write" OK, so you one save some time and the many readers will have to spend more time deciphering your message. Thus someone using SMS is, in fact saying "my time is more valuable than all other members of the forum combined". People on this board make the most abhorrent grammar errors every day-- Sure, but that is not done intentionally to save time at the cost of others. Erik