This is the usual introduction to a different pic, this time we will start to show you some examples with the PIC16F873 microcontroller, you can find out more about this micro from Microchip but to summarise its a 28 pin sdip package with 5 10 bit ADC channels, 2 x 8 bit timers , 1 x 16 bit timer and various other functionality.
We’ll start with the usual flash led’s on and off, since we used the QL200 development board to verify this PIC was supported, we switched on/off 8 LEDs connected to PORTB
Lets look at the schematic
Schematic
All resistors were 470 ohms
Code
This time I decided to write an example using MIkroC and Mplab X with the XC8 compiler, I like to play around like this. So 2 code examples
mikroc
[codesyntax lang=”c”]
void main() { TRISB = 0x00; do { PORTB = 0xFF; Delay_ms(300); PORTB = 0x00; Delay_ms(300); } while(1); } // end main
[/codesyntax]
Mplab X
[codesyntax lang=”c”]
#define _XTAL_FREQ 4000000 // BEGIN CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) //END CONFIG #include <stdio.h> #include <stdlib.h> #include <xc.h> /* * */ int main(int argc, char** argv) { TRISB = 0x00; //RB0 as Output PIN while(1) { PORTB = 0xFF; // LED ON __delay_ms(1000); // 1 Second Delay PORTB = 0x00; // LED OFF __delay_ms(1000); // 1 Second Delay } return 0; return (EXIT_SUCCESS); }
[/codesyntax]
Links