PIC Light Chaser with PIC16C84


Posted on Dec 10, 2012    6314

The circuit this month is a simple 8 light chaser built around a PIC. This will demonstrate how easy it is to program a PIC and to utilize it in a circuit. The circuit works as follows. When power is supplied to the circuit the PIC resets and starts to process instructions that are programmed into it. The program will turn on each LED in sequence with a small delay between each one. It will continue to do this until power is removed. The nice feature with this circuit is that you can program it to perform many complex lighting sequences. Normally you would have to rebuild a hardware based circuit to change the light sequence. With a PIC all you need to do is reprogram it and plug it back into the circuit. I am assuming that you will be using an IC socket. The circuit is show below and then I will discuss the program that is programmed into the PIC.


PIC Light Chaser with PIC16C84
Click here to download the full size of the above Circuit.

The program is listed below: ;File DEMO.ASM ;Assembly code for PIC16F84 micro controller ;Blinks LED's on the outputs in a rotating pattern. ;With 75khz osc, each LED stays on half a second. ;CPU configuration ; (its a 16F84,RC Oscillator, watchdog timer off, power-up timer on) processor 16f84 include _config _RC_OSC &_WDT_OFF &_PWRITE_ON ;Declare variables at 2 memory locations. J equ H'1F' ;J=Address hex 1F K equ H'1E' ;K=Address hex 1E ;Program org 0 ;start at address 0 ;Set port B as output and initialize it movlw B'00000000' ;w : =00000000 binary tris PORTB ;port B ctrl register := w movlw B'00000001' ;w := 00000001 binary movwf PORTB ;port B itself := w ;Rotate the bits of port B leftward mloop: rlf PORTB,f ;Waste some time by executing nested loops. movlw D'50' ;w := 50 decimal movwf J...




Leave Comment

characters left:

New Circuits

.

 



Top