16F18326で「LED点灯」
18F18326でLEDを点灯してみます。

動作は電源を入れるとLEDが点灯します

8pin RC2を出力に設定してLEDを点灯します



入出力ピンは

2pin RA5
3pin RA4
4pin RA3
5pin RC5
6pin RC4
7pin RC3
8pin RC2
9pin RC1
10pin RC2
11pin RA2
12pin RA1
13pin RA0


入出力ピンをアナログまたはデジタルで入出力するかを設定  アナログ(1) デジタル(0)

ANSELA = 0b00000000
入出力 ----- ----- RA5 RA4 RA3 RA2 RA1 RA0
 pin番号 ----- ----- 2pin 3pin 4pin 11pin 12pin 13pin
ANSELA 0 0 0 0 0


ANSELC = 0b00000000
入出力 ----- ----- RC5 RC4 RC3 RC2 RC1 RC0
 pin番号 ----- ----- 13pin 12pin 11pin 4pin 3pin 2pin
ANSELC 0 0 0 0 0




入出力ピンを入力または出力で使用するか設定 入力(1) 出力(0)

TRISA = 0b00111111  全て入力
入出力 ----- ----- RA5 RA4 RA3 RA2 RA1 RA0
 pin番号 ----- ----- 2pin 3pin 4pin 11pin 12pin 13pin
TRISA 0 0 0 0 0



TRISC = 0b00111011  入力 RC0 RC1 RC3 RC4 RC5 出力 RC2
入出力 ----- ----- RC5 RC4 RC3 RC2 RC1 RC0
 pin番号 ----- ----- 13pin 12pin 11pin 4pin 3pin 2pin
TRISC 0 0 0 0 1 0




RC2から出力(電圧を出力)する
PORTC = 0b00000100 
出力 ----- ----- RC5 RC4 RC3 RC2 RC1 RC0
 pin番号 ----- ----- 13pin 12pin 11pin 4pin 3pin 2pin
PORTC 0 0 0 0 1 0




プログラム

/*
* 16F18326 LED点灯
*
* クロックは内部クロック使用
* -------------------------------------------------------
* 16F18326接続
* 1pin VDD +5V
* 2pin RA5
* 3pin RA4
* 4pin RA3
* 5pin RC5
* 6pin RC4
* 7pin RC3
* 8pin RC2 LED
* 9pin RC1
* 10pin RC2
* 11pin RA2
* 12pin RA1
* 13pin RA0
* 14pin GND
* -------------------------------------------------------
*/

#include <stdio.h>
#include <stdlib.h>
#include <xc.h>

// CONFIG1
#pragma config FEXTOSC = OFF //*** FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled)
#pragma config RSTOSC = HFINT32 //*** Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz))
#pragma config CLKOUTEN = OFF //クロック出力を無効とし、RA4ピンとして使用する // Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2)
#pragma config CSWEN = ON //*** Clock Switch Enable bit (Writing to NOSC and NDIV is allowed)
#pragma config FCMEN = OFF //外部クロックを監視しない // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)

// CONFIG2
#pragma config MCLRE = OFF //MCLRピンをRA3として使用する // Master Clear Enable bit (MCLR/VPP pin function is digital input; MCLR internally disabled; Weak pull-up under control of port pin's WPU control bit.)
#pragma config PWRTE = ON //パワーアップタイマーを有効にする // Power-up Timer Enable bit (PWRT enabled)
#pragma config WDTE = OFF //ウォッチドックタイマー無効 // Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored)
#pragma config LPBOREN = OFF //LPBOR = OFF //低消費電力ブラウンアウトリセット無効 // Low-power BOR enable bit (ULPBOR disabled)
#pragma config BOREN = ON //ブラウンアウトリセットを有効にする // Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored)
#pragma config BORV = HIGH //ブラウンアウトリセット電圧を高(?V)に設定 // Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V)
#pragma config PPS1WAY = OFF //ロック解除シーケンスで何度でもPPSLOCKをセット/クリアできる // PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle)
#pragma config STVREN = ON //スタックオーバーフローリセットを行う // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset)
#pragma config DEBUG = OFF //*** Debugger enable bit (Background debugger disabled)

// CONFIG3
#pragma config WRT = OFF //フラッシュメモリを保護しない // User NVM self-write protection bits (Write protection off)
#pragma config LVP = OFF //低電圧プログラミングを行わない // Low Voltage Programming Enable bit (High Voltage on MCLR/VPP must be used for programming.)

// CONFIG4
#pragma config CP = OFF //プログラムメモリを保護しない // User NVM Program Memory Code Protection bit (User NVM code protection disabled)
#pragma config CPD = OFF //1840と同じ設定 // Data NVM Memory Code Protection bit (Data NVM code protection disabled)

#define _XTAL_FREQ 32000000 //クロック32MHz


void main() {
OSCCON1 = 0b01110000 ; // 内部クロック8MHz ×4=32MHz
ANSELA = 0b00000000 ; // デジタル
ANSELC = 0b00000000 ; // デジタル
TRISA = 0b00011111 ; // PORTA RA0 RA1 RA2 RA3 RA4 RA5 全て入力(1)
TRISC = 0b00011011; // ROTRC RC0 RC1 RC2 RC3 RC4 RC5 入力(1) RC2出力(0)

PORTA = 0b00000000 ; /* PORTAクリア */
PORTC = 0b00000000 ; /* PORTCクリア */

PORTC = 0b00000100 ; /* RC2 LED点灯 */

}


テストプログラム

 test_001.c