Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Microcontroller
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Higher integration == [[Image:PIC12C508-HD.jpg|thumb|[[Die (integrated circuit)|Die]] of a PIC12C508 8-bit, fully static, [[EEPROM]]/[[EPROM]]/[[Mask ROM|ROM]]-based [[CMOS]] microcontroller manufactured by [[Microchip Technology]] using a 1200 [[nanometer]] process]] [[Image:STM32F100C4T6B-HD.jpg|thumb|[[Die (integrated circuit)|Die]] of a STM32F100C4T6B [[ARM Cortex-M]]3 microcontroller with 16 [[kilobyte]]s [[flash memory]], 24 [[hertz|MHz]] [[central processing unit]] (CPU), [[motor controller|motor control]] and [[Consumer Electronics Control]] (CEC) functions. Manufactured by [[STMicroelectronics]].]] Microcontrollers may not implement an external address or data bus as they integrate RAM and [[non-volatile memory]] on the same chip as the CPU. Using fewer pins, the chip can be placed in a much smaller, cheaper package. Integrating the memory and other peripherals on a single chip and testing them as a unit increases the cost of that chip, but often results in decreased net cost of the embedded system as a whole. Even if the cost of a CPU that has integrated peripherals is slightly more than the cost of a CPU and external peripherals, having fewer chips typically allows a smaller and cheaper circuit board, and reduces the labor required to assemble and test the circuit board, in addition to tending to decrease the defect rate for the finished assembly. A microcontroller is a single [[integrated circuit]], commonly with the following features: * [[central processing unit]]{{snd}} ranging from small and simple [[4-bit computing|4-bit]] processors to complex [[32-bit computing|32-bit]] or [[64-bit computing|64-bit]] processors * volatile memory ([[RAM]]) for data storage * [[Read-only memory|ROM]], [[EPROM]], [[EEPROM]] or [[Flash memory]] for [[Computer program|program]] and operating parameter storage * discrete input and output bits, allowing control or detection of the logic state of an individual package pin * serial [[input/output]] such as [[serial port]]s ([[UART]]s) * other [[serial communications]] [[Network interface controller|interfaces]] like [[IΒ²C]], [[Serial Peripheral Interface]] and [[Controller Area Network]] for system interconnect * [[peripheral]]s such as [[timer]]s, event counters, [[Pulse-width modulation|PWM generators]], and [[Watchdog timer|watchdog]] * [[clock generator]]{{snd}} often an oscillator for a quartz timing crystal, resonator or [[RC circuit]] * many include analog-to-digital converters, some include digital-to-analog converters * [[in-circuit programming]] and [[in-circuit debugging]] support This integration drastically reduces the number of chips and the amount of wiring and [[Printed circuit board|circuit board]] space that would be needed to produce equivalent systems using separate chips. Furthermore, on low pin count devices in particular, each pin may interface to several internal peripherals, with the pin function selected by software. This allows a part to be used in a wider variety of applications than if pins had dedicated functions. Microcontrollers have proved to be highly popular in [[embedded system]]s since their introduction in the 1970s. Some microcontrollers use a [[Harvard architecture]]: separate memory buses for instructions and data, allowing accesses to take place concurrently. Where a Harvard architecture is used, instruction words for the processor may be a different bit size than the length of internal memory and registers; for example: 12-bit instructions used with 8-bit data registers. The decision of which peripheral to integrate is often difficult. The microcontroller vendors often trade operating frequencies and system design flexibility against time-to-market requirements from their customers and overall lower system cost. Manufacturers have to balance the need to minimize the chip size against additional functionality. Microcontroller architectures vary widely. Some designs include general-purpose microprocessor cores, with one or more ROM, RAM, or I/O functions integrated onto the package. Other designs are purpose-built for control applications. A microcontroller instruction set usually has many instructions intended for [[bit manipulation]] (bit-wise operations) to make control programs more compact.<ref>{{cite web |url=http://www.popsci.com/diy/article/2009-01/dot-dot-programming |title=Easy Way to build a microcontroller project|date=14 January 2009 }}</ref> For example, a general-purpose processor might require several instructions to test a bit in a register and branch if the bit is set, where a microcontroller could have a single instruction to provide that commonly required function. Microcontrollers historically have not had [[math coprocessor]]s, so [[floating-point arithmetic]] has been performed by software. However, some recent designs do include FPUs and DSP-optimized features. An example would be Microchip's PIC32 MIPS-based line.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)