PIC16F88の内蔵クロックを利用する
PIC16F88は内蔵オシレータの周波数設定機能があり、8MHz±約1MHzの範囲を64段階で設定できます。これを利用することで、最大460800bps (誤差1%未満)のシリアル通信が外付けオシレータ(水晶発振子やセラロック)無しに可能となります。内蔵クロックの動作の確認のための最小限のコードを示します。
秋月のPICライタを利用する場合
PIC16F88に書き込みを行う場合は、書き込み動作を安定させるためあらかじめ28pinZIPソケット(U6)の14ピンを1MΩ程度でプルダウンしておきます。
動作確認のためのコード
PIC16F88の15番ピン(RA6)と5番ピン(GND)に周波数カウンタ等を当てて測定する。
上記画像と下記ソースコードをダウンロード
7.3728 MHz付近に設定する
7.3728 MHz で動作させると、2400~460800 bps の標準的な通信速度が誤差なしで設定できます。
7.3728 MHz付近で動作させる場合は、OSCTUNEレジスタの値を D'42' (十進数) に付近に設定して、RA6の周波数*4がこの値に近いことを確認します。
シリアル通信を行う場合は、TXSTAレジスタを非同期高速通信(8bitモードの場合の場合は、B'00100100')に設定した上、SPBRGレジスタの設定値の以下のように設定します。
関連リンク
秋月電子通商: AKI-PICプログラマー Ver.3.5 キット
秋月電子通商: PICプログラマーVer.4『バージョンアップキット』
(PIC16F88に書き込む場合はこちらも必要)
Microchip: PIC16F88 データシート (英語)
秋月のPICライタを利用する場合
PIC16F88に書き込みを行う場合は、書き込み動作を安定させるためあらかじめ28pinZIPソケット(U6)の14ピンを1MΩ程度でプルダウンしておきます。
動作確認のためのコード
PIC16F88の15番ピン(RA6)と5番ピン(GND)に周波数カウンタ等を当てて測定する。
上記画像と下記ソースコードをダウンロード
;---------------------------------
; PIC16F88内蔵クロック動作テスト
; 2006/05/09 ささお
;---------------------------------
LIST P=PIC16F88
#INCLUDE P16F88.INC
; _CONFIG1 に _INTRC_CLKOUT を指定すると、RA6(15番ピン)に
; (内部周波数)/4 Hz が出力されるのでこれで内蔵クロックの
; 測定を行う
__CONFIG _CONFIG1, _INTRC_CLKOUT & _BODEN_OFF & _WDT_OFF & _CP_OFF & _PWRTE_OFF & _CPD_OFF & _LVP_OFF & _MCLR_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
org 00h
goto init
init
; OSCCON, OSCTUNE レジスタのある bank 1 に切り替える
bsf STATUS,RP0
;内蔵クロックの粗調整 (PIC16F88 PDF, p.42)
; <6:4> = 111( 8MHz), 110( 4MHz), 101( 2MHz), 100( 1MHz)
; 011(500kHz), 010(250kHz), 001(125kHz), 000(31.25kHz)
movlw B'01110000' ; 8MHzに設定
movwf OSCCON
;内蔵クロックの微調整 (PIC16F88 PDF, p.40)
;下位6bitを2の補数で指定する
;100000(最低)~00000(0%)~011111(最高)
movlw B'0011111' ; 最高速に設定
movwf OSCTUNE
loop
goto loop
end
; PIC16F88内蔵クロック動作テスト
; 2006/05/09 ささお
;---------------------------------
LIST P=PIC16F88
#INCLUDE P16F88.INC
; _CONFIG1 に _INTRC_CLKOUT を指定すると、RA6(15番ピン)に
; (内部周波数)/4 Hz が出力されるのでこれで内蔵クロックの
; 測定を行う
__CONFIG _CONFIG1, _INTRC_CLKOUT & _BODEN_OFF & _WDT_OFF & _CP_OFF & _PWRTE_OFF & _CPD_OFF & _LVP_OFF & _MCLR_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
org 00h
goto init
init
; OSCCON, OSCTUNE レジスタのある bank 1 に切り替える
bsf STATUS,RP0
;内蔵クロックの粗調整 (PIC16F88 PDF, p.42)
; <6:4> = 111( 8MHz), 110( 4MHz), 101( 2MHz), 100( 1MHz)
; 011(500kHz), 010(250kHz), 001(125kHz), 000(31.25kHz)
movlw B'01110000' ; 8MHzに設定
movwf OSCCON
;内蔵クロックの微調整 (PIC16F88 PDF, p.40)
;下位6bitを2の補数で指定する
;100000(最低)~00000(0%)~011111(最高)
movlw B'0011111' ; 最高速に設定
movwf OSCTUNE
loop
goto loop
end
7.3728 MHz付近に設定する
7.3728 MHz で動作させると、2400~460800 bps の標準的な通信速度が誤差なしで設定できます。
7.3728 MHz付近で動作させる場合は、OSCTUNEレジスタの値を D'42' (十進数) に付近に設定して、RA6の周波数*4がこの値に近いことを確認します。
シリアル通信を行う場合は、TXSTAレジスタを非同期高速通信(8bitモードの場合の場合は、B'00100100')に設定した上、SPBRGレジスタの設定値の以下のように設定します。
bps | SPBRG |
---|---|
2400 | 191 |
4800 | 95 |
9600 | 47 |
14400 | 31 |
19200 | 23 |
38400 | 11 |
57600 | 7 |
115200 | 3 |
230400 | 1 |
460800 | 0 |
関連リンク
秋月電子通商: AKI-PICプログラマー Ver.3.5 キット
秋月電子通商: PICプログラマーVer.4『バージョンアップキット』
(PIC16F88に書き込む場合はこちらも必要)
Microchip: PIC16F88 データシート (英語)
コメント
香川県ルーちゃん餃子のフジフーヅはバイトにパワハラの末指切断の大けがを負わせた犯罪企業.中卒社員岸下守の犯行.
| Meamo | EMAIL | URL | 18/12/13 06:15 | 4YHhyZ/E |
ルイヴィトン - N級バッグ、財布 専門サイト問屋
http://bit.ly/2BH25sr
弊社は販売バッグ、財布、 小物、靴類などでございます。
1.当社の目標は品質第一、信用第一、ユーザー第一の原則を守り、心地よい親切で最高のインターネットサービスご提供することです。
2.品質を重視、納期も厳守、信用第一は当社の方針です。
3.弊社長年の豊富な経験と実績があり。輸入手続も一切は弊社におまかせてください。質が一番、最も合理的な価格の商品をお届けいたします。
4.お届け商品がご注文内容と異なっていたり、欠陥があった場合には、全額ご返金、もしくはお取替えをさせていただきます。
http://bit.ly/2BHewV0
弊社は「信用第一」をモットーにお客様にご満足頂けるよう、
送料は無料です(日本全国)! ご注文を期待しています!
下
http://bit.ly/2BH25sr
弊社は販売バッグ、財布、 小物、靴類などでございます。
1.当社の目標は品質第一、信用第一、ユーザー第一の原則を守り、心地よい親切で最高のインターネットサービスご提供することです。
2.品質を重視、納期も厳守、信用第一は当社の方針です。
3.弊社長年の豊富な経験と実績があり。輸入手続も一切は弊社におまかせてください。質が一番、最も合理的な価格の商品をお届けいたします。
4.お届け商品がご注文内容と異なっていたり、欠陥があった場合には、全額ご返金、もしくはお取替えをさせていただきます。
http://bit.ly/2BHewV0
弊社は「信用第一」をモットーにお客様にご満足頂けるよう、
送料は無料です(日本全国)! ご注文を期待しています!
下
| Valeria Chewning | EMAIL | URL | 18/08/24 01:26 | bdgu0X3w |
検索で拝見しました。
初学で、これまで84Aしか使ったことが無く、16F88にチャレンジしたのに内部オシレータが動いているのか、書いたコードが正しいのか確かめたいと考えていました。
秋月の1MΩでプルダウンする写真を付けていただいたのもありがたかったです。
オシロで確認したら、おかげさまでうまくいっていました。
初学で、これまで84Aしか使ったことが無く、16F88にチャレンジしたのに内部オシレータが動いているのか、書いたコードが正しいのか確かめたいと考えていました。
秋月の1MΩでプルダウンする写真を付けていただいたのもありがたかったです。
オシロで確認したら、おかげさまでうまくいっていました。
| chy_farm | EMAIL | URL | 14/03/08 17:07 | gClEQneI |
コメントする
この記事のトラックバックURL
http://tmp.junkbox.info/tb.php/16
トラックバック
月頭定例カキコ。はあ~、忙しい。あと2週間はこの調子かと思うとウンザリ。と言うわけでネタがない。そこで今後の予定というか、今気になっていることというか、暇が出来たらした...
| 地質時代 | 06/11/02 17:04 |
TOP PAGE △