We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear sirs and madams
I present the following program to which i am simulating on a 8051 MCU
#include <reg51.h>
#include <stdio.h> #define output P0
void main () { unsigned int x;
while(1) { output = 1;
for(x=0; x<65000; x++) {
}
output = 0; for(x=0; x<65000; x++) {
My problem is that i am attempting to learn timing delays. For this program the P0 goes from 0 to 1 with a delay between. When i debug the program and run it with peripheral P0 open, it switches the value from 0 to 1 BUT the problem is its going to fast no matter how much delay i am putting in.
Please help me
A nanosecond delay cannot be achieved using 8051 assembler.
I think that is an incorrect statement.
"I think that is an incorrect statement."
You are incorrect thinking that.
Then we need to ask again:
How fast will your 8051's CPU run to achieve a nanosecond delay?
Why? The assembler doesn't set the speed the code runs at. The code it makes does that.
Can you tell me the top speed for c? or pascal? or python? or html?
I still think I am correct.
That is a different question.
"The code it makes does that."
A nanosecond delay cannot be achieved with an 8051 running machine code sourced from any language.
I know that. I didn't question that.
You didn't answer my question.
I question the semantics.
"I know that."
Finally. You get the gold star.
I know who you are ;)
"That is a different question."
'diff' indicates that it is an identical question.
You must speak to Quee Fing. See if one of you can find out what an assembler is.
You won't need to travel far.
People in favour of generating nanosecond delay....answer this
How does a CPU running on 12MHz/12 = 1MHz be able to generate delay in nano second. each CPU machine cycle is of 1micro second. _unless you are headbent in writing everything in nano seconds_
is there any relation between the assembler and the 'time delay'? (as far as i know, time delays are generated on actual hardware....and assembler is a software that merely generates *.obj files which inturn are linked to generate *.hex file)
PS: I aint any genius. hence correct me, instead of criticizing. :)