FANDOM


概要(PIC16F628) 編集

ピンアサイン 編集

Pic16f628a pin

サンプルコード 編集

__CONFIG(0xF18);
#define _XTAL_FREQ 4000000  /*delay関数に必要(4MHz)*/
 
void main(void)
{
 unsigned int i;    /*forループ用変数*/
 TRISA =  0x00;   /*PORTAを出力に設定*/
 TRISB =  0x00;   /*PORTBを出力に設定*/
 CMCON = 0x07;  /*AN無効*/
 while(1)
  {
   PORTA = 0xff;  /*PORTAに1を出力*/
   PORTB = 0x00;  /*PORTBに0を出力*/
   for(i=0;i<100;i++)__delay_ms(10);/*10msを100回繰り返し(1秒)*/
 
   PORTA = 0x00;  /*PORTAに0を出力*/
   PORTB = 0xff;  /*PORTBに1を出力*/
   for(i=0;i<100;i++)__delay_ms(10);
  }
}

ピンマップ 編集

RA5 Vpp / MCLR / Input Port

Vppはデバイスにプログラムを書き込む際に書き込み電圧を掛けるピンであることを示します。Vppはランタイムでは使用しません。
MCLRはデバイスのリセットを行う信号を外部から入力するための外部リセット信号入力ピンです。RA5をMCLRとして使用するには、コンフィギュレーションビットでMCLR有効を設定する必要があります。
上記のような状態、または設定を行わない場合は、TTLレベルの入力のみが可能なInputピンとして動作します。

IO 編集

PIC16F628AにはPORTA/PORTBがIOピン(例外あり)として使用できます。
ただし、PORTA5はIOとして使用する場合、入力専用ピンなので注意が必要です。

PORTA 編集

  • デフォルトではコンパレータが有効となるため注意が必要です。
  • PORTA5をIOピンとして使用した場合、入力専用となります。出力はできません。(仮にTRISAで出力ポート設定を行っても無視されます。)


コンパレータ機能の無効化
PORTA0:3はコンパレータに割り当てられたピンです。コンパレータを使用せずIOピンとして使用したい場合には、CMCONレジスタのCM<2:0>を「111」に設定します。
電圧監視機能の無効化
PORT2は電圧監視機能を使う場合の監視電圧を入力するポートです。デフォルトでは使用しない設定になっています。VRCONレジスタのVROEが「0」に設定することでIOポートとして使用します。


PORTB 編集

内蔵プルアップ抵抗
PORTB0:7には内蔵プルアップ抵抗が備わっています。OPTIONレジスタのRBPUが「0」の場合、PORTBすべての内蔵プルアップ抵抗が有効になります。


USART 編集

PIC16F628Aはデバイス自体にUSARTが備わっているため、RS232Cを使って他のデバイスやパソコンとの通信が簡単に行うことができる。
USARTは一般的な232Cのプロトコル制御(スタートビットやストップビット、パリティなど)をハードウェア上で行ったり、ボーレートの設定が簡単に行えるようになっています。

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki