A microcontroller (also MCU or µC) is a computer-on-a-chip, containing a processor, memory, and input/output functions. A computer is a Machine that manipulates data according to a list of instructions. Microchipsjpg|right|thumb|200px|Microchips ( EPROM memory with a transparent window showing the integrated circuit inside In Computing, input/output, or I/O, refers to the communication between an Information processing system (such as a Computer) and the outside It is a microprocessor emphasizing high integration, in contrast to a general-purpose microprocessor (the kind used in a PC). A microprocessor incorporates most or all of the functions of a Central processing unit (CPU on a single Integrated A personal computer ( PC) is any Computer whose original sales price size and capabilities make it useful for individuals and which is intended to be operated In addition to the usual arithmetic and logic elements of a general purpose microprocessor, the microcontroller integrates additional elements such as read-write memory for data storage, read-only memory for program storage, EEPROM for permanent data storage, peripheral devices, and input/output interfaces. EEPROM (also written E2PROM and pronounced e-e-prom or simply e-squared which stands for E lectrically E rasable P rogrammable At clock speeds of as little as a few MHz or even lower, microcontrollers often operate at very low speed compared to modern day microprocessors, but this is adequate for typical applications. They consume relatively little power (milliwatts), and will generally have the ability to sleep while waiting for an interesting peripheral event such as a button press to wake them up again to do something. Power consumption while sleeping may be just nanowatts, making them ideal for low power and long lasting battery applications.
Microcontrollers are frequently used in automatically controlled products and devices, such as automobile engine control systems, remote controls, office machines, appliances, power tools, and toys. By reducing the size, cost, and power consumption compared to a design using a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to electronically control many more processes.
The majority of computer systems in use today are embedded in other machinery, such as automobiles, telephones, appliances, and peripherals for computer systems. While some embedded systems are very sophisticated, many have minimal requirements for memory and program length, with no operating system, and low software complexity. An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints Typical input and output devices include switches, relays, solenoids, LEDs, small or custom LCD displays, radio frequency devices, and sensors for data such as temperature, humidity, light level etc. A relay is an electrical Switch that opens and closes under the control of another Electrical circuit. A solenoid is a three-dimensional Coil. In Physics, the term solenoid refers to a loop of wire often wrapped around a Metallic core which Embedded systems usually have no keyboard, screen, disks, printers, or other recognizable I/O devices of a personal computer, and may lack human interaction devices of any kind. A personal computer ( PC) is any Computer whose original sales price size and capabilities make it useful for individuals and which is intended to be operated
Microcontrollers must provide real time response to events in the system they are controlling. When certain events occur, an interrupt system can signal the processor to suspend processing the current instruction sequence and to begin an interrupt service routine (ISR). In Computing, an interrupt is an asynchronous signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change An interrupt handler, also known as an interrupt service routine ( ISR) is a callback subroutine in an Operating system or Device driver The ISR will perform any processing required based on the source of the interrupt before returning to the original instruction sequence. Possible interrupt sources are device dependent, and often include events such as an internal timer overflow, an analog to digital conversion completing, a logic level change on an input such as from a button being pressed, and data received on a communication link. Where power consumption is important as in battery operated devices, interrupts may also wake a microcontroller from a low power sleep state where the processor is halted until required to do something by a peripheral event.
Microcontroller programs must fit in the available on-chip program memory, since it would be costly to provide a system with external, expandable, memory. Compilers and assembly language are used to turn high-level language programs into a compact machine code for storage in the microcontroller's memory. Machine code or machine language is a system of instructions and data executed directly by a Computer 's Central processing unit. Depending on the device, the program memory may be permanent, read-only memory that can only be programmed at the factory, or program memory may be field-alterable flash or erasable read-only memory.
Since embedded processors are usually used to control devices, they sometimes need to accept input from the device they are controlling. This is the purpose of the analog to digital converter. An analog-to-digital converter (abbreviated ADC, A/D or A to D) is an electronic integrated circuit which converts continuous signals to Since processors are built to interpret and process digital data, i. e. 1's and 0's, they won't be able to do anything with the analog signals that may be being sent to it by a device. So the analog to digital converter is used to convert the incoming data into a form that the processor can recognize. An analog-to-digital converter (abbreviated ADC, A/D or A to D) is an electronic integrated circuit which converts continuous signals to There is also a digital to analog converter that allows the processor to send data to the device it is controlling. In Electronics, a digital-to-analog converter ( DAC or D-to-A) is a device for converting a digital (usually binary code to an Analog signal
In addition to the converters, many embedded microprocessors include a variety of timers as well. One of the most common types of timers is the Programmable Interval Timer, or PIT for short. In computing a Programmable Interval Timer ( PIT) is a counter which triggers an Interrupt when it reaches the programmed count A PIT just counts down from some value to zero. Once it reaches zero, it sends an interrupt to the processor indicating that it has finished counting. This is useful for things such as thermostats, which periodically test the temperature around them to see if they need to turn the air conditioner on, the heater on, etc.
Another feature is the time processing unit or TPU for short. It is essentially just another timer, but more sophisticated. In addition to counting down, the TPU can detect input events, generate output events, and other useful operations that are beyond the scope of this discussion.
In contrast to general-purpose CPUs, 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 + 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.
A microcontroller is a single integrated circuit, commonly with the following features:
This integration drastically reduces the number of chips and the amount of wiring and circuit board space that would be needed to produce equivalent systems using separate chips. Microchipsjpg|right|thumb|200px|Microchips ( EPROM memory with a transparent window showing the integrated circuit inside A bit is a binary digit, taking a value of either 0 or 1 Binary digits are a basic unit of Information storage and communication In Computing, input/output, or I/O, refers to the communication between an Information processing system (such as a Computer) and the outside In Computing, a serial port is a Serial communication physical interface through which information transfers in or out one Bit at a time (contrast A universal asynchronous receiver/transmitter (usually abbreviated UART and ˈjuːɑrt is a type of "asynchronous receiver/transmitter" a piece of Computer In Telecommunication and Computer science, serial communication is the process of sending data one Bit at one time sequentially over a Communication In Telecommunications and Computer networking, a network interface is one of The point of Interconnection between a user terminal I²C ( Inter-Integrated Circuit) is a multi-master serial Computer bus invented by Philips that is used to attach low-speed peripherals Interface The SPI bus specifies four logic signals SCLK &mdash Serial Clock (output from master MOSI/SIMO &mdash Master Output Slave Input (output For an account of the words periphery and peripheral as they are used in biology sociology politics computer hardware and other fields see the A timer is a specialized type of Clock. A timer can be used to control the sequence of an event or process Pulse-width modulation (PWM of a signal or power source involves the Modulation of its Duty cycle, to either convey information over a An EPROM, or E rasable P rogrammable '''''R'''ead-'''O'''nly '''M'''emory'', is a type of memory chip that retains its EEPROM (also written E2PROM and pronounced e-e-prom or simply e-squared which stands for E lectrically E rasable P rogrammable Flash memory is non-volatile computer memory that can be electrically erased and reprogrammed Computer programs (also software programs, or just programs) are instructions for a Computer. A clock generator is a circuit that produces a timing signal (known as a Clock signal and behaves as such for use in synchronizing a circuit's operation A resistor–capacitor circuit (RC circuit, or RC filter or RC network, is an Electric circuit composed of resistors and capacitors driven by An analog-to-digital converter (abbreviated ADC, A/D or A to D) is an electronic integrated circuit which converts continuous signals to A printed circuit board, or PCB, is used to mechanically support and electrically connect Electronic components using conductive pathways or traces Furthermore, and 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 systems since their introduction in the 1970s. An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints
Some microcontrollers use a Harvard architecture: separate memory buses for instructions and data, allowing accesses to take place concurrently. The Harvard architecture is a Computer architecture with physically separate storage and signal pathways for instructions and data 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-wise operations to make control programs more compact. 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 that would provide that commonly-required function.
Microcontrollers typically do not have a math coprocessor, so multiplication and division are carried out using a standard library, or the faster and more compact Horner method. A coprocessor is a Computer processor used to supplement the functions of the primary processor (the CPU In Numerical analysis, the Horner scheme or Horner algorithm, named after William George Horner, is an Algorithm for the efficient evaluation
About 55% of all CPUs sold in the world are 8-bit microcontrollers. Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their Address space is limited to 64 KBs This is not a "natural Over 2 billion 8-bit microcontrollers were sold in 1997. 
Another 10% of all CPUs sold in the world are more specialized digital signal processors (DSPs). A digital signal processor ( DSP or DSP micro) is a specialized Microprocessor designed specifically for Digital signal processing, generally 
Microcontrollers take the largest share of sales in the wider microprocessor market. Over 50% are "simple" controllers, and another 20% are more specialized digital signal processors (DSPs). A digital signal processor ( DSP or DSP micro) is a specialized Microprocessor designed specifically for Digital signal processing, generally A typical home in a developed country is likely to have only one or two general-purpose microprocessors but somewhere between one and two dozen microcontrollers. The term developed country, or advanced country, is used to categorize countries with developed Economies in which the tertiary and quaternary sectors A typical mid range automobile has as many as 50 or more microcontrollers. They can also be found in almost any electrical device: washing machines, microwave ovens, telephones etc. A broader definition of a tool is an entity used to interface between two or more domains that facilitates more effective action of one domain upon the other A washing machine, or washer, is a machine designed to clean Laundry, such as Clothing, Towels and sheets The term is mostly applied A microwave oven, or a microwave, is a Kitchen appliance that cooks or heats Food by Dielectric heating. Basic principle A traditional landline telephone system also known as "plain old telephone service" (POTS, commonly handles both signaling and audio information
Manufacturers have often produced special versions of their microcontrollers in order to help the hardware and software development of the target system. Software development is the translation of a user need or marketing goal into a Software product These have included EPROM versions that have a "window" on the top of the device through which program memory can be erased by ultra violet light, ready for reprogramming after a programming ("burn") and test cycle. An EPROM, or E rasable P rogrammable '''''R'''ead-'''O'''nly '''M'''emory'', is a type of memory chip that retains its Ultraviolet ( UV) light is Electromagnetic radiation with a Wavelength shorter than that of Visible light, but longer than X-rays
An economical option for intermediate levels of production (usually a few score to a few thousand parts) is a one-time programmable (OTP) microcontroller. This uses the same die as the UV EPROM version of the part, and is programmed on the same equipment, but the package does not include the expensive quartz window required to admit UV light on to the chip. Quartz (from German) is the most abundant Mineral in the Earth 's Continental crust (although Feldspar is more common in
Other versions may be available where the ROM is accessed as an external device rather than as internal memory. A simple EPROM programmer, rather than a more complex and expensive microcontroller programmer, may then be used, however there is a potential loss of functionality through pin outs being tied up with external memory addressing rather than for general input/output. An EPROM, or E rasable P rogrammable '''''R'''ead-'''O'''nly '''M'''emory'', is a type of memory chip that retains its These kind of devices usually carry a higher cost but if the target production quantities are small, certainly in the case of a hobbyist, they can be the most economical option compared with the set up charges involved in mask programmed devices.
A more rarely encountered development microcontroller is the "piggy back" version. This device has no internal ROM memory; instead pin outs on the top of the microcontroller form a socket into which a standard EPROM program memory device may be installed. An EPROM, or E rasable P rogrammable '''''R'''ead-'''O'''nly '''M'''emory'', is a type of memory chip that retains its The benefit of this approach is the release of microcontroller pins for input and output use rather than program memory. These kinds of devices are normally expensive and are impractical for anything but the development phase of a project or very small production quantities.
The use of field-programmable devices on a microcontroller may allow field update of the firmware or permit late factory revisions to products that have been assembled but not yet shipped. In Computing, firmware is a computer program that is Embedded in a hardware device for example a Microcontroller. Programmable memory also reduces the lead time required for deployment of a new product.
Where a large number of systems will be made (say, several thousand), the cost of a mask-programmed memory is amortized over all products sold. A simpler integrated circuit process is used, and the contents of the read-only memory are set in the last step of chip manufacture instead of after assembly and test. However, mask-programmed parts cannot be updated in the field. If product firmware updates are still contemplated, a socket may be used to hold the controller which can then be replaced by a service technician, if required.
Microcontrollers were originally programmed only in assembly language, but various high-level programming languages are now also in common use to target microcontrollers. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler In computing a high-level programming language is a Programming language with strong abstraction from the details of the computer These languages are either designed specially for the purpose, or versions of general purpose languages such as the C programming language. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured Compilers for general purpose languages will typically have some restrictions as well as enhancements to better support the unique characteristics of microcontrollers. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another
Interpreter firmware is also available for some microcontrollers. In Computer science, an interpreter normally means a Computer program that executes, i The Intel 8052 and Zilog Z8 were available with BASIC very early on, and BASIC is more recently used in the BASIC Stamp MCUs. The Intel 8051 is a Harvard architecture, single chip Microcontroller (µC which was developed by Intel in 1980 for use in Embedded systems Zilog Inc, often seen as ZiLOG (the official company denotation in 1998 through Jun 2007 is a manufacturer of 8-bit, 16-bit, 24-bit The Zilog Z8 is a Microcontroller architecture originally introduced in 1979 which today also includes the eZ8 Encore!, eZ8 Encore! XP, and In Computer programming, BASIC (an Acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of High-level programming languages The BASIC Stamp is a Microcontroller with a small specialized BASIC interpreter ( PBASIC) built into ROM.
Some microcontrollers have environments to aid developing certain types of applications, e. g. Analog Device's Blackfin processors with the LabVIEW environment and its programming language "G". Blackfin refers to a family of 16/32-bit Microprocessors with built-in Digital Signal Processor ( DSP) functionality which is traditionally only accompanied by LabVIEW (short for Lab oratory V irtual I nstrumentation E ngineering W orkbench is a platform and development environment for a
Simulators are available for some microcontrollers, such as in Microchip's MPLAB environment. Logic simulation is the use of a computer program to Simulate the operation of a Digital circuit. MPLAB Integrated Development Environment (IDE is a free integrated gcc -based toolset for the development of embedded applications employing Microchip's PIC and dsPIC microcontrollers These allow a developer to analyse what the behaviour of the microcontroller and their program should be if they were using the actual part. A simulator will show the internal processor state and also that of the outputs, as well as allowing input signals to be generated. While on the one hand most simulators will be limited from being unable to simulate much other hardware in a system, they can exercise conditions that may otherwise be hard to reproduce at will in the physical implementation, and can be the quickest way to debug and analyse problems.
Recent microcontrollers integrated with on-chip debug circuitry accessed by In-circuit emulator via JTAG enables a programmer to debug the software of an embedded system with a debugger. An in-circuit emulator (ICE is a hardware device used to debug the Software of an Embedded system. Joint Test Action Group ( JTAG) is the usual name used for the IEEE 1149 A debugger is a Computer program that is used to test and Debug other programs
In contrast to general-purpose computers, microcontrollers used in embedded systems often seek to minimize interrupt latency over instruction throughput. See also Latency (engineering In Realtime Operating Systems, Interrupt latency is the time between the generation of an Interrupt by a device
When an electronic device causes an interrupt, the intermediate results, the registers, have to be saved before the software responsible for handling the interrupt can run, and then must be put back after it is finished. If there are more registers, this saving and restoring process takes more time, increasing the latency.
Low-latency MCUs generally have relatively few registers in their central processing units, or they have "shadow registers", a duplicate register set that is only used by the interrupt software.
The first microcontroller was the Intel 8048, released in 1976. The Intel 8048 Microcontroller (µC (MCS-48 Intel's first microcontroller was used in the Magnavox Odyssey² Video game console, the Roland Jupiter-4 Year 1976 ( MCMLXXVI) was a Leap year starting on Thursday (link will display full calendar of the Gregorian calendar.
The popularity of microcontrollers increased when EEPROM memory was incorporated to replace one time programmable PROM memory. EEPROM (also written E2PROM and pronounced e-e-prom or simply e-squared which stands for E lectrically E rasable P rogrammable A programmable read-only memory ( PROM) or field programmable read-only memory ( FPROM) is a form of digital memory where the setting of each bit is With EEPROM, the development cycle of programming, testing and erasing a part could be repeated many times with the same part until the firmware was debugged and ready for production use.
Nowadays microcontrollers are low cost and readily available for hobbyists. A hobby is a spare-time Recreational pursuit Etymology A Hobby horse is a wooden or Wickerwork toy made to be
For almost every manufacturer of bare microcontrollers, there are various companies repacking its products into more hobbyist-friendly packages. Their product is often an MCU preloaded with a BASIC or similar interpreter, soldered onto a board with the same footprint as a Dual Inline Pin package for convenient prototyping, and possibly a few external components such as a power regulator and clock source. In Microelectronics, a dual in-line package (DIP, sometimes called a DIL package is an electronic device package with a rectangular housing and two parallel rows PICmicros seem to be very popular here, possibly due to good static protection. PIC is a family of Harvard architecture Microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument More powerful examples (e. g. faster execution, more RAM and code space) are based on Atmel AVR or Hitachi chips and now ARM.
Arduino is an open-source physical computing platform based on a simple input/output board and a development environment that implements the Processing/Wiring language. Arduino is a Physical computing platform based on a simple I/O board and a development environment that implements the Processing /Wiring language Physical computing, in the broadest sense means building interactive Physical systems by the use of Software and Hardware that can sense and respond to Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e. g. Flash, Processing, MaxMSP). The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free. In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers Arduino uses an ATmega8 or ATmega168 microcontroller from Atmel's Atmel AVR series. The AVR is a Modified Harvard architecture 8-bit RISC single chip Microcontroller (µC which was developed by Atmel in 1996
Parallax produce the BASIC Stamp. Parallax Inc is a privately held company in Rocklin California. The BASIC Stamp is a Microcontroller with a small specialized BASIC interpreter ( PBASIC) built into ROM. These are Microchip PIC microcontrollers programmed with an interpreter that processes a program stored in an external EEPROM. Several different modules are available of varying processing speeds, RAM, and EEPROM sizes. The BASIC Stamp is used by Parallax as a platform for introductory programming and robotic kits.
The Parallax SX line of microcontrollers, formerly made by Ubicom, are 8-bit RISC microcontrollers (using a 12-bit instruction word) which have an unusually high speed, up to 75 MHz (75 MIPS), and a high degree of flexibility. They include up to 4096 12-bit words of Flash memory and up to 262 bytes of random access memory, an eight bit counter and other support logic. They are especially geared toward the emulation of I/O hardware in software, which makes them very flexible. SX-Key is Parallax's development tool for the SX line, supporting every SX chip commercially available. The Parallax SX line of Microcontrollers were formerly made by Ubicom. Using free SX-Key software (Assembly language), or the SX/B Compiler (BASIC-style language) from Parallax, the SX-Key programming tool can program SX chips in-system and perform in-circuit source-level debugging.
The Propeller is a multi-core microcontroller developed by Parallax, Inc. The '''Parallax''' P8X32 Propeller, introduced in 2006, is a Multi-core architecture parallel Microcontroller The currently released version features eight 32 bit cores, each operating independently at 80MHz, and 32 I/O pins. Most instructions require 4 clock cycles, so each core runs at 20 MIPS. Hub instructions, used to access the 8192 32 bit words of system memory and to communicate between cores, require between 7 and 22 clock cycles. There are also 512 32 bit words of memory on each core, which can be used to avoid using the slower system memory instructions. It can be programmed both in assembly language and a custom interpreted language named SPIN.
This PICAXE range of controllers from Revolution Education Limited are also based upon Microchip PICs and programmed with a BASIC interpreter. PICAXE is the name of a UK-sourced Microcontroller system based on a range of Microchip PICs. Using internal EEPROM or Flash to store the user's program, they deliver a single-chip solution and are quite inexpensive. A PICAXE programmer is simply a serial plug plus two resistors, and complete development software, comprehensive documentation and application notes are all available free of charge.
The BASIC-like programming language is almost identical to that used by Parallax's Basic Stamp 1 (BS1) but has been enhanced to support on-chip hardware and additional functionality. In common with the BS1 programming language, the PICAXE has support only for a limited number of variables, but allows access to internal RAM for storage which helps overcome that limitation.
The 5. 0. X versions of the Visual IDE (the Programming Editor) introduced 'enhanced compilers' that support block-structured programming constructs plus conditional compilation and other directives. In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers
Initially targeted at the UK educational sector, use of the PICAXE has spread to hobbyists and semi-professionals, and it can also be found inside some commercial products.
Another range of controllers based upon Microchip PICs and supporting a programming language which is almost identical to that used by Parallax's Basic Stamp 1 (BS1) with enhancements similar to those of the PICAXE is the KicChip.
KicChip uses on-chip Flash to store the user's program and delivers an inexpensive single-chip solution. A KicChip programmer is simply a serial plug plus two resistors, and complete development software, the KicStudio is available free of charge.
KicChip firmware (the BASIC interpreter) is upgradeable by the end-user.
A-WIT Technologies, Inc.  has a microcontroller module named the C STAMP, along with support boards, kits, and software tools and infrastructure. The C STAMP is designed around a PIC microcontroller, and is programmed in a very user friendly subset of the standard C language called WC that is easy and powerful, because it relies on A-WIT's supplied software infrastructure. This microcontroller module is very affordable, and it has 48 pins, 35 KiB of memory, and runs at 40 MHz. A kibibyte (a contraction of ki lo bi nary byte) is a unit of Information or Computer storage, established by the International The C STAMP also has a vast array of accessories and components, which are supported by A-WIT's software interfaces that enables seamless connectivity. This, in turn, enhances the ease of complete system development.
Comfile Technology Inc.  produces a series of microcontrollers branded as CUBLOC and CuTOUCH, using the Atmel ATmega128 processor. The AVR is a Modified Harvard architecture 8-bit RISC single chip Microcontroller (µC which was developed by Atmel in 1996 They are very price competitive, being aimed at industrial applications, and include features such as Ladder Logic in addition to BASIC, a 80 kB program memory, and hardware pulse width modulation. Their focus is on developing industrial controllers which are fast, easy-to-use, and versatile. Comfile Technology's CuTOUCH is a visual Touch-screen controller that can be programmed in BASIC and Ladder Logic.
ARMexpress is the first of a new family of DIP-24 (stamp-sized) controllers that combine a 60 MHz ARM CPU with a builtin BASIC compiler to achieve new levels of performance in this form factor. This combination makes this simple to use but very fast controller a good choice for the prototype builder or system integrator. 40K of code and 40K of data are available to the user, and code speed rivals that of programs written in C. The dialect of BASIC conforms more to Visual BASIC, but has hardware extensions like PBASIC.
The ZX series MCUs are based on the Atmel ATmega32 and ATmega644 processors. The AVR is a Modified Harvard architecture 8-bit RISC single chip Microcontroller (µC which was developed by Atmel in 1996 The AVR is a Modified Harvard architecture 8-bit RISC single chip Microcontroller (µC which was developed by Atmel in 1996 The devices run a field-upgradable Virtual Machine that features built-in multi-tasking, 32-bit floating point math and 1. 5K to 3. 5K of RAM for user's programs. Multi-tasking facilitates a more structured approach to coding for interface devices that require prompt service, e. g. serial devices, infrared remotes, etc.
The programming language for the ZX series is ZBasic, a modern dialect of Basic modeled after Microsoft's Visual Basic. Enhancements over the typical MCU Basic dialect include the availability of parameterized subroutines/functions that support local variables, strong type checking, user-defined types (structures), based variables, sub-byte data types (Bit and Nibble).