UV Exposure Unit with built in PIC-based timer
The idea of using Ultraviolet LEDs to expose photo-sensitive circuit board is not a new one but with this design I hope to provide a solution with consistent timed exposure using very simple circuit construction, downward exposure and using off-the-peg boxes to house the unit. In fact, everything has been designed with the home constructor in mind.
The idea of using Ultraviolet LEDs to expose photo-sensitive circuit board is not a new one but with this design I hope to provide a solution with consistent timed exposure using very simple circuit construction, downward exposure and using off-the-peg boxes to house the unit. In fact, everything has been designed with the home constructor in mind. The basic system consists of two circuit boards; the UV exposure circuit and the microcontroller timer circuit. The UV exposure board has 54 UV LEDs arranged in an offset matrix and the control Board is a simple PIC controller intended for mounting above the UV exposure board. It is programmed as an adjustable timer with a triple seven segment display, two timed outputs; one for single-sided PCB exposure and another for anyone wanting to extend the unit to include double-sided PCBs. Also, a sounder output is included to indicate when the selected exposure period is over: usually about 2.5 minutes.
Please see 'Other Files' below for a more detailed description of the project including images and descriptions displayed 'in context'.
November 2020: - Code file in PDF format added. Apologies for the delay which was due to the original file being deleted in error but later found in an old backup file.
November 2020: - Code file in PDF format added. Apologies for the delay which was due to the original file being deleted in error but later found in an old backup file.
Project Elements
The LED Board showing the reed switch mounting (JPG, 388.75 KB)
The completed unit (JPG, 396.43 KB)
The completed circuits (JPG, 444.03 KB)
Circuits mounted in the lid (JPG, 1.31 MB)
Controller Circuit (PNG, 16.88 KB)
Display and controls circuit (PNG, 13.48 KB)
Controller Single.zip
(ZIP)
Single-board UV controller
UV Board A.zip
(ZIP)
UV exposure board - basic
Controller Twin.zip
(ZIP)
Twin-board UV controller
UV Board B.zip
(ZIP)
UV exposure board - with light-box option
UV-ExposureUnit.zip
(ZIP)
Hex code for PIC 16F877A
UV Exposure Unit Article - Basic.zip
(ZIP)
Complete description in MS Word document (zipped)
UV-ExposureUnit.pdf
(PDF)
Discussion (4 comments)

Sad 3 years ago
hello sir
i try to create a hex file to change of the program, but there were many errors in jal editor
i include 2 file (pic and 7seg)
list of errors:
[Error] (16f877a_inc.jal) [Line 470] constant expression expected
[Error] (16f877a_inc.jal) [Line 470] "on" not found
[Error] (16f877a_inc.jal) [Line 470] '=' expected
[Error] (16f877a_inc.jal) [Line 471] constant expression expected
[Error] (16f877a_inc.jal) [Line 471] "off" not found
[Error] (16f877a_inc.jal) [Line 471] '=' expected
[Error] (16f877a_inc.jal) [Line 912] constant expression expected
[Error] (16f877a_inc.jal) [Line 912] "pic_14" not found
[Error] (16f877a_inc.jal) [Line 912] '=' expected
[Error] (16f877a_inc.jal) [Line 916] 'pic_16f877a' not found
[Error] (16f877a_inc.jal) [Line 917] unknown pragma target: bank
[Error] (16f877a_inc.jal) [Line 917] "bank" not found
[Error] (16f877a_inc.jal) [Line 917] '=' expected
[Error] (16f877a_inc.jal) [Line 917] "0x0080" unexpected
[Error] (16f877a_inc.jal) [Line 918] unknown pragma target: page
[Error] (16f877a_inc.jal) [Line 918] "page" not found
[Error] (16f877a_inc.jal) [Line 918] '=' expected
[Error] (16f877a_inc.jal) [Line 918] "0x0800" unexpected
[Error] (16f877a_inc.jal) [Line 919] unknown pragma: shared
[Error] (16f877a_inc.jal) [Line 919] "0x70" unexpected
[Error] (16f877a_inc.jal) [Line 919] "-" unexpected
[Error] (16f877a_inc.jal) [Line 919] "0x7f" unexpected
[Error] (7segcomcath.jal) [Line 30] "case" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] "of" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] "1" unexpected
[Error] (7segcomcath.jal) [Line 30] ":" unexpected
[Error] (7segcomcath.jal) [Line 30] "block" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 38] 'procedure' expected
[Error] (7segcomcath.jal) [Line 38] "block" not found
[Error] (7segcomcath.jal) [Line 38] '=' expected
[Error] (7segcomcath.jal) [Line 39] "2" unexpected
[Error] (7segcomcath.jal) [Line 39] ":" unexpected
[Error] (7segcomcath.jal) [Line 39] "block" not found
[Error] (7segcomcath.jal) [Line 39] '=' expected
[Error] (7segcomcath.jal) [Line 47] "end" not found
[Error] (7segcomcath.jal) [Line 47] '=' expected
[Error] (7segcomcath.jal) [Line 47] "block" not found
[Error] (7segcomcath.jal) [Line 47] '=' expected
[Error] (7segcomcath.jal) [Line 48] "3" unexpected
[Error] (7segcomcath.jal) [Line 48] ":" unexpected
[Error] (7segcomcath.jal) [Line 48] "block" not found
[Error] (7segcomcath.jal) [Line 48] '=' expected
[Error] (7segcomcath.jal) [Line 56] "end" not found
[Error] (7segcomcath.jal) [Line 56] '=' expected
[Error] (7segcomcath.jal) [Line 56] "block" not found
[Error] (7segcomcath.jal) [Line 56] '=' expected
[Error] (7segcomcath.jal) [Line 57] "4" unexpected
[Error] (7segcomcath.jal) [Line 57] ":" unexpected
[Error] (7segcomcath.jal) [Line 57] "block" not found
[Error] (7segcomcath.jal) [Line 57] '=' expected
[Error] (7segcomcath.jal) [Line 65] "end" not found
[Error] (7segcomcath.jal) [Line 65] '=' expected
[Error] (7segcomcath.jal) [Line 65] "block" not found
[Error] (7segcomcath.jal) [Line 65] '=' expected
[Error] (7segcomcath.jal) [Line 66] "5" unexpected
[Error] (7segcomcath.jal) [Line 66] ":" unexpected
[Error] (7segcomcath.jal) [Line 66] "block" not found
[Error] (7segcomcath.jal) [Line 66] '=' expected
[Error] (7segcomcath.jal) [Line 74] "end" not found
[Error] (7segcomcath.jal) [Line 74] '=' expected
[Error] (7segcomcath.jal) [Line 74] "block" not found
[Error] (7segcomcath.jal) [Line 74] '=' expected
[Error] (7segcomcath.jal) [Line 75] "6" unexpected
[Error] (7segcomcath.jal) [Line 75] ":" unexpected
[Error] (7segcomcath.jal) [Line 75] "block" not found
[Error] (7segcomcath.jal) [Line 75] '=' expected
[Error] (7segcomcath.jal) [Line 83] "end" not found
[Error] (7segcomcath.jal) [Line 83] '=' expected
[Error] (7segcomcath.jal) [Line 83] "block" not found
[Error] (7segcomcath.jal) [Line 83] '=' expected
[Error] (7segcomcath.jal) [Line 84] "7" unexpected
[Error] (7segcomcath.jal) [Line 84] ":" unexpected
[Error] (7segcomcath.jal) [Line 84] "block" not found
[Error] (7segcomcath.jal) [Line 84] '=' expected
[Error] (7segcomcath.jal) [Line 92] "end" not found
[Error] (7segcomcath.jal) [Line 92] '=' expected
[Error] (7segcomcath.jal) [Line 92] "block" not found
[Error] (7segcomcath.jal) [Line 92] '=' expected
[Error] (7segcomcath.jal) [Line 93] "8" unexpected
[Error] (7segcomcath.jal) [Line 93] ":" unexpected
[Error] (7segcomcath.jal) [Line 93] "block" not found
[Error] (7segcomcath.jal) [Line 93] '=' expected
[Error] (7segcomcath.jal) [Line 101] "end" not found
[Error] (7segcomcath.jal) [Line 101] '=' expected
[Error] (7segcomcath.jal) [Line 101] "block" not found
[Error] (7segcomcath.jal) [Line 101] '=' expected
[Error] (7segcomcath.jal) [Line 102] "9" unexpected
[Error] (7segcomcath.jal) [Line 102] ":" unexpected
[Error] (7segcomcath.jal) [Line 102] "block" not found
[Error] (7segcomcath.jal) [Line 102] '=' expected
[Error] (7segcomcath.jal) [Line 110] "end" not found
[Error] (7segcomcath.jal) [Line 110] '=' expected
[Error] (7segcomcath.jal) [Line 110] "block" not found
[Error] (7segcomcath.jal) [Line 110] '=' expected
[Error] (7segcomcath.jal) [Line 111] "0" unexpected
[Error] (7segcomcath.jal) [Line 111] ":" unexpected
[Error] (7segcomcath.jal) [Line 111] "block" not found
[Error] (7segcomcath.jal) [Line 111] '=' expected
[Error] (7segcomcath.jal) [Line 119] "end" not found
[Error] (7segcomcath.jal) [Line 119] '=' expected
[Error] (7segcomcath.jal) [Line 119] "block" not found
[Error] (7segcomcath.jal) [Line 119] '=' expected
[Error] (7segcomcath.jal) [Line 122] "end" not found
[Error] (7segcomcath.jal) [Line 122] '=' expected
[Error] (7segcomcath.jal) [Line 122] "case" not found
[Error] (7segcomcath.jal) [Line 122] '=' expected
[Error] (7segcomcath.jal) [Line 124] "end" not found
[Error] (7segcomcath.jal) [Line 124] '=' expected
[Warning] (UV-ExposureUnit.jal) [Line 73] assignment to smaller type; truncation possible
112 errors, 1 warnings
i try to create a hex file to change of the program, but there were many errors in jal editor
i include 2 file (pic and 7seg)
list of errors:
[Error] (16f877a_inc.jal) [Line 470] constant expression expected
[Error] (16f877a_inc.jal) [Line 470] "on" not found
[Error] (16f877a_inc.jal) [Line 470] '=' expected
[Error] (16f877a_inc.jal) [Line 471] constant expression expected
[Error] (16f877a_inc.jal) [Line 471] "off" not found
[Error] (16f877a_inc.jal) [Line 471] '=' expected
[Error] (16f877a_inc.jal) [Line 912] constant expression expected
[Error] (16f877a_inc.jal) [Line 912] "pic_14" not found
[Error] (16f877a_inc.jal) [Line 912] '=' expected
[Error] (16f877a_inc.jal) [Line 916] 'pic_16f877a' not found
[Error] (16f877a_inc.jal) [Line 917] unknown pragma target: bank
[Error] (16f877a_inc.jal) [Line 917] "bank" not found
[Error] (16f877a_inc.jal) [Line 917] '=' expected
[Error] (16f877a_inc.jal) [Line 917] "0x0080" unexpected
[Error] (16f877a_inc.jal) [Line 918] unknown pragma target: page
[Error] (16f877a_inc.jal) [Line 918] "page" not found
[Error] (16f877a_inc.jal) [Line 918] '=' expected
[Error] (16f877a_inc.jal) [Line 918] "0x0800" unexpected
[Error] (16f877a_inc.jal) [Line 919] unknown pragma: shared
[Error] (16f877a_inc.jal) [Line 919] "0x70" unexpected
[Error] (16f877a_inc.jal) [Line 919] "-" unexpected
[Error] (16f877a_inc.jal) [Line 919] "0x7f" unexpected
[Error] (7segcomcath.jal) [Line 30] "case" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] "of" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 30] "1" unexpected
[Error] (7segcomcath.jal) [Line 30] ":" unexpected
[Error] (7segcomcath.jal) [Line 30] "block" not found
[Error] (7segcomcath.jal) [Line 30] '=' expected
[Error] (7segcomcath.jal) [Line 38] 'procedure' expected
[Error] (7segcomcath.jal) [Line 38] "block" not found
[Error] (7segcomcath.jal) [Line 38] '=' expected
[Error] (7segcomcath.jal) [Line 39] "2" unexpected
[Error] (7segcomcath.jal) [Line 39] ":" unexpected
[Error] (7segcomcath.jal) [Line 39] "block" not found
[Error] (7segcomcath.jal) [Line 39] '=' expected
[Error] (7segcomcath.jal) [Line 47] "end" not found
[Error] (7segcomcath.jal) [Line 47] '=' expected
[Error] (7segcomcath.jal) [Line 47] "block" not found
[Error] (7segcomcath.jal) [Line 47] '=' expected
[Error] (7segcomcath.jal) [Line 48] "3" unexpected
[Error] (7segcomcath.jal) [Line 48] ":" unexpected
[Error] (7segcomcath.jal) [Line 48] "block" not found
[Error] (7segcomcath.jal) [Line 48] '=' expected
[Error] (7segcomcath.jal) [Line 56] "end" not found
[Error] (7segcomcath.jal) [Line 56] '=' expected
[Error] (7segcomcath.jal) [Line 56] "block" not found
[Error] (7segcomcath.jal) [Line 56] '=' expected
[Error] (7segcomcath.jal) [Line 57] "4" unexpected
[Error] (7segcomcath.jal) [Line 57] ":" unexpected
[Error] (7segcomcath.jal) [Line 57] "block" not found
[Error] (7segcomcath.jal) [Line 57] '=' expected
[Error] (7segcomcath.jal) [Line 65] "end" not found
[Error] (7segcomcath.jal) [Line 65] '=' expected
[Error] (7segcomcath.jal) [Line 65] "block" not found
[Error] (7segcomcath.jal) [Line 65] '=' expected
[Error] (7segcomcath.jal) [Line 66] "5" unexpected
[Error] (7segcomcath.jal) [Line 66] ":" unexpected
[Error] (7segcomcath.jal) [Line 66] "block" not found
[Error] (7segcomcath.jal) [Line 66] '=' expected
[Error] (7segcomcath.jal) [Line 74] "end" not found
[Error] (7segcomcath.jal) [Line 74] '=' expected
[Error] (7segcomcath.jal) [Line 74] "block" not found
[Error] (7segcomcath.jal) [Line 74] '=' expected
[Error] (7segcomcath.jal) [Line 75] "6" unexpected
[Error] (7segcomcath.jal) [Line 75] ":" unexpected
[Error] (7segcomcath.jal) [Line 75] "block" not found
[Error] (7segcomcath.jal) [Line 75] '=' expected
[Error] (7segcomcath.jal) [Line 83] "end" not found
[Error] (7segcomcath.jal) [Line 83] '=' expected
[Error] (7segcomcath.jal) [Line 83] "block" not found
[Error] (7segcomcath.jal) [Line 83] '=' expected
[Error] (7segcomcath.jal) [Line 84] "7" unexpected
[Error] (7segcomcath.jal) [Line 84] ":" unexpected
[Error] (7segcomcath.jal) [Line 84] "block" not found
[Error] (7segcomcath.jal) [Line 84] '=' expected
[Error] (7segcomcath.jal) [Line 92] "end" not found
[Error] (7segcomcath.jal) [Line 92] '=' expected
[Error] (7segcomcath.jal) [Line 92] "block" not found
[Error] (7segcomcath.jal) [Line 92] '=' expected
[Error] (7segcomcath.jal) [Line 93] "8" unexpected
[Error] (7segcomcath.jal) [Line 93] ":" unexpected
[Error] (7segcomcath.jal) [Line 93] "block" not found
[Error] (7segcomcath.jal) [Line 93] '=' expected
[Error] (7segcomcath.jal) [Line 101] "end" not found
[Error] (7segcomcath.jal) [Line 101] '=' expected
[Error] (7segcomcath.jal) [Line 101] "block" not found
[Error] (7segcomcath.jal) [Line 101] '=' expected
[Error] (7segcomcath.jal) [Line 102] "9" unexpected
[Error] (7segcomcath.jal) [Line 102] ":" unexpected
[Error] (7segcomcath.jal) [Line 102] "block" not found
[Error] (7segcomcath.jal) [Line 102] '=' expected
[Error] (7segcomcath.jal) [Line 110] "end" not found
[Error] (7segcomcath.jal) [Line 110] '=' expected
[Error] (7segcomcath.jal) [Line 110] "block" not found
[Error] (7segcomcath.jal) [Line 110] '=' expected
[Error] (7segcomcath.jal) [Line 111] "0" unexpected
[Error] (7segcomcath.jal) [Line 111] ":" unexpected
[Error] (7segcomcath.jal) [Line 111] "block" not found
[Error] (7segcomcath.jal) [Line 111] '=' expected
[Error] (7segcomcath.jal) [Line 119] "end" not found
[Error] (7segcomcath.jal) [Line 119] '=' expected
[Error] (7segcomcath.jal) [Line 119] "block" not found
[Error] (7segcomcath.jal) [Line 119] '=' expected
[Error] (7segcomcath.jal) [Line 122] "end" not found
[Error] (7segcomcath.jal) [Line 122] '=' expected
[Error] (7segcomcath.jal) [Line 122] "case" not found
[Error] (7segcomcath.jal) [Line 122] '=' expected
[Error] (7segcomcath.jal) [Line 124] "end" not found
[Error] (7segcomcath.jal) [Line 124] '=' expected
[Warning] (UV-ExposureUnit.jal) [Line 73] assignment to smaller type; truncation possible
112 errors, 1 warnings
Reply

Colin 3 years ago
https://www.elektor.com/pic-microcontrollers-en-e-book
Download the 14MB file and the Bert JAL Libraries are included.
Download the 14MB file and the Bert JAL Libraries are included.
Reply

Sad 3 years ago
dear Colin
many thanks to guide me, now i dont have any error, but my hex file is different from hex file of elektor,
i download UV-ExposureUnit.txt here and 16f877A_bert.txt with your suggestion
and in following you can find the 7segcomcath_c file ...
is it possible help me again... i am near to answer...
also i changed the pin definition in it as we want in this progect
-- -----------------------------------------------------------------------------
-- Description
-- Library for 7segment display with common cathodes.
-- Connect the unit to port B but skip pin b3 (LVP).
--
-- -----------------------------------------------------------------------------
-- Version: 1.0
-- Author: S. Griffin 10/01/2015
-- -----------------------------------------------------------------------------
-- define the pins
pin_c0_direction = output -- segment A
pin_c1_direction = output -- segment B
pin_c2_direction = output -- segment C
pin_c3_direction = output -- segment D
pin_c4_direction = output -- segment E
pin_c5_direction = output -- segment F
pin_c6_direction = output -- segment G
-- make pins low to turn display off
pin_c0=0
pin_c1=0
pin_c2=0
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
procedure segnumber(byte in Number) is
case Number of
1: block
pin_c0=0
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
end block
2: block
pin_c0=1
pin_c1=1
pin_c2=0
pin_c3=1
pin_c4=1
pin_c5=0
pin_c6=1
end block
3: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=0
pin_c6=1
end block
4: block
pin_c0=0
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=1
pin_d6=1
end block
5: block
pin_c0=1
pin_c1=0
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=1
pin_c6=1
end block
6: block
pin_c0=1
pin_c1=0
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=1
end block
7: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
end block
8: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=1
end block
9: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=1
pin_c6=1
end block
0: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=0
end block
end case
end procedure
many thanks to guide me, now i dont have any error, but my hex file is different from hex file of elektor,
i download UV-ExposureUnit.txt here and 16f877A_bert.txt with your suggestion
and in following you can find the 7segcomcath_c file ...
is it possible help me again... i am near to answer...
also i changed the pin definition in it as we want in this progect
-- -----------------------------------------------------------------------------
-- Description
-- Library for 7segment display with common cathodes.
-- Connect the unit to port B but skip pin b3 (LVP).
--
-- -----------------------------------------------------------------------------
-- Version: 1.0
-- Author: S. Griffin 10/01/2015
-- -----------------------------------------------------------------------------
-- define the pins
pin_c0_direction = output -- segment A
pin_c1_direction = output -- segment B
pin_c2_direction = output -- segment C
pin_c3_direction = output -- segment D
pin_c4_direction = output -- segment E
pin_c5_direction = output -- segment F
pin_c6_direction = output -- segment G
-- make pins low to turn display off
pin_c0=0
pin_c1=0
pin_c2=0
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
procedure segnumber(byte in Number) is
case Number of
1: block
pin_c0=0
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
end block
2: block
pin_c0=1
pin_c1=1
pin_c2=0
pin_c3=1
pin_c4=1
pin_c5=0
pin_c6=1
end block
3: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=0
pin_c6=1
end block
4: block
pin_c0=0
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=1
pin_d6=1
end block
5: block
pin_c0=1
pin_c1=0
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=1
pin_c6=1
end block
6: block
pin_c0=1
pin_c1=0
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=1
end block
7: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=0
pin_c4=0
pin_c5=0
pin_c6=0
end block
8: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=1
end block
9: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=0
pin_c5=1
pin_c6=1
end block
0: block
pin_c0=1
pin_c1=1
pin_c2=1
pin_c3=1
pin_c4=1
pin_c5=1
pin_c6=0
end block
end case
end procedure
Reply

Colin 3 years ago
I think your problem might be you are using the original JAL 16F877a library whereas this project is using a library produced by Bert Van Dam.
It might be worth searching for 16F877a_Bert on th einternet.
Meanwhile this link might help if you need to change the code provided.
https://www.mail-archive.com/jallib@googlegroups.com/msg03597.html
What code is on lines 470 in the inc file?
It might be worth searching for 16F877a_Bert on th einternet.
Meanwhile this link might help if you need to change the code provided.
https://www.mail-archive.com/jallib@googlegroups.com/msg03597.html
What code is on lines 470 in the inc file?
Reply
Show more
2 Comment(s)

Alextronic 8 years ago
Have you an Unziped version ? Thank you !
Reply

Steveg0 8 years ago
Hi, I have attached the code files for the UV Exposure unit as text files. They were produced in JAL and must be given the file extension of .jal to work. JAL itself is free to download but if you want to use this code in MPLABX for example, you would have to modify it to suit.
You must include the file named 16f877a_inc if you use JAL. This is not my work, it is a fairly standard library file which looks like it has been modified by various programmers and can be found on the internet. The equivalent library file for the compiler would have to be found too if you want to use a different system.
I hope this all works for you, I use the exposure unit quite regularly and find the timer with buzzer very useful as I can safely do other things during the exposure.
Regards
Steve
You must include the file named 16f877a_inc if you use JAL. This is not my work, it is a fairly standard library file which looks like it has been modified by various programmers and can be found on the internet. The equivalent library file for the compiler would have to be found too if you want to use a different system.
I hope this all works for you, I use the exposure unit quite regularly and find the timer with buzzer very useful as I can safely do other things during the exposure.
Regards
Steve
Main code (4kb)
include file to decode the seven segment displays (3kb)
open source library file for pic 16f887a (30kb)
include file to decode the seven segment displays (3kb)
open source library file for pic 16f887a (30kb)
Reply
Show more
1 Comment(s)

hihi h bye 8 years ago
Hello sir, i can't open your hex file with my MicroC software. Can u post the coding in here?
Reply

Steveg0 8 years ago
Hi, The rotary encoder used in the project is a generic type with no manufacturer's markings upon it. It has 24 steps and rotates continuously in both directions. I have attached a photograph which may help you make your selection.
Regards Steve
Regards Steve
Generic rotary encoder (368kb)
Reply

Steveg0 8 years ago
Hi, I am sorry you are having problems. I have never used MicroC so I cannot give you specific answers regarding the use of it. The file I uploaded is a raw HEX file and so may not be recognised as a project file by some IDEs. I created the code using JAL Edit and then uploaded the HEX file to the chip using a K150 programmer. I have now downloaded the original zip file form the Elektor site and viewed the HEX file from it in MPLAB X, JAL Edit and Microbrn (supplied with K150) so the file is not corrupt. I have attached the file again as requested but you will have to find out how to upload it to chip using your system. The K150 is about 10 Euros on Ebay and it's my preferred RAW programmer for PIC chips but it does have limitations though. Regards Steve
HEX code for PIC 16f877A (2kb)
Reply
Show more
4 Comment(s)
Updates from the author
Steveg0 4 years ago
Holger 4 years ago
Can You help me? Have I flshed the right file and whats about the configuration of the PIC?
Thank you for help.
With best regards
Holger