/********************************************************************* * * * Filename: led_flash.c * * Date: 22/12/2012 * * Version: 1.0 * * Author: Goran Ljubic * * * ********************************************************************** * * * Architecture: Microchip PIC Enhanced Mid-range Core * * Processor: 16F1827 * * Compiler: MPLAB XC8 v1.12 (Free mode) * * * ********************************************************************** * * * Description: Primer 2 * * * * LED D1 po dovodenju napona napajanja treperi u 1Hz ritmu * * * *********************************************************************/ #include #define _XTAL_FREQ 4000000 // frekvencija internog oscilatora. /****************************************************************************************************************************** * CONFIGURATION WORDS * Watchdog timer is disabled, Internal RC oscillator I/O function on CLKIN pin, MCLR/VPP pin function is digital input, * Program memory code protection is disbled, Brown-out Reset disabled, Power-up timer enabled, * Data memory code protection is enabled, CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin, * Internal/External Switchover mode is disabled, Fail-Safe Clock Monitor is disabled, * 000h to FFFh flash memory write protected, 4x PLL disabled, Stack Overflow or Underflow will not cause a Reset, * High-voltage on MCLR/VPP must be used for programming * * ******************************************************************************************************************************/ __CONFIG(WDTE_OFF & FOSC_INTOSC & MCLRE_OFF & CP_OFF & BOREN_OFF & PWRTE_ON & CPD_ON & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF); __CONFIG(WRT_ALL & PLLEN_OFF & STVREN_OFF & LVP_OFF); /****************************** * MAIN PROGRAM * ******************************/ void main(void) { /****************************** * INITIALISATION * ******************************/ OSCCON = 0b01101010; // 4x PLL is disabled, 4 MHz HF Internal oscillator block TRISA = 0b11111111; // Svi pinovi porta A konfigurisani kao ulazni TRISB = 0b11111110; // Pin RB0 konfigurisan kao izlazni. Ostali pinovi definisani kao ulazni LATB0 = 0; // Pin RB0 na niskom naponskom nivou. /****************************** * MAIN LOOP * ******************************/ while(1) { __delay_ms(500); // 500 ms kašnjenja LATB0 = 1; // RB0 = 1 LED dioda D1 svetli __delay_ms(500); LATB0 = 0; // RB0 = 0 LED dioda D1 ne svetli } }