857 :
774ワット発電中さん:2005/04/24(日) 12:44:50 ID:9nxshLiM
>>818 は、あれだけ質問しておいて逃走ですか・・・そうですか・・・・
PICにはオープンコレクタモードがないんだ…
モードがあっても、構造自体はただのトライステートバッファだったりするけどな
つ[トランジスタ]
862 :
774ワット発電中さん:2005/04/24(日) 21:38:56 ID:HHfeIOHz
外付けトランジスタじゃ疑似双方向にできないのでは?
>>849 割り込み待機でループさせるか、スリープさせるかでちょっと悩んだ
864 :
774ワット発電中さん:2005/04/25(月) 10:19:29 ID: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:2005/04/25(月) 10:26:17 ID:pSCwy9Ia
delay_ms(time);
timeは8ビット変数か、16ビット定数でした。orz
866 :
774ワット発電中さん:2005/04/25(月) 19:55:11 ID:9C9BClXO
あげとく
867 :
& ◆074eXsmY.k :2005/04/25(月) 21:53:38 ID:tLAiVviK
アセンブラ言語がよくわかりません。
誰か教えてくださる人はいませんか?
日本語がよくわかりません。
誰か教えてくださる人はいませんか?
アセンブラとかコンパイラって名前がキャラについてる漫画のタイトルが思い出せません
誰か教えてくださる人はいませんか?
870 :
818:2005/04/25(月) 22:56:01 ID:JFqbb/Hk
ご無沙汰スマソです。
>837
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _LVP_OFF
ICSP 絡みの 10k を直結にしてもだめ。
E の時間を延ばしてもだめ。
秋月のライタですが、書込みのベェリファイはok。
接続に長さ10cmほどの自作ハーネスを使っているのですが、
5cm ぐらいの短いヤシに丁寧に作り直してもダメ。
リセット回路をプルアップからコンデンサ+抵抗に作り直してもだめ。
電源の立ち上がりを早くする為に、電源側にコンデンサを追加して PIC のボード側の容量を減らしたりしてもダメ。
いろいろいじってひとつ分った事は、
たぶん、文字のデータはキチンと送られている。
スイッチを押すごとに1文字づつ送るように回路とソースを作り直して一文字一文字出力をテスタで見てみたのです。
そしたら、文字のコードは正しく送られているにも関わらず、LCD がちゃんと解釈していない。
よって結論:4ビットモードにする初期化が上手くいっていない。
それでも、たまには上手く行くときもある。
なしてだべさ?
>>867 ええと、参考までにPICのアセンブラを学ぶために購入した書籍の名前を挙げていただけませんか?
>>870 16F373のデータシートへのリンク知ってたら教えて
ごめん。ちょっと突っ込んでみただけ。
> 16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、
昔、某大学のプログラミング演習で、テキストのRB3/PGMの設定が抜けてて動作が
とても不安定だったことがあったので
>>870見てみたけど、大丈夫みたいですね・・・。
>>869 アフタヌーンに連載してたやつなら、そのまんまだな。
>>870 BSCHかなんかで回路図書いて、適当なアップローダに、ソースファイルを付けて圧縮してUPしてくれ。
そこまで泥沼だと、断片情報聞いても、さっぱり役に立たない。
液晶を4ビットモードで初期化するのに、冒頭部分ではビジーフラグが
使えなかったように思うけどそのあたりは大丈夫なのでしょうか?
>>870 4bitモードで使われないD0-D3は内部プルアップらしいので、
8bitモードのまま4bit送信すると、下位4bit=1111になった文字が2個ずつ出るという
可能性はあるな。下位4bitについては現象に一致するが、1文字送っても
2個ずつ出てくる現象はおこってるかい?
もしくは、下位4bitを送るときRSを1にしていないとか。
いや、これは関係ないかな・・・?
>>870 というわけで、回路図とプログラム晒せ。
883 :
追加:2005/04/26(火) 13:37:42 ID:KOnC2Det
>>881 文字データ送信も40usecの待機を要するようなので、
もしかしたら上位だけ(8bit送信として)受け取られ、下位送信の方はタイミングが短すぎて
無視されている可能性はあるな。
piccliteって最適化能力あるんでしょうか?
CでOOPとかするとポインタ渡し周りのコストすら馬鹿にならなさそうで怖いんですが。
piccliteはfreeだし,アセンブリソースリストも出力される
16F877なら 4kwステップもできる
というわけで ↑ 自分で判断しる
picの Cとしては,ちゃんと使えて至極まともなほうだと思う
886 :
774ワット発電中さん:2005/04/26(火) 20:32:26 ID:PnVd1iBb
>>818 1キャラ毎でなく、ポートを出力するたびに大きなウェイトを入れてみたらどう?
それで動けば、何らかのタイミングが影響している。
動かなければそもそもシーケンスがおかしい、と切り分けられると思うけど。
>>884 PICCLITEはかしこいよ。おすすめ。
大騒がせスマソ。>みなさま
andlw と ioriw の訂正漏れでした。
PORTB だけで LCD を動かすために RB0-RB3 をマスクしたりするのですが、
その際、andlw とすべきところ ioriw となっていました。
開発初期の段階で気付いて直していたのですが、データを書くルーチンは直しておきながら、
インストラクションを書くルーチンを直していませんでした。
PORTBレジスタは電源投入やリセットでクリアされませんから、
先にPORTBレジスタに残っていたデータ次第では上手く初期化されるけど、
大抵は上手く行かないという動きだったようです。
20MHzだろうが、最低限のタイミングだろうが、10kΩが挟まっていようが、
ICSPケーブルを繋ぎっ放しだろうが、チャタリングをわざと起こすように電源スイッチを投入しようが、
あんな事をしようがこんな事をしようが、あらゆる乱暴なことをしても・・・・
L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
まるで何事もなかったように・・・。
ただし、データシート的には10kは大きすぎるので2.2kにしました。
結局チラシの裏になってしまい、付き合っていただいた方には申し訳ないです。マジスマソ
恥ずかしいので今から穴を掘って入ってきます。w
ワラタ
動いてよかったっすね。
889 :
774ワット発電中さん:2005/04/26(火) 21:56:22 ID:Rbv8mlTW
やっと気が付いたか
また一回り大きくなったな
上司
わんぱくでもいい,、たくましく育ってほしい。
891 :
774ワット発電中さん:2005/04/26(火) 22:21:29 ID:llIgh4Do
このようにちゃんと結果報告があるとうれしいものです。
がんばってくだされ。
>887
お疲れさまでした、また経験値アップしましたね、ガンガレ!!
>>887 おめでと。報告乙。
>L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
大変気持ちがわかるレポートでワラタ。
>LCD野郎
そういえばLCDの性別ってどっちなんだろ
>>887 ちゃんと回路図とソースを晒しておけば、4.87秒でレスがついただろうに。
それにしても、10kΩは大きすぎ。入れるなら、せめて1kΩ程度でしょう。
>>894 俺の持ってるのはコネクタはオスだな。よってLCDとマイコンボードは男性。
仲を取り持つケーブルは女性ね。
ということはPICボードとLCDは○×兄(以下自粛・・・)
仏語のサイトでは"le LCD"と書かれていたりしているので、男性名詞なんでしょうね。
あの寸胴体型、でかいツラはどうみても男だろう。
899 :
818:2005/04/27(水) 19:34:59 ID:DLDKD/zX
気難しくて言うこと聞かないから女。
苦労してんな・・・
>>899 いや、融通きかなくて頑固だから男だね。
理屈が通らないデバイスなら女性としても・・・オーヲタ御用達パーツか?
902 :
元1:2005/04/27(水) 21:45:14 ID:Ba/SwECk
そろそろ1000が近いぞな
入れなきゃならんリンクとかデータシートとかスレとか
ちらほら入れておいてくれ。
903 :
818@本物:2005/04/28(木) 19:47:17 ID:fW3Z8TVN
>899
騙り乙
でもオモロイから許す。w
J○_○ あっちこっちに見える白目の変な顔 ウゼー。
質問を読むだけで答えないあなたよりは、ずいぶん まし。
906 :
774ワット発電中さん:
答えることは義務ではない