





























|
Sign up for MicroZine: ''The'' Microcontroller Newsletter Enter your first Name and primary email address in the form above: And receive absolutely FREE a full project for: "Measuring Analogue Voltages Without An ADC" (Using only one pin). Instant Download: You Can Get It Right Now
You can only get it through this newsletter. To get exclusive access Enter your first name Name and primary email address Now in the form above.: But wait ! There's more... You'll receive more free and exclusive reports as well as site information and site product updates. Scroll up to the form above and sign up NOW. Don't forget it's FREE and if you don't like it you can unsubscribe at any time. Click Here to use the form Now. |
|
Social
Bookmarking
|
|
"I wanted to thank you so so so much for all the information you have provided in your site it's SUPERB and FANTASTIC." - Ranish Pottath |
|
"This site really is the best and my favorite. I find here many useful projects and tips." - Milan bursach<at>gmail.com |
|
Learn
PIC C Now
|
|
"Awesome site, very, very easy and nice to navigate!" - Matt matt_tr<at> wolf359.cjb.net |
|
"I am a newbie to PIC and I wanted to say how great your site has been for me." - Dave de_scott<at>bellsouth.net |
|
Learn Microcontrollers
|
|
"Your site is a great
and perfect work. congratulations." - Suresh integratredinfosys<at> yahoo.com |
|
"I
couldn't find the correct
words to define yourweb site. Very useful, uncovered, honest and clear. Thanks so much for your time and works. Regards." - Anon |
12F675 comparator test circuts and code.The PIC comparator is the least used
peripheral but it is just as fast as the standard LM311... Note: This information is applicable to any PIC Microcontroller that has a built in comparator. There is one comparator in the 12F675 which you can set up in many different ways and you can even supply a comparison voltage from an internal reference. This voltage can be set to any of 32 steps. This is just a simple project designed to show simple operation so that you can use it. It shows all you need to do to operate the comparator. |





|
///////////////////////////////////////////////////////
// // File: 16F675_comparator.c // // Author: J F Main. // // Description: // // Use comparator GP0,GP1,GP2 // // Compiler : mikroC, mikroElektronika C compiler // for Microchip PIC microcontrollers // Version: 6.2.0.0 // // Note Testing: // // Tested on 16F675 // // Requirements: // // Target : 16F675 // // Notes : // // Uses internal oscillator. // // Version: // 1.00 Initial release. // // Copyright : Copyright © John Main 2007 // http://www.best-microcontroller-projects.com // Free for non commercial use as long as this entire // copyright notices included in source code // and any other documentation. // /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// // Definitions #define COMPARATOR_OP 2 #define LED 4 /////////////////////////////////////////////////////// void init_ports(void) { //GP0 & GP1 are inputs TRISIO = 0 | (1<<GP0) | (1<<GP1); // 0 - op, 1 - ip ANSEL = (1<<GP0) | (1<<GP1); ; // Ana. ip on GP0 GP1 } /////////////////////////////////////////////////////// void init_comparator(void) { // Comparator with external input and output. // Cout = 0 (comparator output), Cinv =0 (inversion) CMCON = 0x01; } /////////////////////////////////////////////////////// // Start here void main() { int i; init_ports(); // Show device is active on power up. for (i=0;i<5;i++) { GPIO |= (1<<COMPARATOR_OP); delay_ms(100); GPIO &= ~(1<<COMPARATOR_OP); delay_ms(100); } init_comparator(); while(1) {; GPIO |= (1<<LED); delay_ms(100); GPIO &= ~(1<<LED); delay_ms(100); } } |
| Note: To run the above code you
may
need to remove the ICSP connections after programming as the comparator
pins are on the PGD and PGC lines. The code simply flashes the comparator output LED 5 times at start up and after this the comparator is turned on. Then the second LED is flashed continuously. By changing the POT setting you can see the comparator output turn on and off. |