Posts: 5,362
Threads: 2,998
Joined: Feb 2011
[attachment=13151]
Introduction - Microcontroller
Introduction to 8051 Microprocessor:
The Intel 8051 is Harvard architecture, single chip microcontroller (µC) which was developed by Intel in 1980 for use in embedded systems. It was popular in the 1980s and early 1990s, but today it has largely been superseded by a vast range of enhanced devices with 8051-compatible processor cores that are manufactured by more than 20 independent manufacturers including Atmel, Infineon Technologies, Maxim Integrated Products (via its Dallas Semiconductor subsidiary), NXP (formerly Philips Semiconductor), Winbond, ST Microelectronics, Silicon Laboratories (formerly Cygnal), Texas Instruments and Cypress Semiconductor. Intel's official designation for the 8051 family of µCs is MCS 51.
Intel's original 8051 family was developed using NMOS technology, but later versions, identified by a letter "C" in their name, e.g. 80C51, used CMOS technology and were less power-hungry than their NMOS predecessors - this made them eminently more suitable for battery-powered devices.
Important features and applications:
It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package
8-bit data bus - It can access 8 bits of data in one operation (hence it is an 8-bit microcontroller)
16-bit address bus - It can access 216 memory locations - 64 kB each of RAM and ROM
On-chip RAM - 128 bytes ("Data Memory")
On-chip ROM - 4 kB ("Program Memory")
Four byte bi-directional input/output port
UART (serial port)
Two 16-bit timers
Two-level interrupt priority
Power saving mode
A particularly useful feature of the 8051 core is the inclusion of a boolean processing engine which allows bit-level boolean logic operations to be carried out directly and efficiently on internal registers and RAM. This feature helped to cement the 8051's popularity in industrial control applications. Another valued feature is that it has four separate register sets, which can be used to greatly reduce interrupt latency compared to the more common method of storing interrupt context on a stack.
8051 based microcontrollers typically include one or two UARTs, two or three timers, 128 or 256 bytes of internal data RAM (16 bytes of which are bit-addressable), up to 128 bytes of I/O, 512 bytes to 64 kB of internal program memory, and sometimes a quantity of extended data RAM (ERAM) located in the external data space. The original 8051 core ran at 12 clock cycles per machine cycle, with most instructions executing in one or two machine cycles. With a 12 MHz clock frequency, the 8051 could thus execute 1 million one-cycle instructions per second or 500,000 two-cycle instructions per second. Enhanced 8051 cores are now commonly used which run at six, four, two, or even one clock per machine cycle, and have clock frequencies of up to 100 MHz, and are thus capable of an even greater number of instructions per second. All SILabs, some Dallas and a few Atmel devices have single cycle cores.
Common features included in modern 8051 based microcontrollers include built-in reset timers with brown-out detection, on-chip oscillators, self-programmable Flash ROM program memory, bootloader code in ROM, EEPROM non-volatile data storage, I²C, SPI, and USB host interfaces, PWM generators, analog comparators, A/D and D/A converters, RTCs, extra counters and timers, in-circuit debugging facilities, more interrupt sources, and extra power saving modes.
Programming:
Several C compilers are available for the 8051, most of which feature extensions that allow the programmer to specify where each variable should be stored in its six types of memory, and provide access to 8051 specific hardware features such as the multiple register banks and bit manipulation instructions. Other high level languages such as Forth, BASIC, Pascal, PL/M and Modula 2 are available for the 8051, but they are less widely used than C and assembly.
Introduction to Robotics
A robot is a mechanical or virtual, artificial agent. It is usually an electromechanical system, which, by its appearance or movements, conveys a sense that it has intent or agency of its own. The word robot can refer to both physical robots and virtual software agents, but the latter are usually referred to as bots to differentiate.
While there is still discussion about which machines qualify as robots, a typical robot will have several, though not necessarily all of the following properties:
-is not 'natural' i.e. artificially created
-can sense its environment, and manipulate or interact with things in it
-has some ability to make choices based on the environment, often using automatic control or a preprogrammed sequence
-is programmable
-moves with one or more axes of rotation or translation
-makes dexterous coordinated movements
-appears to have intent or agency .
Defining characteristics:
The last property, the appearance of agency, is important when people are considering whether to call a machine a robot, or just a machine. In general, the more a machine has the appearance of agency, the more it is considered a robot.
Mental Agency:
For robotic engineers, the physical appearance of a machine is less important than the way its actions are controlled. The more the control system seems to have agency of its own, the more likely the machine is to be called a robot. An important feature of agency is the ability to make choices. So the more a machine could feasibly choose to do something different, the more agency it has. For example:
-a clockwork car is never considered a robot
-a remotely operated vehicle is sometimes considered a robot (or telerobot)
-a car with an onboard computer, like Bigtrak, which could drive in a programmable sequence, might be called a robot.
-a self-controlled car, like the 1990s driverless cars of Ernst Dickmanns, or the entries to the DARPA Grand Challenge, which could sense its environment, and make driving decisions based on this information would quite likely be called robot.
-a sentient car, like the fictional KITT, which can make decisions, navigate freely and converse fluently with a human, is usually considered a robot.