【お手軽】PIC専用のスレPart3【マイコン】at DENKI
【お手軽】PIC専用のスレPart3【マイコン】 - 暇つぶし2ch517:774ワット発電中さん
05/03/26 23:31:37 xzY+JNSS
>>516
>このPICで電源も作っているんだよね。スゴイ。
マイコン制御を使うと、電源の安全規格でNGだったりしない?


518:774ワット発電中さん
05/03/26 23:34:17 zqNSOad0
>>513
>>515
>>516
レス、どうもありがとうございました。


519:774ワット発電中さん
05/03/26 23:38:41 P96DpewB
>>515
すごく欲しい……。
秋月で販売されないかな~。

520:774ワット発電中さん
05/03/26 23:49:38 xzY+JNSS
>>517
電源異常検出時、電源を切る保護回路は、マイコン制御ではだめで、
マイコンを介さないハード式保護回路でないと、米国かEUの
安全規格の何かが通らない、ということをあの人は言っていた。
PICマイコンで電圧制御してるのは、安全規格通るのかな?

521:774ワット発電中さん
05/03/27 00:39:24 fWm7Utq8
PICは便利が良いLSIですといって通しちゃう
どのくらい便利が良いかというと、プログラムが可能

522:774ワット発電中さん
05/03/27 00:58:35 yX3J98gR
>>520
通らないでしょ


523:774ワット発電中さん
05/03/27 01:01:47 1cpkbLuy
直接AC電源に繋ぐわけじゃないから安全規格は関係がないんじゃない?

524:774ワット発電中さん
05/03/27 01:14:33 +5Fw/wOS
>>519
日本代理店でも買えますよ。高いけど。


525:774ワット発電中さん
05/03/27 01:15:30 HvwoUoQR
517=520=522

526:774ワット発電中さん
05/03/27 01:30:04 +5Fw/wOS
劇団一人がいますね・・・

527:774ワット発電中さん
05/03/27 03:05:51 8D0n3BU9
PICなど存在しない!

528:774ワット発電中さん
05/03/27 10:36:56 HiHKf7rJ
>517=520
当たり

>520=522
はずれ

>劇団一人がいますね・・・

はずれ

>>522
プロですね。
マイコンが暴走したら電源電圧がどうなるかわからないよね。
安全性考えたら、電源制御はPICというかマイコンでやるもんじゃないよね。
フェールセーフ回路が入ってれば話しは違うけど。



529:774ワット発電中さん
05/03/27 10:50:49 yVsXp3qG
>>515
コネクタがゼロプレッシャーならいいのになぁ。
ソケットから線引き出して、ユニバーサル基板につけた、ゼロプレッシャーに半田付けしても大丈夫かなぁ?


530:774ワット発電中さん
05/03/27 10:59:29 yVsXp3qG
>>529
という方法なら、18ピンPICにも使えないのかなぁ?ダメ?
つっか、PIC16F676なんていう14ピンデバイスの存在を初めて知った。
URLリンク(jp.digikey.com)
270円かぁ。



531:774ワット発電中さん
05/03/27 10:59:45 8D0n3BU9
基板のソケットにセロプレッシャーソケットを刺すんだ!

532:774ワット発電中さん
05/03/27 11:11:23 yVsXp3qG
>>531
幅が違う。


533:774ワット発電中さん
05/03/27 11:44:00 EgTfnlNW
用途によっては、マイコンで電源作っている装置なんていくらでもある。
安全規格は、商用電源等を使うわけじゃないからそんなの要らない。
奇抜な発想は諸外国の方が進んでいて、日本のエンジニアは型から脱せられない。


534:774ワット発電中さん
05/03/27 12:21:36 05rNAKXW
URLリンク(www.atmel.com)
これなんか、もろ電子バラスト用マイコンだな。
漏れ的にはパワエレ制御にマイコン単体なんて怖くて使えないが。

535:774ワット発電中さん
05/03/27 13:38:47 SFSvNAUR
>奇抜な発想は諸外国の方が進んでいて、日本のエンジニアは型から
>脱せられない。

国内で出ていても笑いものにしたり、馬鹿にして、欠点をあげつらう
くせに海外で同じ物を見つけるとありがたがるし。


536:774ワット発電中さん
05/03/27 15:02:18 HiHKf7rJ
揚げ足をとらないでください。

>安全規格は、商用電源等を使うわけじゃないからそんなの要らない。

商用電源を使った場合のマイコン制御電源装置の話です

>奇抜な発想は諸外国の方が進んでいて、日本のエンジニアは型から脱せられない。

そのようなことはありません。日本からは優れた特許提案がたくさんされています。
日本の技術者を侮辱するのは思いあがりもいいとこです。





537:774ワット発電中さん
05/03/27 15:43:59 D6ELBXDP


 P I C の 話 を し ま  せ ん か ?


538:774ワット発電中さん
05/03/27 17:03:25 UcPnKulU
>>536
515の紹介したPICkit 1 Flash Starter Kitの電源
(USBの5Vからデバイスの書き込み用の電圧をつくる電源)の話だろ。

劇団一人の人が勝手に勘違いしてるだけ。

539:774ワット発電中さん
05/03/27 17:09:49 1coUuo/v
遊びでしか使わないんだけど、カウンターとか電飾とか模型モーター制御とか、そのときに欲しい機能をちゃっちゃと実現する分には本当にお手軽便利。
アセンブラも命令数が少ないから苦痛というわけではないし。
しかし某リアルロボットみたいに機能拡張的に使うといろいろと無駄が多いから最初からH8とか使ったほうがすっきりとまとまる。
名刺サイズからハガキ半分くらいの作品がみかん箱半分ぐらいまで溜まっててしまったよ。


540:774ワット発電中さん
05/03/27 22:17:20 lpFN5KyH
> マイコンが暴走したら電源電圧がどうなるかわからないよね。
>安全性考えたら、電源制御はPICというかマイコンでやるもんじゃないよね。

哀も変わらずこの手のバカは、、、
PICこそが、ハードウエアと同等の信頼性を持ちえるマイコンだというのに。
他のマイコンではまず真似できない。

541:774ワット発電中さん
05/03/27 22:29:03 NE2jNBFF
チップの信頼性はともかく、プログラムの信頼性はどうよ?
長期的にはPROMのデータが飛ぶことも考えられるし。
いや、他にも言いたいことはあるんだけれど...

542:774ワット発電中さん
05/03/27 22:38:13 +5Fw/wOS
つまりは電源を制御するのにPICは好ましくないのですかね。
PWMとかあるし。TVとかの電飾をPICでやってるていう話を
聞いたことあるのですが・・・短期だからいいのかな。

543:774ワット発電中さん
05/03/27 22:48:07 NE2jNBFF
“僕は”PICで電源作るのいやです。
人それぞれでしょうけど。
既存のスイッチング電源の場合、一回ミスファイアがあっても、次のサイクルで回復しますね。
でも、CPUなどを使う場合、雷サージなどで一回ミスがあった場合、暴走する可能性があるように思います。
家電製品の場合、ヒューズなどの安全装置がありますし、高い信頼性を要求してるわけでも無いし。
壊れたら買い換えろってことでは?(ある意味商売上手?)

544:774ワット発電中さん
05/03/27 22:48:23 TJO3vGwN
>>540
PICの信頼性は規定されてたっけ?
何FITぐらいを期待できるの?

545:774ワット発電中さん
05/03/27 23:18:05 SFSvNAUR
相変わらず、>>540のような馬鹿が出てくるんだね。



546:774ワット発電中さん
05/03/28 01:26:13 Uk+nWBgg
学生だからしょうがない

547:774ワット発電中さん
05/03/28 10:40:40 pmXMBHK9
フェールセーフを知らないのは、高校生以下では?

548:774ワット発電中さん
05/03/28 10:59:41 dffgwGN7
今時高校生でもフェイルセーフは知ってる。

549:774ワット発電中さん
05/03/28 12:57:22 3MW7uWOC
>543
>暴走する可能性があるように思います。

PICでは暴走を自己修復するプログラムを実現できます。
この点が他のマイコンと一線を引く特徴なのです。
すくなくともC言語でプログラムを書くなんて言ってる連中には
理解不能な特徴です。

550:774ワット発電中さん
05/03/28 13:00:52 HgL/R0kj
暴走したら自分を書き換えるってか。w
一旦氏んで来いヴぉけ!

551:774ワット発電中さん
05/03/28 13:06:09 3MW7uWOC
ほほほ 550がアホ晒してますね。

PICマイコンでは、プログラムがどのように暴走しようとも、必ず正規の命令を
実行します。
これがヒントです。

メモリ内容が化けるなんていって話しをまぜっかえす人がいますが、メモリ内容が
化ける事態とノイズなどでのPCの値が化ける事態との発生確率を考えてくださいね。


552:774ワット発電中さん
05/03/28 13:16:47 HgL/R0kj
>必ず正規の命令を 実行します。
絶対にありえません。
FA

553:774ワット発電中さん
05/03/28 13:25:04 3MW7uWOC
ID:HgL/R0kjがPICについて何も知らない事が明らかとなりますた


554:774ワット発電中さん
05/03/28 13:29:46 z2AebOvw
釣りだよ。


555:774ワット発電中さん
05/03/28 14:14:13 AyNtZYJn
スタックオーバーフローのあと、無限ループでいつまでも
元に戻らないということもありえるんだけどね。


556:774ワット発電中さん
05/03/28 15:00:20 3VStt+yr
PICの作りがどうなっていても
構造がマイコンである限り暴走の可能性は
 絶  対  に  あ  る  だ  ろ。

557:774ワット発電中さん
05/03/28 15:30:40 1ry7xuxb
まー何事にも絶対ていうのは、無いからね・・・

558:774ワット発電中さん
05/03/28 15:37:17 gKMT+Gwq
>>3MW7uWOC
こいつ、前にも「PICは暴走しない」といったヴァカだろ

559:774ワット発電中さん
05/03/28 15:38:08 eUuXksqR
暴走を確実に防ぐ方法はマイコンを使わないことだ、という中国の故事がある。

560:774ワット発電中さん
05/03/28 15:41:46 NAlEXaOz
マイコンなんて全てにおいて、その危険性があるのでは?
もっともCPLD,FPGAにもその事例があるがな。
そんなのを想定できない様じゃ、ECUとか、エレベータとか
新幹線とか、リニモとかの設計なんて到底無理だね。

要はコストと安全性との天秤で決めるんだよ!

561:774ワット発電中さん
05/03/28 15:59:38 77E9WTif
秋月の新製品にSSOPの書き込み器がズラと並んでいるが
高いねー やっぱ貧乏人はDIPですな。
URLリンク(akizukidenshi.com)


562:774ワット発電中さん
05/03/28 15:59:58 AyNtZYJn
やっぱりファブを持っていないところの製品には、持っている所
の製品よりも不安感がつきまとう。何かあったときに知らぬ存ぜぬ
を決め込んだり、責任のなすりあいをしそうな気がして。


563:774ワット発電中さん
05/03/28 16:05:48 Uk+nWBgg
>>560
それはプロのお話だろ(プ

俺様工作はなにやったって許される。そういう話ですよ。
前提を違えて話をしないで下さい。

564:774ワット発電中さん
05/03/28 16:07:29 77E9WTif
>>560
心配だったら、PICを3個並列で動かして、常に多数決で動かせ。




まぁ、最後はカスパーが裏切るんだけどね


565:774ワット発電中さん
05/03/28 16:20:10 1ry7xuxb
>561
SSOPとかSOICとかはICSPを想定してれば・・・

566:774ワット発電中さん
05/03/28 16:41:24 dL9O4dg5
バグだらけでなんとなく動いているように見えるプログラムしかかけないお前らが何を偉そうに(プゲラ

567:774ワット発電中さん
05/03/28 17:16:02 F4vFB1p3
プロじゃない事を免罪符に危なっかしい電源を作る人は
原野の中の一軒家に住んでください。
まともな知識や技術と充分な開発環境がない人ほど
電源のコアな部分にマイコンを使って欲しくないなあ。

568:774ワット発電中さん
05/03/28 17:27:54 fnZ5FB6o
558
オマエ、数年も経っても理解できないとは気の毒な奴だな。
はっきり要っておまえ技術的なセンスないよ。
オマエみたいな奴が、凡事故を「想像の範囲をはるかに越える原因があった」とか
言うんだよな。

569:774ワット発電中さん
05/03/28 17:37:31 AyNtZYJn
>>568みたいな奴が、凡事故を「想像の範囲をはるかに越える原因が
あった」とか 言うんだよな。


570:774ワット発電中さん
05/03/28 17:39:25 AXSqZhFK
哀れだから解説してやるよ

PICマイコンで安全なプログラムを作れる理由

前提としてメモリ(ROM)内容は変化しない。とする。
メモリ内容の変化は発生確率が大変低い事であり、パーツの使用年数を制限すれば
無視することに何の問題もありません。

マイコンの暴走は、ノイズ等による読み間違いにより、判断を誤り、想定外番地へ
飛ぶことにより発生します。
PICマイコンの場合、命令語長が一定なので、どの番地へ飛んだとしても
プログラマが書いた命令のドレかを実行するに過ぎません。
したがって処理単位毎になにか記録をしておけば、意に反した順番での実行と
なったことを把握することが出来ます。

命令語長が一定でなければ、区切りを誤って飛び込んでしまえば、モハヤ正しい
プログラム実行状態に戻る可能性は無いに等しい状況となります。
命令語長が一定であっても、プログラム自信が書き換えを行えるような状態では
プログラム自体が破壊されてしまえばどうにもなりません。

571:774ワット発電中さん
05/03/28 17:41:51 AyNtZYJn
あやまってスタックがコケれば、延々と同じ番地にしか
元の処理プログラムに戻れず無限ループします。


572:774ワット発電中さん
05/03/28 17:43:13 AyNtZYJn
することもあります・・が正しいな

573:774ワット発電中さん
05/03/28 17:44:10 AyNtZYJn
>マイコンの暴走は、ノイズ等による読み間違いにより、判断を誤り
>想定外番地へ 飛ぶことにより発生します。

もう一度良く考えましょう



574:774ワット発電中さん
05/03/28 17:46:35 AXSqZhFK
スタックが関係するのって戻り命令だけだろ?
それ以前に、安全なプログラムを書くためにはサブルーチンなんか使うなよな。
何の為にC言語ではできない!っていってると思ってるんだよ。
当然、スリープ命令なんかも書くなよな。
プログラマが書いていない命令は絶対実行されることはないんだからさ。


575:774ワット発電中さん
05/03/28 17:52:16 AyNtZYJn
>処理単位毎になにか記録をしておけば、意に反した順番での実行と
>なったことを把握することが出来ます

1=>命令A=>命令B=>2=>命令C=>命令D=>1・・

というときに1を記録した後に命令Aをすっ飛ばして命令Bに
進んでしまったときに、意に反した順序での実行を検出
することはできない。


576:774ワット発電中さん
05/03/28 17:54:47 xbEscyni
>570
チミの乏しいオツムの想定範囲の中ならそうなるね。
確かにそうなる。同意。

577:774ワット発電中さん
05/03/28 17:57:03 AXSqZhFK
1=>命令A=>命令B=>2=>命令C=>命令D=>3=>命令E=>命令F=>4・・

命令って書き方にちょっと異論はあるけど、些少なことだから置いとくとして
命令Eで3が記録されてなければ、正しいシーケンスではなかったと判断できりる
って意味なんだよ。
なんかのノイズでリードミスした後って前提の話だから、どこかへ飛んでいったわけで
直ぐ後ろに行くようなことは、、、

578:774ワット発電中さん
05/03/28 18:04:57 AyNtZYJn
直ぐ後ろに行くようなことは、、、

たとえばPCの下位4ビットが0000で、次に0001に変化する
前にLSBの1ビットがずっこけて0001になっていたら
インクリメントで0010になって0001番地の命令実行を
すっ飛ばすだろ?


579:774ワット発電中さん
05/03/28 18:19:55 AXSqZhFK
その例なら約0.0015%の確率ってことだね?

580:774ワット発電中さん
05/03/28 18:26:21 HPbNrVMz
要は「PICは暴走しない」の無限ループにハマって誤作動し続けて
るのは>>570の脳味噌なんだろ?

581:774ワット発電中さん
05/03/28 18:29:19 AyNtZYJn
>579
0001=>0010の前に0000になっていたら0001番地を
もう一回実行しちゃうぜ。


582:774ワット発電中さん
05/03/28 18:48:35 gr5M/pVS
おまえらも無限ループで遊んでいるな。俺も遊ぼうか。

>>577
じゃ、命令Dがすっ飛ばされる異常がおこればスルーなんだな。
命令A~Fが全部すっ飛ばされても4が記録されて続くルーチンは異常とは思わず
マターリ実行を続けるわけだな。
PICでそれで問題が起こらないアルゴリズムがあれば教えてくれ。

>直ぐ後ろに行くようなことは、、、
そんな都合良いものばかりとは限らない。全PCビットほぼ等しく化ける可能性はあるだろ。


583:774ワット発電中さん
05/03/28 19:17:28 4DYEv2e7
>579
クロックが20MHzだと一秒間に7500回誤動作するってことだな。w

584:釜爺 ◆FJvgWgRkTg
05/03/28 20:07:06 3CPoIBmT
IC-prog 1.05Dでasmファイルを書き込むには
どうすればいいんでしょうか。
よろしくお願いします。

585:774ワット発電中さん
05/03/28 20:19:37 brAWoV9W
MPASMでアセンブル、MPLINKでコンパイルしてHEXファイルを作る。
その2段階は、MPLABなら、まとめてできる。

586:774ワット発電中さん
05/03/28 20:22:49 NAlEXaOz
>>584
URLリンク(www.microchip.co.jp)
mplab7でもほぼ同じ
URLリンク(www.microchip.com)

587:774ワット発電中さん
05/03/28 22:30:46 YBPcp8b6
化けても大丈夫なのはプログラムカウンタだけだから、
レジスタは化けるから使えないし、入力ピンも化けるから使えないな。

割り込みを禁止してても、割り込みが有効に化けるかもしれないから
常に禁止を書き込まないといけないな。


588:774ワット発電中さん
05/03/28 22:35:09 AyNtZYJn
出力ピンもラッチ反転する可能性があるから使えないですか?


589:774ワット発電中さん
05/03/28 23:07:58 YBPcp8b6
出力にものを繋がなければOKだよ。ただし入力に化けるかもしれないから
プルアップかプルダウンしておかないと。

(彼がなんでPCばかり気にするのか本当に分からない。放置(固定)して
あるレジスタの方が化けやすいと思うが…)

590:774ワット発電中さん
05/03/28 23:51:06 1ry7xuxb
結局PICで物づくりは止めろてことですか・・・

591:774ワット発電中さん
05/03/29 00:22:14 i5+xPe0l
>>590
パラノイア(または専門バカ)の世界へようこそ。

592:774ワット発電中さん
05/03/29 00:50:33 XLhkQL69
>>589
>彼がなんでPCばかり気にするのか本当に分からない。
取り敢えず一通り読んでみたが、ハードウェアに関する
知識が乏しく感じられる。
 また、
>>574
>安全なプログラム
>プログラマが書いていない命令は絶対実行されることはない
ソフトウェアで飯食ってる奴でもないらしい。

ハード・ソフト共に聞きかじりの知識か持ち合わせていない釣り師。

単に住人が釣られ易いだけかもしれんが。

593:774ワット発電中さん
05/03/29 01:12:24 KhB11Z3O
全てのメモリにNOPを書いておけば、意に反する
命令を実行することはない。
命令を実行することは無くても、ポートの出力が
思った通りになるとは限らない。
MCLRを有効にしてGNDに貼り付けておけばあるいは、、、、
、、、、、、、、、、、、、

594:774ワット発電中さん
05/03/29 01:21:47 KhB11Z3O
ところで、
>>466
の実験をPICで追実験したくて検討してるんだが、
>>467
の計算は[uA]ではなく、[nA]ですよね??
ATtiny11のスペック見るとコンパレータの漏れがMAX50nAで
12F675のスペック見るとコンパレータorADのブロック図に
書かれている漏れが500nAなので、厳しいのかなぁ。
試してみた人います?

595:774ワット発電中さん
05/03/29 01:38:33 P7Y85t7A
ま、マトモな香具師にはPICの偉大さが判っただろうさ。
PICにありがたみを感じない奴はPIC使うなよ。
不満タラタラで使うなんて、なんのメリットもないよ。

nAなんて言い出す奴は基板の表面の抵抗値を調べてみ。


596:774ワット発電中さん
05/03/29 02:05:04 KhB11Z3O
10pF X 0.5 V =10*10^-12 *0.5 = 5 * 10 ^ -12
5 * 10^-12 / 2ms = (5*10^-12)/(2*10^-3)=2.5 * 10^-9
= 2.5nA

だとおもうんだが、、、
計算間違えてるかのぉ。

597:774ワット発電中さん
05/03/29 02:09:06 8WHAj8Cs
いや、だから、nAなんて量を扱おうってときには、基板からしてガラエポなんて使えない。
空気中の湿度すら問題となる。
さらに、ノイズの問題もある。

598:774ワット発電中さん
05/03/29 02:22:55 T1gdtwUC
というか家のテスターだとnA単位は全く計れない_| ̄|○

599:774ワット発電中さん
05/03/29 03:09:55 g6Krna3H
>570 前提としてメモリ(ROM)内容は変化しない。とする。

ありえない

600:774ワット発電中さん
05/03/29 03:33:37 iMXmi2Cj
まぁROMは書き換わらなくても、PCが化けるならIRが化けることもありえるだろう。
なら書いていない命令が実行される可能性もあるわけで。
ついでに他のレジスタはもちろんRAMも化けても不思議はないから、1だの2だの記録しておいても
その記録が化けていない保証も無いし。

601:774ワット発電中さん
05/03/29 05:41:35 IeluT1iv
PICを使わない奴は負け組

602:774ワット発電中さん
05/03/29 09:59:09 wS9Pu6AR
PICマンセーはドツボ組


603:774ワット発電中さん
05/03/29 10:01:29 wS9Pu6AR
マンセーオヤジな>>570は自沈したわけだな


604:774ワット発電中さん
05/03/29 10:28:57 g9fhkI68
だな。
どんな誤動作をするか分からないPICはどんな用途にも使えないっと。

605:774ワット発電中さん
05/03/29 10:37:44 ziqWWZ4+
>>604
NECかatmelかRenesasかザイログの社員乙

606:774ワット発電中さん
05/03/29 11:12:57 FfiUSYIO
>>594

スレリンク(denki板:160-番)
一応念のため。もうよんでるとは思いますが。
追試楽しみにしてます。

607:釜爺 ◆FJvgWgRkTg
05/03/29 11:22:50 vQ2PuZBu
MPLAB Ver.5.7です。
asmは開けたんですが
アセンブル、コンパイルとやらができません。
どこをどうやればいいのかわかりません。
だれかたすけてくださいです。

608:774ワット発電中さん
05/03/29 11:49:43 WFNA7eXS
>>607
コンパイルはしなくていい。

609:774ワット発電中さん
05/03/29 11:50:06 tDIYtbNk
>>607
グーグル先生に聞いたほうが早いよ・・・

610:774ワット発電中さん
05/03/29 12:09:45 V+5Kd21z
>>607
build


611:774ワット発電中さん
05/03/29 12:21:42 veCqV7JQ
その前に、asmファイルをプロジェクトに登録する。

つか、ここいらへんの
URLリンク(www.microchip.co.jp)
これでも嫁。
URLリンク(www.microchip.co.jp)
URLリンク(www.microchip.co.jp)
古いレビジョンのドキュメントだろうが参考にはなるだろ。

612:774ワット発電中さん
05/03/29 13:29:07 IeluT1iv
マイクロチップジャパンはしけてますね
それに較べてチャイナの勢いが凄いですよ!

613:774ワット発電中さん
05/03/29 13:52:35 tDIYtbNk
Microchipの日本代理店は使い物になりません。直販の方がよっぽど対応がいい。

614:774ワット発電中さん
05/03/29 16:43:48 ngvqNSZd
べつにマイクロチップに限った話でなかろ。
外国メーカーの代理店にしろ、現地法人にしろ、零細ユーザーにすれば意味のない
存在だ。


615:774ワット発電中さん
05/03/29 18:15:46 g6Krna3H
>607 5.7なんか使っている時点で(ry

616:774ワット発電中さん
05/03/29 19:06:03 ziqWWZ4+
mplab 5.7なんて使わんほうがいいよ。
何のメリットも無い。7.10を素直に使ったほうがよい。

617:774ワット発電中さん
05/03/29 19:16:19 g6Krna3H
7.xにHitec-C(フリー版)対応してたかな?
アセンブラしか使わないんだけどw

618:774ワット発電中さん
05/03/29 19:29:01 ziqWWZ4+
>>617
してるよ。ぐぐればすぐ出るんじゃないか?

619:釜爺 ◆FJvgWgRkTg
05/03/29 19:37:41 vQ2PuZBu
>585>589>608>609>610>611>617
多数の方々、ご指導ありがとうございました。

>515>516
5.7の日本語化パッチにひかれて・・・w
7.1入れたらなんかできました・・・

620:774ワット発電中さん
05/03/29 22:40:06 ghi/Z4Ns
>>619
釜爺さん、ほんとに爺さんだったら、H8かR8Cのほうが
プログラム作りもデバッグも、遥かに簡単だよ。
サンハヤトでE7、E8メミュレータ安く売ってる。
サンハヤトの肩をもつ気はさらさらないが、
物がいいのでお勧めするよ。

621:774ワット発電中さん
05/03/29 22:51:40 SZmEziVw
>>620
ルネサス関係者乙

622:774ワット発電中さん
05/03/29 23:06:32 Lr28v06B
PICBASIC proの質問なんですが。
割り込み処理は一プログラムに
一種類しか使用出来ないのでしょうか?

623:774ワット発電中さん
05/03/30 00:02:28 7KhXGosG
PIC始めたばかりの初心者なんですが、質問させてください。
12F675は12F629と12C509の上位コンパチとして使えるんでしょうか?
ピンアサインが上位コンパチだとプログラムも若干の書き換えで流用可能
なんでしょうか?

この考え根本的に間違ってるでしょうか?
っていうか質問自体何かヘンでしょうか?それすらわかりません。



624:774ワット発電中さん
05/03/30 00:27:28 SdKOeRaF
>>623
PIC12F629と12C509を同じに考えていることは間違い。
12F629のソフトは簡単に12F675へ移行できる。
12C509のソフトはBaslineシリーズとMid-rangeシリーズの違いを分かっていれば変更可能。


625:594
05/03/30 00:35:11 y1jdDnzf
>>606
ありがとん。
あっちの方が身のある議論してるみたいだね。
結果はレポートします。
# 社会人なんで週末にしか作業できませんが、、

626:774ワット発電中さん
05/03/30 00:36:24 kt5qeAaU
スタックさえなんとかなれば・・・ね。
12C509がターゲットなら素直に12F509が良いと思う。

627:623
05/03/30 00:42:11 7KhXGosG
>>624
>BaslineシリーズとMid-rangeシリーズの違いを分かっていれば変更可能。

もちろん違いなぞわかりません・・orz
できるだけ自分で調べてみます。
ありがとうございました。

628:774ワット発電中さん
05/03/30 04:55:21 drnFcTSq
Cで組めばいいんだよ PIC同士ならなんとかソース互換がある

629:623
05/03/30 18:36:09 7KhXGosG
Cですか・・・BASICなら昔よく使ってたんですがCは途中で挫折した記憶ありです。
PIC用のBASICコンパイラがあるようですが使い物になるんでしょうか。

630:774ワット発電中さん
05/03/30 19:14:20 4nnOknLV
アセンブラで組めばいいんだよ PIC同士ならなんとかレジスタ定義の互換性がある

631:774ワット発電中さん
05/03/30 19:39:16 3LsiZWy0
教えてください。

PICを始めたいと思いデータシートを読んでいたのですが、
ライタ以外でプログラムする方法が書かれていなかったように思います。
自分としてはライタや外注をせずに、プログラミングしたいのですが、
良い方法はあるでしょうか?

632:774ワット発電中さん
05/03/30 20:00:57 YhTslgMX
で、パソコンで作ったソフトをどのようにしてPICに書き込みたいの?
ライタを使う以外に、方法が存在するとは思えない。

安く済ませたいなら、自作でライタ作ればいい。

633:774ワット発電中さん
05/03/30 20:15:06 3LsiZWy0
いや、WIN以外のパソで書きたいのだと理解して頂けたらと...(正確には自作物)

以前PIC以外のマイコンをプログラミングしていたときは、
メモリが外付けだったのでライタも自作したのですが、
自作ライタを作りたくても、シリアル入力でのプログラミングの方法が
詳しく書かれていないので、お手上げなんです。

PICではライタを通さないとプログラミングできないのでしょうか?
よろしくお願いします。

634:774ワット発電中さん
05/03/30 20:46:30 3LsiZWy0
ごめん間違えた。
誤)PICではライタを通さないと
正)PICでは市販ライタを通さないと

そりゃそうだ。ライタ無しでは書き込めないな。

635:774ワット発電中さん
05/03/30 20:47:36 r5GHzigG
>633
発売元のアプリケーションノートに書いてありますが、何か?
URLリンク(ww1.microchip.com)
作り方次第で立派に動きますが、最近のパソコンのパラレルインターフェイスが
簡易的な作りなのでそれに当たった人は不具合続出でした。
現用しているPICマイコン書き込みツール
URLリンク(www.oct.zaq.ne.jp)

636:774ワット発電中さん
05/03/30 21:03:31 3LsiZWy0
うぁ、烈しく英文だ!
早速解読?してみます。

詳しい資料、ありがとうございます。


637:774ワット発電中さん
05/03/30 21:36:40 1B1qMHMY
>>633
自作ものって・・・ワンダーウィッチとかじゃないよな?(w
Win以外のパソって具体的には何?
情報の制限は話を進みにくくしますよ。

Linuxなら選択枝あるよ。例えばこれ
URLリンク(www.lancos.com)


638:774ワット発電中さん
05/03/30 21:40:15 N5VkI8pe
>>631
PIC16F8X EEPROM Memory Programming Specification
URLリンク(ww1.microchip.com)


639:774ワット発電中さん
05/03/30 22:16:13 3LsiZWy0
>>637
さすがにワンダーウォッチじゃないです。

自分は他のCPUでプログラミングしていたこともあり、
昔MC6803で作成した8KBROMと64KBRAMを積んだ、
データ書き込みと機器制御に特化した自作機です。
MACやLinでもないので、自作としか言いようが無いです。д^;)
今回、PICにも手を出してみようと思い、質問をさせてもらいました。

>>638
なるほど、PIC16F8Xの場合13V程度の書き込み電圧で、
RB6をクロックとしてBR7から書き込めばいいんですね。
詳しくタイミングまで載っているので何とかなりそうです。

色々と相談に乗ってくださって、ありがとうございました。

640:774ワット発電中さん
05/03/31 07:09:50 gDo+Ic7t
>>639
それしか選択肢が無いって事は
インターネットもそれでやってるんだよねえ?
( ゚д゚)ポカーン
超スーパーハカーなんだかウルトラ頭硬いんだか解らんな(w

641:774ワット発電中さん
05/03/31 07:20:34 PmoH3ie9
WinPCでやればあっというまに簡単に仕上がるのに……

2chに書き込んでるPCも自作なのか……。

642:774ワット発電中さん
05/03/31 09:16:54 Gc6xKgjQ
>>640
たぶんその自作機がポータブルで、
ノートPC買う予算はないってとこじゃねえ?
それでも中古でもいいからノートPCでも買ったら?とアドバイスしたい。
古い奴の方がレガシィポートあって使いやすかったりする

643:774ワット発電中さん
05/03/31 09:20:52 PmoH3ie9
とりあえず1万で中古のノーパソ買ってフリーのソフトを落してこいって言いたいなぁ。
あの自作機で書き込んでも凄い事にはならないし、意味が無さすぎる……。

644:774ワット発電中さん
05/03/31 10:04:48 4vmkETX9
ICSPって、スナップスイッチを手動でパチパチやったらタイミングを守れないものかね?

645:774ワット発電中さん
05/03/31 11:42:53 5Tn5rQHP
ポケコンの、PC-G850VでPICを書くっていうのはどあ?


646:774ワット発電中さん
05/03/31 12:03:17 PmoH3ie9
ポケコン買うくらいなら1万ノーパソでしょ
PICのためにポケコンを23000円で買うのはちょっと……
場所とらないしおもしろそうだけど周辺機器とか操作性と将来性考えると
URLリンク(www.kyohritsu.com)

647:774ワット発電中さん
05/03/31 12:16:38 1XgPRmAY
MorphyOneは、仕様上、CPLDへのプログラム機能があるんだから、
PICライターにだってなるんじゃないか?
まだ仕様が決まっていないみたいだから、提案しる!



648:774ワット発電中さん
05/03/31 12:17:12 1XgPRmAY
つっか、1万円のノートパソコンなんてあります?


649:774ワット発電中さん
05/03/31 12:29:04 PmoH3ie9
>>684
中古で1万でよく売ってますよ
いまそばにあるのなんて2万で450MHzの東芝ノートです。
100~200MHzでWin98でも入れれば問題なし。

650:774ワット発電中さん
05/03/31 12:30:41 8Xjl8E6B
>>648
当然、中古だろうな。
レガシー用途で使ってる、俺のPen1ノートは6千円ぐらいだった。

651:774ワット発電中さん
05/03/31 12:35:54 PmoH3ie9
MS-DOSでいいのならジャンク市でPC-98でも掘り出して1000円で買ってパラレルポートに繋げばいいかと、やったことないけどね。
PIC AssemblerはMS-DOS対応だったはず。

652:774ワット発電中さん
05/03/31 12:38:54 1XgPRmAY
>>649
そっかー
昔のノートだとシリアルもパラレルもあるもんね。(USBじゃなくて)
僕も1台買っておこう。ども。


653:774ワット発電中さん
05/03/31 12:42:50 PmoH3ie9
>>652
最近のシリアルはダメっぽいので何台か安いを買っておくのとWin98SEなどのOSを知り合いから譲ってもらおう。

そしていま書き込んでるのは知り合いからバックライトが死んでるの貰って斜め45度チョップ打ち込んだら治ったNECの500MHzノート(1024x768 32bitカラー)。

PC-98はなんでこんなに壊れないんだ。
足下に動くノートが4台も・・・。

654:774ワット発電中さん
05/03/31 12:43:41 o/kqppel
PC-98は今やトレジャー状態だから価格は高いと聞いたが

655:774ワット発電中さん
05/03/31 12:46:23 PmoH3ie9
>>654
ヤフオクとかのは高いからやめたほうがいいよ。
ジャンク市で動くか怪しいのを狙った方がいい。
ヤフオクで2万以上のがジャンク市で980円だったこともある。
動かなくてもパーツ取って組み替えたらパワーアップしたり。
演算プロセッサをはがしたりとか、ね。

656:774ワット発電中さん
05/03/31 12:47:31 gDo+Ic7t
設備を更新出来ない制御関係が泣きながら買いあさってるそうな
かわいそうに(w

657:774ワット発電中さん
05/03/31 12:48:57 PmoH3ie9
>>656
ほ、本当の事を言うな~!(笑

でもPICとかやってるとシリアルポート壊しそうだから新しいのは使いたくないね。
RCDライタを作ってた人は何台も壊したらしい。

658:774ワット発電中さん
05/03/31 14:18:31 wigRCDKH
>655
まともな香具師の出品なら、ワンオーナー品だよ。

659:774ワット発電中さん
05/03/31 16:58:08 EM5auRup
すいません。ひさしぶりにやったら挙動不審です。ご教授下さいorz
clrf TRISIO
bcf STATUS,RP0
L01:
bsf GPIO,GP0
bsf GPIO,GP1
bcf GPIO,GP1
bcf GPIO,GP0
goto L01

予想される出力
GP0 ーーー__ーーー__
GP1 _-____-___

実際の出力
GP0 ー____ー____
GP1 _-____-___

12F675、ポート負荷無しです。bsfすると関係無いビットが0に落ちます。
いったいなにをしくじっているのでしょうか。

660:774ワット発電中さん
05/03/31 17:14:17 z8cWWt6k
bsfやbcfでポートのビット操作するときは、これらの命令を連続させないほうが
よい。間にnop入れてみたら。PIC関係のたいがい本には出ているんだが。

661:660
05/03/31 17:15:59 z8cWWt6k
× PIC関係のたいがい本には出ているんだが。
○ たいがいのPIC関係の本には出ているんだが。

662:774ワット発電中さん
05/03/31 17:23:19 NKwSHvuI
>>659
PICは書き込むとき、入力の状態をバックして書き込むから、
速いクロックとかだと問題が起きる場合があるよ。
対策はnopを入れる、連続したグループでビット操作を行わないなど。
URLリンク(www.picfun.com)

663:774ワット発電中さん
05/03/31 17:59:32 EM5auRup
ありがとうございます。
ポートには負荷はまだなにも繋いでないんですよ(オシロのプローブだけ)。

というか、今nopを入れてみましたが完全に再現されました。
2個入れても、ループを入れて忘れた頃にコソーリbsfしても、やっぱり落ちます。
F675ははじめてなんでちょっとF84に変えてみます(直ったらさらにわけが解らないorz

664:774ワット発電中さん
05/03/31 18:31:45 VMqFbDaM
ちょいまち。
直接ビットを操作すると、上で言っているとおり上手く動作しないことがある。
ビット操作じゃなくて、転送命令を使ってI/Oレジスタを叩いてみてくれ。
転送命令を使えば確実に動作する。

665:774ワット発電中さん
05/03/31 21:02:28 EM5auRup
確かにGPIO=数値としたら動かないわけがありませんが(動きます)、
I/Oピンを普通にビット操作出来ないマイコンなんかありえねぇ(w

666:774ワット発電中さん
05/03/31 21:57:47 SIsaPfEb
他の人がレスしているような、連続したbsfの問題でないとしたら、
単独のbsfの問題がありそう。
bsf GPIO,GP0
のあとに
GPIO全体をreadして、そのままGPIOにwriteしてみたらどうなるか。
これでGP0がsetされたままなら正常だけど、clearされるようなら
GP0に何らかの負荷がかかっているか、ポートの不良などが考えられる。

667:774ワット発電中さん
05/03/31 22:01:29 lNCsvVLw
>>665
それで正常なら奥が深そうだな!他のF675に変えても同じなんだろうか?
clrf TRISIO
の前は、どんな感じかな?

668:774ワット発電中さん
05/03/31 23:44:43 24k+VJfc
単に、
CMCON=7をセットしていないだけとか(藁


669:774ワット発電中さん
05/03/31 23:55:55 24k+VJfc
あと、ANSELのadコンバータオンにしてるとか。
A/DオンかつTRISIOが出力だと、ショートする。

670:774ワット発電中さん
皇紀2665/04/01(金) 02:41:07 2QZ2tQO8
データシートを読めば分かることを無知と勝手な思い込みで話をするあなたはADHDですか?

671:774ワット発電中さん
皇紀2665/04/01(金) 08:48:14 KqBPWNsC
書き込めるチャンスが来た時のそのときめき
俺にも解るぜ!ww

672:774ワット発電中さん
皇紀2665/04/01(金) 15:37:13 wD2MJ4wp
アホですかぁ? >>671

673:774ワット発電中さん
皇紀2665/04/01(金) 21:39:37 KqBPWNsC
>>669
OK、それですorz
ポートのビット操作ができないマイコンなんてマジ有り得ないので
PICは信じていましたが、ぬかりますた(w
皆様ありがとうございました。

674:774ワット発電中さん
皇紀2665/04/02(土) 01:58:11 +42TJS/u
流れきってすいません。
早速というか6.6を使ってたのをこれを機に7.1にしたのですが、
MPLABでデバッグのためにビルドするとCODファイルのエラーが出てしまいます。
BUILD SUCCEEDEDとはでるのですが、現在の実行位置を示す矢印もでてくれません。

6.6のころと同じようにデバッグするにはどう設定すればいいのでしょうか?

675:774ワット発電中さん
皇紀2665/04/02(土) 02:03:23 SgQamQSr
チュートリアルよめよ。

676:774ワット発電中さん
皇紀2665/04/02(土) 02:27:19 +42TJS/u
PROG CODEとりんか-でいけました。



677:774ワット発電中さん
皇紀2665/04/02(土) 03:00:50 5A7vWK2r
>>674
ソースファイル以外全部けして、プロジェクトを新しく作りなおして、
新しいバージョンのMPLABでビルドした方がトラブルがなくてよい。よ

678:774ワット発電中さん
05/04/02 05:56:22 8Apqf5DZ
MPLAB7.1やっと出たんだ?7.0はバグだらけで大変だったけど直ってるかな?

679:774ワット発電中さん
05/04/02 06:37:06 8qjWmYCJ
7.1でたんだ
お願いだからシムのバグが消えていてくれ

680:774ワット発電中さん
05/04/02 08:36:51 8Apqf5DZ
1月下旬リリース予定って話だったのにね。

MPSIMのバグ検証用テストプロどこに逝ったかな・・・ゴソゴソ

681:674
05/04/02 11:13:36 +42TJS/u
>>677
それでもダメだったんですよ。
で、>>676のような変更がいりましたと。
プロジェクトってasmだけじゃダメなんですね。


682:774ワット発電中さん
05/04/02 12:35:50 8Apqf5DZ
とりあえずV7.001アンインスコしてからV7.10インスコ+パッチ当てでは>>674の現象出ず。
バグもそれなりに直ってるみたいだ。


683:774ワット発電中さん
05/04/02 17:46:48 8qjWmYCJ
希望の光を㌧クス

上書きせずにVer7.1+パッチでとりあえずはOKそうってことか。

684:774ワット発電中さん
05/04/02 21:15:18 KPw++gA+
千石2階でOLIMEX製の MPLAB ICD2のバチもん売っていた。
20000円はびみょー。

秋月のICDパチはお世話になりましたが、同店でも877がAタイプに移行しつつあり...。
どうすべ。

685:774ワット発電中さん
05/04/03 18:30:05 9/2Q/abo
>>684
あーあれね。ここの会社の奴でしょ。タカッ
URLリンク(www.olimex.com)
URLリンク(www.solitonwave.co.jp)

基板剥き出しでその値段出すくらいなら、純正品買った方がよい。
サポートも純正品ゆえしっかりしてる。
URLリンク(www.mal.jp)

URLリンク(www.olimex.com)
をみると、$89.95で買えるから手数料とシッピング入れて
船便で2週間で取り寄せれば、約$100くらいじゃない?
URLリンク(www.olimex.com)
直接カードで買えるから、こちらから注文した方が断然お得。
まずは見積もりをメールで問合せするべし。但しフリーメール不可。

686:774ワット発電中さん
05/04/03 19:23:15 CQ8CAkRB
>>685
Olimexからカードで買うのがアレなヒトは
SparkFunから買ってくれ
URLリンク(www.sparkfun.com)


687:774ワット発電中さん
05/04/03 19:36:30 9/2Q/abo
>>686
うわーー安い!
じゃあ、あの日本の値段ってなあに?ぼりすぎ!


688:774ワット発電中さん
05/04/03 19:43:23 CQ8CAkRB
まーそういうな。
2倍程度なら、多めに見てやれ。


689:774ワット発電中さん
05/04/03 20:08:18 Nz/Kguha
せめて15000円ならなぁ。
結局digikeyにしました。
到着後の振込みOKで\18000(本体、USBケーブルのみ)
評価ボード付\26000円てのもあった。

690:774ワット発電中さん
05/04/03 20:32:36 yLT4Xvu3
貧乏人は愚痴が多い

691:774ワット発電中さん
05/04/03 22:32:05 eQvh5N/P
輸入物って日本の代理店経由で買ったらボッタくりな値段になるよね。
代理店によって値段もかなりの差があるときあるし。

692:774ワット発電中さん
05/04/03 23:26:55 ycuu4xTf
オレは純正ICD2をbuy.microchipにて昨年のXmasセールで3割引の$111.3で買った
Microchipのツール等は他のショップでは最新版でないことが多いので直接 buy.microchipで購入したほうが良さそう
フラッシュタイプのCPUを使用しているツールはあとからダウンロードでアップできるが、ワンタイムのCPUを使用しているツールもあるから要注意(PICkit1,BFMP等)

693:774ワット発電中さん
05/04/04 13:41:25 E4qnqoL1
PCから232Cで12F683@8MHzに115.2kbpsで 8bit 8kHz mono なwaveファイルを
送りつけてリアルタイムでPWM出力-LPFでお手製サウンドユニットを作ったけど
やたらとノイジー。
ものすごく感度の悪いラジオみたいなノイズの載り方。
じじじじ、ざざざざ言ってのと音域がかぶるとだめぽだけど
ストリングとかピアノの高い音とかは耳で分離して聞けるからなかなかイイ!

さてノイズの原因がんばって探すかな。

694:774ワット発電中さん
05/04/04 14:13:58 icuoPCt/
>>693
HEXかソース(ヽ゚д)クレ (W

695:693
05/04/04 14:41:31 E4qnqoL1
えーっとさらすのは恥ずかしいってか、PCでほとんどやってるんでソースだけだとなんとも。

TEST
CALL GET_BYTE
MOVFW GET_DATA
MOVWF REG1_PWM
MOVWF REG2_PWM
RRF REG2_PWM,f
RRF REG2_PWM,f
RLF REG1_PWM,f
RLF REG1_PWM,f
RLF REG1_PWM,f
RLF REG1_PWM,f
MOVLW b'00110000'
ANDWF REG1_PWM,w
IORWF CCP1CON,f
MOVLW b'00111111'
ANDWF REG2_PWM,w
MOVWF CCPR1L
GOTO TEST
です。GET_BYTEはPCからStart Bit待ちの間完全にロックします。(かかりきり)
PCから受けた
7654 3210 な8bitは 上位6bitを
CCPR1Lに0076 5432 に。下位2bitを
CCP1CON<5:4>に 10 うつしてます。
PR2は63にして、プリスケーラーの類はすべて1:1です。
PWMの周期は32μsec f=31.25kHzです。

PC側で125μsecごとに1byteずつ送信でタイミングとってます。
ノイズの原因わがんね。

696:774ワット発電中さん
05/04/04 15:15:49 yo1zAVZb
>>693
バッファアンダーラン(wが発生してるとか、オフセットバイナリを考慮してないとか。
そんなソフトウェア回りが原因になってるような希ガス。


697:693
05/04/04 15:22:46 E4qnqoL1
>>696さん
れすありがとうございます。
バッファアンダーランってPIC側で受信データを取り逃しってことですか?

同じくオフセットバイナリってのもわかってないです…
waveのデータが128が無音ってことですか?

出力はコンデンサでDCカットしてるんで、
オフセットは気にしなくて良いかなとか思っちゃったんですが。

698:693
05/04/04 16:00:28 E4qnqoL1
事故レス。
音割れしてたのがメインみたいです。
音量変えたりしてやってみると大幅改善。
LPF,DCカットコンとかちょいいじって録音してみます。

699:693
05/04/04 17:17:56 E4qnqoL1
URLリンク(radio.s56.xrea.com)
電気電子うぷろだにウプしますた。
君は天然色です。
明日には消す予定です。
とがらせて~ な”に” かたくらむ表情は~
の”に”がよたってるのはPC側の送信ソフトの問題です。
(マウス動かすとか)負荷をかけると125usec以内に送信できなくなり、
その後追いつこうと必死に(waitなしで)送ろうとするので
負荷-無音-4割り増しピッチで高速再生を追いつくまでします。
連続カキコでお騒がせしました。

700:774ワット発電中さん
05/04/04 17:22:59 icuoPCt/
>>699

PICでも意外と音になるもんですね。
31秒のあのもたれが、その該当するところですね。
簡単なフレーズなら、EEPROMに1~2秒くらいの効果音が入りそうな
おかん。
「いや~ん」とか
「へ?」とか
(U´Д`)ワンワンフレーズアイテムがデキス。

701:774ワット発電中さん
05/04/04 17:30:14 JVUvNpkR
Cのことで質問させてください。

a = !(port & 0x0F)

これは、portの全ビットを00001111でマスクした値では無い値を代入するということですよね。
それは括弧の中で求めたビットを全て反転させて代入すれば良いのでようか?ワケが分かりません。
教えてください。お願いします。

702:774ワット発電中さん
05/04/04 18:29:31 cW85LAMk
'!' は論理否定演算子。
port&0x0F の結果 0 =FALSE 0以外=TRUE が逆になる。
( すべてビット反転は '~' ビット単位の否定(=1の補数) )

結果的に、aには 0=FALSE か -1=TRUEが入る。
(TRUEの時の具体的な値は処理系依存だったと思う兎に角0以外)
FALSEは0だけど。


703:774ワット発電中さん
05/04/04 19:20:26 thwlVxY+
>>701
aにはportの下位4bitどれか1つでも立っていれば0、そうでないなら0以外が入る
でいいかと。
!なしなら0と0以外がひっくり返る。
しかし変数に代入ってのもへんな使い方だね?普通は
if ( !(port & 0x0F) ) ・・・・
なんて使いそうだが。



704:774ワット発電中さん
05/04/04 19:31:35 K9UeSXU2
!が無いときは単にportの上位4ビットが0クリアされた値が入るだけ。

705:774ワット発電中さん
05/04/04 21:28:44 SUGTDkib
>>699 スゲー感動した!!!PICでここまでできるとは恐れいりました。

706:774ワット発電中さん
05/04/04 21:42:09 eBZ3ayeP
>>699
すごいのはわかるんだが、PIC初心者の漏れにはそれがどういった応用に
使えるのかがピンとこない。
どういうところに使えるのか教えてエロい人!

707:774ワット発電中さん
05/04/04 22:18:35 r+PIlBA1
MPLABでビルドしても、COD.ERR.LST形式のファイルしかでないんだけど
HEX形式のファイルはどうやって作んの?教えてえろい人!

708:774ワット発電中さん
05/04/04 22:19:14 odsTfcAz
2げt

709:774ワット発電中さん
05/04/04 22:19:55 odsTfcAz
誤爆。

710:774ワット発電中さん
05/04/04 22:36:01 w6xnU/dH
>>707 よーしらんけどソースにエラーがあるとHEXは生成されないよん。

711:774ワット発電中さん
05/04/04 22:36:27 cW85LAMk
>703
論理値を数値として使って高速化することがある。
たとえばそのif文の中でb=b-1なんてのをやるときには
b=b+aとすればif文を無くせる=分岐の省略=高速化
コンパイラが賢ければだけどね。
レジスタの少ないPICでは微妙かな・・・


712:774ワット発電中さん
05/04/04 22:45:39 6p+VlR6k
>>711
C言語としてtrueの時にa=1であるという保証はないのでは??
特定のコンパイラ(特定のバージョン)依存にならない?

713:774ワット発電中さん
05/04/04 22:56:08 0t9tq7KI
以下の演算子はintの0または1を返すのが規格で決まってます。
!, <, >, <=, >=, ==, !=, &&, ||


714:774ワット発電中さん
05/04/04 22:56:46 HzCBGSeH
休日にでも、16F683で音をだしてみるかな。

715:774ワット発電中さん
05/04/04 23:05:08 6p+VlR6k
>>713
そうだった、勘違いだった。
でもこれって時々はまる原因になるんでさけているなあ。

716:774ワット発電中さん
05/04/04 23:11:43 kPrSRYzL
>>702
>>703
>>704
>>703
>>712

くわしく教えていただき、ありがとうございました。
やっと、理解できました。

717:693
05/04/04 23:21:30 E4qnqoL1
>>700さん
今回は8kHzなので 8KBytes/secなので
どこまで音質を落とせるかの勝負になる悪寒

>>705さん
今回の実験ではPWMが31.25kHzが上限ってことなので、そこに一番がっかりしました。
まぁ外付けクロックで引っ張ればもちっとあげれるんですが。

>>706さん
(∩゚д゚)アーアーきこえなーい

>>714さん
PWMさえあれば何でもいけるし、USB接続にして22KHz 16bitとか目指して下さいw
232Cの限界を超えてどこまでも…


718:774ワット発電中さん
05/04/05 00:00:39 XbSR8wVO
>>717
そこまで目指すなら、普通にUSB-DACチップ買って回路を組んだ方が・・・
と身も蓋もないレスをしてみる。

719:774ワット発電中さん
05/04/06 12:03:21 kFFiX00W
>>717
聴いた。グッジョブ。ルーチンが小さいなら、beep音の代わりにするとか。
1秒8kbytesのROMを潰すが・・・PICだとその倍だっけ?


720:774ワット発電中さん
05/04/06 12:42:18 f/W/q3Tc
燃料豆乳 ( ゚д゚)ノ URLリンク(www.geocities.jp)


721:774ワット発電中さん
05/04/06 21:18:00 YAl7wTTt
いがらっぽいPSG・・・・

722:774ワット発電中さん
05/04/06 22:30:33 +Z39hya7
鈴商で売ってるし

723:774ワット発電中さん
05/04/07 02:58:57 ilcrfe3p
PIC12F683で、
バンドギャップ補正値と、オシレーター補正値の読み方教えてください。

WINPICでもIC-PROGでも読めないよね?

724:774ワット発電中さん
05/04/07 03:00:13 ilcrfe3p
ごめんなさい。
ライターの種類はJDMです。

初めてで、作りたてホヤホヤです。

725:774ワット発電中さん
05/04/07 03:43:30 ilcrfe3p
初めてのくせにPIC12F683選ばなきゃよかったかも、、、

726:774ワット発電中さん
05/04/07 03:49:30 ilcrfe3p
OSCTUNE register になって、面倒がなくなったのか。。。。
って、誰もいないんかい。
おーーーい、目指せ1000取り

727:774ワット発電中さん
05/04/07 04:32:58 Zpi0RUS/
マッタリ

728:774ワット発電中さん
05/04/07 05:07:09 2e8lZRTL
>>723
Excite翻訳によると
----------
外のブラウンDetect(BOD)、PowerオンなReset(POR)、および8MHzの内部の振動子(HFINTOSC)は
較正された工場です。
これらの校正値は、Register12-2に示されるようにCalibration Wordレジスタに格納されて、
プログラム記憶域2008hで写像されます。
「PIC12F6XX/16F6XXメモリプログラミング仕様」(DS41204)で説明された手順を用いるとき、
装置が消されるとき、Calibration Wordレジスタは消されません。
したがって、装置が消されるとき、これらの値を格納して、プログラムを変えるのは必要ではありません。
注意: アドレス2008hはユーザプログラムメモリスペースを超えています。
それは特別な構成メモリスペース(2000h-3FFFh)に属します。(プログラミングだけの間それにアクセスすることができます)。
詳しい情報のための「PIC12F6XX/16F6XXメモリプログラミング仕様」(DS41204)を見てください。
----------
だそうだ。
・CalibrationBitsの2008番地はいじらなくていい。
・微調整したければSFRの中のOSCTUNEを使う。
って感じに理解してるけど、使ったことないしシラネ

WinPICはコンフィグメモリタブの全ロケーション表示にチェックを入れると
2008番地も表示される。

729:774ワット発電中さん
05/04/07 05:48:38 ilcrfe3p
>>728
ありがとう!!。
(゚ー゚)(。_。)(゚-゚)(。_。)ウンウン
大体は自分で調べ終わってた。
事前にメモしたり、後から書き戻したり面倒な事がない分、良いかもしれない(コロコロ)w

>>WinPICはコンフィグメモリタブの全ロケーション表示にチェックを入れると 
>>2008番地も表示される。 
2個調べたけど、全部1だったし、
読み込み時のタスクバーのメッセージも2007までしか読んでないと思うよ。

730:774ワット発電中さん
05/04/07 09:00:11 RVVWFGYx
>>729
あとはdevice.iniをごにょごにょするか、作者にmailするか…

731:774ワット発電中さん
05/04/07 09:04:01 /qTEVeHf
うえのほーにあるとおもうけど
JDMライタ(RCD)+WINPICで12F675と同じ気分で書き込むと
Calib Bit全部とんだよ…もれの683は二個とも。

しょうがないからOSCTUNEでチューンして使用中。
まぁトンでも調整できるしなんとかなるさ…

732:774ワット発電中さん
05/04/07 17:16:51 7AFdP6hw
引用>
PICSTART-PLUS \36,750円(税込)
バージョンアップチップ(17C44) \1,500円
XXXXXXX社の純正のPICライタです。
殆どのPICに書き込めますがパソコンによっては相性
(PICライタを認識しないあるいは途中でエラーになる等の不具合がでる事
を指します)が悪い場合はPDE-EXをご利用下さい。
PICSTART-PLUSはあくまでも評価用です。量産にはPROMATEIIです。
引用終わり>

小生、PIC START PLUSもPROMATE IIも使っています。
しかし、どちらも不具合を経験しています。

PIC START PLUS
アップグレード後、PIC START OSをDLしなんとなく動いてる感じでしたが、
PICへのライトエラーを契機に全然動かなくなりました。

PromateII
これは頻繁にCommunication Error!を表示し、PICへの書きこみが正常にできることがありませんでした。
Windows側のSerial設定を”FIFOを使用しない”に変更すると、Communication
Error!を表示せずにREAD/WRITEができるようになりました。

”相性”の正体は、PromateII側の通信処理速度が、Windows PC側の通信速度
に間に合わない可能性があります。(FIFOバッファを使わない=STOPビットとSTART BITの時間があいて通信速度が落ちるはず)

純正品は高品質の一般通念はこの経験では不運な結果でした。
今までROMライタがエラーを起こす市場の製品というのを見たことがなかったので
この製品品質には驚きです。
Promate III でどこまで直ってるのか・・・
MPLAB IDEのバグの有様とあわせて、いや~こりゃ困ったなぁ(涙)

えっ?! PICを使わなきゃ いいだろってが? 
・・・確かに・・・


733:774ワット発電中さん
05/04/08 02:04:47 tTjNcAGm
>>730
詳しく教えてください。お願いします。

LEDピコピコまで、人のソースコピーしなくてもかけるようになった









かな。

734:730
05/04/08 15:25:19 bd11bD78
>>733
devices.iniいじってみようかと思ったけど、
やっぱ餅は餅屋ということで…

FENG3さんの掲示板になんか書いてあるよ。
URLリンク(6803.teacup.com)
「PIC12F683について」
「PIC12F683について(補記)」
「WinPic最新版」

735:482==731
05/04/08 17:23:13 PH232REH
>>482
なのですが、
>>734
を読む限りうちの683もCalibrationBitは生きてるはずなんですよね?
なのにOSCTUNEをいじらないと相当ずれてるってのはなんでなんでしょ?
なんか勘違いしてますか>自分?

736:774ワット発電中さん
05/04/08 17:31:56 Km215h/Q
>>735
ライターで2008h読めばわかるんじゃないの?


737:482==731
05/04/08 19:04:14 PH232REH
読み込んでみましたが、
FENG3さんが掲示板に書かれているようにすべて1と表示されるようで
実際のところは不明です。

738:730
05/04/08 19:41:08 bd11bD78
>>737
最新のWinPic入れてみたけどやっぱり2008hは読んでないみたいな感じがする。
devices.iniのいじり方はHELPにあるけどやってみない?
ReadだけならPICを壊さないと思うので。
ConfigMemUsedLocs00_1Fと
Cfgで始まるパラメータが要るのかな。
俺は12F683持ってないので…。

739:730
05/04/08 21:46:11 bd11bD78
とりあえずオリジナルのdevices.iniはコピーしておいて、
[PIC12F683]の中に
ConfigMemUsedLocs00_1F=0x01CF
の1行を加えてみたらよさそうな感じがするよ。
「解説」
0x01CFの
Fは2000h~2003h
Cは2006hと2007h
1は2008h
が存在するっていう意味。

740:482==731
05/04/08 22:02:40 PH232REH
ConfigMemUsedLocs00_1F=0x00CFの行を

ConfigMemUsedLocs20_3F=0x0000を書き足して、

CFをいろいろ変えてみたけど、表示されるメッセージは常に
Reading 0x002000 - 0x002007 ...
くまった。

というか漏れ的にはOSCTUNEで校正したのでとりあえずよかったりする。
#正直言うと、ヘルプにある
For each of the first 32 locations in config memory (addresses 0x2000..0x201F),
there is a bit in this parameter (bit 0 for address 0x2000, bit 1 for address 0x2001, etc).
A ZERO-bit means "this location does not exist.
The definition ConfigMemUsedLocs00_1F=0x00CF means, only the addresses 0x2000... 0x2007 exist
のいみがわからない…
0x00CFで2000-2007を指示?

741:774ワット発電中さん
05/04/08 22:14:30 K0oXcB2y
>>740
>>739さんの言うようにConfigMemUsedLocs00_1F=0x01CFとすると0x2008が表示されるけど

742:482==731
05/04/08 22:17:13 PH232REH
日本語版落としたら日本語訳載ってた…
で、1CF(1 1100 1111)に書き換えてみたら2008まで表示された
けど全部0(2000から2008まですべて。)
というか読み込んでもコンフィグメモリタブに反映されないときのほうが多い?
なんかよくわかってないのにれんがきでスマソ


743:482==731
05/04/08 22:25:57 PH232REH
っはすごくリロードの間が悪いな>俺
もいっこの12F683でやってみても結果同じでした。
Readするとコードは読み出されるけど
コンフィグタブの表示はすべて0とか1になります。
ちゃんと2008まで読んでるっぽいし、違うデバイスを指定して読むと
デバイスIDからして12F683だよってメッセージ出してくるので読めてると思うのですが。謎。

744:723
05/04/09 01:05:20 jy8sfZnZ
12F683 新品で実験してみた。

[PIC12F683]
ConfigMemUsedLocs00_1F=0x01CF
追加のみ

書き込み済みPIC
11 1111 1111 1111

新品
11 0011 1011 1101

2回交互に試したけど変わらず。
やはり消えるようですね。

””書き込み時””のタスクバーメッセージに、
2008って出たように見えたからもしかしてって思ったらやっぱし。






FENG3 さん、スマメサイズ基板ありがとうございました。
無事動作しました。
(ICソケットの向きを間違えただけですみましたw)

745:723
05/04/09 01:07:25 jy8sfZnZ
ごめんなさい。

ライターは、FENG3 さん式

「スマートメディア」サイズのPICライタ

です。



746:723
05/04/09 01:16:09 jy8sfZnZ
ああ、そういえば。

スマメサイズ基板
コンデンサのとこの穴あけ一箇所だけ忘れてましたよ。
木工用キリでがんばって、小さく開けてみました(ほかの穴より2倍近くあったけどw)

文句のつもりではなく、ただの報告です。
って、ここに書くことじゃなかったですね。ごめんなさい。>ALL

747:774ワット発電中さん
05/04/09 01:17:52 jy8sfZnZ
MPLAB IDE v7.10
パッチ当て済み。

もうこれで最後のつもり、、、、

748:774ワット発電中さん
05/04/10 13:33:43 j/c2XkKb
FENG3さんの伝言板にRCDライタのdevices.ini修正や周知が出ました。
やっぱり
ConfigMemUsedLocs00_1F=0x01CF
ConfigMemUsedLocs20_3F=0x0000
の追加です。あと
Cfgmask2_used_bits=0x1FDF
の削除も必要だそうです。
詳しくは>>734のリンク先へどうぞ。

749:774ワット発電中さん
05/04/11 11:38:46 IKaHlt5Y
すみません
16F88なんですが、I2Cマスタとして使えるのでしょうか?

PIC16F87/88データシートを見てみると、
P.1には、スレーブだけと書かれていますが、
P.92にはファームウェアにコントロールされたマスタモードも
可能と書かれています

どっちが正しいのでしょうか?

750:774ワット発電中さん
05/04/11 16:03:42 leqjozDw
速度を問わないなら、当然I2Cはソフト制御で動かすこともできる。
I2Cの仕様書を良くみれ。


751:774ワット発電中さん
05/04/11 16:10:26 IKaHlt5Y
教えて君なわけですが、

GOTO $-1

という命令の意味が全くわからんです
だれかおしえてplz

752:774ワット発電中さん
05/04/11 16:24:54 leqjozDw
アセンブルして、出てきたバイナリを逆アセンブルして、
命令表と比較してみると良く分かる。


753:774ワット発電中さん
05/04/11 16:25:32 leqjozDw
あっ、手作業で逆アセンブルな。
あと、バイナリじゃなくても、アセンブラが吐いたリストファイルでもいいと思うけど


754:774ワット発電中さん
05/04/11 21:49:40 2QH8itgg
>>751
普通は無限ループになるが...
デバイスによっては、プログラムページのビットの状態で別ページへ
ジャンプすることもあるうる。

755:774ワット発電中さん
05/04/11 23:38:25 u2B2uoso
>>749
それは、マスターはプログラムでSCLとSDAをパタパタしろって意味。

756:774ワット発電中さん
05/04/12 01:44:15 eqsC1uuZ
>>755
僕もそれではまたことがあります。
マスターは、SDA,SCLを監視していないといかんから、
タイミングを確保できるかどうかが、成否の鍵を握りますね。


757:774ワット発電中さん
05/04/12 01:51:29 DRs9BZTD
>>755
ポートパタパタの
ソフトI2Cマスタは、シングルマスタでスレーブデバイスを2つぐらいぶら下げるだけなら、
・入出力の切り替えと、
・クロック、スタート・エンドコンディションのタイミング
・アック、ナックのルール
さえ注意すれば、動かすのは、それほど難しくない。
こったソフトにすればクロックストレッチしてくるようなスレーブにもソフトで対応可能。

I2Cはシステムの完成度を上げるためのいろんなノウハウ的な部分もあるけど
それはハード使っても同じだし、、

758:774ワット発電中さん
05/04/12 02:00:09 DRs9BZTD
>>756
タイミングの確保は確かに重要
ただし、シングルマスタであればマスタデバイスでのタイミングの要求は
”MIN 4.7usec以上待たなければならない”というものばかりなので、
オープンドレインで信号の立ち上がりに時間がかかることを考慮した上で
ちゃんとウェイトとれていれば、うまくいくかなと思います。

759:774ワット発電中さん
05/04/12 09:06:07 KHPa2uUC
うん、ちゃんとタイミングを確保してやれば割と簡単に動くよ。
ISAバスにポート作ってI2Cデバイスを動かすというのも
やったことあるけど、別に難しくはなかった。

760:774ワット発電中さん
05/04/14 00:35:54 PUcYQDd5
HI-TECH PIC C LiteでPWM制御のプログラミングをしているのですが
情報不足で苦戦してます。
デューティ値の設定をする関数(CCSのset_pwm1_dutyみたいなやつ)が
あると便利なんですけどHi-tech Cにはありませんよね?

761:774ワット発電中さん
05/04/14 02:39:47 lGILTrcV
PIC(コンパレータ)で
LEDを光センサとして使ってみる
URLリンク(elm-chan.org)

成功してる人います?
ソースコード見せてほしいです。
お願いします。



762:760
05/04/14 11:50:42 PUcYQDd5
とりあえずアセンブラ的なコーディングで対処しますた。

763:761
05/04/14 21:42:20 lGILTrcV
できました。

原因は、コンパをオンにするタイミング。
アナログ→コンパオン→入力
アナログ→入力→コンパオン



764:774ワット発電中さん
05/04/15 00:05:35 oc4EYUrU
>>763
どっちが正解だったの?
先にコンパれーたー?

765:774ワット発電中さん
05/04/15 01:01:38 NJAhmtFY
>>761 なんでIEじゃないと見られないんだ…szo


766:761
05/04/15 01:14:39 kU4S7kCL
>>764
アナログ→入力→コンパオンで動いた。
もしかしたら最後にコンパのリセットすればよかっただけかも。(未テスト)

あぷ版きめてくれたら、ソースほしけりゃ上げるよ。(PIC12F683)
すっごい初心者の毎命令前にBANKSELものだけどw

オンにする順番とか書いてあるホームページとか本とか知ってたら教えてほしい。

767:774ワット発電中さん
05/04/15 09:58:17 oLFuUrWc
秋月のICEキットAKI-877を使っていますが、Runをさせると
Error performing requested operation.と出て実行できません。
URLリンク(www.freeml.com)
の対策もしましたが変わりません。
どう対処すればよいか教えていただけないでしょうか。
設定などです。
MPLAB 5.62
Device PIC16F876
Oscillator XT
Watchdog Timer Off/Disable
Power Up Timer Off/Disable
Brown out Detect Off/Disable
Low Voltage Program Disable
Code Protect Data EE code protection Off
Flash Memory Write No Memory writen to by EECON
Code Protect Code Protection Off
Use Checksum as ID にチェック
Program Memory にチェック
Configuration Bits にチェック
ID Locations にチェック
EEPROM Data はチェックなし
Erase All before Program にチェック
Enable Debug Mode にチェック
MPLAB ICD Version 1.44.00
COM1 57600 Minimum(FSR...) 10MHz-20MHz F/W:Ver 2.04.00
ソースは
#fuses HS, NOWDT, PUT, NOPROTECT


768:774ワット発電中さん
05/04/17 00:45:40 64HVBJlR
>>787

877モジュールとの時は、ターゲットのRB3につながってる線を切ったら動いたような記憶が。
やはり散々動かなくて、これ、動作には関係ないのになーと思って。

ふらっとケーブルの浮遊容量疑ったり、かなり悩みますた。

769:774ワット発電中さん
05/04/17 01:10:53 64HVBJlR
ICDもどきと通信できてるんだろうか。

組み立て問題なければ、ICDもどきの877を別のPICライタで焼いた877に替えてみるとか。
ICDのhexファイルはMPLABのDirにあります。

770:693
05/04/17 16:59:25 ImhGRljA
>>693のPIC DAC男です。
同じことの逆版をしてみました。
iPodの音量をマックスにしてイヤホン出力のLかR(失念)をアナログ入力に、
イヤホンのGNDは抵抗で分圧してVdd/2に接続。LPFとかは通してません。
PICで125usecごとにADCしてシリアル通信でPCに送信。
それにヘッダをつけて8kHz 8bitなwaveファイルにしてみました。
URLリンク(radio.s56.xrea.com)
でだしとか相当ノイジーですが、一応こんな感じになりますた。
最後の音量が上がってるのはPICの電源を切る→コンデンサの電圧が低下
相対的にiPod出力がおっきくなるってオチです。
メモリーさえつんでやれば、PICでボイスレコーダーもいけそうな感じ。


771:774ワット発電中さん
05/04/17 21:02:45 /2YYovtH
バックのビー音の原因は何でしょう。
なんか耳馴染みのあるノイズだけど。

772:774ワット発電中さん
05/04/17 23:23:49 ZRYeHASy
>>771
8KHZのサンプリングノイズでないの?

773:774ワット発電中さん
05/04/17 23:32:37 6eJZs4at
もっと低い音だろ

ハムっぽいけどPCとのラインの回り込みとか


774:16F877A
05/04/18 00:04:37 z2CkqLvI
>>770
125usecサンプリング=8kHz で8Kのサンプリングならば
せめて8Kで-6dbのアンチエリアジングフィルタいるんでないか??

ノイズはアンチエリアジングによる、量子化ノイズだな。

775:774ワット発電中さん
05/04/18 00:07:16 OERHJmcv
>>774
に1票
ただし、ノイズは"エリアシング"による量子化ノイズ

揚げ足すまそ

776:774ワット発電中さん
05/04/18 00:19:31 7RfxAZ9N
>秋月のICEキットAKI-877を使っていますが

秋月だから動かなくて当然。あそこのはろくなものないよ。
ご本家のICEも使ってる香具師がいないのは、
おそらく出来が悪くて使えんのだろな。


777:774ワット発電中さん
05/04/18 00:25:58 OERHJmcv
>>770
あと、
・GNDを1/2VDDにつなぐ
のではなく、
・オーディオの信号ラインをカップリングコンデンサでバイアスかける
方が良いのではないかと思います。

778:774ワット発電中さん
05/04/18 01:02:23 wuflZilX
>>776
基盤のパターンをカットして●○に繋いでください・・・なんてかなりの頻度で書いてますしね。(汗

779:767
05/04/18 16:16:10 T0A4EA+P
>>768
これでもないようです。
>>769
ICD10200.hex, SRAM16.HEX, 29F16016.HEX
とありますが、どれなのかが自信ありません。
どれでもない気もするし。

書き込みがうまく行っている基板があるらしいので、
それを見せてもらって比較するつもりです。

780:693
05/04/18 21:38:54 X0K8lFnQ
みなさんレスありがとうございます。

とりあえずLPFかなと思いつつも自分でも微妙に気持ち悪かった
iPodの出力にバイアスかける方法ですが、キリ番な>>777さんのアドバイスに従って
iPodのGNDはPICのGND(=232CのGND)にして、出力->330uFのケミコン->抵抗で分圧したVdd/2->PIC
にしてみました。
URLリンク(radio.s56.xrea.com)
です。自分でmp3化したもの聞いてみてwaveとの違いに愕然としたので
waveままです。

781:774ワット発電中さん
05/04/19 01:00:34 OjiULCUp
>>780
多少改善したのかな?
# 昨日のMP3が聞けないので聞き比べられんな。

DC(MUTE)でもノイズ乗るのかなぁ。
・DCでノイズ乗るようなら電源系のノイズが支配的、
・DCでおとなしいならエリアシングノイズが支配的
の様な気がする。
# まぁ、オーディオのノイズの原因なんて挙げていったら
# キリ無いとは思いますが、、、

782:774ワット発電中さん
05/04/19 08:47:42 EPd0mXyw
>>780
原音を8khzで聞いてみると思うけど、まあこんなもんだよ。


783:774ワット発電中さん
05/04/19 19:54:14 f1U1B1YP
いい感じですねぇ。

ところで、 
> 抵抗で分圧したVdd/2
これってどのくらいがいいんでしょうか。

784:693
05/04/19 23:57:37 fMUfJvha
レスどうもです。
ちょっとだけ追加してみました。
URLリンク(radio.s56.xrea.com)
です。頭の部分で無音+カンカンっていってるのもソースどおりです。
無音部分でもノイズの感じられないしいい感じです。
変更点はLPF(200Ω+0.1uF)と電源(7805→NiCdx3セル)です。
十二分に満足するできになりました。

>>783さん
Vdd/2って値でしょうか?それとも分圧に使った抵抗でしょうか?
抵抗は24kを使ってます。一番最初にペアで発掘できたので…

785:774ワット発電中さん
05/04/20 00:55:18 MxZXg1wu
>>784
・LPF(200Ω+0.1uF)
カットオフ約8kHzですね、、、
サンプリング8kHzなので4kHzでカットする方が
効果出るかなぁ、、、
高音削るんで諸刃の剣だけど、、、

786:16F877A
05/04/20 09:07:41 tsINLclT
>>高音削るんで諸刃の剣だけど、、、
そうなんです、8Kで「スイッチドキャパシタフィルター」でズバっとー60db
くらい切りたい所ですね。


787:774ワット発電中さん
05/04/20 11:58:52 2UPvodYu
8KHzサンプリングなら4KHzまででしょう?

788:774ワット発電中さん
05/04/20 12:02:13 mYynoiB6
PORT_Bのブルアップを使うとプログラムが動かなくなります。

再現するため、プログラムを以下のように単純化しました。
「PORT_Bのブルアップ抵抗を接続」の行をコメントにすると
正常に動きますが、はずすと動作には関係ないと思われるのに、
プログラムが動きません。
回路図はURLリンク(radio.s56.xrea.com)です。
(抵抗150Ω、セラロック20MHz)
どこか勘違いしているようでしたら、教えてください。

なお、CCSのコンパイラを使っています。
------------------------------------------------------------
#include <16F876.h>
#fuses HS, NOWDT, PUT, NOPROTECT
#use delay(CLOCK = 20000000)

void main()
{
set_tris_a(0); //PORT_Aの各ピンは出力モード
// port_b_pullups(TRUE);//PORT_Bのブルアップ抵抗を接続

while(1)
{
output_a(0xFF);//PORT_Aの各ピンはHIGH
delay_ms(500);//500ms待つ
output_a(0);//PORT_Aの各ピンはLOW
delay_ms(500);//500ms待つ
}
}


789:774ワット発電中さん
05/04/20 12:21:41 NBp2WVfp
>>788
どうでもいいが、MCLRをVccに直結しているのが気持ち悪い。10kくらいでプルアップ。
LEDの抵抗が150Ωって、そんな輝度悪なLED使ってるの?普通470Ωくらい?
電流流れすぎてるんじゃないの?


790:774ワット発電中さん
05/04/20 12:38:25 HpXuxjlA
8ピンのVSSが+5Vに繋がってるのは本当なのか?

791:774ワット発電中さん
05/04/20 12:42:56 dtrMBKO7
>>788
8PINはちゃんとGNDにつながっているものとして・・・
Analog入力を持つPICはデフォでAnalogモードとなっているのは常識。
PortAをDigitalで使用するならADCON1をDIGITALに設定しましょう。
ccs-cを使用しているなら
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
くらいは必要。
(対象のCPUによって多少異なる)

792:788
05/04/20 13:40:40 mYynoiB6
うわ、描き間違えていました。
10kΩをつけて修正したのが、
URLリンク(radio.s56.xrea.com)
です。
プログラムも変えましたが、症状変わらずです。うーん。

#include <16F876.h>
#fuses HS, NOWDT, PUT, NOPROTECT
#use delay(CLOCK = 20000000)

void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
set_tris_a(0); //PORT_Aの各ピンは出力モード
port_b_pullups(TRUE);//PORT_Bのブルアップ抵抗を接続

while(1)
{
output_a(0xFF);//PORT_Aの各ピンはHIGH
delay_ms(500);//500ms待つ
output_a(0);//PORT_Aの各ピンはLOW
delay_ms(500);//500ms待つ
}
}


793:774ワット発電中さん
05/04/20 14:15:01 ADrhQJDD
>>792
コメントアウトした時としてない時の、アセンブラ出力の違いは見れる?

794:774ワット発電中さん
05/04/20 14:21:43 ADrhQJDD
それと、割り込み関連もデフォルトでなく、明示的に禁止にしておいたほうがいいかも。

795:774ワット発電中さん
05/04/20 14:28:03 ADrhQJDD
ついでにもう一つ、このチップは低電圧プログラミング機能があるみたいなので
禁止しておかないと、プログラミングモードに入ってしまうらしい。

796:16F877A
05/04/20 14:30:08 tsINLclT
>>792
アセンブラなら
BSF OPTION_REG,7
アドレス81H なのだが、Cなら自動的にバンク切り替えしてくれるんだよな?

797:774ワット発電中さん
05/04/20 15:26:26 dtrMBKO7
>792
#fuse に NOLVP を追加すべし

798:774ワット発電中さん
05/04/20 15:27:38 DyI4LOL9
LED外したら動くとか?


799:774ワット発電中さん
05/04/20 16:26:35 PCDrHvG9
LEDに電流流しすぎ、抵抗減らせ。話はそれからだ。


800:774ワット発電中さん
05/04/20 17:01:20 IBfDTzjd
LEDに電流流しすぎ、抵抗値増やして各LED電流を8mA以下にしろ。話はそれからだ。

801:774ワット発電中さん
05/04/20 17:42:37 DbJuq6zN
パスコンがない


802:788
05/04/20 17:53:43 mYynoiB6
>>795, 797
それでした。

後閑さんC本のPIC16F84Aのプログラムを丸写しして、
単にヘッダファイルを16F876.hに変えたのが原因でした。
確認したら16F87xでは#fusesのパラメータを増やす必要があるのが、
「C言語によるPICプログラミング入門」p109に書いてありましたね。

みなさんレスありがとうございました。


803:774ワット発電中さん
05/04/20 21:00:12 Kt044SjH
>>802
それとプルアップ抵抗がどういう関係にあるのか、わかんない


804:774ワット発電中さん
05/04/20 21:35:04 dtrMBKO7
>>803
LVPモードになっている場合ポートBをプルアップするとプログラミングモードとなってしまう。

805:804
05/04/20 21:36:23 dtrMBKO7
説明不足でした
>ポートBをプルアップすると
正確にはRB3をプルアップするとです。

806:774ワット発電中さん
05/04/20 22:53:49 C7LDh4UG
16F877のようにVSSやVDDが各々2つある場合、
電源と接地を2つとも接続しなければならないのですか?
それとも片方だけでいいのでしょうか?

807:774ワット発電中さん
05/04/20 23:22:16 u2bDXi93
無用なトラブルを避けるためにも、全部つないどけ。

808:774ワット発電中さん
05/04/20 23:42:47 J/oN4ENU
>>786さん
すれ違いにはなりますが、
スイッチドキャパシタフィルター
というのを始めて知ったのでぐぐったところ、
コンデンサをスイッチングすることで等価的に抵抗として使えるとありました。
が、これだけだと シミュレーテッドレジスタ という感じでいまいちフィルタに思えないのですが、
なぜ、これがフィルターと呼ばれるんでしょうか?


809:785です。
05/04/21 00:28:27 wE+4I9gh
>>787
そのとおり、4KHzまでです。
ただし、、、
CRの一次LPFだと4KHz以上の部分を落とそうとすると
カットのスロープが緩やかなのでサンプリングできる周波数も
削ることになるかなと思って、、
# CRでカットオフ4KHzにすると4KHzで-3dB
# 高次のフィルタ入れるとか言う話になると方向性またかわってくるしね

ここは、オーバーサンプリング(といっても40kHzぐらいにしかできないが)で
ソフトフィルタで4kHzに落とししてみる?とか言う方がマイコンのお遊びとしては
いい感じかな。
# そんな重いタスク走らせたら通信できなくなるかな?



810:16F877A
05/04/21 09:32:16 jtc91dT4
>>808
製品化されているのだな SCF
URLリンク(pdfserv.maxim-ic.com)
URLリンク(pdfserv.maxim-ic.com)
4KHzで0dbでも8KHzでー60dbまで落ちてるんだな


811:16F877A
05/04/21 10:35:38 jtc91dT4
>>808
AD,DAをバケツリレーしてるようなもんだな

URLリンク(japan.maxim-ic.com)

812:774ワット発電中さん
05/04/21 11:00:06 ySzRt6Hy
>786ではないが・・
>なぜ、これがフィルターと呼ばれるんでしょうか?

簡単に言えば、オペアンプによるフィルタはオペアンプとCとRだけで構成できる。
このRに相当する部分をスイッチトキャパシタで置き換える。コンデンサの
ところはスイッチングしないキャパシタにすると考えたらわかりやすいかな?
(実際のスイッチトキャパシタフィルタはもうちょい凝ってるけど)

以前は携帯電話なんかでも結構使われていたと思ったけど。


813:774ワット発電中さん
05/04/21 12:11:16 14HlrUjt
PSoCだとプログラマブルなSCFだよ。
初期化以降でも、レジスタたたけば特性も変えられるし。

814:774ワット発電中さん
05/04/21 12:36:30 dinkNOh4
ポートBのプルアップって抵抗なのか?
MOSジャマイカ?


815:774ワット発電中さん
05/04/21 13:01:04 caVsHudI
活用ガイドブックには
MOSトランジスタが内蔵されていて
これがプルアップ抵抗として働く
と書いてあるよ。

816:16F877A
05/04/21 13:25:53 jtc91dT4
>>814
FETによる定電流回路じゃないかな?
ばらつきは あるが0.5MAくらい流れてた。


817:774ワット発電中さん
05/04/21 14:47:54 mh5m+UFZ
500kAって半端じゃないな。

818:774ワット発電中さん
05/04/21 19:09:29 93pVmXRd
ネタで落ちたところで豚切りスマソ。

16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、
文字化けしてヘンテコリンな文字列が出てきます。
4ビットモードです。
文字コード表で追うと、どうやら 0x** と送ったつもりの
下位4ビットが B'1111' に化けて 0x*F となっているようです。

困ったことに(?!)まともに表示するときもあります。
ということは、初期化の手順やデータを送る手順に間違いはないと思われます。

ハンダ付け不良を真っ先に疑いましたが、どうも違うようです。
化けるときは送る2行の文字列の全てが化けます。
で、Home clr を送ってから同じ文字列を送るとまともに表示したりします。
まともに表示するときは、2行の文字列全てがまともに表示されます。

電源を入り切りしてリセットしたときは必ず化けます。
2行目の先頭を示すインストラクションも化けているのでしょか、カーソルがどこかに
飛んでゆきます。
2~3秒のディレイを挟んでから完全に安定した頃を見計らって初期化→文字列送信
をしてもだめです。
MCLRをGNDに落としてリセットすると、50%ぐらいの確立でまともに表示します。
電源を入り切りしても、Home clr 後の2回目の送信だとまともに表示します。
Home clr のインストラクションは化けないということになります。


なしてだべさ?


819:774ワット発電中さん
05/04/21 19:10:55 93pVmXRd
もうちょっと追加情報。
RB DB


820:774ワット発電中さん
05/04/21 19:19:29 93pVmXRd
うげ!
途中送信スマソ。

RB7 DB7
RB6 DB6
RB5 DB5
RB4 DB4
RB3 E(STB)
RB2 RW
RB1 RS
RB0 他用途のLED

ビジィフラグをチェックした後のTRISBの戻し忘れはチェック済み。
LCDは後閑さんの丸写しプログラムで動かした実績ありの完動品。
RB7-4をPOATB、RS・RW・EをPORTAとした別の基板につなぐとまともに動く。
上位4ビットは常に正しく送られている(様にみえるほど安定した文字化け)。

あとなんか問い詰めたいことあります?

821:熱暴走 ◆2SA784NN.A
05/04/21 19:51:18 aG2wTm1v
>>820
>ビジィフラグをチェックした後のTRISBの戻し忘れはチェック済み。
ソースないのに、そんな事いわれてもw

>下位4ビットが B'1111' に化けて 0x*F となっているようです。
4ビットモードになってないのではないかと...



つ[チラシの裏]
I2C -> LCD(uPD7228,HD44780) 変換IF(16F88)を製作中だったりする
いつ完成するやら...

だいぶ昔に若松で買ったLM-16151(16桁1行LCDユニット ¥250)
を引っ張り出してみたら、液晶の右端側が黒く滲んでいた... orz

822:熱暴走 ◆2SA784NN.A
05/04/21 19:56:55 aG2wTm1v
あ。 若松の名誉の為に言っておくと、購入当初はなんともなかったです。

1x年寝かせておいた、自分が悪いんですが。

823:774ワット発電中さん
05/04/21 20:06:54 u3yndU80
>4ビットモードになってないのではないかと...

電源on

ポート初期化

2~3秒待ち

8ビット→4ビット

まずは文字列送る1回目(化ける)

Home clr(受け付けられる)

同じ文字列送る2回目(化けない)

1回目と2回目の間に、小人さんが4ビットモードにしてくれてる・・・・
訳ないですよね?
この挙動が最大の疑問だったりするんですが・・・。

[チラシの裏の隅っこ]
F88のI2C、とっとと作って漏れにください。
マスターのデバイス依存の要素が減るし、ハードが勝手に通信してくれるし
いいことづくめなんでうれしいでつ。
出来たらCCPで液晶の明るさとバックライトの制御も出来るコマンドをサポートしてください。w

824:774ワット発電中さん
05/04/21 20:17:03 emGtUI5H
>>820
ビジーフラグを使わず、R/WをWにしちゃって、ウェイトだけで処理したほうがいいんじゃない?
多分、PICの「書き戻しの罠」にひっかかってる。



825:774ワット発電中さん
05/04/21 20:38:54 ySzRt6Hy
Busyフラグを読むのが早すぎるとか


826:774ワット発電中さん
05/04/21 20:42:24 SEY07E7o
>>808
>コンデンサをスイッチングすることで等価的に抵抗として使えるとありました。

できればそのソース希望。
んなことはないので。
コンデンサをスイッチングすることで変わるのは、Cの見かけの容量。
抵抗値を変えたいなら、抵抗をスイッチングしないと。

827:774ワット発電中さん
05/04/21 20:50:50 d5bLx91j
4bitモード、ハンドシエークなしで随分と使ってきているけど、
そんなことは一度も経験が無い。ちゃんとセット出来ていれば
2~3秒も待たなくたってすぐ表示される。MPLABでステップ実行しながら
デバッグすればある程度は分かることだな。

828:693
05/04/21 21:29:03 H+5ZYF/F
みなさんレスありがとうございました。
わかったようなわからんような…
>>826さん
URLリンク(www.swarthmore.edu)
をみてRと同様にみなせる(V/Aで表される)&ただの抵抗と同じでフィルタ?
って思いました。さらっと見ただけなんで読み違いも多々あるかもしれません…


829:774ワット発電中さん
05/04/21 21:57:34 ySzRt6Hy
スイッチトキャパシタを利用してフィルタを作ったのがスイッチトキャパシタフィルタ。
参考
URLリンク(www.filter-solutions.com)

ついでに、スイッチトキャパシタそのものの説明なら、上に出てきたPSoC向けのアプリケーションノートAN2041がいいかも
URLリンク(www.cypress.com)



830:826
05/04/21 22:05:45 SEY07E7o
>>828
了解。いわゆるフライング・キャパシタ的な用途であったか。
それなら、確かに抵抗とみなせる。フィルタとしての動作だと思てた。

831:818
05/04/21 23:42:51 x41ezyqp
>824
「書き戻しの罠」の件ですが、bcf とか bsf の話ですよね?
nop を入れてもダメです。
後閑さんの丸写しでやると nop なしでも動きます。

>825
ビジーフラグは倒れるまでループで読み続けています。

>827
MPLAB上では上位も下位もちゃんと送れてるんですよ。
SWAP 命令とか、ANDとORの勘違いとか、マスクの勘違いかなぁって
ハンダの次に疑ったんですけど、シミュレーター上では「シロ」ですた。 

追加情報

RB6-7 は ICSP と LCD の兼用です。
ICSP コネクタ側は直結で、LCD 側は 10k を挟んでから LCD へ行ってます。
セラロックは 20MHzです。
DB0-4 はオープンです。

って、こんなの関係ないですよね?

832:774ワット発電中さん
05/04/22 00:14:52 3t7yYptj
>>818
Eパルスの幅をのばしてみ
5年以上前の古いLCDと最近のLCDでタイミングが違ってたりする

833:774ワット発電中さん
05/04/22 00:21:14 wc5bzQMT
>>831
4bitモードになっていないに一票。

834:774ワット発電中さん
05/04/22 03:57:41 CGw7DkHu
なんで10Kを挟むの?
LCDにも直結じゃまずいの? LCDのBUSY出力がつながっているとか?。
10Kは値が大きいような器がするのは私だけ?


835:774ワット発電中さん
05/04/22 08:51:36 IG0QP8ph
>>831
「書き戻しの罠」ってあれだろ?BSFで、例えば3ビット目をクリアしようとすると2ビット目とかが、勝手に
書き換わってしまう事があるっていうアレ。
BSFとか使わずに、ちゃんと全ビットをMOVFで書かなきゃダメっていうアレ。

URLリンク(www.picfun.com) の
 【注意】BSF、BCFでポートの出力をする場合

っていうやつ。


836:774ワット発電中さん
05/04/22 09:14:55 qSv+VBY3
8ビットモードのLCDに4ビットのデータを送ったら、下位は必ず'1111'になる悪寒。
DB0~DB3はLCD内部でプルアップされてるから。
ただし、一文字送ったつもりが、上位+'1111'と下位+'1111'の二文字に化けそう。
あるいは、ビジィのタイミングしだいでは2文字目は無視されるかも。
それとも4ビットに構成されたときだけプルアップされるんでしたっけ?

837:774ワット発電中さん
05/04/22 09:21:36 m+PO/sfn
かんけーねぇと思うけど、コンフィグ晒してみて。
__CONFIG _HS_OSC &
ってやつ

838:774ワット発電中さん
05/04/22 10:45:23 jFyxVBAd
ポートから10kΩを直列に入れてLCD入れていたら、それはダメだな。
ためしに、RB7、RB6を強制LOWにしているとき、LCDのDB6,DB7をテスターで見れば
分かると思うが。
原因はそれしか考えられんね。
なぜか、それは、LCD側で20k~50k位でプルアップされているから。
そうすると何が起きるかというと、LOWに落ちきらないよなー。
ICSPと兼用するなら、バッファ入れるか、ジャンパー出来るようにするべきだろうな。


839:774ワット発電中さん
05/04/22 13:24:55 P7JQjhc2
LCD側の入力ピンでないとICSPは出来ないと思う
LCD側の入力ピンなら バッファなしで直接でいい

840:818
05/04/22 13:31:46 2Fxdq5d/
>832
当初、230nS以上のところ、1命令サイクルの200nSしかなかったので
これだ!(・∀・)と思って直してみましたがダメでした。
また、4MHzで動かしてもダメでした。
でも、物は試しで極端に伸ばしたりしてみます。

>833
ですかねー?
それが何故なのかがもんだいでつ。
ソースは穴が開くほど見ても分からないし、シミュレータはまともに通るし、
何より、まともに動くときもあるって言うのが良く分からない。

>834
直結でもいいですかね?
書き込みの信号で揺さぶられるのは気持ち悪いんですが。

>835
私もそれだと思います。

>836
なるへそ。
4ビットモードになってないと確かにそうなりそうですね。
でも、2文字に化けるという現象はありません。
ビジィが解ける40μSは結構長い時間なのでそんなに微妙なタイミングではないかと
思うんですがどうでしょうね。

>837
今手元にないので今夜にでも。

>838
手元に記録がないので記憶ですが、実測してみて0.8V台まで落ちていました。
確か、計算上のプルアップの抵抗値は52Kだったと思います。


UYT、0:0T/。4Z

841:818
05/04/22 13:33:42 2Fxdq5d/
>839
>LCD側の入力ピンでないとICSPは出来ないと思う
すみません。意味が分かりません。
出来れば詳しくおながいします。

842:818
05/04/22 13:39:03 2Fxdq5d/
あ!
もしかして、

RB7 と RB6 は LCD の DB7 と DB6 に繋がっているのですが、
R/W が R のときは DB7 とDB6 は入力端子だから直結して 書き込み信号で LCD を揺さぶっても良いけど、
R/W が W のときは DB7 と DB6 が出力端子になるから、場合によっては出力が衝突するからダメだよ・・・・

という意味でしょうか?

843:818
05/04/22 13:40:47 2Fxdq5d/
>842
R と W が逆でした。

844:774ワット発電中さん
05/04/22 13:53:08 jFyxVBAd
ICSPを使わない、ICSPハーネスは外す。
10KΩ そんなのは全部0Ωスルーだ。まずはこれで動くかを試す。
そうしないと一向に解決しないものと思われ。


845:774ワット発電中さん
05/04/22 19:21:37 qUN9Chbh
>>842
その通り。ICSP中は、ICSPの信号は「誰にも邪魔されずに、
PICのピンまでたどり着きたい」と思っているのです。

846:774ワット発電中さん
05/04/22 20:23:26 rqytPe+Z
書き込み後のべりファイが桶ならICSPは正常に終了していると思われ。
その辺はどうなんでしょ。

847:774ワット発電中さん
05/04/22 23:48:37 AEeAGnQ4
質問、

ポートをH出力(LED点灯中)でもスリープに移行できますか?
また、スリープに移行してもLED消えたりしませんか?

848:774ワット発電中さん
05/04/22 23:49:28 AEeAGnQ4
できるよ

849:16F877A
05/04/23 03:17:26 U2jozAGx
>>847
しかしスリープに移行して、消費電力を落としても、LEDがつながっていては
スリープの意味が無いですよね??
AD変換中のスリープかな??


850:774ワット発電中さん
05/04/23 17:49:34 V5Hwem0S
PICは電池を電源にして4.5V~6.0V、
複数あるLEDには別電源の6v+電流制限抵抗をいれて、
シンクで点燈したいと思います。
RA4ではなく、他のポートでです。
問題ありますかね?

電池の消耗を防ぐために、
別電源を入れたときだけ点燈するようにしたいのです。
別電源がないとき、LEDのアノードコモン側はオープンになります

851:774ワット発電中さん
05/04/23 19:32:17 xd9L7syo
何に使うのか分からないけどメインは電池駆動なんでしょ?

一案
実験あるのみ

二案
PICって6Vぐらいまで動くでしょ?ACアダプタのコネクタを刺すと、電池を切断してAC6Vで全部動くようにするとか。

三案
別電源用意しなくても、
必要な時だけソフト&外部スイッチでLEDのオンオフ出来るようにしたらいいじゃない。
ピンが足らないのかな?



852:774ワット発電中さん
05/04/23 19:35:57 Y28oAKA+
+6V=>抵抗=>LED=>PICポート=>保護/寄生ダイオード=>電源端子(+4.5V?)

てなわけでPICが・・・

853:774ワット発電中さん
05/04/23 19:48:18 j+eREi34
LEDのVfがあるから壊れるところまでは行かないでしょ。
保護/寄生ダイオードのVfと電源電圧の差とLEDのVfが拮抗するだけの電流が流れる訳だが、たぶん保護/寄生ダイオードがあぼーんするほどではないと思う。
でも定常的に電力を消費するのでかなり気持ち悪いな。

854:774ワット発電中さん
05/04/24 00:21:16 vk3E1bQu
トランジスタを挟んだ方が良いような気も・・・

855:774ワット発電中さん
05/04/24 00:58:58 mvPWe29p
久々に戦国いったら、PIC関連がやたら増えてた。
ICD2互換製品なんてのもあったよ

856:850
05/04/24 05:46:44 dV7gmCN0
皆様トンクス

>854
ですね。

857:774ワット発電中さん
05/04/24 12:44:50 9nxshLiM
>>818

は、あれだけ質問しておいて逃走ですか・・・そうですか・・・・



858:774ワット発電中さん
05/04/24 12:51:23 7k8Xrtnz
>>857
2chですから………。

859:774ワット発電中さん
05/04/24 13:02:53 fV59lsxP
PICにはオープンコレクタモードがないんだ…

860:774ワット発電中さん
05/04/24 13:18:22 QOmSPNj3
モードがあっても、構造自体はただのトライステートバッファだったりするけどな


861:774ワット発電中さん
05/04/24 14:22:40 7k8Xrtnz
つ[トランジスタ]

862:774ワット発電中さん
05/04/24 21:38:56 HHfeIOHz
外付けトランジスタじゃ疑似双方向にできないのでは?

863:774ワット発電中さん
05/04/25 00:43:06 SirInfpN
>>849
割り込み待機でループさせるか、スリープさせるかでちょっと悩んだ

864:774ワット発電中さん
05/04/25 10:19:29 pSCwy9Ia
LEDを点滅させいてるのですが、delay_msに変数を使って指定してやると、
delay_ms(2000)と指定してもdelay(300)ぐらいになってしまいます。
どこが違うか教えていただけないでしょうか。
CCS-Cのソースです。

#include <16F876.h>
#fuses HS, NOWDT, PUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(CLOCK = 20000000)
void main()
{
long pulseWidth = 100;//パルス幅
setup_adc_ports(NO_ANALOGS);//ADは使わないよ
setup_adc(ADC_OFF);//ADは使わないよ
set_tris_a(0); //PORT_Aの各ピンは出力モード
set_tris_b(0xFF); //PORT_Bの各ピンは入力モード
port_b_pullups(TRUE);//PORT_Bのブルアップ抵抗を接続
while(1)
{
output_a(0xFF);//PORT_Aの各ピンはHIGH
delay_ms(pulseWidth);
output_a(0);//PORT_Aの各ピンはLOW
delay_ms(pulseWidth);
//ポートB7をLowにすることでパルス幅を変更
if (input(PIN_B7) == 0)
{
pulseWidth = 2000;
}
else
{
pulseWidth = 100;
}
}
}


865:864
05/04/25 10:26:17 pSCwy9Ia
delay_ms(time);
timeは8ビット変数か、16ビット定数でした。orz


866:774ワット発電中さん
05/04/25 19:55:11 9C9BClXO
あげとく

867:& ◆074eXsmY.k
05/04/25 21:53:38 tLAiVviK
アセンブラ言語がよくわかりません。
誰か教えてくださる人はいませんか?

868:774ワット発電中さん
05/04/25 22:27:36 SYf+fYUR
日本語がよくわかりません。
誰か教えてくださる人はいませんか?

869:774ワット発電中さん
05/04/25 22:43:22 dOHees0X
アセンブラとかコンパイラって名前がキャラについてる漫画のタイトルが思い出せません
誰か教えてくださる人はいませんか?


870:818
05/04/25 22:56:01 JFqbb/Hk
ご無沙汰スマソです。

>837
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _LVP_OFF

ICSP 絡みの 10k を直結にしてもだめ。
E の時間を延ばしてもだめ。
秋月のライタですが、書込みのベェリファイはok。
接続に長さ10cmほどの自作ハーネスを使っているのですが、
5cm ぐらいの短いヤシに丁寧に作り直してもダメ。
リセット回路をプルアップからコンデンサ+抵抗に作り直してもだめ。
電源の立ち上がりを早くする為に、電源側にコンデンサを追加して PIC のボード側の容量を減らしたりしてもダメ。

いろいろいじってひとつ分った事は、
たぶん、文字のデータはキチンと送られている。
スイッチを押すごとに1文字づつ送るように回路とソースを作り直して一文字一文字出力をテスタで見てみたのです。
そしたら、文字のコードは正しく送られているにも関わらず、LCD がちゃんと解釈していない。

よって結論:4ビットモードにする初期化が上手くいっていない。
それでも、たまには上手く行くときもある。


なしてだべさ?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch