PIC1823のクロック出力を見る
●PIC16F1823のクロック出力
内部動作クロックを4MHz(工場で±1%に校正済み)に設定しCLKOUTピンから出力します。ただし、データシートには”実際出力されるのはFOSCの1/4の周波数”とあり、1MHzが出力されるはずです。また、CLKOUTENは優先度が高くONに設定すると問答無用でクロックを出力します
6.3.2 CLKOUT FUNCTION
The CLKOUT function has a higher priority than the reference clock module. Therefore, if the CLKOUT function is enabled by the CLKOUTEN bit in Configuration Word 1, FOSC/4 will always be output on the port pin.
●プログラム
#include <xc.h>
// CONFIG1
#pragma config FOSC = INTOSC
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = ON
#pragma config CP = OFF
#pragma config CPD = OFF
#pragma config BOREN = OFF
#pragma config CLKOUTEN = ON
#pragma config IESO = ON
#pragma config FCMEN = ON
// CONFIG2
#pragma config WRT = OFF
#pragma config PLLEN = ON
#pragma config STVREN = ON
#pragma config BORV = LO
#pragma config LVP = OFF
void main(void) {
// Oscillator Control Register
// SPLLEN (0) : 4x PLL is disable.
// IRCF (1101): Internal oscillator frequency [4MHz HF]
// uninplemented (0) : Read as '0'
// SCS (11) : System clock select [Internal oscillator block]
OSCCON = 0b01101011;
TRISC = 0b11101111;
while(1);
return;
}
OSCCON
マイコンのオシレータをコントロールするレジスタを設定しています
内蔵オシレータを4MHzに設定しています
8MHzに限り4倍のPLLを使用でき最大32MHzで使用できるようです
●CLKOUTの出力波形
1.001MHzとでました
0.99MHz ~ 1.01MHzの間に収まれば仕様上OKなのでいい感じですね
マイコンが自分の狙った周波数で動いてることが確認できました
8MHz, 16MHzと変更すればちゃんと変わりますが、ジッタが目立ち始めました
さーて、ラーメンでも食ってくるか
PIC1823の感想とMPLABXでの開発
●ミッドレンジ PIC16F1823 のいいところ
レジスタ、ブロック図、プログラムそのすべてがシンプルで勉強にとても向いている。だから教材に選ばれやすいのかもしれない
データシート1冊でさくさく開発を進めることができます(Arduinoはリファレンスだけでレジスタ操作なくあそべちゃいますがね)
ただし、PICは古い型番も現役。どれを使えばいいのだろうかという意見を1回聞いたことがあります。なぜ1回かというと回りにPICユーザーがいないからです
・プログラムメモリ:2Kワード
・RAM:128バイト
・EEPROM:256バイト
・I/O:最大12本
・ADコンバータ:10ビットx8ch
・コンパレータ:2ch
・タッチセンサ入力(CapSense):8ch
・タイマー:8ビットx2,16ビットx1
PICマイコンPIC16F1823−I/P: マイコン関連 秋月電子通商 電子部品 ネット通販
●開発するぞう
PIC遊びで現在ワタクシが使用しているのは下記のものです
・PIC kit3
・接続ハーネス(フラットケーブル)と電源
PICkit3は供給電力が少ないため電源がほぼ必要になります(100uFの電源ラインコンデンサでアウトです)
PICkit3は直挿しもOKですがハーネスがあれば
あれ・・・w 完成品のスペース、狭くてささらないっすwww
なんて事態になりにくくなるでしょう
・MPLAB XとXC8コンパイラ
PICkit3(3000円くらい?)さえ手に入れてしまえばPICマイコン自体は数100円ですので出費は少ないかもしれません