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.

What is microcontroller?

Status
Not open for further replies.

thannara123

Advanced Member level 5
Joined
Jan 7, 2010
Messages
1,576
Helped
122
Reputation
244
Reaction score
114
Trophy points
1,353
Location
India
Activity points
10,345
What is microcontroller?

A microcontroller (sometimes abbreviated µC, uC or MCU) is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications.
Intel MCS-51 or 8051

The Intel MCS-51 is a Harvard architecture, single chip microcontroller (µC) series which was developed by Intel in 1980 for use in embedded systems.
Overview of the 8051

Made by Intel in 1981
An 8-bit, single-chip microcontroller optimized for control applications
128 bytes RAM, 4096 bytes (4KB) ROM, 2 timers, 1 serial port, 4 I/O ports
40 pins in a dual in-line package (DIP) layout

General Physical Features

4KB ROM

128 bytes internal RA

4 register banks of 8 bytes each (R0-R7)

16 bytes of bit-addressable area

80 bytes of general purpose memory

Four 8-bit I/O ports (P0-P3)

Two 16-bit timers (Timer0 & Timer1)

One serial receiver-transmitter interface

Five interrupt sources (2 external & 3 internal)

One oscillator (generates clock signal)

The 8051 Block Diagram

8051BlockDiagram
The 8051 Pin Assignments



Pinout Description

Pins 1-8: Port 1 Each of these pins can be configured as an input or an output.

Pin 9: RST A logic one on this pin disables the microcontroller and clears the contents of most registers. In other words, the positive voltage on this pin resets the microcontroller. By applying logic zero to this pin, the program starts execution from the beginning.

Pins10-17: Port 3 Similar to port 1, each of these pins can serve as general input or output. Besides, all of them have alternative functions:

Pin 10: RXD Serial asynchronous communication input or Serial synchronous communication output.

Pin 11: TXD Serial asynchronous communication output or Serial synchronous communication clock output.

Pin 12: INT0 Interrupt 0 input.

Pin 13: INT1 Interrupt 1 input.

Pin 14: T0 Counter 0 clock input.

Pin 15: T1 Counter 1 clock input.

Pin 16: WR Write to external (additional) RAM.

Pin 17: RD Read from external RAM.

Pin 18, 19: X2, X1 Internal oscillator input and output. A quartz crystal which specifies operating frequency is usually connected to these pins. Instead of it, miniature ceramics resonators can also be used for frequency stability. Later versions of microcontrollers operate at a frequency of 0 Hz up to over 50 Hz.

Pin 20: GND Ground.

Pin 21-28: Port 2 If there is no intention to use external memory then these port pins are configured as general inputs/outputs. In case external memory is used, the higher address byte, i.e. addresses A8-A15 will appear on this port. Even though memory with capacity of 64Kb is not used, which means that not all eight port bits are used for its addressing, the rest of them are not available as inputs/outputs.

Pin 29: PSEN If external ROM is used for storing program then a logic zero (0) appears on it every time the microcontroller reads a byte from memory.

Pin 30: ALE Prior to reading from external memory, the microcontroller puts the lower address byte (A0-A7) on P0 and activates the ALE output. After receiving signal from the ALE pin, the external register (usually 74HCT373 or 74HCT375 add-on chip) memorizes the state of P0 and uses it as a memory chip address. Immediately after that, the ALU pin is returned its previous logic state and P0 is now used as a Data Bus. As seen, port data multiplexing is performed by means of only one additional (and cheap) integrated circuit. In other words, this port is used for both data and address transmission.

Pin 31: EA By applying logic zero to this pin, P2 and P3 are used for data and address transmission with no regard to whether there is internal memory or not. It means that even there is a program written to the microcontroller, it will not be executed. Instead, the program written to external ROM will be executed. By applying logic one to the EA pin, the microcontroller will use both memories, first internal then external (if exists).

Pin 32-39: Port 0 Similar to P2, if external memory is not used, these pins can be used as general inputs/outputs. Otherwise, P0 is configured as address output (A0-A7) when the ALE pin is driven high (1) or as data output (Data Bus) when the ALE pin is driven low (0).

Pin 40: VCC +5V power supply.
 

Which micro controller is better for learning and write programming for begginners??
 

better you select 8051 or pic microcontrollers
 

yanamaddinaveen,

your question is very hard (for me, maybe for others is not). I choose ATMEL AVR series ATmega 8-bit microcontrollers, because I had a teacher who used that microcontrollers.

Do you have any board, or any programmer for microcontrollers? If you have something, that is the best for you, because in electronics is not enough to write the code, you must put that code in some flash memory. Just start with what you have or what you can buy or somebody to give you. After that, we will help you with examples and suggestions.
 

For me, i recommend the microcontroller brand (8051 / AVR / PIC) that you can find its resources (compiler + programmer + programming software)
i worked first on Atmel 89S52 then AVR ATmega 8535 & finaly PIC18F4520 & tell u something i'm finding that they are same, i mean u follow the same procedures in all of them. (for me)

good opinion: embedded - AVR or PIC to start programming Microcontroller? - Stack Overflow

one another solution is to get a development kit.
but what about your programming languages? u need to know C or assembly.

Note: a lot of people go with AVR or PIC, its your call!
 

I suggest beginners to start with p89v51Rd2 then to At89S51/52.
Then they can choose avr or pic.
I said P89v51rd2 first because they are very easy to program, and their programmer is cheap and easy to build.
 

yes it has boot-loader .so can direct interface with pc
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top