MPLABX CX8を使ったプログラミングの例題1として、RA0に接続したスイッチで、RB0に接続したLEDを点灯/消灯するプログラムを作ります。
回路図は、次のとおりです。
ブレッドボードです。
プログラムです。
/*
* PIC16F84 EX1
* RA0のスイッチで、RB0のLEDをON/OFFする。
*/
* PIC16F84 EX1
* RA0のスイッチで、RB0のLEDをON/OFFする。
*/
#include <xc.h>
#include <pic16f84.h>
#include <pic16f84.h>
#define _XTAL_FREQ 10000000
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = ON // Watchdog Timer (WDT enabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = ON // Watchdog Timer (WDT enabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
void main(void){
TRISA = 0b00011111; //RA0-RA4 INPUT
TRISB = 0b00000000; //RB0-RB7 OUTPUT
PORTA = 0;
while(1){
if (PORTAbits.RA0 == 0){
PORTBbits.RB0 = 1; //LED ON
}else{
PORTBbits.RB0 = 0; //LED OFF
}
}
}
TRISA = 0b00011111; //RA0-RA4 INPUT
TRISB = 0b00000000; //RB0-RB7 OUTPUT
PORTA = 0;
while(1){
if (PORTAbits.RA0 == 0){
PORTBbits.RB0 = 1; //LED ON
}else{
PORTBbits.RB0 = 0; //LED OFF
}
}
}