Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

About Learning Microcontrollers

Status
Not open for further replies.

Qaisar Azeemi

Full Member level 5
Joined
Feb 11, 2011
Messages
315
Helped
16
Reputation
32
Reaction score
15
Trophy points
1,298
Location
Peshawar, Pakistan, Pakistan
Activity points
3,829
HI All;

can any one learn the programming and interfacing of PIC, AVR, LPC etc and other microcontrollers only by searching internet and experiments and carry projects without teachers ore instructors?

i am fresh Graduate and beginner to this field and need help from experts.

hope you will help me.

thank you in anticipation.

Regards,

Qaisar Azeemi
 

Yes you can. But first make some steps like you read a book chapter and practice it. See MikroE website for learning PIC. 1st you try to learn PIC, next all will become easy for you.
 
It is better to select one of the microcontroller's before starting.

Regarding software it is easy to find tutorials and freeware through internet, but hardware you first need a programmer to burn the hex file which you wrote. I would advice you to get a good programmer and microcontrollers from the market.
 
thanks very much to all who replied,

Acctually i studied the book by Mackanzie and mazidi. but i need guide line for my practical field. now what i need is to know a proper guideline for work and carry different projects. i want to ask can some one get guidance and can solve different issues raised during development of projects without instructors?
 
Last edited:

1. Decide microcontroller. PIC micocontroller is better. 16F series is more popular. 16F628A, 16F876.
2.Purchase two or three pics.
3.Download and install Mplab from microchip site.
4. Download datasheet of the PIC selected.
5.Make a simple development board with 5V supply.
5. Make a simple programmer like jdm, plans are available on net.
6. Get some code for blinking a LED. Programmee PIC and test your hardware. Now you are ready to programme. Follow some tutorials, Study internal hardware from datasheet.
7. Assembly language is better initially. It let you explore the hardware inside pic in more detail. Latter you can choose other languages like basic or C.
I learned from net, when it was difficult to access.I started pic learning in 1999. PIC16F84 was popular then.
Nigel's PIC Tutorial Page
**broken link removed**
 
Last edited:
Hello!

1. Decide microcontroller. PIC micocontroller is better. 16F series is more popular. 16F628A, 16F876.

He cannot decide anymore because you have decided for him.
Pic is not necessarily better. Better than what, anyway?
If there was really 1 "better" microcontroller, then all the
others would vanish...

As for you points 2 to 6, that can be done with any microcontroller.
As for point 7, C is extremely close to assembly. I think there is no action that you can
do with assembly and that you cannot do with C. It's easier in ASM to use a specific
register of the MCU, but beside this, there is not much to be gained from ASM.
Recent compilers do their job so well that it's very difficult to do a better job
by hand. But this depends on how much time you have to spend to your project...

Dora.
 
I use AVR family, they are easy for a beginner. 8051s are also easy. I don't know about PIC. I have also used LCP2000 family (ARM7 code), but it would be better to move on with an 8bit MCU first.
Except all the above that mentioned by the other posters, you will need a hardware to test your code on. Simulators are good, but nothing can substitute the real thing! If you can design a board then it will also help you to improve your design skills. Otherwise you can walk the "safe path" of commercial evaluation boards with schematic designs included, sample programms etc. At this stage I think that an evaluation board would be a wiser choise, but of course it is up to you!

nandhu015 said:
It is better to select one of the microcontroller's before starting.
I couldn't agree more...


doraemon said:
Recent compilers do their job so well that it's very difficult to do a better job by hand.
I agree with that also. I would add on this that if you plan to get involved with a number of different MCU families, then I think that C is the best choice because of code portability. Assembly cannot offer that (but of course it can offer other advantages).


Qaisar Azeemi said:
now what i need is to know a proper guideline for work and carry different projects.
I would suggest to gather all your peripherals routines first (ports, UART, ADC etc), and then moving on to a project. Or you can start a project but first locate what peripherals you need, gather their routines and then move on to the project.
 
He cannot decide anymore because you have decided for him.
You know it is just a helping advice, not an order.
When i searched the forums to learn about microcontrollers, i often found people asking for some help and soon discussion turned to "which microcotroller is better?", discussing using term i did not knew. I started writing down these terms in a notebook hoping that someday i''ll know about,assuming they are micreocontroller related. Which included compiler options, language instructions and terms like arm, basic, eprom, flash, programe, programmer, interupt, routine ,macro, switchmode, micro, delay, io, hex bla bla bla.I got totally confused and soon lost my interest in learning. I wished i had a book on my table "Microcontroller for complete idiot" so that i start over again.
Then there was a small incomplete tutorial still there on net, made me feel that i know something. It just worked for me like a compiler and gave a meaning to random knowlege i had. I was looking for learning steps in stepwise manner and simple instuctions.
A newbie dont need to give importance to such discussions. Otherwise he'll not be able to blink his LED within a year.
Microchip has small and cheap devices but also has more powerful and not cheap at all devices. It is a myth that PICs are cheap, only the 8-pin devices are, however, that is what they sell the most. There is definitely a much wider variety of devices available for the 51-architecture from many vendors.
The long story short, if you want to depend on one vendor, you can go with Microchip and use a PIC, if you want to have alternatives, you should go with the 51-architecture.
Start with Philips and Atmel they have most devices, if you need something more special and are willing to pay more, go to Ctgnal or Triscend and lose the alternatives..
The PIC is specifically made for applications requiring a little, cheap computing, The '51 is when you need a little more and are willing to spend a little more.
There as some packages that have >32 pins in the PIC's , but to get the following..
For 64K code 512+ flash 2K+ eeprom you would have to use a PIC with external memory (16bit wide)...Which complicates everything..But is available in the T89c51rd2 as a single chip.
They now do a 68pin version aswell.
For some applications the '51 is the right choice, for others the PIC is. It is not that one is "better" than the other, both have their place. In general, the '51 is more powerful, has more derivatives and cost a tad more (a tad for the small, LPC devices, more than a tad for the more powerful ones)
**broken link removed** - Their parts have only flash, no built-in eeprom.
 
Last edited:
Definitely you can.

However, how steep the learning curve would be and how long it would take for you to get a feeling of having a glimpse into this field heavily depends on your existing knowledge background.

More specifically, if you are already familiar with C programming etc., you'll feel much more comfortable in diving into this field.
 
Last edited:
I've learned microcontrollers the way you asked about. I began from reading forums such as avrfreaks.net (no commercial intended) which is a goldmine of AVR related info. I've started with Atmel AVR because they are more popular in Poland. Also, I find them much more beginner friendly (maybe aside from the fact that they are easy to semi-brick when playing with config fuses).

I generally discourage everyone to use platform specific programming languages (Arduino, Picaxe, BASCOM, some drap&drop systems). The reason is that if you learn C, then can program any microcontroller available, it's just a matter of getting datasheet, IDE/compiler and hardware interface. Last thing also speaks in favor of AVR, because the most basic programmer for AVR (which is safe for your PC) consists of few resistors and a 74244 TTL chip + LPT connector (in fact everything can be fitted inside that connector's housing).


Good choice for beginner is also MSP430 which has simple programming rules, good support, free IDE and almost-free devboard ($4.30 shipped to your house for devboard with full featured usb debugger)
 
This forum is in my opinion one of the best forums for both beginners and experienced players. I have got much from browsing topics and asking questions and getting answers here. The gurus here are all VERY warm-hearted and willing to help beginners and those who needs help. They all ever were beginners sometime before after all. :p

Having said that, I have several tips for you:

- prepare to commit to the stuff you love;
- don't expect to get anything, even those seemingly trivial, be fully understood without your own tangible efforts
- download as many books, articles etc. as possible and find those suit you most;
- read as much as possible and don't expect to fully understand a book or an article at the very first time - go to other ones. You need to learn iteratively, a revisit of any stuff sometime later will give you a deeper insight of it, and bit by bit you can get a clear vision of the receding of the boundary of the unknown;
- don't just read, PLAY. Find a simple project as a starting point;
- datasheets are your good friend;
- Google are always your good friend;
- don't panic and forget the frustration you get from reading the daunting datasheets and the feeling of hopelessness of understanding the whole contents of a datasheet - sometimes you just need not understand every aspect of a datasheet, or, more importantly, you just don't have time to do so.
 
thank you very much poorchava. you really give me a usefull information, and really helped me. can you please give me the links for free IDE and Devboard. is MSP430 an avr controller.

thanks again.

---------- Post added at 10:27 ---------- Previous post was at 09:25 ----------

i am really very thankful to all my friends .. who encouraged me and guide me alot ....

now the problem is that when we start practical work we face many issues and teasing problems during hardware development, that take a lot of time to solve... how to tackle these problems in short time without an instructor. :-(

can any one please tell me what common problems can i face during my practical work and how to tackle them...

Thanks alot again.
 

It would be helpful to give a brief introduction of your current knowledge background.
 

@min2max:

I have Qualified MSC Electronics from Peshawar University, Pakistan.
I have knowledge about Microcontrollers, PLCs, HMI, SCADA, Industrial Electronics, Basic Electronics , Telecommunication, Electronics circuits and devices, Analog and Digital Electronics and Circuit design. but all this is Theoretical. I have very less Practical Experience.
I did a full functional Project using 4 89C51 Microcontrollers during my final year in MSC named Microcontroller based Queue Management System. in which analog and digital both fields of knowledge were involved. however i feel difficulty in working with electronic circuits you can say due to less confidence or less experience. thats why i want guidance from experts.
 

Aha, that's quite solid a qualification - much more substantial than what I used to imagine.

You have already both theoretical knowledge in electronics (analog and digital) and practical experience of some actual project with microcontroller (that means you are able to program with some language, C or assembly).

What you need to do is to have fun with what you are equipped with. :p
 

thank you very much poorchava. you really give me a usefull information, and really helped me. can you please give me the links for free IDE and Devboard. is MSP430 an avr controller.
You're welcome.

MSP430 is not an AVR. It's proprietary Texas Instruments architecture. It's optimized to achieve insanely low power consumption levels. Despite really rich option set for setting different clock modes, power-down modes etc it's very much like AVR in terms of programming, naming conventions in libraries. The biggest difference is that MSP430 is 16-bit architecture as opposed to AVR which is 8-bit.

IDE is IAR Embedded Workbench, which comercially costs truckload of money, but is free for student and learning purposes. It has dedicated MSP430 package and works with Launchpad without slightest problem (I've tested that on Win 7 32-bit).

Also most MSP430s work at 3.3V only (i think, at least i don't remind of any 5V chip)
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top