![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
「ICチップの仕様で、そう決まっている」のですから「どの様に」と言われても困ります。
PICの仕様書
http://www37.tok2.com/home/aoijf2/pic/initial.html
の「OSCCON」を見てみなさい。
そこに
bit 7
未使用
bit 6~4
内蔵オシレータ周波数選択ビット (bit 6 bit 5 bit 4)
・111 = 8MHz
・110 = 4MHz
・101 = 2MHz
・100 = 1MHz
・011 = 500kHz
・010 = 250kHz
・001 = 125kHz
・000 = 31.25kHz
bit 3
未使用
bit 2
内蔵オシレータ周波数安定ビット
・1 = 安定
・0 = 非安定
bit 1~0
未使用
と書いてあります。
OSCCONレジスタに書き込みしている値が0b01110000なら、
bit 7
未使用
bit 6~4
内蔵オシレータ周波数選択ビット (bit 6 bit 5 bit 4)
・111 = 8MHz
bit 3
未使用
bit 2
内蔵オシレータ周波数安定ビット
・0 = 非安定
bit 1~0
未使用
になるので、8MHzです。
「このビットパターンを書き込んだら、こうなる」って言う仕様があるので、仕様通りに書き込めば、仕様通りの動きをします。
「誰かが、そうなるように決めた」のですから、決まりに従って記述するしかありません。
その決まりには「どうしてそうなる?」と言う疑問を挟む余地はありません。
この回答へのお礼
お礼日時:2012/05/07 17:08
分かりやすく丁寧な回答
まことにありがとうございます。
先入観から10進数を2進数で表した物
だと思っていました。
納得できました。
ありがとうございました。
No.2
- 回答日時:
途中式とかいうより……そういう仕様なんでしょう。
おそらくPIC16F88…なんでしょうか。
http://tmp.junkbox.info/e16.html
で、OSCCONのBit4~Bit6の値によりクロックが決まるようですが。
000(31.25kHz)の時は元になる入力クロックのまま。
001になると、入力クロックを4倍に。
010になると、入力クロックを8倍に。
011になると、入力クロックを16倍に。
: :
という感じですかね。
この回答へのお礼
お礼日時:2012/05/07 17:12
まだ、プログラム読み始めて日が浅くて
この様な決まりで成り立ってるとは知りませんでした。
とても勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ADSL yahooADSL終了ですが、千葉、戸建てで料金重視した場合はどちら良いでしょうか 1 2022/04/08 12:23
- ガーデニング・家庭菜園 名前を教えて下さい 1 2022/05/09 12:30
- Access(アクセス) お世話になります ACCESSを使用しています 下記のクエリデータ(1)があります 商品名 行数 A 1 2022/09/05 08:52
- 日用品・生活雑貨 ストッパー付で、長さが8m位のロープ 3 2023/02/20 15:43
- アンテナ・ケーブル 家屋テレビ用アンテナ配線 4 2023/04/27 15:00
- その他(プログラミング・Web制作) MicroPython変数、関数について 2 2023/06/18 13:21
- Visual Basic(VBA) VBAプログラミング 4 2023/01/14 00:38
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 大学院 修士論文の過ちを報告した際 2 2023/03/30 20:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
68000アセンブリについて
-
PLC 命令について
-
8ビットのデータの、先頭ビット...
-
一般のソフトで画像を扱う場合...
-
03分22秒36のような時間の単位...
-
アセンブリ言語の質問のコト
-
2進数が10進数になる途中式
-
C言語で128bitの2進数のビット...
-
コンピュータが処理できるビッ...
-
命令について
-
PS3に搭載されている"Cell"は、...
-
文系のSE志望です。プログラミ...
-
昔のゲーム製作に使用する言語...
-
レジストってなんですか?
-
PDP-11のアセンブラ課題
-
入力回数のカウントをする方法
-
アセンブラで割り算
-
アセンブラ言語がわかりません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
一般のソフトで画像を扱う場合...
-
C言語で128bitの2進数のビット...
-
命令について
-
符号無し整数xを右にnビット回転
-
文字参照は10進数と16進数では...
-
verilog 符号付加減算(最上位...
-
[VBS] 素早くローテート演算したい
-
算術シフト演算が成り立つ理由...
-
アルゴリズムの計算量とオーダ
-
03分22秒36のような時間の単位...
-
シーケンス制御についての質問...
-
CASLIIでかけ算
-
上位ビットと下位ビットの入れかえ
-
ブール代数で解き方がわかりません
-
PS3に搭載されている"Cell"は、...
-
ビットの取り出し方法
おすすめ情報