/*****************************************************************************/ /* 18F2550 Application Demo for usage of MCHPUSB Bootloader */ /* */ /* Author: Christian Stadler , spremembe Slavko Murko */ /* UPORABA ADC za VU meter */ /* Date: 18.08.2010 8.11.2011 */ /* */ /* */ /* */ /*****************************************************************************/ #pragma case /* make compiler case sensitive */ #include <18F2550.h> //nastavitve za naš mikro #device adc=10 //imamo 10 bitni ADC #use delay(clock=48000000) /* 20 MHz iz kvarca se preko PLL dvigne (HSPLL) na system clock 48 MHz */ /*----DODATEK PRI UPORABI BOOTLOADERJA-------------------------------------------------------------------------*/ #build (reset=0x800, interrupt=0x808) //premik reset in inerrupt vektorjev zaradi prednaloženega Bootloaderja #org 0, 0x7FF {} //Bootloader je naložen nna naslovih od 0 do 0x7FF, // začetni naslov našega programa je lahko na 0x800 /*-------------------------------------------------------------------------------------------------------------*/ void main() { long ad_vrednost; setup_wdt(WDT_ON); setup_adc_ports( ALL_ANALOG ); setup_adc( ADC_CLOCK_INTERNAL ); set_adc_channel( 0 ); while (TRUE) { restart_wdt(); ad_vrednost=read_adc(); if (ad_vrednost>250) output_high(PIN_B0); else output_low(PIN_B0); if (ad_vrednost>500) output_high(PIN_B1); else output_low(PIN_B1); if (ad_vrednost>750) output_high(PIN_B2); else output_low(PIN_B2); if (ad_vrednost>1000) output_high(PIN_B3); else output_low(PIN_B3); } }