Вы находитесь на странице: 1из 45

1.

INTRODUCTION
1.1 History: 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 means that removing the bugs, making modifications, or adding new features are only matters 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. !hereas 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. "nother 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 used specific programming languages and software to develop embedded systems and manipulate the equipment. !hen 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. #maller businesses may wish to hire a consultant to determine what sort of embedded systems will add value to your organi$ation.

1.2 Characteristics of Embedded systems: Two ma&or areas of differences are cost and power consumption. #ince many embedded systems are produced in the tens of thousands to millions of units range, reducing cost is a ma&or concern. Embedded systems often use a 'relatively( slow processor and small memory si$e to minimi$e costs. The slowness is not &ust clock speed. The whole architecture of the computer is often intentionally simplified to lower costs. )or example, embedded systems often use peripherals controlled by synchronous serial interfaces, which are ten to hundreds of times slower than comparable peripherals used in *+s. *rograms on an embedded system often must run with real time constraints with limited hardware resources, often there is no disk drive, operating system, keyboard or screen. " flash drive may replace rotating media, and a small keypad and -+. screen may be used instead of a *+/s keyboard and screen. )irmware is the name for software that is embedded in hardware devices, e.g. in one or more 0O12)lash memory 3+ chips. Embedded systems are routinely expected to maintain %445 reliability while running continuously for long periods, sometimes measured in years. )irmware is usually developed and tested too much stricter requirements than is general purpose software, which can usually be easily restarted if a problem occurs.

1.3 Peri hera!s: Embedded #ystems talk with the outside world via peripherals, such as, #erial +ommunication 3nterfaces '#+3(, 0# 676, 0# 866, 0# 89: etc. #ynchronous #erial +ommunication 3nterface, 36+, #*3, ##+ and E##3 'Enhanced #ynchronous #erial 3nterface( ;niversal #erial <us ';#<( 1ulti 1edia +ards '#. +ards, +ompact )lash etc.( =etworks, Ethernet, -on!orks, etc. )ieldbuses, +"= <us, -3= <us, *0O)3<;#, etc. Timers, *--'s(, +apture2+ompare and Time *rocessing ;nits .iscrete 3O, aka >eneral *urpose 3nput2Output '>*3O( "nalog to .igital2.igital to "nalog '".+2."+( .ebugging, ?T">, 3#*, 3+#*, <.1 *ort, <3T*, and .*@ ports.

1." Deb#$$i%$: Embedded debugging may be performed at different levels, depending on the facilities available. )rom simplest to most sophisticated, they can be roughly grouped into the following areas, 3nteractive resident debugging, using the simple shell provided by the embedded operating system 'e. g. )orth and <asic(.External debugging using logging or serial port output to trace operation using either a monitor in flash or using a debug server like the 0emedy .ebugger which even works for heterogeneous multicore systems. "n 3n circuit debugger '3+.(, a hardware device that connects to the microprocessor via a ?T"> or =exus interface. This allows the operation of the microprocessor to be controlled externally, but is typically restricted to specific debugging capabilities in the processor. "n 3n circuit emulator '3+E( replaces the microprocessor with a simulated equivalent, providing full control over all aspects of the microprocessor. " complete emulator provides a simulation of all aspects of the hardware, allowing all of it to be controlled and modified, and allowing debugging on a normal *+. The downsides are expense and slow operation, in some cases up to %44A slower than the final system. ;nless restricted to external debugging, the programmer can typically load and run software through the tools, view the code running in the processor, and start or stop its operation. The view of the code may be as H-- source code, assembly code or mixture of both.

1.& Desi$% of embedded systems: The electronics usually uses either a microprocessor or a micro controller. #ome large or old systems use general purpose mainframes computers or minicomputers. 'tart (# : "ll embedded systems have start up code. ;sually it disables interrupts, sets up the electronics, tests the computer '0"1, +*; and software(, and then starts the application code. 1any embedded systems recover from short term power failures by restarting 'without recent self tests(. 0estart times under a tenth of a second are common. 1any designers have found one of more hardware plus software controlled -E.s useful to indicate errors during development 'and in some instances, after product release, to produce troubleshooting diagnostics(. " common scheme is to have the electronics turn off the -E.'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 &ob so far. "fter that, the software blinks the -E.'s( or sets up light patterns during normal operation, to indicate program execution progress and2or errors. This serves to reassure most technicians2engineers and some users. The co%tro! !oo : 3n this design, the software simply has a loop. The loop calls subroutines. Each subroutine manages a part of the hardware or software. 3nterrupts generally set flags, or update counters that are read by the rest of the software. " simple "*3 disables and enables interrupts. .one right, it handles nested calls in nested subroutines, and restores the preceding interrupt state in the outermost enable. This is one of the simplest methods of creating an exokernel. Typically, thereBs some sort of subroutine in the loop to manage a list of software timers, using a periodic real time interrupt. !hen a timer expires, an associated subroutine is run, or flag is set. "ny expected hardware event should be backed up with a software timer. Hardware events fail about once in a trillion times. ThatBs about once a year with modern hardware. !ith a million mass produced devices, leaving out a software timer is a business disaster.

#tate machines may be implemented with a function pointer per state machine 'in +CC, + or assembly, anyway(. " change of state stores a different function into the pointer. The function pointer is executed every time the loop runs. 1any designers recommend reading each 3O device once per loop, and storing the result so the logic acts on consistent values. 1any designers prefer to design their state machines to check only one or two things per state. ;sually this is a hardware event, and a software timer. .esigners recommend that hierarchical state machines should run the lower level state machines before the higher, so the higher run with accurate information. +omplex functions like internal combustion controls are often handled with multi dimensional tables. 3nstead of complex calculations, the code looks up the values. The software can interpolate between entries, to keep the tables small and cheap. One ma&or weakness of this system is that it does not guarantee a time to respond to any particular hardware event. +areful coding can easily assure that nothing disables interrupts for long. Thus interrupt code can run at very precise timings. "nother ma&or weakness of this system is that it can become complex to add new features. "lgorithms that take a long time to run must be carefully broken down so only a little piece gets done each time through the main loop. This systemBs strength is its simplicity, and on small pieces of software the loop is usually so fast that nobody cares that it is not predictable. User i%terfaces: ;ser interfaces for embedded systems vary wildly, and thus deserve some special comment. .esigners recommend testing the user interface for usability at the earliest possible instant. " quick, dirty test is to ask an executive secretary to use cardboard models drawn with magic markers, and manipulated by an engineer. The videotaped result is likely to be both humorous and very educational. 3n the tapes, every time the engineer talk, the interface has failed, 3t would cause a service call. Exactly one person should approve the user interface. 3deally, this should be a customer, the ma&or distributor or someone directly responsible for selling the system. The decision maker should be able to decide. The problem is that a committee will never make up its mind, and neither will

some people. =ot doing this causes avoidable, expensive delays. " usability test is more important than any number of opinions. 3nterface designers at *"0+, "pple +omputer, <oeing and H* minimi$e the number of types of user actions. )or example, use two buttons 'the absolute minimum( to control a menu system '&ust to be clear, one button should be Enext menu entryE the other button should be Eselect this menu entryE(. " touch screen or screen edge buttons also minimi$e the types of user actions. "nother basic trick is to minimi$e and simplify the type of output. .esigns should consider using a status light for each interface plug, or failure condition, to tell what failed. " 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. .esigners use colors. 0ed means the users can get hurt think of blood. Fellow means something might be wrong. >reen means everythingBs OG. "nother essential trick is to make any modes absolutely clear on the userBs display. 3f an interface has modes, they must be reversible in an obvious way.

2. I%teracti)e Com o%e%ts


2.1 I%frared 'e%sor: IR 'e%sor Theory : The cheapest way to remotely control a device within a visible range is via 3nfra 0ed light. "lmost all audio and video equipment can be controlled this way nowadays. .ue to this wide spread use the required components are quite cheap, thus making it ideal for us hobbyists to use 30 control for our own pro&ects. This part of my knowledge base will explain the theory of operation of 30 remote control, and some of the protocols that are in use in consumer electronics. I%fra(Red *i$ht: 3nfra 0ed actually is normal light with a particular colour. !e humans canBt see this colour because its wave length of @:4nm is below the visible spectrum. ThatBs one of the reasons why 30 is chosen for remote control purposes, we want to use it but weBre not interested in seeing it. "nother reason is because 30 -E.s are quite easy to make, and therefore can be very cheap. "lthough we humans canBt see the 3nfra 0ed light emitted from a remote control doesnBt mean we canBt make it visible.

+i$#re 2.1: I%frared Tra%smitter " video camera or digital photo camera can EseeE the 3nfra 0ed light as you can see in this picture. 3f you own a web cam youBre in luck, point your remote to it, press any button and youBll see the -E. flicker.

Descri tio%: 9

The T#O*%H I #eries are miniaturi$ed receivers for infrared remote control systems. *3= diode and preamplifier are assembled on lead frame, the epoxy package is designed as 30 filter. The demodulated output signal can directly be decoded by a microprocessor. T#O*%H is the standard 30 remote control receiver series, supporting all ma&or transmission codes.

+i$#re 2.2: I%frared Recei)er +eat#res: *hoto detector and preamplifier in one package. 3nternal filter for *+1 frequency. 3mproved shielding against electrical field disturbance. TT- and +1O# compatibility. Output active low. -ow power consumption. High immunity against ambient light. +ontinuous data transmission possible 'up to 6844 bps(. #uitable burst length %4cycles2burst. !hen seen in schematic, there will be an 30 -E. before the connector. This light from it falls on the photodiode which is a .arlington pair circuit. The output of the circuit is connected to another transistor circuit as shown in the schematic. !hen light from 30 -E. falls onto this photodiode, this output is low and this is given as input to other transistor, output is high. 3n this way we obtain 9 outputs at the photodiode. These are given to latch H8H+:H7. This latch outputs are given to two 9 by 7 H8H+%89 encoders. The outputs of two encoders are same. -ogic gates are provided in

'CHE,-TIC DE'CRIPTION O+ IR 'EN'OR':

order to know which encoder is operating. The outputs of these encoders are connected to the connector along with the other outputs of the encoder H8H+%89. !henever the vehicle comes in between the 30 -E. and photodiode then 30 sensors senses the information then the information of the vehicle entrance is sensed and the output is given to the H8H+:H7 latch and the output of the latch is given to H8H+%89 encoder and the remaining are given once again to H8H+:H7 which another H8H+:H7. !e also have -E./s connected to the outputs of H8H+:H7 latch to check the hardware performance.

4
% 4 4 4 4 4 4 4 4 4 A % A A A A A A A 4

%
A % A A A A A A 4 %

6
A % A A A A A 4 % %

"6
% % 4 4 4 4 % % % %

"%
% % 4 4 % % 4 4 % %

"4 >#
% % 4 % 4 % 4 % 4 % % % 4 4 4 4 4 4 4 4

E4
% 4 % % % % % % % %

A A A A A A A A A 4 % % % 4 % % % %

A A A A A 4 A 4 % % % % % 4 % % % % % % % % % % % % %

Tab!e 2.1: ENCODER tab!e of ."HC1"/

%4

2.2 1012 *i2#id Crysta! Dis !ay: " liquid crystal is a material 'normally organic for -+.s( that will flow like a liquid but whose molecular structure has some properties normally associated with solids. The -iquid +rystal .isplay '-+.( is a low power device. The power requirement is typically in the order of microwatts for the -+.. However, an -+. requires an external or internal light source. 3t is limited to a temperature range of about 4+ to D4+ and lifetime is an area of concern, because -+.s can chemically degrade. There are two ma&or types of -+.s which are, %. .ynamic scattering -+.s and 6. )ield effect -+.s H-RD3-RE DI-4R-,:

+i$#re 2.3: *i2#id Crysta! Dis !ay Hard5are Dia$ram


R' 6Comma%d 7 Data8: This bit is to specify weather received byte is command or data. #o that -+. can recogni$e the operation to be performed based on the bit status. 0# 0# J 4 J % JK JK +ommand .ata

%%

R3 6Read 7 3rite8: 0! bit is to specify whether controller wants 0E". from -+. or !03TE to -+.. The 0E". operation here is &ust "+G bit to know whether -+. is free or not. 0! J 4 0! J % EN 6E%ab!e *CD8: E= bit is to E="<-E or .3#"<-E the -+.. !henever controller wants to write something into -+. or 0E". acknowledgment from -+. it needs to enable the -+.. E= E= J 4 J % JK JK High 3mpedance -ow 3mpedance JK JK !rite 0ead

-C9 6*CD Ready8: "+G bit is to acknowledge the 1+; that -+. is free so that it can send new command or data to be stored in its internal 0am locations "+G J % JK JK =ot "+G "+G

"+G J 4

%6

3. E!aboratio% of -#tomatic Room *i$ht Co%tro!!er


3.1 :!oc; Dia$ram Descri tio%: *ro&ect title is L-UTO,-TIC ROO, *I4HT CONTRO**ER 3ITH <I'ITOR COUNTER. The basic block diagram of the bidirectional visitor counter with automatic light controller is shown in the above figure. 1ainly this block diagram consists of the following essential blocks. %. *ower #upply 6. Entry and Exit sensor circuit 7. "T9@#:6 micro controller 8. 0elay driver circuit 1. Po5er '# !y: Here we used C%6M and C:M dc power supply. The main function of this block is to provide the required amount of voltage to essential circuits. C%6M is given to relay driver. To get the C:M dc power supply we have used here 3+ H94:, which provides the C:M dc regulated power supply. 2. E%ter a%d E=it Circ#its: This is one of the main part of our pro&ect. The main intention of this block is to sense the person. )or sensing the person we are using a T#O* %H79 sensor. <y using this sensor and its related circuit diagram we can count the number of persons. 3. />'&2 ,icroco%tro!!er: 3t is a low power, high performance +1O# 9 bit microcontroller with 9G< of )lash *rogrammable and Erasable 0ead Only 1emory '*E0O1(. The device is manufactured using "tmel/s high density nonvolatile memory technology and is compatible with the 1+# :%T1 instruction set and pin out. The on chip )lash allows the program memory to be reprogrammed in system or by a conventional nonvolatile memory programmer. <y combining a versatile 9 bit +*; with )lash on a monolithic chip, the "tmel "T9@#:6 is a powerful 1icrocontroller, which provides a highly flexible and cost effective solution for many embedded control applications.

%7

". Re!ay Dri)er Circ#it: This block has the potential to drive the various controlled devices. 3n this block mainly we are using the transistor and the relays. One relay driver circuit we are using to control the light. Output signal from "T9@#:6 is given to the base of the transistor, which energi$es the particular relay, because of this, appropriate device is selected and which performs its allotted function.

-+. .3#*-"F

30 30 Tx%
0eceiver%

30 30 Tx6
0eceiver6

" T 9 @ # : 6

0elay

<ulb

+i$#re 3.1: :!oc; dia$ram of -#tomatic Room *i$ht Co%tro!!er

%8

3.2 Circ#it Dia$ram ? O eratio%:

+i$#re 3.2: Circ#it dia$ram of -#tomatic Room *i$ht Co%tro!!er 3or;i%$: *ut the 674v plug into to the power socket and switch it on. The -+. displays count and light. : The 674v ac voltage is decreased to :v ac voltage using a step down transformer. This :v ac voltage is converted to dc voltage using a bridge rectifier. 3+ -1H94: is used as voltage regulator. The further distortions are removed using %444Nfarad and %44Nfarad capacitors. This :v dc voltage is supplied to the microcontroller which in turn supplies the relay, ports and infrared sensors with :v %:

voltage. !hen a person enters the room crossing the infrared sensors the count increases. !hen count is equal to% or more than%then the light turns O= automatically. The counts keeps on increasing with number of people entering the room crossing the infrared sensors and light in O=. +ount decreases with people leaving the room crossing the infrared sensors through the exit door. The count deceases with people leaving the room and when count is equal to % to $ero the light is turned O)) automatically.

%D

". -T/>'&2 ,icroco%tro!!er


".1 I%trod#ctio% to -tme! ,icroco%tro!!er: The "T9@#:6 is a low power, high performance +1O# 9 bit microcontroller with 9G bytes of in system programmable )lash memory. The device is manufactured using "tmel/s high density nonvolatile memory technology and is compatible with the industry standard 94+:% instruction set and pin out. The on chip )lash allows the program memory to be reprogrammed in system or by a conventional nonvolatile memory programmer. <y combining a versatile 9 bit +*; with in system programmable )lash on a monolithic chip, the "tmel "T9@#:6 is a powerful microcontroller which provides a highly flexible and cost effective solution to many embedded control applications. The "T9@#:6 provides the following standard features, 9G bytes of )lash, 6:D bytes of 0"1, 76 32O lines, !atchdog timer, two data pointers, three %D bit timer2counters, a six vector two level interrupt architecture, a full duplex serial port, on chip oscillator, and clock circuitry. 3n addition, the "T9@#:6 is designed with static logic for operation down to $ero frequency and supports two software selectable power saving modes. The 3dle 1ode stops the +*; while allowing the 0"1, timer2counters, serial port, and interrupt system to continue functioning. The *ower down mode saves the 0"1 contents but free$es the oscillator, disabling all other chip functions until the next interrupt or hardware reset.

%H

".2 :!oc; Dia$ram:

+i$#re ".1: :!oc; Dia$ram of -T/>'&2

%9

".3 Pi% Dia$ram:

+i$#re ".2: Pi% dia$ram of />'&2 <CC: #upply voltage. 4ND: >round. Port @: *ort 4 is an 9 bit open drain bidirectional 32O port. "s an output port, each pin can sink eight TT- inputs. !hen %s are written to port 4 pins, the pins can be used as high impedance inputs.

%@

*ort 4 can also be configured to be the multiplexed low order address2data bus during accesses to external program and data memory. 3n this mode, *4 has internal pull ups. *ort 4 also receives the code bytes during )lash programming and outputs the code bytes during program verification. External pull ups are required during program verification. Port 1: *ort % is an 9 bit bidirectional 32O port with internal pull ups. The *ort % output buffers can sink2source four TT- inputs. Port Pi% *%.4 *%.% *%.: *%.D *%.H Port 2: *ort 6 is an 9 bit bidirectional 32O port with internal pull ups. The *ort 6 output buffers can sink2source four TT- inputs. !hen %s are written to *ort 6 pins, they are pulled high by the internal pull ups and can be used as inputs. "s inputs, *ort 6 pins that are externally being pulled low will source current '33-( because of the internal pull ups. Port 3: *ort 7 is an 9 bit bidirectional 32O port with internal pull ups. The *ort 7 output buffers can sink2source four TT- inputs. !hen %s are written to *ort 7 pins, they are pulled high by the internal pull ups and can be used as inputs. -!ter%ate +#%ctio%s T6 'external count input to Timer2+ounter 6(, clock out T6EA 'Timer2+ounter 6 capture2reload trigger and direction control( 1O#3 'used for 3n #ystem *rogramming( 13#O 'used for 3n #ystem *rogramming( #+G 'used for 3n #ystem *rogramming( Tab!e No.".1: Port 1 descri tio%

Ports

-!ter%ate f#%ctio%s

64

*7.4 *7.% *7.6 *7.7 *7.8 *7.: *7.D *7.D *7.H R'T:

0A. 'serial input port( TA. 'serial output port( 3=T4 'external interrupt 4( 3=T% 'external interrupt %( T4 'timer 4 external input( T% 'timer % external input( !0 'external data memory write strobe( !0 'external data memory write strobe( 0. 'external data memory read strobe( Tab!e %o. ".2: Port 3 descri tio%

0eset input. " high on this pin for two machine cycles while the oscillator is running resets the device. This pin drives High for @D oscillator periods after the !atchdog times out. The .3#0TO bit in #)0 ";A0 'address 9EH( can be used to disable this feature. 3n the default state of bit .3#0TO, the 0E#ET H3>H out feature is enabled. -*E7PRO4: "ddress -atch Enable '"-E( 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 '*0O>( during )lash programming. 3n normal operation, "-E is emitted at a constant rate of %2D the oscillator frequency and may be used for external timing or clocking purposes. P'EN: *rogram #tore Enable '*#E=( is the read strobe to external program memory. !hen the "T9@#:6 is executing code from external program memory, *#E= is activated twice each machine cycle, except that two *#E= activations are skipped during each access to external data memory.

E-7<PP: External "ccess Enable. E" must be strapped to >=. in order to enable the device to fetch code from external program memory locations starting at 4444H up to ))))H.

6%

=ote, however, that if lock bit % is programmed, E" will be internally latched on reset. E" should be strapped to M++ for internal program executions. This pin also receives the %6 volt programming enable voltage 'M**( during )lash programming. 1T-*1: 3nput to the inverting oscillator amplifier and input to the internal clock operating circuit. 1T-*2: Output from the inverting oscillator amplifier.

"." ,emory Or$a%iAatio%: 1+# :% devices have a separate address space for *rogram and .ata 1emory. ;p to D8G bytes each of external *rogram and .ata 1emory can be addressed. Pro$ram ,emory:

66

3f the E" pin is connected to >=., all program fetches are directed to external memory. On the "T9@#:6, if E" is connected to M++, program fetches to addresses 4444H through %)))H are directed to internal memory and fetches to addresses 6444H through ))))H are to external memory. Data ,emory: The "T9@#:6 implements 6:D bytes of on chip 0"1. The upper %69 bytes occupy a parallel address space to the #pecial )unction 0egisters. This means that the upper %69 bytes have the same addresses as the #)0 space but are physically separate from #)0 space. !hen an instruction accesses an internal location above address H)H, the address mode used in the instruction specifies whether the +*; accesses the upper %69 bytes of 0"1 or the #)0 space. 3nstructions which use direct addressing access of the #)0 space. )or example, the following direct addressing instruction accesses the #)0 at location 4"4H 'which is *6(. 1OM 4"4H, Odata 3nstructions that use indirect addressing access the upper %69 bytes of 0"1. )or example, the following indirect addressing instruction, where 04 contains 4"4H, accesses the data byte at address 4"4H, rather than *6 'whose address is 4"4H(. 1OM P04, Odata =ote that stack operations are examples of indirect addressing, so the upper %69 bytes of data 0"1 are available as stack space.

".& I%terr# ts: The "T9@#:6 has a total of six interrupt vectors, two external interrupts '3=T4 and 3=T%(, three timer interrupts 'Timers 4, %, and 6(, and the serial port interrupt.

67

Each of these interrupt sources can be individually enabled or disabled by setting or clearing a bit in #pecial )unction 0egister 3E. 3E also contains a global disable bit, E", which disables all interrupts at once. =ote that Table : shows that bit position 3E.D is unimplemented. 3n the "T9@#:6, bit position 3E.: is also unimplemented. ;ser software should not write %s to these bit positions, since they may be used in future "T9@ products. Timer 6 interrupt is generated by the logical O0 of bits T)6 and EA)6 in register T6+O=. =either of these flags is cleared by hardware when the service routine is vectored to. 3n fact, the service routine may have to determine whether it was T)6 or EA)6 that generated the interrupt, and that bit will have to be cleared in software. The Timer 4 and Timer % flags, T)4 and T)%, are set at #:*6 of the cycle in which the timers overflow. The values are then polled by the circuitry in the next cycle. However, the Timer 6 flag, T)6, is set at #6*6 and is polled in the same cycle in which the timer overflows.

+i$#re ".3: I%terr# ts of -T/>'&2 microco%tro!!er ".0 Timers a%d Co#%ters: 3atchdo$ Timer 6O%e(time E%ab!ed 5ith Reset(o#t8:

68

The !.T is intended as a recovery method in situations where the +*; may be sub&ected to software upsets. The !.T consists of a %8 bit counter and the !atchdog Timer 0eset '!.T0#T( #)0. The !.T is defaulted to disable from exiting reset. To enable the !.T, a user must write 4%EH and 4E%H in sequence to the !.T0#T register '#)0 location 4"DH(. !hen the !.T is enabled, it will increment every machine cycle while the oscillator is running. The !.T timeout period is dependent on the external clock frequency. There is no way to disable the !.T except through reset 'either hardware reset or !.T overflow reset(. !hen !.T overflows, it will drive an output 0E#ET H3>H pulse at the 0#T pin. Usi%$ the 3DT: To enable the !.T, a user must write 4%EH and 4E%H in sequence to the !.T0#T register '#)0 location 4"DH(. !hen the !.T is enabled, the user needs to service it by writing 4%EH and 4E%H to !.T0#T to avoid a !.T overflow. The %8 bit counter overflows when it reaches %D797 '7)))H(, and this will reset the device. !hen the !.T is enabled, it will increment every machine cycle while the oscillator is running. This means the user must reset the !.T at least every %D797 machine cycles. To reset the !.T the user must write 4%EH and 4E%H to !.T0#T. !.T0#T is a write only register. The !.T counter cannot be read or written. !hen !.T overflows, it will generate an output 0E#ET pulse at the 0#T pin. The 0E#ET pulse duration is @9xTO#+, where TO#+ J %2)O#+. To make the best use of the !.T, it should be serviced in those sections of code that will periodically be executed within the time required to prevent a !.T reset. 3DT d#ri%$ Po5er(do5% a%d Id!e: 3n *ower down mode the oscillator stops, which means the !.T also stops. !hile in *ower down mode, the user does not need to service the !.T. There are two methods of exiting. *ower down mode by a hardware reset or via a level activated external interrupt which is enabled prior to entering *ower down mode. !hen *ower down is exited with hardware reset, servicing the !.T should occur as it normally does whenever the "T9@#:6 is reset. Exiting

6:

*ower down with an interrupt is significantly different. The interrupt is held low long enough for the oscillator to stabili$e. !hen the interrupt is brought high, the interrupt is serviced. To prevent the !.T from resetting the device while the interrupt pin is held low, the !.T is not started until the interrupt is pulled high. 3t is suggested that the !.T be reset during the interrupt service for the interrupt used to exit *ower down mode. To ensure that the !.T does not overflow within a few states of exiting *ower down, it is best to reset the !.T &ust before entering *ower down mode. <efore going into the 3.-E mode, the !.3.-E bit in #)0 ";A0 is used to determine whether the !.T continues to count if enabled. The !.T keeps counting during 3.-E '!.3.-E bit J 4( as the default state. To prevent the !.T from resetting the "T9@#:6 while in 3.-E mode, the user should always set up a timer that will periodically exit 3.-E, service the !.T, and reenter 3.-E mode. !ith !.3.-E bit enabled, the !.T will stop to count in 3.-E mode and resumes the count upon exit from 3.-E. Timer @: ,ode: ,ode settings select the si$e and auto reload functions, and set either Timer or +ounter operation. TCON: 'Timer +ontrol 0egister( holds the run2stop and overflow flag for Timers 4 and %. T,OD: 'Timer 1ode 0egister( holds the mode, gate control and counter2timer select bits. TH@: 'Timer 4 High <yte( contains the upper 9 bits of the Timer 4 value. T*@: 'Timer 4 -ow <yte( contains the lower 9 bits of the Timer 4 value. T@: *in is the Timer2+ounter 4 pin for external input '*7.82T4(. T+@: 'Timer 4 Overflow )lag( is set when Timer 4 overflows.

Co%tro!: 'tat#s 'Timer2+ounter #tatus( displays the current status of the Timer2+ounter. TR@: 'Timer 4 0un +ontrol( is set to turn Timer 4 on, and reset to turn it off. 6D

,ode:

4-TE: '>ating +ontrol( is set to enable a timer2counter while the 3=T4 flag is high and run control 'T04( is set. INT@B: External 3nterrupt 4 3nput 2 Timer 4 >ate +ontrol 3nput pin.

Timer 1: ,ode settings select the si$e and auto reload functions, and set either Timer or +ounter operation. TCON: 'Timer +ontrol 0egister( holds the run2stop and overflow flag for Timers 4 and %. T,OD: 'Timer 1ode 0egister( holds the mode, gate control and counter2timer select bits. TH1: 'Timer % High <yte( contains the upper 9 bits of the Timer % value. T*1 'Timer % -ow <yte( contains the lower 9 bits of the Timer % value. T1: is the Timer2+ounter % pin for external input '*7.:2T%(. T+1: 'Timer % Overflow )lag( is set when when Timer % overflows.

Co%tro!: 'tat#s 'Timer2+ounter #tatus( displays the current status of the Timer2+ounter. TR1: 'Timer % 0un +ontrol( is set to turn Timer % on, and reset to turn it off. 4-TE: '>ating +ontrol( is set to enable a timer2counter while the 3=T% flag is high and run control 'T0%( is set. INT1B: External 3nterrupt % 3nput 2 Timer % >ate +ontrol 3nput pin. Timer 6 is a %D bit Timer2+ounter that can operate as either a timer or an event counter. The type of operation is selected by bit +2T6 in the #)0 T6+O= Timer 6 has three operating modes, capture, auto reload 'up or down counting(, and baud rate generator. The modes are selected by bits in T6+O=. Timer 6 consists of two 9 bit registers, TH6 and T-6. 3n the Timer function, the T-6 register is incremented every machine cycle. #ince a machine cycle consists of %6 oscillator periods, the count rate is %2%6 of the oscillator frequency. 6H

Timer 2:

RC*9 CTC*9 4 4 % A

CP7R*2 4 % A

TR2 % % %

,ODE %D bit "uto reload %D bit +apture <aud 0ate

>enerator A 4 'Off( Tab!e ".3: Timer modes of -T/>'&2 microco%tro!!er

3n the +ounter function, the register is incremented in response to a % to 4 transition at its corresponding external input pin, T6. 3n this function, the external input is sampled during #:*6 of every machine cycle. !hen the samples show a high in one cycle and a low in the next cycle, the count is incremented. The new count value appears in the register during #7*% of the cycle following the one in which the transition was detected. #ince two machine cycles '68 oscillator periods( are required to recogni$e a % to 4 transition, the maximum count rate is %268 of the oscillator frequency. To ensure that a given level is sampled at least once before it changes, the level should be held for at least one full machine cycle.

".. :a#d Rate 4e%erator:

69

Timer 6 is selected as the baud rate generator by setting T+-G and2or 0+-G in T6+O=. =ote that the baud rates for transmit and receive can be different if Timer 6 is used for the receiver or transmitter and Timer % is used for the other function. #etting 0+-G and2or T+-G puts Timer 6 into its baud rate generator mode. The baud rate generator mode is similar to the auto reload mode, in that a rollover in TH6 causes the Timer 6 registers to be reloaded with the %D bit value in registers 0+"*6H and 0+"*6-, which are preset by software.

The Timer can be configured for either timer or counter operation. 3n most applications, it is configured for timer operation '+*2T6 J 4(. The timer operation is different for Timer 6 when it is used as a baud rate generator. =ormally, as a timer it increments every machine cycle 'at %2%6 the oscillator frequency(. "s a baud rate generator, however it increments every state time 'at %26 the oscillator frequency(. Timer 6 as a baud rate generator is shown in )igure %% %. This figure is valid only if 0+-G or T+-G J % in T6+O=. =ote that a rollover in TH6 does not set T)6 and will not generate an interrupt. =ote too, that if EAE=6 is set, a % to 4 transition in T6EA will set EA)6 but will not cause a reload from '0+"*6H, 0+"*6-( to 'TH6, T-6(. Thus, when Timer 6 is in use as a baud rate generator, T6EA can be used as an extra external interrupt.

6@

&. Hard5are Com o%e%ts


&.1 Po5er '# !y: 3n this pro&ect we have power supplies with C:M Q :M option normally C:M is enough for total circuit. "nother ' :M( supply is used in case of O* amp circuit. Transformer primary side has 6742:4HR "+ voltage whereas at the secondary winding the voltage is step downed to %62:4h$ and this voltage is rectified using two full wave rectifiers .The rectified output is given to a filter circuit to filter the unwanted ac in the signal. "fter that the output is again applied to a regulator -1H94: 'to provide C:v( regulator. !hereas -1H94: is for providing I:M regulation. :!oc; Dia$ram of Po5er '# !y: .). is the power supply pin for the circuit. " step down transformer is used to convert 674M :4HR line voltage %6 4 %6M ac input to the supply pin of the circuit. The ac voltage is converted to pulsated dc using a center tapped full wave rectifier. "ny ripples if present are eliminated using a capacitive filter at the output of the full wave rectifier. The capacitive filter output is input to H94: voltage regulator, which produces a dc equivalent of ac :M. This :M dc acts as M++ to the micro controller. The excess voltage is dissipates heat via an "luminium heat sink attached to the voltage regulator. +i$#re &.1: :!oc; Dia$ram of Po5er '# !y

Descri tio%: " variable regulated power supply, also called a variable bench power supply, is one where you can continuously ad&ust the output voltage to your requirements. Marying the output of the power supply is the recommended way to test a pro&ect after having 74

double checked parts placement against circuit drawings and the parts placement guide. This type of regulation is ideal for having a simple variable bench power supply. "ctually this is quite important because one of the first pro&ects a hobbyist should undertake is the construction of a variable regulated power supply. !hile a dedicated supply is quite handy e.g. :M or %6M, itBs much handier to have a variable supply on hand, especially for testing. 1ost digital logic circuits and processors need a : volt power supply. To use these parts we need to build a regulated : volt source. ;sually you start with an unregulated power supply ranging from @ volts to 68 volts .+ To make a : volt power supply, we use a -1H94: voltage regulator 3+ '3ntegrated +ircuit(. The 3+ is shown below.

+i$#re &.2: <o!ta$e Re$#!ator6IC *,./@&8 The -1H94: is simple to use. Fou simply connect the positive lead of your unregulated .+ power supply 'anything from @M.+ to 68M.+( to the 3nput pin, connect the negative lead to the common pin and then when you turn on the power, you get a : volt supply from the Output pin. Circ#it +eat#res: <rief description of operation, >ives out well regulated C:M output, output current capability of %44 m". +ircuit protection, <uilt in overheating protection shuts down output when regulator 3+ gets too hot. +ircuit complexity, Mery simple and easy to build. +ircuit performance, Mery stable C:M output voltage, reliable operation. 7%

"vailability of components, Easy to get, uses only very common basic components. .esign testing, <ased on datasheet example circuit, 3 have used this circuit successfully as part of many electronics pro&ects. "pplications, *art of electronics devices, small laboratory power supply. *ower supply voltage, ;nregulated .+ 9 %9M power supply. *ower supply current, =eeded output current C : m" . <;RRE0, 3f the system enters into an un wanted state then the bu$$er will be on. )"=, The load will be increase means crossing the average values in our pro&ect at that time the )"= will be O='for the cooling purpose(.

0E-"F, any load reaching the over current or over temp or over voltage or anything we want to shut down the system at that time the relay will be on.

&.2 Re!ay: " relay is an electrical switch that opens and closes under the control of another electrical circuit. 3n the original form, the switch is operated by an electromagnet to open

76

or close one or many sets of contacts. <ecause a relay is able to control an output circuit of higher power than the input circuit, it can be considered to be, in a broad sense, a form of an electrical amplifier.

+i$#re &.3: Re!ay " simple electromagnetic relay, such as the one taken from a car in the first picture, is an adaptation of an electromagnet. 3t consists of a coil of wire surrounding a soft iron core, an iron yoke, which provides a low reluctance path for magnetic flux, a moveable iron armature, and a set, or sets, of contactsS two in the relay pictured. The armature is hinged to the yoke and mechanically linked to a moving contact or contacts. 3t is held in place by a spring so that when the relay is de energi$ed there is an air gap in the magnetic circuit. 3n this condition, one of the two sets of contacts in the relay pictured is closed, and the other set is open. Other relays may have more or fewer sets of contacts depending on their function. The relay in the picture also has a wire connecting the armature to the yoke. This ensures continuity of the circuit between the moving contacts on the armature, and the circuit track on the *rinted +ircuit <oard '*+<( via the yoke, which is soldered to the *+<. !hen an electric current is passed through the coil, the resulting magnetic field attracts the armature, and the consequent movement of the movable contact or contacts either makes or breaks a connection with a fixed contact. 3f the set of contacts was closed when the relay was de energi$ed, then the movement opens the contacts and breaks the connection, and vice versa if the contacts were open. !hen the current to the coil is switched off, the armature is returned by a force, approximately half as strong as the magnetic force, to its relaxed position. ;sually this force is provided by a spring, but gravity is also used commonly in industrial motor starters. 1ost relays are manufactured

77

to operate quickly. 3n a low voltage application, this is to reduce noise. 3n a high voltage or high current application, this is to reduce arcing. 3f the coil is energi$ed with .+, a diode is frequently installed across the coil, to dissipate the energy from the collapsing magnetic field at deactivation, which would otherwise generate a voltage spike dangerous to circuit components. #ome automotive relays already include that diode inside the relay case. "lternatively a contact protection network, consisting of a capacitor and resistor in series, may absorb the surge. 3f the coil is designed to be energi$ed with "+, a small copper ring can be crimped to the end of the solenoid. This Eshading ringE creates a small out of phase current, which increases the minimum pull on the armature during the "+ cycle.T%U <y analogy with the functions of the original electromagnetic device, a solid state relay is made with a thyristor or other solid state switching device. To achieve electrical isolation an op to coupler can be used which is a light emitting diode '-E.( coupled with a photo transistor. Ty es of Re!ay: -atching relay 0eed relay 1ercury wetted relay *olari$ed relay 1achine tool relay +ontactor relay #olid state relay #olid state contactor relay <uchhol$ relay Over protection relay

&.3 I%terfaci%$ *CD 5ith ,icroco%tro!!er:

78

-iquid +rystal .isplay also called as -+. is very helpful in providing user interface as well as for debugging purpose. The most common type of -+. controller is H3T"+H3 88H94 which provides a simple interface between the controller Q an -+.. These -+.Bs are very simple to interface with the controller as well as are cost effective. The most commonly used "-*H"=;1E03+ displays are %x%D '#ingle -ine Q %D characters(, 6x%D '.ouble -ine Q %D character per line( Q 8x64 'four lines Q Twenty characters per line(. The -+. requires 7 control lines '0#, 02! Q E=( Q 9 'or 8( data lines. The number on data lines depends on the mode of operation. 3f operated in 9 bit mode then 9 data lines C 7 control lines i.e. total %% lines are required. "nd if operated in 8 bit mode then 8 data lines C 7 control lines i.e. H lines are required. How do we decide which mode to useV 3t/s simple if you have sufficient data lines you can go for 9 bit mode Q if there is a time constrain i.e. display should be faster then we have to use 9 bit mode because basically 8 bit mode takes twice as more time as compared to 9 bit mode There are two ways to interface the -+. with "T9@#:6, %. "ddress2data bus memory map, i.e. use the -+. as a piece of external 0"1 6. .irect 32O connection by writing high2low signal to -+.. The first of all, we start with a task to understand the control sequence required to read or write data to the -+. module. There are several points, instruction, steps and sequences to show a graphic data or image on graphic -+.. 1ost common and important of them are described here as follows, 1. 0# controls data or command action '.23J-O! V commandS .23JH3>H V data(. 2. Hori$ontal pixel addressed by F address counter '4 D7(. The F address indicates the column position in the hori$ontal direction. "s, earlier describes the -+. is splitted logically in half with controller O% '+#%( driving the left half of the display, and controller O6 '+#6( driving the right half. #o the range of F address counter is from 4 to D7, '%6926 J D8(. 3. The term *age refers to 9 pixel vertically. There are 9 pages ranging from 4 to H, thus matching a vertical matrix si$e of D8 pixels. ". 02! controls data 0E". 2 !03TE '02!J-O!,, writeS 02!JH3>H ,, read(.

7:

+i$#re &.":I%terfaci%$ -T/>'&2 microco%tro!!er 5ith *CD &. +#%, +#6, E, and 0#T pins are also control *3=s of >raphic -+.. .irect low level access and signal timing requirement will be taken care by hardware dependent functions.

7D

0. 9ei! 'oft5are
0.1 O)er)ie5 of 9EI* 'oft5are a%d Com i!er: O)er)ie5: The GE3- software is used for execution of microcontroller programs. Geil development tools for the 1+ architecture support every level of software developer from the professional applications engineer to the student &ust learning about embedded software development. The keil N Mision debugger accurately simulates on chip peripherals '*+, +"=, ;"0T, #*3, 3nterrupts, 32O ports, "2. converter, .2" converter and *!1 modules( of your avr device. #imulation helps you understand h2w configurations and avoids time wasted on setup problems. "dditionally, with simulation, you can write and test applications before target h2w is available. !hen using the Geil tools, the pro&ect development cycle is roughly the same as for any other software development pro&ect. The Geil development tools offer numerous features and advantages that help you develop embedded applications quickly and successfully. They are easy to use and are guaranteed to help you achieve your design goals in a timely manner. The 1.G combines the "01 0eal Miew +ompiler with the Geil WMision 3.E2.ebugger, where as the WMision package can be seen as the central part of the Geil toll chain. Com i!er: 0eal Miew +2+CC compilers and Geil "=#3 + compilers are designed to generate fast and compact code for the 94:%, +%DD, AE%DD, A+6444, "01H and "01@ as well as for the +ortex architectures. They can generate ob&ect code that matches the efficiency and speed of assembly programming. ;sing high level language like +2+CC offers many advantages over assembly language programming, Gnowledge of the processor instruction set is not required. 0udimentary knowledge of the microcontroller architecture is desirable, but not necessary. .etails, like register allocation, addressing of the various memory types, and addressing data types, are managed by the compiler. *rograms receive a formal structure 'imposed by the +2+CC programming language( and can be split into distinct functions. This contributes to source code reusability as well as a better application structure. 7H

Geywords and operational functions that resemble the human thought process may be used. #oftware development time and debugging time are reduced drastically.Fou may use the standard routines from the run time library such as, formatted output, numeric conversions, and floating point arithmetic.

<ecause of the modular techniques, existing program components may be included easily into new programs. The +2+CC language is portable 'based on the "=#3 standard(, en&oys wide and popular support, and is easily obtained for most systems. Existing program code can be adapted quickly and as needed to other processors. The library manager creates and maintains libraries of ob&ect modules 'created by

the +2+CC +ompiler and "ssembler(. -ibrary files provide a convenient way to combine and reference a large number of modules that may be used by the linker. The linker includes libraries to resolve external variables and functions used in applications. 1odules from libraries are extracted and added to programs only if required. 1odules, containing routines that are not invoked by your program specifically, are not included in the final output. Ob&ect modules extracted by the linker from a library are processed exactly like other ob&ect modules. There are a number of advantages to using libraries, security, speed, and minimi$ed disk space are only a few. -ibraries provide a vehicle for distributing large numbers of functions and routines without distributing the original source code.

79

0.2 'im#!ator7 Deb#$$er: The WMision .ebugger may be configured as a #imulator, such, that programs run on your *+ and need no hardware attached, or as a Target .ebugger, where programs run on your target hardware. The #imulator is a software only product that simulates most features of a microcontroller, without a target hardware connected to your *+. <y using the #imulator, you can test and debug your embedded application before any target hardware or any evaluation board is available. WMision also simulates a wide variety of peripherals including the serial port, external 32O, timers, and interrupts. #imulated capabilities are based on the microcontroller selected from the device database and vary depending on the chip. The Target .ebugger is a hybrid product that combines WMision running on the *+ with a hardware debugger interfacing to your target system. Third party tool developers may use the Geil "dvanced >.3 to interface the Geil WMision 3.E to the following types of hardware debuggers, DT-47OCD' -da ters that connect to on chip debugging systems like the "01 Embedded 3+E. Tar$et ,o%itors that are integrated with user hardware and that are available on many evaluation boards. Em#!ators that connect to the 1+; pins of the target hardware. I%('ystem Deb#$$ers that are part of the user application program and provide basic test functions. Test Hard5are such as the 3nfineon #mart+ard 0O1 1onitor 01DD* or the *hilips #mart1A .<ox. Ho5 to Deb#$E To debug a program using the simulator, select the Use 'im#!ator radio button on the left side of the Deb#$ tab. To debug a program running on target hardware, select the Use FHardware DebuggerG radio button on the right side of the Deb#$ tab.

7@

3n addition to selecting whether you debug with the simulator or target debugger, the Deb#$ tab provides a number of debugger configuration options.

+i$#re 0.1: 'im#!ator 3i%do5 'im#!atio%: WMision simulates up to 8 >< of memory from which specific areas can be mapped for read, write, execute, or any combination of those. 3n most cases, WMision can deduct the correct memory map from the program ob&ect module. "ny illegal memory accesses is automatically trapped and reported. " number of device specific simulation capabilities are possible with WMision. !hen you select a microcontroller from the .evice .atabase, WMision configures the #imulator accordingly and selects the appropriate instruction set, timing, and peripherals. The WMision #imulator runs programs using the "01H, "01@, Thumb, Thumb 6, 94:%, +%DD2AE%DD2A+6444 instruction sets. The #imulator is cycle accurate and simulates instructions and on chip peripheral timing, where possible, correctly.

84

The on chip peripherals of many 94:%, +%DD2AE%DD2A+6444, "01H and "01@, and +ortex devices are simulated completely.

*rovide external stimulus using the debugger + script language. 1ost editor features are available while debugging. )or example, use the +i%d

Deb#$ ,ode: command to locate source text or make source code changes while debugging. 1uch of the debugger interface is identical to the editor interface. However, in Deb#$ ,ode, the following ma&or interface changes occur, The .ebug 1enu and .ebug Toolbar enable debug commands, The *eripherals 1enu is populated to monitor the environment, The +ommand !indow reveals additional information while debugging, The .isassembly !indow provides access to assembly code for debugging, The 0egisters !indow to view and change values in registers directly, The +all #tack !indow to examine the programs call tree, #everal 1emory, #erial, and !atch windows monitor the application behavior, "nalysis !indows present variable values in graphical form on a time scale, #ymbol !indow an comfortable way to locate ob&ects of your program, 3nstruction Trace !indow to follow execution of the program sequence, #ystem Miewer to supervise peripheral registers. 1ultiple .ebug -ayouts may be defined to quickly switch visual aspects

<esides the disabled build commands, you may not modify The pro&ect structure or Tool parameters

8%

/. -

!icatio%sH -d)a%ta$es ? Disad)a%ta$es

!icatio%s of this roIect: %. )or counting purposes. 6. )or automatic room light control. 7. *hoto resistors come in many different types. 3nexpensive cadmium sulfide cells can be found in many consumer items such as camera light meters, street lights, clock radios, alarms, and outdoor clocks. 8. They are also used in some dynamic compressors together with a small incandescent lamp or light emitting diode to control gain reduction. :. -ead sulfide and indium antimonide -.0s are used for the mid infrared spectral region. D. >e,+u photoconductors are among the best far infrared detectors available, and are used for infrared astronomy and infrared spectroscopy.

-d)a%ta$es of this roIect: %. -ow cost. 6. Easy to use. 7. 3mplement in single door. Disad)a%ta$es of this ProIect: 3t is used only when one single person cuts the rays of the sensor hence it cannot be used when two person cross simultaneously.

86

>. +#t#re 'co e


+#t#re 'co e of the ProIect: %. <y using this circuit and proper power supply we can implement various applications such as fans, tube lights, etc. 6. <y modifying this circuit and using two relays we can achieve a task of opening and closing the door. 7. The device will find its use everywhere in coming days of energy crisis.

87

1@. Co%c!#sio%
Therefore this *ro&ect X"utomatic 0oom -ight +ontroller with Misitor +ounterY using "T9@#:6 microcontroller is a reliable circuit that takes over the task of controlling the room lights as well us counting number of persons2 visitors in the room very accurately. !hen somebody enters into the room then the counter is incremented by one and the light in the room will be switched O= and when any one leaves the room then the counter is decremented by one. The light will be only switched O)) until all the persons in the room go out. The total number of persons inside the room is also displayed on the seven segment displays. The microcontroller does the above &ob. 3t receives the signals from the sensors, and this signal is operated under the control of software which is stored in 0O1. 1icrocontroller "T9@#:6 continuously monitor the 3nfrared 0eceivers, !hen any ob&ect pass through the 30 0eceiverBs then the 30 0ays falling on the receiver are obstructed , this obstruction is sensed by the 1icrocontroller. 3n today/s world, there is a continuous need for automatic appliances with the increase in standard of living, there is a sense of urgency for developing circuits that would ease the complexity of life. "lso if at all one wants to know the number of people present in room so as not to have congestion. This circuit proves to be helpful.

88

11. Refere%ce
3ebsites: TDU THU T9U http,22www.datasheets8u.com http,22www.datasheetcatalog.com http,22www.google.com

8:

Вам также может понравиться