This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

8051 C complier

Hello all,

I have been programming the 8051 chip using assembly for small programs and applications such as A to D converter, alarm clock, etc. In which I have learned that it is a great pain to do more complicated projects with assembly, as the number of lines of codes get larger and harder to track.

I have downloaded the uVision 4 C complier to try to replace assembly, but I'm having difficulties learning how to use it. I have had C/C++ programming before, but I must admit it has been a while since I used it.

Are there any tutorials on programming the 8051 using C?

Also, I have been trying to duplicate my counter project (counting from 0 to 99 using assembly code) with C. I have it count from 0 to 9, but I could not figure out how to do decimal adjust using C. Any idea? In assembly the code is simply DA

Thanks all,
Woozie

Parents
  • at this point, giving you sample code does more harm to you.

    I'm not sure I would go THAT far. I think most of us learned a lot of what we know about programming by examining other people's code and trying to figure out how it worked. However, I didn't learn much by asking other to tell me the answers. I worked hard to figure things out for myself.

    The example code I gave is trivial. There's nothing tricky about it. It uses typical C operators. Now it's time for the OP to break out a C book and see what it is that % and / and << do. If he has written assembly code and taken elementary to middle school math, it won't be hard.

    Jon

Reply
  • at this point, giving you sample code does more harm to you.

    I'm not sure I would go THAT far. I think most of us learned a lot of what we know about programming by examining other people's code and trying to figure out how it worked. However, I didn't learn much by asking other to tell me the answers. I worked hard to figure things out for myself.

    The example code I gave is trivial. There's nothing tricky about it. It uses typical C operators. Now it's time for the OP to break out a C book and see what it is that % and / and << do. If he has written assembly code and taken elementary to middle school math, it won't be hard.

    Jon

Children
  • I found it more helpful to learn by looking at other people's code and comparing them to see which one is more efficient. But that's my personal learning style.. I do not wish anybody to give me the entire program to solve my problem, and I didn't ask for one either.

    The only things I wasn't sure about that line of code was the % and <<, but now I know. Thanks for the explanation.

  • "I found it more helpful to learn by looking at other people's code"

    I agree. the downside with that risk, especially by taking a random stranger's code, often out of context or without context, before you have a good understanding of the language, may lead to incorrect understandings.

    what I would suggest is a good class / book in C, and then going through well written code pieces side by side with your book / class materials.

  • "going through well written code pieces"

    The trouble there is: how does a novice know whether code is "well-written" or not?

    And the trouble with a book is that you can't interact with it: you can't ask it to explain again; it can't look at your work to see where you're going wrong; it can't adjust to your particular strengths & weaknesses.

    "what I would suggest is a good class"

    Absolutely!

  • "And the trouble with a book is that you can't interact with it"

    I guess that's why books are useful only for humans, not machines.