Timer

Published on November 2016 | Categories: Documents | Downloads: 63 | Comments: 0 | Views: 465
of 4
Download PDF   Embed   Report

Comments

Content

PIC Single-Chip 4-Digit 99-Minute Timer
A very low parts count 4-digit 99 minute timer design.



Overview
Discussion
1. I'd like to present a relatively simple 4-digit 99 minute timer project. The low
parts count design is a result of experiments with some very bright miniature 4digit displays available from Sparkfun that come in red, green, yellow, white (all
$1.95), and blue ($2.50) colors.

In addition to the Digital 99 Minute Timer presented here, the circuit design, with
minor modifications, might support several other projects, including, but not
limited to;
() Digital Voltage Monitor
() Digital Thermometer
() Digital Thermostat
() Repeating On/Off Interval Timer
() Digital Alarm Clock
() Digital Clock/Calendar/Alarm/Timer
() Digital Stopwatch
() Digital RPM Indicator
Requirements

You'll need a programmer to program the PIC16F1828 device and you'll need a
regulated 5 Vdc power source to power the circuit. You'll also need a simple
transistor, opto-isolator, SSR (Solid State Relay IC), or similar driver circuit
which will take its input from the active high output signal on the RA2 pin. The
output circuit you choose depends on what you intend to drive (relay, etc.)

Hardware
The wiring diagram shows several components that are not required for the 99
Minute Timer application. Specifically, you don't need to install the crystal and
capacitors in the oscillator block and you don't need to install the two discrete 'A'
and 'B' LEDs for this particular project.
The little 4-digit displays are so bright that I decided to drive them one segment at
a time (1/32nd duty cycle) directly from the PIC16F1828 I/O pins (no
column/digit driver transistors). I didn't use current limiting resistors on the LED

cathode segments, relying instead on ~250 ohms combined RDS(ON) resistance
of the I/O pin FET drivers inside of the PIC (about 150 ohms for a high-side
'sourcing' FET driver and about 100 ohms for a low-side 'sinking' FET driver).
You'll find that the red, green, and yellow displays (Vf=2.1v) are a bit brighter
than the white display (Vf=3.1v) and the blue display (Vf=3.4v).
Parts List
1 ea. PIC16F1828-I/P (DIP package)
1 ea. 0.1-uf (100nf) ceramic capacitor
1 ea. 10 kOhm, 1/8th watt carbon film resistor
4 ea. 1N914 or 1N4148 silicon switching diode
1 ea. Sparkfun COM-09481 Blue Common Anode 4-Digit Display
4 ea. generic momentary contact switch
1 ea. Soberton GT111P Piezo Speaker
Misc. sockets, connectors, prototype circuit board

The timer circuit was built on a Radio Shack prototype board (sku 276-149) with
point-to-point wiring using 30 guage Kynar wire-wrap wire. A plastic coated
paper silk screen was glued onto the top (component) side of the board.
Software
The source and hex program files are contained in the zip file attachment.
Program the 16F1828 device with the hex program file using a PICKIT2,
PICKIT3, or similar programmer.
The program was written using the free/lite version of BoostC from Sourceboost.
The program uses packed BCD "minutes" and "seconds" variables and the code to
increment and decrement those variables may look a little strange to some
programmers.
Operation
The <SET> switch is used to toggle between "set" and "run" modes. Press <SET>
to enter "set" mode and the "minutes" display group will flash at a 2-Hz rate.
While in "set" mode the <Rt> arrow key is used to toggle between the "minutes"
and the "seconds" display group and the <Up> and <Dn> arrow switches are used
to increment or decrement the value of the current flashing display group. The
"minutes" display group will rollover from 99 to 0 or from 0 to 99 and the
"seconds" display group will rollover from 59 to 0 or from 0 to 59. The <Up> and
<Dn> arrow switches will repeat when held down. Press <SET> again to exit
"set" mode and enter "run" mode (display stops flashing). In "run" mode you
press the <Rt> arrow switch to start or stop the Timer. An active high signal is

available on the RA2 pin when the Timer is running. While the Timer is running
and counting down, the <SET> switch, the <Up> switch, and the <Dn> switch are
disabled. Those switches are still sampled and debounced in the interrupt service
routine and you'll still hear a "new press" beep when you press one of them but
they're ignored and cleared by the logic in the program.

Attached Files:
o

16F1828 Photo Timer.zip

File size:
4.2 KB
Views:
109

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close