【お手軽】PIC専用のスレPart3【マイコン】

このエントリーをはてなブックマークに追加
857774ワット発電中さん:2005/04/24(日) 12:44:50 ID:9nxshLiM
>>818

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

858774ワット発電中さん:2005/04/24(日) 12:51:23 ID:7k8Xrtnz
>>857
2chですから………。
859774ワット発電中さん:2005/04/24(日) 13:02:53 ID:fV59lsxP
PICにはオープンコレクタモードがないんだ…
860774ワット発電中さん:2005/04/24(日) 13:18:22 ID:QOmSPNj3
モードがあっても、構造自体はただのトライステートバッファだったりするけどな
861774ワット発電中さん:2005/04/24(日) 14:22:40 ID:7k8Xrtnz
つ[トランジスタ]
862774ワット発電中さん:2005/04/24(日) 21:38:56 ID:HHfeIOHz
外付けトランジスタじゃ疑似双方向にできないのでは?
863774ワット発電中さん:2005/04/25(月) 00:43:06 ID:SirInfpN
>>849
割り込み待機でループさせるか、スリープさせるかでちょっと悩んだ
864774ワット発電中さん: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;
}
}
}
865864:2005/04/25(月) 10:26:17 ID:pSCwy9Ia
delay_ms(time);
timeは8ビット変数か、16ビット定数でした。orz
866774ワット発電中さん:2005/04/25(月) 19:55:11 ID:9C9BClXO
あげとく
867& ◆074eXsmY.k :2005/04/25(月) 21:53:38 ID:tLAiVviK
アセンブラ言語がよくわかりません。
誰か教えてくださる人はいませんか?
868774ワット発電中さん:2005/04/25(月) 22:27:36 ID:SYf+fYUR
日本語がよくわかりません。
誰か教えてくださる人はいませんか?
869774ワット発電中さん:2005/04/25(月) 22:43:22 ID:dOHees0X
アセンブラとかコンパイラって名前がキャラについてる漫画のタイトルが思い出せません
誰か教えてくださる人はいませんか?
870818: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ビットモードにする初期化が上手くいっていない。
それでも、たまには上手く行くときもある。


なしてだべさ?
871774ワット発電中さん:2005/04/25(月) 22:56:06 ID:x6XxfjXb
>>867 ええと、参考までにPICのアセンブラを学ぶために購入した書籍の名前を挙げていただけませんか?
872774ワット発電中さん:2005/04/25(月) 23:10:23 ID:x6XxfjXb
>>870 16F373のデータシートへのリンク知ってたら教えて
873870=818:2005/04/25(月) 23:40:11 ID:JFqbb/Hk
私にアンカーを打ってると言う事は 16F873 ですよね?

http://ww1.microchip.com/downloads/en/DeviceDoc/30292aj.pdf (日本語参考版)
http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf (英語版)

よろしく、おながいします・・・、かな?
874774ワット発電中さん:2005/04/25(月) 23:43:50 ID:x6XxfjXb
ごめん。ちょっと突っ込んでみただけ。

> 16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、
875774ワット発電中さん:2005/04/25(月) 23:56:47 ID:x6XxfjXb
昔、某大学のプログラミング演習で、テキストのRB3/PGMの設定が抜けてて動作が
とても不安定だったことがあったので>>870見てみたけど、大丈夫みたいですね・・・。
876774ワット発電中さん:2005/04/26(火) 00:01:29 ID:x6XxfjXb
連続カキコすまそ
↓ここらへんを参考にしています。
http://homepage1.nifty.com/rikiya/software/311picpio2.htm

漏れにはお手上げだけど、もう一度いろいろチェックしてみたらどうでしょうか。
釈迦に説法スマソ
877774ワット発電中さん:2005/04/26(火) 00:04:53 ID:dnV3ryHz
>>869
アフタヌーンに連載してたやつなら、そのまんまだな。
878774ワット発電中さん:2005/04/26(火) 00:07:57 ID:dnV3ryHz
>>870
BSCHかなんかで回路図書いて、適当なアップローダに、ソースファイルを付けて圧縮してUPしてくれ。
そこまで泥沼だと、断片情報聞いても、さっぱり役に立たない。

879774ワット発電中さん:2005/04/26(火) 00:17:59 ID:tWV3yeZb
液晶を4ビットモードで初期化するのに、冒頭部分ではビジーフラグが
使えなかったように思うけどそのあたりは大丈夫なのでしょうか?
880774ワット発電中さん:2005/04/26(火) 12:17:44 ID:mXAhuy5M
>>879
>>878に同意。
881774ワット発電中さん:2005/04/26(火) 13:35:27 ID:KOnC2Det
>>870
4bitモードで使われないD0-D3は内部プルアップらしいので、
8bitモードのまま4bit送信すると、下位4bit=1111になった文字が2個ずつ出るという
可能性はあるな。下位4bitについては現象に一致するが、1文字送っても
2個ずつ出てくる現象はおこってるかい?

もしくは、下位4bitを送るときRSを1にしていないとか。
いや、これは関係ないかな・・・?
882774ワット発電中さん:2005/04/26(火) 13:36:00 ID:KOnC2Det
>>870
というわけで、回路図とプログラム晒せ。
883追加:2005/04/26(火) 13:37:42 ID:KOnC2Det
>>881
文字データ送信も40usecの待機を要するようなので、
もしかしたら上位だけ(8bit送信として)受け取られ、下位送信の方はタイミングが短すぎて
無視されている可能性はあるな。
884774ワット発電中さん:2005/04/26(火) 16:52:58 ID:8gsJgyJx
piccliteって最適化能力あるんでしょうか?
CでOOPとかするとポインタ渡し周りのコストすら馬鹿にならなさそうで怖いんですが。
885774ワット発電中さん:2005/04/26(火) 19:45:34 ID:FhPEweWc
piccliteはfreeだし,アセンブリソースリストも出力される
16F877なら 4kwステップもできる
というわけで ↑ 自分で判断しる
picの Cとしては,ちゃんと使えて至極まともなほうだと思う
886774ワット発電中さん:2005/04/26(火) 20:32:26 ID:PnVd1iBb
>>818
1キャラ毎でなく、ポートを出力するたびに大きなウェイトを入れてみたらどう?
それで動けば、何らかのタイミングが影響している。
動かなければそもそもシーケンスがおかしい、と切り分けられると思うけど。
>>884
PICCLITEはかしこいよ。おすすめ。
887818@大馬鹿者:2005/04/26(火) 21:00:13 ID:VrzPur8e
大騒がせスマソ。>みなさま

andlw と ioriw の訂正漏れでした。
PORTB だけで LCD を動かすために RB0-RB3 をマスクしたりするのですが、
その際、andlw とすべきところ ioriw となっていました。
開発初期の段階で気付いて直していたのですが、データを書くルーチンは直しておきながら、
インストラクションを書くルーチンを直していませんでした。
PORTBレジスタは電源投入やリセットでクリアされませんから、
先にPORTBレジスタに残っていたデータ次第では上手く初期化されるけど、
大抵は上手く行かないという動きだったようです。

20MHzだろうが、最低限のタイミングだろうが、10kΩが挟まっていようが、
ICSPケーブルを繋ぎっ放しだろうが、チャタリングをわざと起こすように電源スイッチを投入しようが、
あんな事をしようがこんな事をしようが、あらゆる乱暴なことをしても・・・・

L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。

まるで何事もなかったように・・・。
ただし、データシート的には10kは大きすぎるので2.2kにしました。
結局チラシの裏になってしまい、付き合っていただいた方には申し訳ないです。マジスマソ
恥ずかしいので今から穴を掘って入ってきます。w
888774ワット発電中さん:2005/04/26(火) 21:04:20 ID:XC5qT9qJ
ワラタ

動いてよかったっすね。
889774ワット発電中さん:2005/04/26(火) 21:56:22 ID:Rbv8mlTW
やっと気が付いたか
また一回り大きくなったな

上司
890774ワット発電中さん:2005/04/26(火) 22:13:19 ID:MwPFrbe5
わんぱくでもいい,、たくましく育ってほしい。
891774ワット発電中さん:2005/04/26(火) 22:21:29 ID:llIgh4Do
このようにちゃんと結果報告があるとうれしいものです。
がんばってくだされ。
892774ワット発電中さん:2005/04/26(火) 22:56:56 ID:sCYN1fzt
>887
お疲れさまでした、また経験値アップしましたね、ガンガレ!!
893774ワット発電中さん:2005/04/27(水) 00:10:25 ID:q29BsxXE
>>887
おめでと。報告乙。
>L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
大変気持ちがわかるレポートでワラタ。
894774ワット発電中さん:2005/04/27(水) 01:24:47 ID:2dWP1oof
>LCD野郎
そういえばLCDの性別ってどっちなんだろ
895774ワット発電中さん:2005/04/27(水) 10:17:41 ID:934r3jnQ
>>887
ちゃんと回路図とソースを晒しておけば、4.87秒でレスがついただろうに。
それにしても、10kΩは大きすぎ。入れるなら、せめて1kΩ程度でしょう。
896774ワット発電中さん:2005/04/27(水) 10:29:41 ID:q29BsxXE
>>894
俺の持ってるのはコネクタはオスだな。よってLCDとマイコンボードは男性。
仲を取り持つケーブルは女性ね。
ということはPICボードとLCDは○×兄(以下自粛・・・)
897774ワット発電中さん:2005/04/27(水) 16:42:34 ID:OgD6qBzb
仏語のサイトでは"le LCD"と書かれていたりしているので、男性名詞なんでしょうね。
898774ワット発電中さん:2005/04/27(水) 17:50:14 ID:6pQ5Oz5i
あの寸胴体型、でかいツラはどうみても男だろう。

899818:2005/04/27(水) 19:34:59 ID:DLDKD/zX
気難しくて言うこと聞かないから女。
900774ワット発電中さん:2005/04/27(水) 21:08:12 ID:3YSIqaUR
苦労してんな・・・
901774ワット発電中さん:2005/04/27(水) 21:37:26 ID:RrTnVLEf
>>899
いや、融通きかなくて頑固だから男だね。
理屈が通らないデバイスなら女性としても・・・オーヲタ御用達パーツか?
902元1:2005/04/27(水) 21:45:14 ID:Ba/SwECk
そろそろ1000が近いぞな
入れなきゃならんリンクとかデータシートとかスレとか
ちらほら入れておいてくれ。
903818@本物:2005/04/28(木) 19:47:17 ID:fW3Z8TVN
>899
騙り乙
でもオモロイから許す。w
904774ワット発電中さん:2005/04/29(金) 08:37:37 ID:nmIFmZzS
J○_○ あっちこっちに見える白目の変な顔 ウゼー。
905774ワット発電中さん:2005/04/30(土) 03:11:19 ID:BfqRiDh2
質問を読むだけで答えないあなたよりは、ずいぶん まし。
906774ワット発電中さん
答えることは義務ではない