nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

次はPIC16F785だ

まずはデータシートから特徴点をつまみ出します。

PIC16F785回路試作実験に当たり機能内容理解と注意事項まとめ

このPICではオペアンプを活用する。

ところどころに書いてあるページ番号はデータシートDS41249A
のページ数です。その後のDS41249Eではページ数追加の影響有り。

■PIC16F785の特徴:2相PWM+オペアンプ内蔵
■機能仕様 
・プログラムメモリ:2k  ・RAM;128バイト 
・EEPROM:256バイト 
・I/O:MAX18      ・ADC:10ビット×MAX14ch 
オペアンプ:2     ・コンパレータ:2 
・周辺機能:CCP1,2相PWM 
・タイマー:8ビット2本,16ビット1本
・電源電圧:2.0V(MAX4MHz)〜5.5V(MAX20MHz)

■PIC16F785にはそのOPアンプ回路が2個内蔵。
内蔵オペアンプを使用するには、OPA1CON,OPA2CON レジスタ
オペアンプ使用ビット設定する。TRISB, TRISC レジスタ
オペアンプ関連ピンを入力に設定する必要あり。

■PWMは電源用に使用できる。2相PWM+オペアンプで出力の
電圧を入力パワーMOSへフィードバック可能

■入出力ポートまとめ A,B,Cのポート
・PORTA:0〜5の6ポート(弱プルアップ設定可)
・PORTB:4〜7の4ポート(RB6はOpen Drain)
・PORTC:0〜7の8ポート
特徴有るポート
・RA2:TMR0CLOCK_IN,COMP1_OUT
・RA3:MCLR用(RA3は入力専用)
・RA4:TMRI_IN,XTAL,CLK OUT
・RA5:TMR1CLOCK_IN,XTAL,CLOCK_IN
・RC2:オペアンプ2OUT
・RC3:オペアンプ1OUT
RC4:PWM_OUT
・RC6:オペアンプ1−
・RC7:オペアンプ1+
・RB4:オペアンプ2−
・RB5:オペアンプ2+

■CONFIG設定 P104

bit 11 FCMEN: Fail-Safe Clock Monitor Enable
bit 10 IESO: Internal External Switchover bit
bit 9-8 BOREN<1:0>: Brown-out Reset Selection bits
bit 7 CPD: Data Code Protection bit
bit 6 CP: Code Protection bit
bit 5 MCLRE: RA3/MCLR pin function select bit
bit 4 PWRTE: Power-up Timer Enable bit
bit 3 WDTE: Watchdog Timer Enable bit
bit 2-0 FOSC<2:0>: Oscillator Selection bits INTIO:100

■ポート入出力設定用レジスタ TRISx P36,42,45,114
TRISAビット0〜5 : 1=PORTAビット0〜5入力 / 0:出力(ただしRA3は入力Only)

TRISBビット4〜7 : 1=PORTB4〜7入力 / 0:出力

TRISCビット0〜7 : 1=PORTC0〜7入力 / 0:出力

■プルアップ設定レジスタ WPUA P36,114
PORTA0〜5は個別に弱プルアップ指定できる
WPUAビット0〜5:プルアップ指定 1:Pull Upする / 0:しない

■アナログポート設定レジスタ ANSEL P82
アナログチャンネルは12チャンネルあるが、IOピンはPORTA,B,Cばらばらに
割り付けられている。アナログで使うには該当TRISビットを入力指定のこと。
ANSEL0ビット0〜2 : 1=PORTAビット0〜2アナログ入力 / 0=デジタル入力
ANSEL0ビット3 : 1=PORTAビット4アナログ入力 / 0=デジタル入力
ANSEL0ビット4〜7 : 1=PORTCビット0〜3アナログ入力 / 0=デジタル入力
ANSEL1ビット0,1 : 1=PORTC6,7アナログ入力 / 0=デジタル入力
ANSEL1ビット2,3 : 1=PORTB4,5 アナログ入力 / 0=デジタル入力

■A/Dコンバーター設定用レジスタ ADCONx
ADCON0
bit 7 ADFM: A/D Result Formed Select bit(1=Right/0=左詰)
bit 6 VCFG: 電圧参照ビット(1=VREF pin/0= VDD)
bit 5-2 Analog Channel Select bits
bit 1 GO/DONE: A/D Conversion Status bit(1=A/D Conv Now/0=non)
bit 0 ADON: A/D Enable bit(1=A/D con enabled/0=non)

ADCON1
bit 7 and bits 3-0 未使用
bit 6-4 ADCS:A/D C用Clock選択ビット

000 = FOSC/2
001 = FOSC/8
010 = FOSC/32
x11 = FRC (最大500kHzの内部専用クロックを使用)
100 = FOSC/4
101 = FOSC/16
110 = FOSC/64

■PWMコントロール設定レジスタ PWMCON0,1
PWMCON0レジスタ
bit 7 PRSEN: PWM Restart Enable bit
bit 6 PASEN: PWM Auto-Shutdown Enable
bit 5 BLANK2: PH2 Blanking bit
bit 4 BLANK1: PH1 Blanking bit
bit 3-2 SYNC: SYNC Pin Function bits
bit 1 PH2EN: PH2 Pin Enabled bit
bit 0 PH1EN: PH1 Pin Enabled bit

PWMCON1レジスタ
bit 7 non-use
bit 6-5 COMOD:Complementary Mode Select bits(1)
bit 4-0 CMDLY:Complementary Drive Dead Time

■PWM周波数コントロール設定レジスタPWMCLK
PWMCLKレジスタ
bit 7 PWMASE: PWM Auto-Shutdown Event Status bit
bit 6-5 PWMP: PWM Clock Prescaler bits
bit 4-0 PER: PWM Period bits

■PWM Phaseコントロール設定レジスタ:PWMPHx
PWMPH1レジスタ
bit 7 POL: PH1 Output Polarity bit
bit 6 C2EN: Comparator 2 Enable bit
bit 5 C1EN: Comparator 1 Enable bit
bit 4-0 PH: PWM Phase bits

PWMPH2レジスタ
bit 7 POL: PH2 Output Polarity bit
bit 6 C2EN: Comparator 2 Enable bit
bit 5 C1EN: Comparator 1 Enable bit
bit 4-0 PH: PWM Phase bits

■COMPARATOR C1設定レジスタ0:CM1CON0
CM1CON0レジスタ
bit 7 C1ON: Comparator C1 Enable bit(1=Enabled)
bit 6 C1OUT: Comparator C1 Output bit(1=inverted polarity)
bit 5 C1OE: Comparator C1 Output Enable bit(1=Enabled)
bit 4 C1POL: Comparator C1 Output Polarity Select bit(1=inverted)
bit 3 C1SP: Comparator C1 Speed Select bit(1=normal/0=slow)
bit 2 C1R: Comparator C1 Reference Select bit
bit 1-0 C1CH: Comparator C1 Channel Select bits

■COMPARATOR C2設定レジスタ0:CM2CON0
CM2CON0レジスタ
bit 7 C2ON: Comparator C2 Enable bit(1=Enabled)
bit 6 C2OUT: Comparator C2 Output bit(1=inverted polarity)
bit 5 C2OE: Comparator C2 Output Enable bit(1=Enabled)
bit 4 C2POL: Comparator C2 Output Polarity Select bit bit(1=inverted)
bit 3 C2SP: Comparator C2 Speed Select bit bit(1=normal/0=slow)
bit 2 C2R: Comparator C2 Reference Select bits
bit 1-0 C2CH: Comparator C2 Channel Select bits

■COMPARATOR C2設定レジスタ1:CM2CON1
CM2CON1レジスタ
bit 7 MC1OUT: Mirror Copy of C1OUT bit (CM1CON0<6>)
bit 6 MC2OUT: Mirror Copy of C2OUT bit (CM2CON0<6>)
bit 5-2 未使用に付き読み出すと0になる
bit 1 T1GSS: Timer1 Gate Source Select bit
bit 0 C2SYNC: C2 Output Synchronous Mode bit


途中から飽きてきて、英文をコピペしてし舞いました。

785のアイコンも決めないといけないですね。







試作品完成まとめは次のWEBを参照ください。

http://chitose6thplant.web.fc2.com/


785を使った人感照明試作

IR 赤外線 炎 検知 センサ モジュール 炎 センサー 新