Going Embedded

Hey, I've been programming higher level laguages writing windows apps in c++/c# for years now, but increasingly I am being put to work at a lower level with 8051 micro-controllers. Having a very minimal background in electronics I have found a lot of things difficult in understanding a data sheet.

In particular I am having trouble understanding when I should set a GPIO port to open-drain or push pull, or when to use weak pullups & high impedance.

Is there any simple explanation you guys can offer for this, or better yet is there a good resource for learning enough about the hardware (in particular this open-drain /push pull stuff), well enough in order to program it?

Thanks for your time!

Parents
  • Some level of understanding of electronics is required when working with 8051-based MCU's. I would recommend the book 'The Art of Electronics.' Very easy to read, excellent for self-teaching. It might seem like an overkill to you, but you don't have to read all of it - it could be used as a reference. There should be some info on the net, like application notes. Here is one of them:
    www.maxim-ic.com/.../

    Probably unrelated to the question, but as has been pointed out many times in this forum, the 8051 architecture is not good at supporting the C programming language. It has severe limitations. You need to keep this in mind, especially having extensive background in PC programming: a PC has virtually unlimited resources compared to a 8051 CPU.

    Regards,
    - mike

Reply
  • Some level of understanding of electronics is required when working with 8051-based MCU's. I would recommend the book 'The Art of Electronics.' Very easy to read, excellent for self-teaching. It might seem like an overkill to you, but you don't have to read all of it - it could be used as a reference. There should be some info on the net, like application notes. Here is one of them:
    www.maxim-ic.com/.../

    Probably unrelated to the question, but as has been pointed out many times in this forum, the 8051 architecture is not good at supporting the C programming language. It has severe limitations. You need to keep this in mind, especially having extensive background in PC programming: a PC has virtually unlimited resources compared to a 8051 CPU.

    Regards,
    - mike

Children
More questions in this forum