DIGITAL AUDIO PROCESSOR USING AT89C51
Active In SP
Joined: Feb 2011
03-03-2011, 11:48 AM
DAP-FINAL REPORT.doc (Size: 793.5 KB / Downloads: 141)
DIGITAL AUDIO PROCESSOR USING AT89C51
This report presents an infrared (IR) remote-controlled digital audio processor.
It is based on a microcontroller and can be used with any NEC-compatible full function
IR remote-control. This audio processor has enhanced features and can be easily customized to meet individual requirements as it is programmable.
Its main features are:
1. Full remote control using any NEC-compatible IR remote control handset.
2. Provision for four stereo input channels and one stereo output.
3. Individual gain control for each input channel to handle different sources.
4. Bass, midrange, treble, mute and attenuation control.
5. 80-step control for volume and 15-step control for bass, midrange and treble
6. Settings displayed on two 7-segment light-emitting diode (LED) displays and eight individual LEDs.
7. Stereo VU level indication on 10-LED bar display.
8. Full-function keys on-board for audio amplifier control.
9. All settings stored on the EEPROM.
10. Standby mode for amplifier power control.
2.1 Definition of A Microcontroller:
Microcontroller, as the name suggests, are small controllers. They are like single chip computers that are often embedded into other systems to function as processing/controlling unit. For example, the remote control you are using probably has microcontrollers inside that do decoding and other controlling functions. They are also used in automobiles, washing machines, microwave ovens, toys ... etc, where automation is needed.
The key features of microcontrollers include:
High Integration of Functionality
Microcontrollers sometimes are called single-chip computers because they have on-chip memory and I/O circuitry and other circuitries that enable them to function as small standalone computers without other supporting circuitry.
Field Programmability, Flexibility
Microcontrollers often use EEPROM or EPROM as their storage device to allow field programmability so they are flexible to use. Once the program is tested to be correct then large quantities of microcontrollers can be programmed to be used in embedded systems.
Easy to Use
Assembly language is often used in microcontrollers and since they usually follow RISC architecture, the instruction set is small. The development package of microcontrollers often includes an assembler, a simulator, a programmer to "burn" the chip and a demonstration board. Some packages include a high level language compiler such as a C compiler and more sophisticated libraries.
Most microcontrollers will also combine other devices such as:
A Timer module to allow the microcontroller to perform tasks for certain time periods.
A serial I/O port to allow data to flow between the microcontroller and other devices such as a PC or another microcontroller.
An ADC to allow the microcontroller to accept analogue input data for processing.
The heart of the microcontroller is the CPU core. In the past this has traditionally been based on an 8-bit microprocessor unit.
2.2 Pin Description:
Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance inputs.
Port 0 may also be configured to be the multiplexed low order address/data bus during accesses to external program and data memory. In this mode P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming, and outputs the code bytes during program verification. External pull-ups are required during program verification.
Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order address bytes during Flash programming and verification.
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that uses 16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pull-ups when emitting 1s. During accesses to external data memory that uses 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.
Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups. Port 3 also receives some control signals for Flash programming and verification. Port 3 also serves the functions of various special features of the AT89C51 as listed