The Night Light Saver runs simple clock emulation program, turns a night light on and off with preset time, everyday. The design features low cost, easy installation, no battery backup and no EMI.The AT89C2051 uses external oscillator generated by schmitt trigger gate CD4093, ~680kHz
Reference frequency was derived from 50Hz main line. Time setting only allows at 18:00 by pressing time set button once. If main line has failed, functioning LED will blink at high rate . Since there is no battery backup, thus repressing the button is then needed. The output is capable of driving say, a 25W incandescent lamp.
1)Transformerless direct supply: R1 and C1 forms a simple current limitting AC source. D1 and D2 converts AC to DC with C2 performing a reservoir. D3 limits voltage across the circuit to ~5V.
2)External oscillator: A reliable schmitt gate oscillator with R8 and C5 produces clock approx. 680kHZ. One machine cycle is ~18us.
3)89C2051 circuits: C4, 33uF and R4, 10k forms a reset circuit that need time for riasing logic at least two machines cycle. S1 is a momentary button for setting time to 18:00 by pulling P3.0 to logic low. The functioning LED is connected to P3.7. Q2 is a small triac MAC97A6, and is drived by Q1, PNP transistor sinking through P1.7.
4)Reference frequency: R3 and C3 integrates a 50Hz main frequency and unwanted transients producing triangle-like waveform which is fed to U2 schmitt gate. The output pin4 is clean 50Hz square wave tied to int0
Visit Here for more.