Microcontroller to understand architecture

In summary, the conversation discusses the individual's interest in self-studying computer architecture and their desire to use a microcontroller to solidify their understanding. They mention their preference for a microcontroller with a manageable instruction set, the ability to program in embedded C, and a development board. The individual specifically requests suggestions for PIC or AVR microcontrollers and mentions their institution's use of NXP's LPC microcontrollers in embedded systems courses. They also suggest taking a look at Intel's 8051 microcontroller for learning about architecture and instruction sets.
  • #1
amenhotep
29
1
Hello,
I've been self studying computer architecture and I'm also familiar with digital electronics. I was thinking of getting an actual microcontroller and try to commit all the material that I'm learning by actually playing with a real microcontroller.
Obviously PIC and AVR are among the most well known. What I want is a microcontroller that doesn't have the most complicated architecture, that I can program in embedded C (mostly), with a manageable instruction set (might learn Assembly) size and obviously has enough resources. It is preferable if it comes with a development board. Essentially, what I want is a microntroller that can really get me grounded in computer architecture.
Please restrict your suggestions to either PIC or AVR because its important that enough resources are available. If you've taken or you're taking a course on embedded system design, what microcontroller did/is your institution used/using. Also, don't suggest the Arduino, as it is in my opinion more targeted towards those who are interested the 'principles' of embedded systems without the need for understanding the underlying architecture.
Thanks.
 
Engineering news on Phys.org
  • #2
There are hundreds of PIC development boards for 8 to 32 bits controllers. I would start with the PIC18 series if you want to mainly program in C.
http://www.microchip.com/pagehandler/en-us/devtools/devtoolsmain/home.html
 
  • #3
PIC and AVR microcontrollers are indeed the most well known and most used ones in the Embedded Systems world.
I don't know the extent of your knowledge in this area but for a beginner you may want to use something a bit easier. I have no experience with the PIC's but the AVR microcontroller's their IDE (Atmel Studio 6) and proprietary Programmers/Debuggers may be a bit too technical or complicated if you start out.
In the Embedded Systems courses in which I was introduced to microcontrollers we used NXP's LPC microcontrollers.
I found the LPCXpresso IDE extremely simple to use since it's based on the eclipse IDE(Well known for Java development) and has many functions.
Among those functions the IDE also seems to have an instruction level debugging capability you may be interested in(I am not sure if Atmel studio has this function).

On another note. If you want to learn more about architecture and instruction sets specifically. I suggest you take a look at Intel's 8051 microcontroller and its assembly instruction set. It may be old. But the core is still used in modern microcontrollers. Also I think learning assembly can be very helpful in understanding architectures. If you have a basic understanding of a CPU(ALU, Registers etc.) assembly is not that hard to understand as many say.
 

1. What is a microcontroller?

A microcontroller is a small electronic device that contains a microprocessor, memory, and input/output peripherals on a single integrated circuit. It is designed to control a specific task or system and is commonly used in embedded systems such as consumer electronics, industrial control systems, and automotive systems.

2. What is the architecture of a microcontroller?

The architecture of a microcontroller refers to its internal organization and design. It includes the type and speed of the microprocessor, the amount and type of memory, and the number and type of input/output peripherals. The architecture can vary greatly depending on the specific purpose and application of the microcontroller.

3. What are the key components of a microcontroller?

The key components of a microcontroller include the microprocessor, memory, input/output peripherals, and a clock to synchronize operations. The microprocessor is the central processing unit (CPU) responsible for executing instructions and controlling the other components. Memory is used to store data and instructions, and input/output peripherals allow the microcontroller to communicate with external devices.

4. How is a microcontroller programmed?

A microcontroller can be programmed using a variety of languages such as C, C++, or assembly language. These languages are used to write code that is then compiled and stored in the microcontroller's memory. The microcontroller can also be programmed using a development board and specialized software, allowing for easier debugging and testing of the code.

5. What are the advantages of using a microcontroller in a system?

Microcontrollers offer several advantages in system design, including cost-effectiveness, compact size, low power consumption, and high reliability. They also allow for precise control and customization of a system's functions, making them ideal for a wide range of applications. Additionally, microcontrollers can be easily integrated with other electronic components, making them a versatile choice for complex systems.

Similar threads

  • Electrical Engineering
Replies
10
Views
2K
Replies
2
Views
1K
  • Electrical Engineering
Replies
3
Views
2K
  • Electrical Engineering
Replies
1
Views
1K
Replies
14
Views
2K
  • Electrical Engineering
Replies
4
Views
5K
  • Electrical Engineering
Replies
17
Views
23K
  • Electrical Engineering
Replies
11
Views
7K
  • Special and General Relativity
Replies
9
Views
1K
  • Computing and Technology
Replies
5
Views
2K
Back
Top