忍者ブログ
ちょっとは人のためになる事をしないとインターネットコミュニティーの皆様に申し訳がないかと思いながら、自分の備忘録ていどでしかなく、実際の所たいした情報も提供できないでいるブログ
[28] [27] [26] [25] [24] [23] [22] [21] [20] [19] [18]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PICライターとPIC12F629(練習用)、PIC16F818を購入。まずは簡単なところでデジタル時計作成を視野にPICプログラミング研究中。いままでわかったこと。

7セグ表示:
8080時代のマイコンよろしくダイナミック表示にせざるをえまい。この方式、中学生の頃見たときはなんて面倒なことするのだと驚いていたのだが(キーボードマトリクスもね)、長生きしていろいろな物を見てきたおかげで、まあ普通じゃんって感じです(笑)

LEDに10mAを流した場合、コモン側は最大70mAになる。PIC16F818のPORTA, PORTBのソース・シンク最大電流(Maximum current sunk/sourced by PORTA/B) 100mAには余裕があり、トランジスタ等ははさまなくて済む。100mAは各ポートの合計のようだ。Maximum output current sourced by any I/O pin = 25mA なので無理。要増幅。

7セグLEDはGL9A040Gを購入。
VF=1.7(TYP) IF=10mA
電源電圧5Vより、制限抵抗=(5.0V-1.7V)*0.010A=330Ω

計時:

当初はAKI-H8 3048Fでコントロールした実績があるRTCモジュールを使う予定だったが、200円のPICに500円のRTC?と疑問になり、RTCは使わない方向に。

PICのデータシートにかかれているように、32.768KHzのクリスタルを使えば簡単だが(タイマー割り込みの整数倍が1秒になる)、なかなか安く手に入らない。

そこで60KHzのクリスタルを購入(100円@秋月)。これを非同期カウンタで入力し、割り込み毎にタイマーレジスタを調整する方式とする。

PIC自体は内蔵オシレーターで4MHz動作させる。
クリスタル発振60KHzをプリスケーラで1/8分周して7500Hzで使う。
4MHz動作のコアからみた7500Hzは非常に遅い。
CPUの533クロック(4000000÷7500=533.333…)で非同期カウンタが1進む。
タイマーレジスタオーバーフローの割り込みから非同期カウンタが1進む前にタイマーレジスタを再設定すればレジスタ書き換えの遅延の影響をうけずに計時できる。
533クロックあれば大余裕。
割り込み毎のタイマーレジスタの初期値は 65536-7500=58036=0xE2b4

クリスタルに付けるコンデンサの容量:
Capacitive Loading Specs on Output Pins: OSC2 15pF
60KHzクリスタルの負荷容量 12.5pF (秋月のホームページ)
外付けコンデンサなしでいけるってことかな。むしろ容量減らしたいくらい。直列に75pFでもつないだほうがいいのかな。
実際、コンデンサ付けずにOSC1/OSC2にクリスタルをつないだだけで発振してる。
コンデンサなしでよさげ。
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
09 2019/10 11
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
フリーエリア
最新CM
[02/07 @naoshi65536]
[02/07 忍]
[09/18 とおりすがり]
[06/26 ilmare]
[03/16 とおりすがり]
最新TB
プロフィール
HN:
naoshi
性別:
男性
職業:
ソフトウェア技術者
趣味:
料理
自己紹介:
@naoshi65536 で連絡がつくはずです。
バーコード
ブログ内検索
カウンター
アクセス解析
FX NEWS

-外国為替-