Density Based Traffic Light Controlling
Density Based Traffic Light Controlling
Density Based Traffic Light Controlling
TABLE OF CONTENTS:
1. 2. 3. 4.
5.
COMPONENT DESCRIPTION
5.1 .AT89S52 5.2. IR PAIRS 5.3. LED S 5.4 LCD
6. 7.
CODING REFERENCE
ABSTRACT Aim: The aim of the project is to build a Traffic Control System Based on
Density. Scope: Now a days public is facing lot of problems due the traffic control especially where the heavy traffic junctions are present. In order to solve the above problem the government has implemented traffic light system, by which each side/way will be given an appropriate time for the vehicles to move on at regular time intervals. This is the scenario what we observe on behalf of traffic control system. In the above scenario the traffic signal to a particular way will be given only after a particular time period. i.e., a time period is fixed we have observed a case where the density of the traffic is more on one way when compared to the other side. At this level the time is being wasted leaving the junction cool for some time. Due to this there are many problems. In order to solve the above problem we have designed this project. Where we can automatically observe the density of the traffic and give that particular way priority and exceed the problem. In the present project we are using the help of IR Tx and Rx pairs at particular intervals and taking appropriate calculation of the density and at the same time giving priority to the way which is having high density and by doing this the traffic will be automatically controlled based on density of the traffic.
BLOCK DIAGRAM:
Tx Rx Tx Tx Rx Tx
ROG
Rx Tx Rx Rx Tx red Red R O G
R O G
Rx
R O G
Rx
Tx
Rx
Tx
Rx Tx
Tx Rx Tx
Rx Tx Rx
IR pairs
Traffic lights
SCHEMATIC DIAGRAM
V 1 0 K P U L L U P 1 0 K P U L L U P 4 . 7 K
C V
C C
G N D
C 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 C C
R8 R7 R6 R5 R4 R3 R2 R1 C
C R1 R2 R3 R4 R5 R6 R7 R8
V 1 2 3 4 5 6 7 8 9
C ( ( P P P ( ( ( R 0 1) 2 3 4 5 6 ( ( ( ( ( ( (
C 4 1 . 0 V C C3 E X )P P . 1 0 . / 1 A 3 0 2 P 0 . 1 / A3 3 P 0 . 2 / A3 4 P 0 . 3 / A3 S I ) P P0 1 4 . /5 A 3 . S O ) P P0 1 5 . /6 A 3 . K ) PP 01 . . 6 7 / A 3 T P 0 . 7 / A3 E A / V P R X D ) P 3 . 0 3 T X D ) A P L 3 E . 1/ P R I N T 0 ) P 3 . 2 2 I N T 1 ) P P3 S 3 E 2 N . T 0 ) P 3 P . 42 . 7 / A T 1 ) P 3 . 5 2 W R ) P P 3 2 . .6 6 / A 2 P 2 . 5 / A 2 R D ) P P3 2 7 . 4 / A . 2 T A L 2 P 2 . 3 / A 2 P 2 . 2 / A 2 T A L 1 P 2 . 1 /2 A N D P 2 . 0 / A T 2 T 2 1 . 1 . 1 . M O M I S C S ) P V 0 9 D 8 D 7 D 6 D 5 D 4 D 3 D 2 D 1 P 0 O
C 0 1 2 3 4 5 6 7 G
C P G P 0 . 1 N D 0 . 3
R E D D D D
S N 4 5 6 7 ( ( ( (
( L C ( L L L L L C C C C C
D D D D D D ) ) ) )
) ) 5 T R I M K P O T
F F F
R R R
O O O R R
M M M S
I S I S I S T
P P P
2 O U T 2 I N
1 T ( M A X 2 3 12 ( M A X 2 3 2 ) 1 1 1 1 1 1 1 1 2
P P P P
0 0 0 0
. . . .
4 5 6 7
C V
0 1 2 3 4 5 V C C 6 G N D
9 8 1 5 7 61 51 41 31 21 4 3 2 1 0 D C M O T O R 1 0 u V C C
G N D
V
G N D
L
C
LCD DISPLAY
( M C P 3 2 0 1 ) D O U T ( M C P 3 2 0 1 ) C S ( M C P 3 2 0 1 )
G V V R R E D D D D D D D D
N D C C E E S W N 0 1 2 3 4 5 6 7
9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9
C
C
X T A X T A
L L
2 1
7 8 ( X 9 0 X G
1 0 f / 6 3 v
1 9 8 V C C
u f / 6 3 v 1 C 1 + 2 3
V C C 1 6 G N D 1 5
G N D
V S + C 1 C 2 + C 2 V S T 2 O U T R 2 I N
T 1 O U T1 4 R 1 I N1 3 R 1 O U T1 2 T 1 I N1 1 T 2 I N1 0 R 2 O U T9
P P 3 . 1 3 . 0 ( T X D ( R X D ) )
G N D
9 8 7 6 5 4 3 2 1
T 8 9 S
5 2
1 P 1 0 3 2 1
0 u f / 6 3 4v 5 u f / 6 3 v 6 7 8
1 0 K
C R1 R2 R3 R4 R5 R6 R7 R8
P U L L U
G S M
B R 4 I D G E 1 R V E
M O D E M
O / P
G N D
2
V
3
C
2
C
2 1 2 3 0 V , A
7 8 0 5
I N V
T I F O
R
U
I E 3
E G
T
L VA C T C O
2 2 0 o
=R
5 V
. CT R A N S F O R M E R
G N D 2
3 1 0 0 0 u f / 3 5 V 3 p f 1 0 4 p f 3
h m
D C
M O T O R
( 9 V , 1
A M P )
L E
2 . 1 1 K
1 0 9
P
G 1 3 5 7 9 V C C N D
W
3 3
E
p f
L G NY D ( 5
V
V
C C
)
G N D
S P
1 1 . 0 3 3 p f
5 9 2
S W IT C H
2 4 6 8 1 0
P P R P
1 . 6 1 . 7 S T 1 . 5
X T A
L 2 C
1 0
u f / 6 3 V
R S T T it le S i z e A a t e
X T A
L 1
S
m >
M
e n a y
B
t ,
A
N J
S
u m a n
E
b
D
e r
C
R
E
e v
I T
G N D
8 . 2 K
I S
AP T
T G AN D L R
D o c u < D o c : M o
n d
u a r Sy
h 0 e 5e , t 1 2
0 0 9 o f
CIRCUIT DESCRIPTION
DESIGNING:
Since the main intension of this project is to design a DENSITY BASED TRAFFIC LIGHT CONTROLLING. In order to fulfill this application there are few steps that has been performed i.e. 1)Designing the power supply for the entire circuitry. 2)Selection of microcontroller that suits our application. 3)Selection of IR TX & IR RX.
4)
Selection of LED S.
Complete studies of all the above points are useful to develop this project.
1) 5V DC power supply.
2) 9V DC power supply. Now the aim is to design the power supply section which converts 230V AC in to 5V DC. Since 230V AC is too high to reduce it to directly 5V DC, therefore we need a step-down transformer that reduces the line voltage to certain voltage that will help us to convert it in to a 5V DC. Considering the efficiency factor of the bridge rectifier, we came to a conclusion to choose a transformer, whose secondary voltage is 3 to 4 V higher than the required voltage i.e. 5V. For this application 0-9V transformers is used, since it is easily available in the market. The output of the transformer is 9V AC; it feed to rectifier that converts AC to pulsating DC. As we all know that there are 3 kind of rectifiers that is
1) half wave 2) Full wave and 3) Bridge rectifier Here we short listed to use Bridge rectifier, because half wave rectifier has we less in efficiency. Even though the efficiency of full wave and bridge rectifier are the same, since there is no requirement for any negative voltage for our application, we gone with bridge rectifier. Since the output voltage of the rectifier is pulsating DC, in order to convert it into pure DC we use a high value (1000UF/1500UF) of capacitor in parallel that acts as a filter. The most easy way to regulate this voltage is by using a 7805 voltage regulator, whose output voltage is constant 5V DC irrespective of any fluctuation in line voltage.
SELECTION OF MICROCONTROLLER:
As we know that there so many types of micro controller families that are available in the market. Those are 1) 8051 Family 2) AVR microcontroller Family 3) PIC microcontroller Family 4) ARM Family Basic 8051 family is enough for our application; hence we are not concentrating on higher end controller families. In order to fulfill our application basic that is AT89C51 controller is enough. But still we selected AT89S52 controller because of inbuilt ISP (in system programmer) option. There are minimum six requirements for proper operation of microcontroller. Those are: 1) power supply section
PORT0 is open collector thats why we are using pull-up resistor which makes PORT0 as an I/O port. Reset circuit is used to reset the microcontroller. Crystal circuit is used for the microcontroller for timing pluses. In this project we are not using external memory thats why EA/VPP pin in the microcontroller is connected to Vcc that indicates internal memory is used for this application.
SELECTION OF IR PAIR:
IR PAIRS are available in IR TX & IR RX. Here we are using it only for Detecting and sending information to the microcontroller.This is wireless applications, these IR TX sending information upto 1 feet & this signal is received by IR RX . is
SELECTION OF RELAYS: The relay is an automatic control element whose output variable undergoes a change by leaps and bounds when its input variable (electric, magnetic, sound, light) reaches a set point SELECTION OF LCD:
A liquid crystal display (LCD) is an electronically-modulated optical device shaped into a thin, flat panel made up of any number of color or filled monochrome pixels with liquid crystals and arrayed in front of a light source(backlight) or reflector. In this project l LCD is used to display the GSM status.
CONNECTIONS OF LCD:
We can connect LCD in 8 bit mode or 4 bit mode, if use 8 bit mode more pins necessary to interface LCD, so we can use 4 bit mode to reduce pins .In this project i used 4 bit mode and it is connected to P0.
CIRCUIT OPERATION:
In this application we are using GSM module to receive as well as to transmit the messages .whenever we send the command to GSM module then it can do particular operation depending upon the command. Whenever we send a command to GSM module it can send the messages as well as mobile number to controller through serial interface .The controller read the message from serial interface of GSM if it is valid message then controller can turn the motor to open the door as well as controller can display the mobile number on lcd. After a particular time the door is automatically will be closed. Microcontroller can send the result operation to GSM whether door is opened or not opened then GSM module can send the message back to mobile.
Embedded systems are electronic devices that incorporate microprocessors with in their implementations. The main purposes of the microprocessors are to simplify the system design and provide flexibility. Having a microprocessor in the device helps in removing the bugs, making modifications, or adding new features are only matter of rewriting the software that controls the device. Or in other words embedded computer systems are electronic systems that include a microcomputer to perform a specific dedicated application. The computer is hidden inside these products. Embedded systems are ubiquitous. Every week millions of tiny computer chips come pouring out of factories finding their way into our everyday products. Embedded systems are self-contained programs that are embedded within a piece of hardware. Whereas a regular computer has many different applications and software that can be applied to various tasks, embedded systems are usually set to a specific task that cannot be altered without physically manipulating the circuitry. Another way to think of an embedded system is as a computer system that is created with optimal efficiency, thereby allowing it to complete specific functions as quickly as possible. Embedded systems designers usually have a significant grasp of hardware technologies. They use specific programming languages and software to develop embedded systems and manipulate the equipment. When searching online, companies offer embedded systems development kits and other embedded systems tools for use by engineers and businesses. Embedded systems technologies are usually fairly expensive due to the necessary development time and built in efficiencies, but they are also highly valued in specific industries. Smaller businesses may wish to hire a consultant to determine what sort of embedded systems will add value to their organization.
CHARACTERISTICS:
Two major areas of differences are cost and power consumption. Since many embedded systems are produced in tens of thousands to millions of units range, reducing cost is a major concern. Embedded systems often use a (relatively) slow processor and small memory size to minimize costs.
The slowness is not just clock speed. The whole architecture of the computer is often intentionally simplified to lower costs. For example, embedded systems often use peripherals controlled by synchronous serial interfaces, which are ten to hundreds of times slower than comparable peripherals used in PCs. Programs on an embedded system often run with real-time constraints with limited hardware resources: often there is no disk drive, operating system, keyboard or screen. A flash drive may replace rotating media, and a small keypad and LCD screen may be used instead of a PC's keyboard and screen. Firmware is the name for software that is embedded in hardware devices, e.g. in one or more ROM/Flash memory IC chips. Embedded systems are routinely expected to maintain 100% reliability while running continuously for long periods, sometimes measured in years. Firmware is usually developed and tested too much harsher requirements than is general-purpose software, which can usually be easily restarted if a problem occurs.
PLATFORM:
There are many different CPU architectures used in embedded designs. This in contrast to the desktop computer market which is limited to just a few competing architectures mainly the Intel/AMD x86 and the Apple/Motorola/IBM Power PCs which are used in the Apple Macintosh. One common configuration for embedded systems is the system on a chip, an applicationspecific integrated circuit, for which the CPU was purchased as intellectual property to add to the IC's design.
TOOLS:
Like a typical computer programmer, embedded system designers use compilers, assemblers and debuggers to develop an embedded system. Those software tools can come from several sources: Software companies that specialize in the embedded market Ported from the GNU software development tools. Sometimes, development tools for a personal computer can be used if the embedded processor is a close relative to a common PC processor. Embedded system designers also use a few software tools rarely used by typical computer programmers. Some designers keep a utility program to turn data files into code, so that they can include any kind of data in a program. Most designers also have utility programs to add a checksum or CRC to a program, so it can check its program data before executing it.
OPERATING SYSTEM:
They often have no operating system, or a specialized embedded operating system (often a real-time operating system), or the programmer is assigned to port one of these to the new system.
DEBUGGING:
Debugging is usually performed with an in-circuit emulator, or some type of debugger that can interrupt the micro controllers internal microcode. The microcode interrupt lets the debugger operate in hardware in which only the CPU works. The CPU-based debugger can be used to test and debug the electronics of the computer from the viewpoint of the CPU. Developers should insist on debugging which shows the high-level language, with breakpoints and single stepping, because these features are widely available. Also, developers should write and use simple logging facilities to debug sequences of real-time events. PC or mainframe programmers first encountering this sort of programming often become confused about design priorities and acceptable methods. Mentoring, code-reviews and ego less programming are recommended.
START-UP:
All embedded systems have start-up code. Usually it disables interrupts, sets up the electronics, tests the computer (RAM, CPU and software), and then starts the application code. Many embedded systems recover from short-term power failures by restarting (without recent self-tests). Restart times under a tenth of a second are common. Many designers have found one of more hardware plus software-controlled LEDs useful to indicate errors during development (and in some instances, after product release, to produce troubleshooting diagnostics). A common scheme is to have the electronics turn off the LED(s) at reset, whereupon the software turns it on at the first opportunity, to prove that the hardware and start-up software have performed their job so far. After that, the software blinks the LED(s) or sets up light patterns during normal operation, to indicate program execution progress and/or errors. This serves to reassure most technicians/engineers and some users.
USER INTERFACES:
Interface designers at PARC, Apple Computer, Boeing and HP minimize the number of types of user actions. For example, use two buttons (the absolute minimum) to control a menu system (just to be clear, one button should be "next menu entry" the other button should be "select this menu entry"). A touch-screen or screen-edge buttons also minimize the types of user actions. Another basic trick is to minimize and simplify the type of output. Designs should consider using a status light for each interface plug, or failure condition, to tell what failed. A cheap variation is to have two light bars with a printed matrix of errors that they select- the user can glue on the labels for the language that she speaks. For example, Boeing's standard test interface is a button and some lights. When you press the button, all the lights turn on. When you release the button, the lights with failures stay on. The labels are in Basic English. Designers use colors. Red defines the users can get hurt- think of blood. Yellow defines something might be wrong. Green defines everything's OK. Another essential trick is to make any modes absolutely clear on the user's display. If an interface has modes, they must be reversible in an obvious way. Most designers prefer the display to respond to the user. The display should change immediately after a user action. If the machine is going to do anything, it should start within 7 seconds, or give progress reports. One of the most successful general-purpose screen-based interfaces is the two menu buttons and a line of text in the user's native language. It's used in pagers, medium-priced printers, network switches, and other medium-priced situations that require complex behavior from users. When there's text, there are languages. The default language should be the one most widely understood.
INTRODUCTION TO MICROCONTROLLER
Microcontrollers 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. Micro-controllers are useful to the extent that they communicate with other devices, such as sensors, motors, switches, keypads, displays, memory and even other microcontrollers. Many interface methods have been developed over the years to solve the complex problem of balancing circuit design criteria such as features, cost, size, weight, power consumption, reliability, availability, manufacturability. Many microcontroller designs typically mix multiple interfacing methods. In a very simplistic form, a micro-controller system can be viewed as a system that reads from (monitors) inputs, performs processing and writes to (controls) outputs. Embedded system means the processor is embedded into the required application. An embedded product uses a microprocessor or microcontroller to do one task only. In an embedded system, there is only one application software that is typically burned into ROM. Example: printer, keyboard, video game player Microprocessor - A single chip that contains the CPU or most of the computer Microcontroller - A single chip used to control other devices Microcontroller differs from a microprocessor in many ways. First and the most important is its functionality. In order for a microprocessor to be used, other components such as memory, or components for receiving and sending data must be added to it. In short that means that microprocessor is the very heart of the computer. On the other hand, microcontroller is designed to be all of that in one. No other external components are needed for its application because all necessary peripherals are already built into it. Thus, we save the time and space needed to construct devices.
Microcontroller:
CPU, RAM, ROM, I/O and timer are all on a single chip fix amount of on-chip ROM, RAM, I/O ports for applications in which cost, power and space are critical single-purpose
INTRODUCTION TO IR PAIRS
From this description, the interface is a parallel bus, allowing simple and fast reading/writing of data to and from the LCD. This waveform will write an ASCII Byte out to the LCD's screen.
to
RS=1 to select data 5 6 7 8 9 10 11 12 13 14 R/W EN DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 I I/O I/O I/O I/O I/O I/O I/O I/O I/O register R/W=0 for write R/W=1 for read Enable The 8-bit data bus The 8-bit data bus The 8-bit data bus The 8-bit data bus The 8-bit data bus The 8-bit data bus The 8-bit data bus The 8-bit data bus
The three control lines are referred to as EN, RS, and RW.
EN:
The EN line is called "Enable". This control line is used to tell the LCD that you are sending it data. To send data to the LCD, your program should first set this line high (1) and then set the other two control lines and/or put data on the data bus. When the other lines are completely ready, bring EN low (0) again. The 1-0 transition tells the 44780 to take the data currently found on the other control lines and on the data bus and to treat it as a command.
RS:
The RS line is the "Register Select" line. When RS is low (0), the data is to be treated as a command or special instruction (such as clear screen, position cursor, etc.). When RS is high (1), the data that is sent is a text data which should be displayed on the screen. For example, to display the letter "T" on the screen you would set RS high.
RW:
The RW line is the "Read/Write" control line. When RW is low (0), the information on the data bus is being written to the LCD. When RW is high (1), the program is effectively querying (or reading) the LCD. Only one instruction ("Get LCD status") is a read command. All others are write commands, so RW will almost be low. Finally, the data bus consists of 4 or 8 lines (depending on the mode of operation selected by the user). In the case of an 8-bit data bus, the lines are referred to as DB0, DB1, DB2, DB3, DB4, DB5, DB6, and DB7.
The ASCII code to be displayed is eight bits long and is sent to the LCD either four or eight bits at a time. If four bit mode is used, two "nibbles" of data (Sent high four bits and then low four bits with an "E" Clock pulse with each nibble) are sent to make up a full eight bit transfer. The "E" Clock is used to initiate the data transfer within the LCD. Deciding how to send the data to the LCD is most critical decision to be made for an LCD interface application. Eight-bit mode is best used when speed is required in an application and at least ten I/O pins are available. The "R/S" bit is used to select whether data or an instruction is being transferred between the microcontroller and the LCD. If the Bit is set, then the byte at the current LCD "Cursor" Position can be written. When the Bit is reset, either an instruction is being sent to the LCD or the execution status of the last instruction is read back.
ADVANTAGES:
LCD interfacing with 8051 is a real-world application. In recent years the LCD is finding widespread use replacing LEDs (seven segment LEDs or other multi segment LEDs). This is due to following reasons: 1. The declining prices of LCDs. 2. The ability to display numbers, characters and graphics. This is in contrast to LEDs, which are limited to numbers and a few characters. An intelligent LCD displays two lines, 20 characters per line, which is interfaced to the 8051. 3. Incorporation of a refreshing controller into the LCD, thereby relieving the CPU to keep displaying the data. 4. Ease of programming for characters and graphics.
PROTOTYPE CIRCUIT:
For a LCD module to be used effectively in any piece of equipment, a microprocessor or a micro controller is usually required to drive it. However, before attempting to wire the two together some initial experiments can be performed by connecting a series of switches to the pins of the module. This can be a quite beneficial step, if even you are thoroughly conversant with the workings of microprocessors.
CODE (Hex)
CLEAR DISPLAY SCREEN RETURN HOME DECREMENT CURSOR (SHIFT CURSOR TO LEFT) INCREMENT CURSOR (SHIFT CURSOR TO RIGHT) SHIFT DISPLAY RIGHT SHIFT DISPLAY LEFT DISLAY OFF, CURSOR OFF A C E F 10 14 18 1C C0 38 DISPLAY OFF, CURSOR ON DISPLAY ON, CURSOR OFF DISPLAY ON, CURSOR BLINKING DISPLAY ON, CURSOR BLINKING SHIFT CURSOR POSITION TO LEFT SHIFT CURSOR POSITION TO RIGHT SHIFT THE ENTIRE DISPLAY TO THE LEFT SHIFT THE ENTIRE DISPLAY TO THE RIGHT FORCE CURSOR TO BEGINNING OF 2ND LINE 2 LINES AND 5x7 MATRIX
The circuit can be wired up on a plug-in-style prototyping board, using dual-in-line switches for the data lines (S1-S8). A toggle switch for the RS input (S10) and a momentary action switch (or macro switch) for usage. Most of the LCD modules conform to a standard interface specification. A 14pin access is provided having eight data lines, three control lines and three power lines. The connections are laid out in one of the two common configurations, either two rows of seven pins, or a single row of 14 pins. One of the, pins are numbered on the LCDs print circuit board (PCB), but if not, it is quite easy to locate pin1. Since this pin is connected to ground, it often has a thicker PCB track, connected to it, and it is generally connected to metalwork at same point.
PIN DESCRIPTION:
G +5V -5v
07
08
09
10
11
12
13
14
D0
D1
D2
D3
D4
D5
D6
D7
RS
R/W EN
The LCD plays a major role in the entire operation as it has the ability to display the certain data that the user has entitled. LCD display varies from input to input as there is no specific outline for it to operate.
Many companies provide the 8051 assembler, some of them provide shareware version of their product on the Web, Kiel is one of them. We can download them from their Websites. However, the size of code for these shareware versions is limited and we have to consider which assembler is suitable for our application.
KIEL U VISION2:
This is an IDE (Integrated Development Environment) that helps you write, compile, and debug embedded programs. It encapsulates the following components: . . . . . A project manager A make facility Tool configuration Editor A powerful debugger To get start here are some several example programs
. . . . . .
Select a directory and enter the name of the project file. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device from the Device Database Create source files to add to the project. Select Project - Targets, Groups, and Files. Add/Files, select Source Group1, and add the source files to the project. Select Project - Options and set the tool options. Note when you select the target device from the Device Database all-special options are set automatically. You only need to configure the memory map of your target hardware. Default memory model settings are optimal for most.
APPLICATIONS: .
Select Project - Rebuild all target files or Build target.
. .
No hardware support is available for multiple DPTR registers. No support is available for user libraries or floating-point arithmetic.
EVALUATION SOFTWARE:
.
. .
PERIPHERAL SIMULATION:
The u vision2 debugger provides complete simulation for the CPU and on chip peripherals of most embedded devices. To discover which peripherals of a device are supported, in u vision2. Select the Simulated Peripherals item from the Help menu. You may also use the web-based device database. We are constantly adding new devices and simulation support for on-chip peripherals so be sure to check Device Database often.
DESCRIPTION:
The AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8Kbytes of Flash programmable and erasable read only memory (PEROM). The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C52 is a powerful microcomputer, which provides a highly flexible and cost-effective solution to many embedded control applications.
Port 1:
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. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively.
PORT PIN ALTERNATE FUNCTIONS: P1.0 T2 (external count input to Timer/Counter 2), clock-out P1.1 T2EX (Timer/Counter 2 capture/reload trigger and direction control
Port 2:
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 (I IL) because of the internal pull-ups. Port 2 emits the highorder 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, Port 2 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:
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 (I IL) because of the pull-ups. Port 3 also serves the functions of various special features of the AT89C51. Port 3 also receives some control signals for Flash programming and verification.
RST:
Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device.
ALE/PROG:
Address Latch Enable is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. However, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.
PSEN:
Program Store Enable is the read strobe to external program memory. When the AT89C52 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.
EA/VPP:
External Access Enable (EA) must be strapped to GND in order to enable the device to fetch code from external pro-gram memory locations starting at 0000H up to FFFFH. However, if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12V programming enable voltage (VPP) during Flash programming when 12V programming is selected.
XTAL1:
Input to the inverting oscillator amplifier and input to the internal clock operating circuit.
XTAL2:
It is an output from the inverting oscillator amplifier.
INTERRUPT CONTROL
TIMER 1 TIMER 0
COUNTER INPUTS
OSC
P0 P1 P2 P3
Tx
Rx
Architecture of 89S52
OSCILLATOR CHARACTERISTICS:
XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier, which can be configured for use as an on-chip oscillator. Either a quartz crystal or ceramic resonator may be used. To drive the device from an external clock source, XTAL2 should be left unconnected while XTAL1 is driven. There are no requirements on the duty cycle of the external clock signal, since the input to the internal clocking circuitry is through a divideby-two flip-flop, but minimum and maximum voltage high and low time specifications must be observed.
IDLE MODE:
In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain active. The mode is invoked by software. The content of the on-chip RAM and all the special functions registers remain unchanged during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset. It should be noted that when idle is terminated by a hardware reset, the device normally resumes program execution, from where it left off, up to two machine cycles before the internal reset algorithm takes control. On-chip hardware inhibits access to internal RAM in this event, but access to the port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin when Idle is terminated by reset, the instruction following the one that invokes Idle should not be one that writes to a port pin or to external memory.
OSCILLATOR CONNECTIONS:
OSCILLATOR CONNECTIONS:
Note: C1, C2 = 30 pF 10 pF for Crystals = 40 pF 10 pF for Ceramic Resonators
CODING
2. 8051 Microcontroller Architecture, programming and application by KENNETH JAYALA 3. ATMEL 89s52 Data sheets 4. Hand book for Digital ICs from Analogic Devices
WEBSITES VIEWED: