Hello,
I'm trying to use a comparator with my 12F675 for the first time.
This is a simple battery low-level indicator project and I have reduced the schema to its minimum. The LED should light-up when the battery voltage drops lower than 6,5V.
<img src="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=1698&stc=1&d=118080488 0">
I've found lots of information around the forum and the web but, I'm still stuck afters hours of testing...
Here is my code:I have to admit, I don't clearly understand all the comparator modes.Code:' Fuses @ DEVICE PIC12F675,INTRC_OSC_NOCLKOUT ;Internal oscillator 4MHz @ DEVICE PIC12F675,WDT_OFF @ DEVICE PIC12F675,PWRT_ON @ DEVICE PIC12F675,MCLR_OFF @ DEVICE PIC12F675,BOD_OFF @ DEVICE PIC12F675,PROTECT_OFF @ DEVICE PIC12F675,CPD_OFF '------------------------------------------------------------------------------- ' Registers 76543210 OSCCAL = %10000000 'Center frequency - used with Internal 4MHz OSC TRISIO = %00000001 'Set Input/Output GPIO = %00000000 'Ports High/Low WPU = %00000000 'Weak pull-ups (check OPTION_REG) OPTION_REG = %10000000 'Pull-ups / Interrupt / Prescaler ANSEL = %00000001 'Analog I/O CMCON = %01000010 'Comparator Module settings VRCON = %10101100 'Voltage reference (= 2.5V) '------------------------------------------------------------------------------- ' Variables BatVal var CMCON.6 BatLoLED var GPIO.2 '----------------------------------------------------------------------------- ' Program Pause 1 'Delay to allow for VREF to settle MAIN: BatLoLED = BatVal Goto Main End
But I hope to get it working so I can start doing experiences with all different modes... and learn.







Bookmarks