5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

●PIC・AVR 初心者のためのスレッド-3サイクル目●

1 :ガイシュツ ◆atMKiSyUTU :03/10/25 20:51 ID:YZtOJbJN
個人でも手軽に使えるオールインワンのマイコンチップ
PIC・AVRについて語るスレッドです。

過去スレ
●PIC・AVR 初心者のためのスレッド●
http://science.2ch.net/kikai/kako/981/981417210.html
●PIC・AVR 初心者のためのスレッド-2サイクル目●
http://science.2ch.net/test/read.cgi/kikai/1040610345/

参考になるページ
PIC-microchip http://www.microchip.com http://www.microchip.co.jp/
PIC関連-後閑さんのpage    http://www.picfun.com/
System.out http://www.ex.sakura.ne.jp/~leocrim/crimson/index.html
PICな日曜日 http://www.kimurass.co.jp/picindex.htm
PIC入門 http://www.interq.or.jp/japan/se-inoue/pic.htm

AVR-atmel   http://www.atmel.com/
AVR情報多い-chanさんのpage  http://elm-chan.org/
AVRGCCその他AVR関連 http://www.avrfreaks.net/
レディオテクニカ有志による 翻訳版 AVRデータシート
ttp://homepage1.nifty.com/radio_tech/
TAP-Config http://ww2.tiki.ne.jp/~maro/


2 :ガイシュツ ◆atMKiSyUTU :03/10/25 20:52 ID:YZtOJbJN
H8マイコンについてはこちらで
 ★H8関連総合スレッド★ 
http://science.2ch.net/test/read.cgi/kikai/985810159/

CPLD、FPGAについてはこちらで
ALTERAとXILINX その2
http://science.2ch.net/test/read.cgi/kikai/1048943368/

Z80についてはこちらで
★☆  Z80 は永遠に不滅です ☆★
http://science.2ch.net/test/read.cgi/kikai/1006682535/

3 :前スレの1:03/10/25 23:57 ID:FNO4bNoS
乙彼! >>1

4 :名無しさん@3周年:03/10/26 14:47 ID:ZhiB9M58
>>1乙!

5 :名無しさん@3周年:03/10/26 16:35 ID:KXl7jq7K
ガイシュツって奴はテメエでもスレ立てるくせに他人様が立てたスレの削除依頼をするような下衆だったんだな。
このスレが糞スレになる理由が判ったョ

6 :名無しさん@3周年:03/10/26 16:41 ID:/2Isc2C+
>>1
乙カリー

7 :名無しさん@3周年:03/10/26 18:13 ID:39Fx7lqd
ポートの出力波形が観測できるシミュレータってないすかね
MPLABのデバッガだとわかりにくい
一々書き込んでロジアナで見てるんだが・・

どーにかしてくれ〜

8 :名無しさん@3周年:03/10/26 19:07 ID:dijtKRkt
>>7
こーゆーのとか
http://www.ai.mit.edu/people/rsargent/picutils.html
こーゆービジュアルな奴とか?
http://www.oshonsoft.com/pic.html

9 :名無しさん@3周年:03/10/26 22:52 ID:eo3Vzczl
>7
オシロでも見えるだろ?


10 :7:03/10/27 00:46 ID:mGHsYnpV
>>9

シリアルデータだとむり
トリガ掛からん ディジタル使えといわれればそれまでだが。

ってか、漏れが言っているのは一々書き込むのがやだなと。
波形観測できるシミュレータが欲しい

11 :名無しさん@3周年:03/10/28 00:43 ID:opByVfwp
>>10
自分で作って神になれ(w


12 :名無しさん@3周年:03/10/28 19:45 ID:l1yd+7gx
ttp://jp.digikey.com/ でavrのtiny26L探したら、
COM 20-DIP と IND 20-DIPっていうのが出てくるんだけど、これは何が違うんですか?

13 :わむて ◆wamuteW7DE :03/10/28 19:47 ID:tUL6AsqF
       ____
     <_葱看>
    / i レノノ)) ヽ
      人il.゚ - ゚ノ、   みるまらー
     fヽ{:::::::::::}ノ
     (ヽ::::: ::::::|/)
      |::|:: ::::::|::ヽ
      ヽ::ヽ:::::::| |:::|
      ___|::|:::::::| ヽ:ヽ
     /:::::||.:::::::|  ||
  ノ´:::::::::::N):::::::|  /|
 /:::::O::::::::ヽ|::::::::|  |ノ
ノ::::::::::::::::@::::::::::::ノ
|:::::::::::O:/ ̄ ̄
ヽ::::::::::/
 ` ̄´

14 :名無しさん@3周年:03/10/28 21:03 ID:PRWRuYXd
>>12
こまーしゃる
いんだすとりー

これで未だ解らないならもう一回マニュアルを熟読すべし。

15 :名無しさん@3周年:03/10/29 01:54 ID:VKP7yzex
ああ信頼性かな。秋月とかで売ってるのはCommercialかな?

16 :名無しさん@3周年:03/11/03 00:33 ID:pXaABIKp
PICを今まで触ったことが無いのですが、
ttp://osaka.cool.ne.jp/feng3/pgm6/jdm.html
ここを見ながらPICライタは作ることができました。

目的は、コレを作ることなんですが、
ttp://kusanagi.room.ne.jp/~kusanagi/pic_pscontroller.htm
この中の、

>ソースファイルは秋月電子の『AKI-PICプログラマーキット』用のものですので
>もしソースを変更してアセンブルする場合には自分の環境に合わせて替えてください

この文章は、JDM等の秋月のキット以外ではダメ。
他ので使いたかったらソースを書き換えろ、ってことでしょうか?

17 :名無しさん@3周年:03/11/03 01:13 ID:qDkfNn/R
秋月のキットには専用のアセンブラがあるから、ソースを改造するときはそれを使えって事
HEXファイルを直接書き込むのならば問題ないかと思われ

18 :16:03/11/03 02:24 ID:pXaABIKp
>>17
ありがとうございます。
その後色々と試してみました。

Excelのマクロ(VBA)を使ってパラレルポートからPSのパッド操作をしよう、という目的なのですが
PCがWinXPだとパラレルポートを扱えない(?)らしいので、
現在VirtualPC上WinMEより実行しております。
totalio.sys、giveio.sysなどを使えばXPから通信できるのかもしれませんが、どうもうまくいきませんでした。

書き込みには IC-Prog 1.05C を使ってhexそのまま書き込み、
Excelでマクロを実行したところ、ポートにアクセスできない旨のダイアログが出て通信できませんでした。
そこで、書き込む際にオシレータの設定を RC から HS もしくは XT に変えたところ、
デタラメで正しい動作はしませんでしたが、ボタンに反応して動くようになりました。

これ以上何をどうすればよいのか解らなくなり、
このことに関して何か知っておられる方がおられましたら、再度ご教授願いたいと思います。

19 :名無しさん@3周年:03/11/03 11:58 ID:o1jNQXPL
>>18
オシレータの設定はPICのクロック生成の方法にあわせてやらないとダメだがや。
10MHzのセラロック使うならコンフィグはHSでいいでしょう。他の設定も確認してみそ

20 :名無しさん@3周年:03/11/03 12:42 ID:1leMicsh
PIC書き込み時のFuse設定で教えて下さい。
書き込みソフトに、次のような設定項目が出るのですが、
これはいったい何なのでしょうか?
  ・BG0, BG1 (何の略でしょう?)
  ・Flash Program Write
    (16Fxxxに設定しても出るんですが、
     Flashに決まってるだろう?と思っています)
  ・Low Voltage Program
    (これをチェックすると5V書き込みになるのでしょうか?
     16Fxxxでは、チェックしてもしなくても書き込めるんですが)


21 :名無しさん@3周年:03/11/03 13:23 ID:Ic5AorSI
>>20
書き込みに使ってるソフトぐらい書かんと・・・。


22 :名無しさん@3周年:03/11/03 14:43 ID:pHANQSs/
AVRの勉強をはじめました。
AVRはいわゆるISPが可能ですが、
プログラマとターゲットは6ピンのケーブルで接続します。
あのケーブルやコネクタを買いたいのですが、
なんせド田舎に住んでるので、通販で買いたいと思っています。
どこに売ってますでしょうか?
よくトラ技をみると基板同士を虹色のきれいなケーブルでつないでますが、
あんなやつでいいと思うのですが。

23 :名無しさん@3周年:03/11/03 14:47 ID:UXKDPNU1
AVRを買ったところじゃ売ってなかったんかいな?

取りあえず、秋月や共立の通販使えばよかろ。

24 :名無しさん@3周年:03/11/03 14:59 ID:pHANQSs/
>>23

秋月のプログラマをインターネット通販で買ったんですが、
ホームページのどこをみてもピンヘッダはあるのですが、
かんじんのケーブルがないんです。

25 :名無しさん@3周年:03/11/03 15:28 ID:1leMicsh
20です。
言葉足らず、すみませんでした。

BG0, BG1はRobinAbbottのPIC Programmerです。
Flash Program WriteとLow Voltage Program は、
MicroengeneeringのEPIC Winです。
宜しくお願いします。

26 :名無しさん@3周年:03/11/03 17:12 ID:Gqyul0tc
>BG0, BG1
わかんね。消去法で行くとこれのことか?
CP1:CP0: フラッシュプログラムメモリコードプロテク
ションビット

>Flash Program Write
4.6 フラッシュプログラムメモリへのライト
フラッシュプログラムメモリのワードは、そのワード
がコードプロテクトされていないセグメントのメモリ
で、WRT コンフィグレーションビットがセットされて
いる場合に限ってライト可能です。

>Low Voltage Program
12.18 低電圧プログラミング
コンフィグレーションワードのLVP ビットは、低電圧
プログラミングを動作させます。このモードにより、マ
イクロコントローラは、動作電圧範囲内のVDDソースを
使用してICSP 経由でプログラムできます。このモード
はMCLR ピンに置かれるVIHH の要求を削除します。LVP
ビットは、デフォルトでは低電圧プログラミングをイ
ネーブルする「1 」になっています。このモードでは、
RB3/PGMピンはプログラミング機能専用となっており、
汎用I/O ピンとしての機能はありません


27 :名無しさん@3周年:03/11/03 21:13 ID:2zGKWYr+
>>24
ケーブルを作ればいい。
秋月のAVRライタなら1ライン並んだ奴だよな?
サトー電気の方が入手しやすいかな?
http://www2.cyberoz.net/city/satodenk/conn.html
モレックスの5045の6pあたりでいいと思う。
これを6芯ケーブルに圧着すれば出来上がり。

もっと簡単には、PCのMB上のUSBピンとUSB端子ブラケットをつなぐために
PC-DIY屋で売られているケーブルを使っちゃうこと。4px2のケーブルとして使える。
1px5とか1px10の奴もある。接続間違いがないように気をつける必要があるが・・・
http://www.gigapaso.com/shouhin/cable/index.html#henkan
メーカー AINEX 商品名 ケース内配線用USB延長ケーブル 型番 USB-006 販売価格 \390


28 :名無しさん@3周年:03/11/03 21:17 ID:Eg9RMRug
てか、ケーブル作るのもお勉強だろうが。

29 :名無しさん@3周年:03/11/03 21:24 ID:2zGKWYr+
>>28
しまった、PC自作板の電子工作スレと間違えたスマソ

30 :名無しさん@3周年:03/11/03 21:28 ID:VJWZNtGf
AVR初心者です、と言うか電子工作の初心者です。ELM氏のシリアルライターを使って書込みを行っているのですが、
勝手にロックビットがかかってしまうことがたまにあるようで、書き込もうとすると

D:\電子工作\AVR\ELM>avrss 100yen.hex
AVRSS - AVR serial downloading tool for COM port. R0.26 (C)ChaN,2003.
Support: http://elm-chan.org/

This device is locked.

となってしまい、書込みが出来なくなってしまいます。
氏の説明文では、ロックがかかってしまったときは avrss /e で全消去するように書いてあるのですが、やってみても状況は変わりませんでした。
そもそも、一度ロックが掛かってしまったら解除することは出来ないのではないかとも思えますが・・・、
このチップはご臨終でしょうか? それともロック解除の方法が有るのでしょうか?


31 :名無しさん@3周年:03/11/03 22:06 ID:LZ/Wf1s6
>30
ヒューズ/ロックビットは、ELM氏のシリアルライターの低電圧モードでは制限が有って
一部のビットが書き換え不能になります。以下参照。
ttp://www.sendai-ct.ac.jp/~ckuma/micom/avr/1200-43spien.html

ELM氏のページでは、3種類のライターを公開してこれに対応しているはずですが?
ttp://elm-chan.org/works/avrx/report.html

ぜひ、高電圧シリアルプログラミングに対応のライタを製作されるようお勧めします。

32 :30:03/11/03 23:47 ID:VJWZNtGf
>>31
パラレルライターならヒューズビットの書換が可能だと知っていたのですが、
ロックビットの書換(解除)が出来るかどうかは、データーシートとかを見てもチョット確信が持てなかったので質問してみました。
上の方のリンク先のものが解かりやすそうなのでトライしてみます。 助かりました!

33 :名無しさん@3周年:03/11/04 15:01 ID:jaV8HDDg
PICには、ロータリーエンコーダ等の2相エンコーダの信号を取り込んで計数する機能があるのでしょうか?

H8など他のマイコンにはあると聞いて調べてみたのですが、みつかりません。。

34 :名無しさん@3周年:03/11/04 15:39 ID:V8oTa8gL
>>33
電子初心者ですがH8には位相計数モードってアップ/ダウン カウンタ
が有ると思うんですが これ使えないんですか
PICは無いと思うんですけどPGするしかないと思いますけど・・・
H8SやShの方がCH数あると思うけど・・・
機械屋ですけど昔、うちの電子屋にちょっと聞いた事があるもんで・・・
間違えてたらご免なさい。 

35 :名無しさん@3周年:03/11/04 18:07 ID:rD216sU0
>>34
位相係数モードってロータリーエンコーダを読みとるのに便利なあれですか?
それならPICには無かったと思う。最新の18XXXとかはわかんない。

36 :名無しさん@3周年:03/11/04 18:31 ID:V8oTa8gL
>>35
PICには無いですよね。
>>33
31さんの紹介しているELMさんのページにロータリーエンコーダー
の読み取り方が記載されていると思いますが(AVRだけど)参考に
なりませんかね

37 :名無しさん@3周年:03/11/04 19:36 ID:rD216sU0
http://www.sendai-ct.ac.jp/~ckuma/micom/3664/encoder.html
こんな感じで小さい他のマイコン(ここでは8pinAVR)に担当させる手もあるね。
それがだめなら頑張ってプログラミング。ELMさんとこの解説はアルゴリズム説明付きだから
PICへの移植も簡単じゃないだろうか。メインの仕事とうまく折り合い付けるのが大変そうですが


38 :33:03/11/04 21:21 ID:jaV8HDDg
PICにはありませんでした。
PIC18F452を使っているのですが、やはりありませんでしたね。

ELMさんのページのロータリエンコーダの読み取り方見てみましたが、英語のページのところですよね?
ちょっと難しいかな・・

37さんのリンクはなんとか分かりそうなので、頑張ってみます。
ありがとうございました。

39 :名無しさん@3周年:03/11/04 23:06 ID:xExhH7WW
>>38
日本語ページにもあるよ。
http://elm-chan.org/docs/te/te04.html

40 :33:03/11/04 23:10 ID:Oqhr0+RB
>>39
どうもありがとうm(_ _)m

41 :名無しさん@3周年:03/11/04 23:36 ID:q8wC+pCM
>>38
勉強に励み給え。
これは簡単な部類だしさ。

42 :33:03/11/04 23:47 ID:Oqhr0+RB
PIC18F452を使って、モータの速度を徐々に変化させていくプログラムを作っているのですが、どうもうまくいきません。
PICのRC1からPWM波を出力させ、そのPWM波を変化させることでモータの速度を変化させようとしています。

#include <18F452.h>
#fuses HS, NOWDT, PUT, NOPROTECT, BROWNOUT, NOLVP
#use delay(CLOCK=40000000)
#use fast_io(c)
main()
{
long duty;
set_tris_c(0xfd);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,0xFF,1);
set_pwm1_duty(duty);

while(1)
{
output_c(duty=0x3FF);
delay_ms(1000);
output_c(duty=0x200);
delay_ms(1000);
}
}

このプログラムでモータはデューティ比100、50での回転を繰り返すと思うのですが。
なにせプログラム初心者なもので・・
おかしい点がありましたら、教えてください。

43 :名無しさん@3周年:03/11/05 00:15 ID:XumjliqY
どのようにうまくいかないのかわからないですが、
オシロスコープで、PICの出力波形を見てみたらどうでしょうか。
もしオシロが無ければ、「1Kオームの抵抗を直列に入れた赤色LED」を
出力とGND間につないげば、DUTY野%によってLEDの明るさが変わるので
だいたいの目安になるよ。
モーターは、DUTYに対して直線的に応答せず、
ある程度のDUTYまでは止まっていて、突然動き出したりするので
モーターの特徴もつかんでおかないと、いかんね。

44 :33:03/11/05 00:32 ID:B6zjxJRP
えっと、最初DUTY100で回転、数秒後DUTY 50で回転、100、50・・・
と繰り返す予定なのですが、ずーっと100で回転したり、ずーっと50で回転したりしてしまうのです。

オシロで波形を確認したところ、それぞれ単独で出力させるとちゃんと100、50の波形が確認できました。
上のようなプログラムで確認すると、常に一定の波形を出しており、100、50を繰り返して出力してないように思われます。
プログラム的には間違ってはないと思うのですが・・・

45 :名無しさん@3周年:03/11/05 07:44 ID:pdRDNhSD
>>44
output_c(duty=0x3FF);
これが変なんじゃないの?

set_pwm1_duty(duty);
デューティーをセットするのはこっちの命令だよね?

46 :33:03/11/05 10:01 ID:B6zjxJRP
>>45
なるほどぉ。
今から、ちょっとプログラム書き換えて、やってみます。

47 :名無しさん@3周年:03/11/05 13:32 ID:zGpx8ii5
>>44
これだと1秒ごとに回転数変化するから、モーターによっては変化が分からないんじゃないの?
変数dutyが初期化されないままset_pwm1_duty()に突っ込まれているね。
動かすたび回転状況が異なると思われ。while loop内でdutyが変化しているけど
output_c()はportCに出力する関数だよね?すくなくてもPWMのduty比には関係なさそう。

こんなかんじならどう?

#define min_duty=xxxx;  /*適当な数値*/
#define max_duty=xxxx;  /*適当な数値*/
#define duty_step=xx;    /*適当な数値*/

/*初期設定いろいろ*/

unsigned int duty;
while(1) {
  for (duty=min_duty ; duty<=max_duty ; duty+=duty_step) {
    set_pwm1_duty(duty);
    delay_ms(1000);
  }
  for (duty=max_duty ; duty>=min_duty ; duty-=duty_step) {
    set_pwm1_duty(duty);
    delay_ms(1000);
  }
}


48 :名無しさん@3周年:03/11/05 17:42 ID:zGpx8ii5
訂正
#define min_duty (xxxx)  /*適当な数値*/
#define max_duty (xxxx)  /*適当な数値*/
#define duty_step (xx)    /*適当な数値*/

49 :33:03/11/05 19:56 ID:B6zjxJRP
output_c(set_pwm1_duty(0x3FF));
delay_ms(1000);
output_c(set_pwm1_duty(0x200));
delay_ms(1000);
output_c(set_pwm1_duty(0x100));

という具合にしてやってみたところ、徐々にモータは減速していきました。
動きがぎこちないですが・・・^^;

>>47
わざわざ、ありがとうございます。
さっそく質問で申し訳ないのですが・・・
そのプログラムだと、PWM信号はどこから出力されているのでしょうか?
outputを使わないと出力されない・・とは私の間違いなのでしょうか?



50 :名無しさん@3周年:03/11/05 21:14 ID:zGpx8ii5
>>49
すんません、私はAVRな人でPICは以前触ったことがある程度なので間違いがあったら訂正よろしく。

set_pwm1_duty()って、CCPR1LレジスタとCCP1CONレジスタのbit4:5にduty比を入れる関数だよね?
でもって、setup_timer_2()は、第一引数でPreScaler、第二引数でPR2値、第三引数=postscaler(PWMでは関係なし)

なら、duty比変更はset_pwm1_duty()だけでいいんじゃない?
portCに出力してもなんの意味もないと思うんですけど。
出力データに応じてPWM出力ピンの状態を乱しちゃうだけ。

こんな手順でいいのではないでしょうか。
1.TRISCレジスタでCCP1レジスタを出力モードにセット
set_tris_c(0x00);
2.CCP1CONレジスタ下位4bitに11xxを入れて、PMWモードに
  setup_ccp1(CCP_PWM);
3.CCP1CONレジスタのbit4-bit5と、CCPR1Lレジスタにduty比をセット
  (多分これをやるのがset_pwm1_duty()関数)
4.PR2レジスタにPWM周期を入れる(8bit)、T2CONレジスタでTMR2の設定(プリスケーラ設定+Timer2のスタート)
  setup_timer_2(T2_DIV_BY_1,0xFF,1); で、PS=1、postscaler=1?、PWM=0xFF*4=0x3FC周期
  これでduty比 = duty/(PR2*4)で出力される 
5.以後、duty比を変えたければCCP1CON-bit4:5とCCPR1Lレジスタを変更すればよし
  set_pwm1_duty(duty)だけでいい

参考HP:
http://www.picfun.com/pic18.html
http://www.picfun.com/c12.html


51 :名無しさん@3周年:03/11/05 21:16 ID:pdRDNhSD
>>49
output_c()はいらない。set_pwm1_duty()だけでいい。
PWMのモジュールが動作すると勝手に該当のポートに
出力される。

52 :名無しさん@3周年:03/11/05 21:17 ID:pdRDNhSD
あう

53 :名無しさん@3周年:03/11/05 21:18 ID:zGpx8ii5
>そのプログラムだと、PWM信号はどこから出力されているのでしょうか?
PWM出力はPICの種類によって異なると思うけど、石毎に出力されるピンが決まっています。
該当する石のデータシートよーく読んでね。

output_c()関数でやるならプログラムで特定のピンをON/OFFすることでPWMを作ることになります・・・。


54 :名無しさん@3周年:03/11/05 21:25 ID:zGpx8ii5
>>50
× 1.TRISCレジスタでCCP1レジスタを出力モードにセット
○ 1.TRISCレジスタでポートCを出力モードにセット

長ったらしく書いたけど>>49の誤解は>>51に尽きるかな。
PICのPWMはそもそもレジスタにPWMの条件を書いて適切なタイマー設定をしたら、
「PICが勝手に特定のピンに」指定したPWM信号を出力する機能。

ポートCを触る必要はないし、そんなところにduty比を書いてもなんの意味もない。
ただbitimageに従ってportCがON/OFFするだけだじょ。


55 :33:03/11/05 22:30 ID:B6zjxJRP
丁寧な説明を皆さんどうもありがとうございますm(_ _)m

説明を元に明日また実験をやり直してみます^^;
どうもありがとうございました。

56 :名無しさん@3周年:03/11/06 01:14 ID:O2rAEsQf
PICマイコン PIC16F819−I/P
■PIC16F84Aに10ビットのADコンバータがついた高機能品です。
■ナノワットテクノロジにより2Vからの動作が可能
■最大動作クロック20MHz(5V時)
■内蔵オシレータが31kHz〜8MHzの範囲で選べます。
■PWM SSP SPI I2Cインターフェース内蔵
■ピン配置はPIC16F84Aと同等

◆パッケージ:18ピンDIP
◆フラッシュ:2Kワード
◆RAM:256バイト
◆EEPROM:256バイト
◆クロック:DC〜20MHz

※PICプログラマキットVer.4(K-00200)で書き込みに対応しております。
※大量在庫:1000個以上でも即納します。

1 個 350円
--------------------------------------------
要は16F84に16ビットカウンタとADコンバータが付いたって事ですね?



57 :名無しさん@3周年:03/11/06 03:07 ID:57YA1xgK

PIC16F648A
■最新最強18ピンPICマイコン!
■PIC16F84Aと同じ18ピンですが下記がパワーアップしています。

・4096ワードプログラムメモリ
・256バイトRAM
・256バイトEEPROM
・電源ピン以外16本をI/Oに使用可能
・3チャンネルのタイマー(16ビットx1,8ビットx2)
・2チャンネルのコンパレータ(Vrefモジュール内蔵)
・USART・SCI内蔵
・CCP(PWM)モジュール内蔵
・内蔵4MHzオシレータ

しかもPIC16F84Aより安い!

1 個 280円

おれはこっちのほうに興味があります。
PICは進化してますね。すごい!
ピン数は84Aと同じなのにIOポートが16本だし
メモリも増えてるし
これに8bitA/Dコン内臓きぼう


58 :名無しさん@3周年:03/11/06 08:24 ID:H7mOZITR
>>56-57
へぇ〜、けっこうパワーアップしてますね。
これならC言語使っても大概のことはできそうだし(アセンブラならもっと大きなことできそうだし)


59 :名無しさん@3周年:03/11/06 13:25 ID:QmQ89OSs
>>58
256バイトRAMでいいんだけど、連続していて欲しいよなー


60 :名無しさん@3周年:03/11/06 13:54 ID:H7mOZITR
>>59
それはPICだけに無理なんでしょうねえ。
16シリーズならレジスタやI/O込みでメモリ空間128bytesしかないんでしょ?
18シリーズはデータメモリだけで128bytes/bankあるみたいね
AVRなんかは16bitアドレスで素直だけど、その代償で小さい領域でも間接アドレッシングすると
ステップ数増えまくり(16bitアドレスだから)
メモリ領域狭いのも場合によってはメリットになるのかも。

61 :名無しさん@3周年:03/11/06 19:45 ID:VnZr84vx
Cコンパイラによると思うが、16F877で何も考えずに組んだら、
RAMアクセスと、コールの前に全部ページ切り替えが入るんだな。

コードの半分以上が切り替えで使われてる様な気がする・・・なんだかなぁ

62 :名無しさん@3周年:03/11/06 20:31 ID:b59qJ+FQ
PICのRAMを 希望の位置から配列を取るようにするにはどうしたらよいでしょう。
3bankの先頭から128byte連続して配列をとりたいとか。
Cだとプリプロコマンドでやるのでしょうか。

63 :名無しさん@3周年:03/11/06 21:22 ID:htE4JvA4
>62
FED-Cだと、これで出来ますた。が、ソフト的スタック領域と重なるとバグります。
extern unsigned char Xx[128];
#pragma locate Xx 0x120

64 :名無しさん@3周年:03/11/07 02:59 ID:9MFW/lnw
>>63
なるほと、FED-Cですか。私はCCS-Cですが、同じようなことが
できるかもしれませんね。調べてみます。

しかし、もう少しRAMが欲しいですよね。
charならまだしも、intで配列取ると、あっちゅう間に
なくなりますよね。さびしい。
1Kとか2Kとかあると、ちょっとしたロギングもできて
いいんだけどなぁ。見てる? マイクロチップぅ。


65 :名無しさん@3周年:03/11/07 08:51 ID:jOWecpRp
>>64
過去に誰かが書いていたように、「そういう石ではない」ということなのかもね。


66 :名無しさん@3周年:03/11/07 08:52 ID:jOWecpRp
あ、途中だった。
そういう用途ならAVRとかH8とか他のマイコンがあると考えるべきかも。

67 :名無しさん@3周年:03/11/07 12:54 ID:U6Xolxep
>64 ロギング
16F877+256KSRAMで作った事も有った。

68 :名無しさん@3周年:03/11/07 13:04 ID:U6Xolxep
>64
> (恐らくCCS-Cは2バンクまでサポートしているが、3バンクまではサポート
>  していないのではないでしょうか?)「根拠ありません。(--;」
ttp://www.mars.dti.ne.jp/~tvhome/PIC/ML/picf13xx/picf1392.txt

69 :PIC超初心者:03/11/07 17:30 ID:g1nA/pl0
CQ出版のECBの第4集のPIC特集でしこしこと勉強しているド・シロートです。
タイマとウォッチドックタイマ
と出てきたのですが、ウォッチドックタイマとは何ですか?

70 :名無しさん@3周年:03/11/07 17:31 ID:FZVBn7FY
>>67
頑張りましたね。まじめにRAMつなぐと、address15本、data8本、RD,WRで2本
たぶんRS232Cも使ってるだろうから2本、で計27本。残り6本か。大変!

71 :名無しさん@3周年:03/11/07 17:37 ID:oDS2viC1
>>69
グーグル先生

72 :名無しさん@3周年:03/11/07 18:32 ID:jOWecpRp
>>67
サンプリングレートが遅いなら外付けシリアルEPROMという手もあるのだが
けっこうのろいよなあ。

73 :名無しさん@3周年:03/11/07 20:03 ID:U6Xolxep
>69
WatchDog Timer
 ウォッチドッグタイマは、暴走などによりプログラムを、正常に実行できなくなった場合に、
 PICを、リセット状態にし、再起動させるためのものである。番犬という意味。
PICでは、一定時間内に専用命令でDogタイマをクリアしないとリセットが掛かるようになる仕組み。
>70
実際には、1usサンプリングが必要だったでCPLDと組み合わせて、
アドレス&データ分割で16本位PICから配線になった。

74 :名無しさん@3周年:03/11/07 23:04 ID:NKuTD/pB
症状 定期的に動作が不安定になる。

原因 ウォッチドックタイマーが有効になっており、時折割り込みが発生するため。

対処 ウォッチドックタイマーとはプログラムが暴走していないか定期的に 自己診断
するための機能。ウォッチドックタイマーを無効にすること。
コンフィグレーションを書き忘れているか、設定誤り。



あるサイトにこんなことが書いてありました。
普段は使わないほうがいいですか?

75 :名無しさん@3周年:03/11/07 23:08 ID:NKuTD/pB
↑失礼しました。73さんの書き込みに答えが書いてありますね。

>PICでは、一定時間内に専用命令でDogタイマをクリアしないとリセットが掛かるようになる仕組み。

そういう意味だったんですか。理解でしました。WDT

76 :名無しさん@3周年:03/11/07 23:12 ID:jOWecpRp
>>74
WatchDog Timer機能が不要と思うなら、そりゃ無効にした方がいい、というか無効にすべき。
必要だと思うなら使えばいい。不測の事態で暴走しても、再起動すれば問題ないケースなら
自動再起動として使う。出番がないのが理想だけど、暴走されると困るなら使った方が無難?


77 :名無しさん@3周年:03/11/07 23:31 ID:cxXV20et
ウォッチドッグ使ってても、試しにCPU飛ばして見ると飛びっぱなしだったりするからね。
どこにクリア命令もってくるか検討して使わないと気休めににもならない。

78 :名無しさん@3周年:03/11/07 23:49 ID:U6Xolxep
ウォッチドッグのクリア命令を、タイマー割り込み中に置くとメインルーチン暴走してもそのまんま。(w

79 :名無しさん@3周年:03/11/08 13:39 ID:lzxWaUrZ
>>78
え、なんで?

80 :名無しさん@3周年:03/11/08 15:35 ID:dcMgTJi1
割り込みプログラムが正常なら、ウォッチドッグのクリアは有効に働くので
メインプログラムの生死(暴走)に関わらず、リセットは実行されない。<番犬にならず(w

釣られてしまつた。

81 :名無しさん@3周年:03/11/08 19:24 ID:5neEfFqh
やっぱり番犬よりエージェントだよな

82 :69のPIC超初心者:03/11/09 16:05 ID:mj/WMbRZ
遅くなりましたが、71さん、73さんありがとうございました。


83 :名無しさん@3周年:03/11/09 17:01 ID:K36ZTXZk
どこで聞くか迷ったんですが、PIC使ってますのでこちらで宜しくお願いします。

ライントレースロボットについてです。
フォトマイクロセンサ(EE-SF5)での反応をPICのI/Oポートに戻す際、
その間にICゲートを挟んでるんですが(TC4049B)、これの意味が良く分かりません。
NOT-NOTとしてて、入力がHighなら、出力もHighになるので、なぜ???と…

PICに入力する前にICゲートで何をしたいのでしょうか?
安定した、HighもしくはLowが得られるんでしょうか?

これでは何言ってるか分かりませんかね…すみません。

84 :名無しさん@3周年:03/11/09 17:34 ID:Nyb9jXNX
>>83
バッファ

85 :名無しさん@3周年:03/11/09 17:38 ID:lmAp7FBE
>83
ICゲートは、センサからのアナログな電圧をデジタルな電圧に変換し検出された
ラインの波形を整形するために入れられています。

フォトマイクロセンサのデータ
ttp://www.omron.co.jp/ecb/products/photo/3/ee_sf5_3.html
TC4049Bのデータ
ttp://www.semicon.toshiba.co.jp/td/ja/General_Purpose_Logic_ICs/CMOS_Logic_ICs/20010929_TC4049BF_datasheet.pdf

センサの出力は、ラインからの反射光に対応するアナログ的な電圧が連続的な変化で出てきます。
ICゲートは、この電圧を2.25V以下を"Low"、2.75V以上を"Hi"として入力してそれを反転して出力します。
(本当は、シュミットゲートTC4584BPが望ましいのですが。。。)

ICゲートが無ければ(論理条件は合わせてね)、この"Low"、"Hi"、の判断はPICがする事になりますが、
PICは電源電圧が非常に広いので、センサーの検出感度が意図しない状態になります。
つまり動作的には、カクカクし過ぎてスムースにトレース出来なくなる可能性があると言う事。

86 :名無しさん@3周年:03/11/09 17:38 ID:+knsbvzg
シュミット付きインバータ(4584 or 74HC14)なら波形成形の
意味があるんだけど。よく知らないで作ったとか?

87 :名無しさん@3周年:03/11/09 17:41 ID:+knsbvzg
それかセンサの方が電源電圧が高いとか?

88 :名無しさん@3周年:03/11/09 19:40 ID:K36ZTXZk
>>84-87
レス大変感謝します。
ちょっとそれらについて考えてみます。

>よく知らないで作ったとか?
製作実験でして、回路与えられて作ったんです。
現在、レポート中でして、回路を細かく考察してました。

89 :名無しさん@3周年:03/11/09 20:13 ID:8OH8HlXO
とりあえずバッファを入れればなだらかな電圧変化が急峻になると思う。
ノイズ除去はできないけど、ソフトでなんとかするんじゃないかな。
シュミットトリガ使うと、H→LとL→Hでスレッショルドが違うから、
それが問題になる用途だとマズイのかな。
(ラインを見ていて、白→黒になる点と、黒→白になる点が同じじゃ
ないとマズイとか)

90 :名無しさん@3周年:03/11/09 20:26 ID:K36ZTXZk
とりあえず、なんとなく分かったような…

しかし分からないのが、Not-Notとしてることです。
なぜ非反転一つにしないのでしょうか???

あー、やっぱ良く分からない…

1.バッファ
2.センサからのアナログ電圧をディジタルに

が主な理由なんですね。2.は分かりました。
しかし、1.についてが良く分かりません。
手持ちのアナログ、ディジタルの教科書を見てみましたが。
ネットで探してみます。シュミットトリガ…
やばい、知らないことだらけだ。

91 :名無しさん@3周年:03/11/09 21:17 ID:P4ZVN1iH
>>83
具体的な回路の概略をさらしてみませんか?
単に
Vcc(PICと共通)
 |
抵抗
 |
 +−−−−4049B----->PIC
 |
受光器
 |
GND(PICと共通)
なんですか?これだとすると理由がわかんないですね。


92 :名無しさん@3周年:03/11/09 21:25 ID:K36ZTXZk
Vcc----可変抵抗 Vcc
| |
抵抗 |
| |
発光部 → 受光部 +-----抵抗---+
| | | |
GND +--------NOT--NOT-------→PICへ
|
GND


ずれたらすみません。↑こんな感じです。

93 :名無しさん@3周年:03/11/09 21:27 ID:K36ZTXZk
Vcc----可変抵抗 Vcc
| |
抵抗 |
| |
発光部 → 受光部 +-----抵抗---+
| | | |
GND +--------NOT--NOT-------→PICへ
|
GND

94 :名無しさん@3周年:03/11/09 21:28 ID:K36ZTXZk
あうあー…スレ汚し本当にすみません。

95 :名無しさん@3周年:03/11/09 21:38 ID:+knsbvzg
ずれててよくわからないのだが
1段目のNOTの入力と2段目のNOTの出力の間に
抵抗があるのか?
それならそれがヒステリシスを付ける役目をしているんだよ。
(シュミットインバータと同じ働き)

96 :名無しさん@3周年:03/11/09 21:40 ID:K36ZTXZk
Vcc──可変抵抗   Vcc
        │     │
       抵抗     │
        |       |
      発光部  受光部 ┌----抵抗---┐
        |      |    |         |
       GND    ├───NOT--NOT───→PICへ
              │
             GND

これでどうだ!
>>95
そうです。シュミットインバータですか。
明日、図書館で今まで出てきたこと調べてきます。

97 :名無しさん@3周年:03/11/09 21:56 ID:P4ZVN1iH
>>96
あーそれなら納得。
安易にシュミットトリガの石を使わず勉強させる親心でしょうか?
って、あれ?受光側抵抗1本抜けてない?書き忘れだよね。




98 :名無しさん@3周年:03/11/09 21:57 ID:+knsbvzg
受光部の負荷抵抗で兼用していると予想

99 :名無しさん@3周年:03/11/09 22:05 ID:+knsbvzg
あ、負荷抵抗も抜けてるか

100 :名無しさん@3周年:03/11/09 22:09 ID:P4ZVN1iH
>>98
焼ける焼けないの問題じゃなくて、
この回路じゃいつでもLoを吐き出す予感がするんですが。


101 :名無しさん@3周年:03/11/09 22:12 ID:K36ZTXZk
>>97
すみません。右のGNDと出力の間に抵抗忘れました…



102 :名無しさん@3周年:03/11/09 22:17 ID:+knsbvzg
いや、ちょっと>>97の指摘を勘違いしただけ。
ヒステリシスはNOT-NOTの入出力間の抵抗と
NOTの入力の抵抗の比で作るんだけど、>>97
その抵抗のことを言っているのかと思ったので。

103 :名無しさん@3周年:03/11/09 22:22 ID:K36ZTXZk
>>102
そうですか…

とりあえず、明日は
・バッファ
・シュミットトリガ
・ヒステリシス
辺りをヒントに図書館を漁って来ます。

PICにあんまり関係ない話題に付き合って頂いて、本当に感謝します。

104 :名無しさん@3周年:03/11/09 22:28 ID:lmAp7FBE
>96
正しくは受光部とNOTの間に、もう1本抵抗が必要です。(受光部が抵抗なんでしょうけど)
インバータ2つと抵抗2本でシュミット特性を持った入力ゲートを作る事が出来ます。

こちらでは、バッファですが実際の対策方法が記述されています。
ttp://www.tij.co.jp/jsc/docs/faq/logic/logic/5v/5v_058.htm

しかし、実際の回路に組んだ場合、周囲の温度、ノイズ条件など環境の変化に影響を
受けるので応急的な対策以外はお勧めしません。

105 :名無しさん@3周年:03/11/09 23:26 ID:P4ZVN1iH
NHK、嘉数氏に当確

106 :名無しさん@3周年:03/11/09 23:27 ID:P4ZVN1iH
すんません、誤爆・・・・

107 :名無しさん@3周年:03/11/10 22:01 ID:kBm6JB5U
昨日、ICゲートでお世話になったものです。
なんとかレポートにまとめられそうです。本当に有難うございました。

108 :名無しさん@3周年:03/11/11 00:00 ID:AyA7P+sf
|ω・`).。oO(PICのポート(PORT Bだけ?)って、シュミット入力じゃなかったっけ・・・)

109 :名無しさん@3周年:03/11/11 00:22 ID:0+krJEda
話は変わりますがPIC16F84AでPORTBが出力の時
なんでRB4はオープンドレインなんでしょうか?
1をセットしたらLOW
0をセットしたら何にもならない
シンク電流が25mAより増えるわけでもなさそうだし

なんか利点でもあるのでしょうか?

110 :名無しさん@3周年:03/11/11 01:42 ID:CCi8/0g4
>>109
出力のままポートが読めると便利なこともある
出力を並列につなげられると便利なこともある

111 :名無しさん@3周年:03/11/11 02:49 ID:9Mbzqxxl
>108
シュミット入力は、RA4になるはず。なお且つ、オープンドレイン出力でもある。
上手に使うと、入出力モードの変更無しに、双方向ポートになります。
双方向ポートは、複数のPICを接続して使う時にリクエストラインとして使えます。
マザーボードのIRQシェアリングのイメージが意味的に近いです。

112 :名無しさん@3周年:03/11/11 03:01 ID:9Mbzqxxl
>111 間違えた。
シュミット入力は、RA4,RB0,RB6,RB7の4ポートでした。お詫びして訂正いたします。

113 :名無しさん@3周年:03/11/11 03:10 ID:9Mbzqxxl
RA4:常時入力はシュミットトリガ入力
RB0:外部割り込み入力にすると、シュミットトリガ入力。
RB6:シリアルプログラミングモードにすると、シュミットトリガ入力(クロック)
RB7:シリアルプログラミングモードにすると、シュミットトリガ入力(データ)

114 :名無しさん@3周年:03/11/11 19:25 ID:vZyd6ymf
1軸で回転する模型にジャイロを搭載し、ジャイロからの角度データをPICに取り込んで、
模型に搭載されたモータを制御し、モータの反動を利用して模型を目標角度に収束させる。

このようなことをPICでしたいのですが、可能でしょうか?
現在、基盤を作ろうとしているのですが、1から作成するのは初めてなもので・・
何が必要なのかよろしければ教えてください。

115 :名無しさん@3周年:03/11/11 19:34 ID:vqOxpciI
>>114
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD+%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88&lr=

116 :名無しさん@3周年:03/11/12 02:01 ID:pyEBMQQX
>>110
>>111

あまり理解できませんでしたがとりあえず理由があるのですね。初心者には難しい。。。
入力にも出力にもなるというのは便利そうなので調べてみます。

ありがとうございます。

シュミット入力とは5Vを抵抗なしで直接入力できる端子っていう意味で合ってます?

117 :名無しさん@3周年:03/11/12 02:05 ID:vRK7WrNO
>>116
あってません

詳細はぐーぐる先生にて。

118 :名無しさん@3周年:03/11/12 08:43 ID:oKSRBe7w
シュミット入力っていうのは、入力にコンパレータをヒステリシス付きで繋がなくても
スルーレートの低い信号をそのまま入力できる入力端子の事です


119 :名無しさん@3周年:03/11/12 10:55 ID:XpebY+NV
>>116
なんかNMOS時代の石のようだな。

120 :名無しさん@3周年:03/11/12 22:40 ID:Ka+Db1ws
>116
下記のページ、デジタル回路のシュミットトリガ入力の概要を参照しましょう。
ttp://plaza12.mbn.or.jp/~audio/fbeep/frob_01.htm

>シュミット入力とは5Vを抵抗なしで直接入力できる端子っていう意味で合ってます?

最初のPICの端子の話を、混線して理解しようとしています。
今一度、PIC16F84のデータシートの「5.0 I/O ポート」の説明を100回ほど音読しましょう。
ttp://www.microchip.co.jp/30430c-j2.pdf

「5.2 PORTB とTRISB レジスタ」の所に、
「PORTB の各ピンには内部で弱プルアップの設定を行うことができます。」

これが、「5Vを抵抗なしで直接入力できる端子」の誤解のポイント。
正しく言い直すと、「GNDに接地する事で、抵抗なしで直接入力できる端子」です。

で、説明の部分は肝心の「シュミット入力」とは全然関係ない所を示しています。

シュミット入力の所は、「5.1 PORTA とTRISA レジスタ」の
「RA4 はシュミットトリガ入力およびオープンドレイン出力です。」が、説明文です。

121 :名無しさん@3周年:03/11/13 00:58 ID:WaEsezmp
google先生に
TTLシュミット入力 [Schmitt trigger TTL input]
TTLレベル信号(DC+5V)を直接入力でき、また高速入力ができる。
と教えてもらい勘違いしてしまいました。

120さんに教えてもらったサイトが大変参考になり、
118さんの解説の意味がやっとわかりました。

回路の授業を受けた事が無いので知らない単語が多すぎて
いつも苦労しています。今回TTLレベルの意味もわかりました(恥)

ありがとうございました。

122 :名無しさん@3周年:03/11/13 01:33 ID:H+UwmKBC
初歩のラジオとかラジオの制作が無くなった功罪だろう。
勉強するにも敷居が高くなってしまった・・・。

123 :名無しさん@3周年:03/11/13 06:38 ID:ZiQ/eIt8
>>122
その代わりググると一杯参考になる初心者向け解説サイトがあるじゃないですか。


124 :名無しさん@3周年:03/11/13 06:42 ID:H+UwmKBC
>>123
少なくともここでうざがられる奴は検索とか出来ないらしい。

125 :名無しさん@3周年:03/11/13 19:29 ID:gbjxUlN7
>124 なかなかの、2chスレ宇宙の真理を突いている見解で、良いです。

126 :名無しさん@3周年:03/11/13 20:40 ID:WaEsezmp
基礎的な用語をぐーぐるで調べるのは結構大変です。
ためしに[シュミット入力]+[用語][解説][とは]などで検索してみてください
みなさん常識的にこの言葉を使っているのでその意味を知るには
ほねがおれます。
初心者スレなのでやさしく教えてやって下さい

127 :名無しさん@3周年:03/11/13 21:05 ID:n08O1Lj4
>>126
初心者って言ってもマイコンやるような香具師なんだから、マイコン使わないレベルの電子工作の初歩くらい走ってないと駄目だろ。
さすがに。

128 :名無しさん@3周年:03/11/13 21:09 ID:yvJRZeMj
確かにいきなりググると混乱するな。やっぱり入門書。
初ラはなくても電子工作入門書はたくさんあるよ。
私は2年ほど前再入門した初心者だけど、ある程度までは入門書に困ることはなかった。
入門書でそこそこ理解したらあとはぐーぐる先生でもどうにかなる。


129 :名無しさん@3周年:03/11/13 21:21 ID:H+UwmKBC
例えば・・・「調査してこうだと思うんだが意見聞かせろゴルァ」だったら
「おまえうざー」にはなりにくいんだが、調べもせずクレクレとか、あまりに
基礎知識がなさすぎると、やっぱり「うざー」になりやすいだろうね。

130 :名無しさん@3周年:03/11/13 22:03 ID:qxIlgzJw
質問してるやつも質問の仕方がわからないやつが多い

131 :ド・シロート:03/11/14 12:12 ID:Ry8/bjtR
命令を勉強中の超初心者です。

1、論理演算命令で、ANDがANDWF、XORがXORWFは分かるんですが、
なぜORはIORWF、IORLWで、頭にIが付いているんですか?このIは何ですか?

2、MOVEは、d=0の時fレジスタの値をWに入れるのは分かるんですが、
d=1の時、レジスタに入れる、が分からないんですが、
読み出したものをすぐそこに入れてどうなるんですか?何の意味があるんですか?

132 :名無しさん@3周年:03/11/14 12:37 ID:Ohyr5mq9
>>131

1、データシートとかの命令表を見ればわかる。

2、MOVF?、フラグを変化させたいときとか。

133 :名無しさん@3周年:03/11/14 12:59 ID:j7dOdoNV
>>131

PIC16F84マニュアル
ttp://www.microchip.co.jp/30430c-j2.pdf

61,62ページ読め


134 :名無しさん@3周年:03/11/14 16:23 ID:CzQRYFP7
>>131
PICのMOVFは132が言っているように
フラグを変化させる意味があるわけだけど
Z80のLD A,Aのように完全に無意味な命令があるCPUもある。
命令デコードの関係でそういう無意味な命令が
できちゃうこともあるんだよね。
「すべての命令には何かしら意味があるはず」
なんて考えなくてもいいんじゃない?
自分が使う必要ない命令だと思ったら
使わなきゃいいんだし。

135 :名無しさん@3周年:03/11/14 16:34 ID:T6/HMe/1
どんな命令でもNOP以上の意味はあると

136 :名無しさん@3周年:03/11/14 16:41 ID:RMw1tO1B
フラグ操作って大きな意味を持ってるんだが。(w

137 :名無しさん@3周年:03/11/14 16:46 ID:eQdB6hgu
>131
IORLW = Inclusive OR Literal with W
IORWF = Inclusive OR W with f
[Inclusive] = [包括的な、すべてを含む]
PICは組み込み用途のCPUですから、
計算する数値をビット「bit」で扱うのか、バイト「byte」で扱うのか区別が出来ないと
不便ですから、1バイト分全ての8ビットを同時に演算すると言う意味あいを込めてそう呼ぶのです。
人間様のように臨機応変に、ORする事は出来ないって事です。(w

命令実行数の節約も兼ねているのです。
レジスタにロードしてからフラグをチェックしたのでは遅いし手間が掛かりすぎます。
>f レジスタから f レジスタに移動することは無意味に思えますが、フラッグを設定する目的で使用します。
ttp://www.hobby-elec.org/pic3_7.htm#movf

重箱の隅をつつくような純日本風の質問ですが、命令全体を見回して実際にプログラミング
していれば分かる内容ですね。命令語の意味を覚えるだけで時間が掛かり、実際の生きた
勉強になっていない、机上の空論的学習方法で無いかな?

138 :名無しさん@3周年:03/11/14 16:56 ID:T6/HMe/1
>>137
Inclusive OR(包括的論理和)って、eXclusive OR(排他的論理和、XOR)に対するものとして使っているのではないのですか?


139 :名無しさん@3周年:03/11/14 17:33 ID:T6/HMe/1
>命令実行数の節約も兼ねているのです。
>レジスタにロードしてからフラグをチェックしたのでは遅いし手間が掛かりすぎます。

movfでも実行後にフラグをチェックして各種動作をしなければならないですよ。
レジスタにロードして比較演算や論理演算してフラグを立てて、では遅いし手間が掛かる、ですね。
フラグチェックを同時に行えるお得な命令はINCFSZ,DECFSZなどだと思いますが。

しかし考えてみると演算でもないMOV命令でフラグが立つのも妙な感じがします。
MOVWFやMOVLWではフラグ変化しないようですし、統一もとれてない。
こういうMPUってたくさんあるのでしょうか?


140 :名無しさん@3周年:03/11/15 01:23 ID:9tajkDx2
↑ 現実逃避

141 :名無しさん@3周年:03/11/15 10:08 ID:p0dCfOGx
>>139
だから、PICの割り込み時のステータスを退避させるのに

PUSH:
MOVWF W_TEMP
SWAPF STATUS, W
MOVWF STATUS_TEMP

POP:
SWAPF STATUS_TEMP, W
MOVWF STATUS
SWAPF W_TEMP, F
SWAPF W_TEMP, W

って、アホみたいな記述になるんだよな。
PUSH,POPくらい普通に搭載しておけ、といいたい

#秋月で PIC18F452が買える様になりましたな。
しかも800円で安いし。18F252はないのかなー

16C84だって、当初は800円くらいしなかったっけ?

142 :名無しさん@3周年:03/11/15 16:52 ID:fBtBRF/T
だって、所詮PICだしぃ。そんなもんでしょ。


143 :141じゃないけど:03/11/15 17:05 ID:bVyLywl3
>>142
まあ、だから惜しいナ、ということ。悪いとは言わないし改善すべきだとも言わないよ。
命令デコード関係でなにかどうしようもない理由があるのかも知れないし。

144 :名無しさん@3周年:03/11/15 21:43 ID:oENv/1z2
マクロ書いておけば手間はワカランとおもう

145 :名無しさん@3周年:03/11/15 23:48 ID:TdUu87TV
>144 ぜひ参考までに、マクロ文例集を見せてくださいませ。


146 :名無しさん@3周年:03/11/16 00:12 ID:VLs1tj2z
>>145
>>141をマクロにするくらい簡単じゃないのか?

147 :名無しさん@3周年:03/11/16 01:02 ID:qKcy3Rso
ちょっと高機能なPIC16F819を買いました。
試しにLEDを点滅させてみたのですがどうもおかしいんです。
同じプログラム(入力出力設定の後コピペ)を84Aと819の両方に書き込んで
84Aを10MHz、819を内部オシレータ8MHzで動かしたら
16F819の方が8倍くらい早く点滅しています。

まさか1命令1クロックで動いてます?そんなわけ無いですよね。計算合わないし
どういった原因が考えられるでしょうか?

148 :131のド・シロート:03/11/16 01:23 ID:TlxwDh/X
132−137皆様ありがとうございました。

149 :名無しさん@3周年:03/11/16 01:28 ID:oQWWoExP
>147
PIC16F818/819 Rev. A4 Silicon/Data Sheet Errata
ttp://www.microchip.com/download/lit/suppdoc/errata/80159a.pdf
RB3ポートを「どーにかする」と、リセットが掛かりますが?

関係無ければ、ゴメン。

150 :147:03/11/16 01:47 ID:qKcy3Rso
もっと詳しく調べてから書き込むべきでした。

タイマーのサブルーチン内の様子を見ていたら、
MOVLW D'248'
MOVWF CNT1
の命令を実行するとCNT1の値が10進数で72になりました。
よく見ると CNT1 EQU 0C となっていました。

149さんごめんなさい

スレ汚してすみませんでした。

151 :名無しさん@3周年:03/11/16 04:53 ID:OFoxiwFJ
なんか、安いCコンパイラを見つけたんですけど、使っている人いるんでしょうか?
http://www.picant.com/c2c/c.html
とりあえず2週間は無料で使えるみたいですが
HITECH-C demoが16F819をサポートしてくれないかなーという妄想。
とりあえずは16F877のターゲットデバイスにして、
OSCCONをアセンブラで書けばなんとか16F819でも1Kワード限定で
吐き出してくれるのでなんとかなってますが。

152 :名無しさん@3周年:03/11/16 10:57 ID:exKG1OG7
おれベーシックしか出来ないんだよ

153 :名無しさん@3周年:03/11/16 11:15 ID:YmRA2Rlp
>>152
( ゚Д゚)

154 :名無しさん@3周年:03/11/16 20:23 ID:w3w2PxCF
目的の機能が実装できれば言語は何でもイイんじゃないの?

155 :名無しさん@3周年:03/11/16 21:59 ID:jXQk06Lr
そうそう
目的の行為が出来るんならハングルでもタガログでも何でもイイよね

156 :名無しさん@3周年:03/11/16 22:19 ID:tYaR81ve
弘法筆を選ばずって言うしね(w

157 :名無しさん@3周年:03/11/16 22:46 ID:29rSMb/B
工房筆おろしで立たずって言うかな?

158 :名無しさん@3周年:03/11/16 23:05 ID:tbH2Vibi
>>157
…それ笑えねぇ

159 :名無しさん@3周年:03/11/16 23:05 ID:ebziCu90
そういえば日本語mindなんてあったなあ

160 :名無しさん@3周年:03/11/17 13:36 ID:0jITUptY
>>157
立たないのと、入れる前に出ちゃうのと、どっちがマシですか?
(´・ω・`)

161 :名無しさん@3周年:03/11/17 19:34 ID:bbt1E6Oa
俺なんて、どうやっても入らなかったよ・・・(´・ω・`)

162 :名無しさん@3周年:03/11/18 02:10 ID:eCudmAcD
年寄りが初体験の失敗談を語るスレは此方ですか?
思い起こせば特殊浴場がトルコと言われていた頃、西川口の(以下略

163 :名無しさん@3周年:03/11/18 02:13 ID:AijI2xpX
つまらんよ。特に>>162

164 :名無しさん@3周年:03/11/19 02:35 ID:HmJc7m2l
重症?

165 :名無しさん@3周年:03/11/19 18:38 ID:AEFQRPFU
秋月のPICプログラマVer.3を組み立てたのですが、
通電中、RS232CドライバのSP202が長時間手で触れないほどに熱くなります。
これで正常なのでしょうか?

166 :名無しさん@3周年:03/11/19 18:50 ID:kINNqRyJ
>>165
異常に決まってる
配線と部品をよく見直すんだ

167 :名無しさん@3周年:03/11/19 20:43 ID:AEFQRPFU
>>166
レスthx!
やっぱ異常ですか。
回路図が300km彼方で確認できん。_| ̄|○
PICといっしょに回路図集CD-Rでも買うか。

168 :名無しさん@3周年:03/11/19 21:01 ID:HztiHUtt
PCBを裏返してSP202周りの半田付けを目視で確認せよ
足の間で半田がブリッジしてないか?
ICを逆差ししてないか?
その程度の確認なら回路図なんか要らんぞ


169 :165:03/11/19 21:27 ID:AEFQRPFU
テスターで調べてみると7805から10Vほど出てました。
一度317とつけ間違えて結構無理して外したから、
熱で死んだのかも。
今度代わりのを買ってきて付け替えてみます。

170 :名無しさん@3周年:03/11/19 22:12 ID:L0D4QSNa
てか、10Vも出てたら、SP202もPICも逝っちゃってるんじゃないか?

171 :165:03/11/19 22:28 ID:AEFQRPFU
>>170
不思議なことに、これで書けたり読めたりしました。
PICってずいぶん丈夫ですな。(w
まぁ、ICは総取り替えしないとダメだろうな。
PICはVer4のと交換か。

172 :名無しさん@3周年:03/11/20 00:57 ID:wVvEVGra
PICでPOWER MOS FETを駆動させるときに、PICのピント、FETのゲートの間に
抵抗って入れたほうが良いのでしょうか?

ネットでいろんな回路や、説明を見たところ、10〜100Ωの抵抗を入れたほうが良いと
書いてあるところや、1Kの抵抗をいれてある回路、抵抗の入ってない回路などが
ありました。どっちでもいい・・・のかなあ?

ところで2SK2232って安すぎませんか?
VDSS:60V VGSS±20V ID:25A IDP:100A PD:35W RDS(ON):36mΩ
共立エレショップで100円です。FETの高いのは16F877くらいに高いのに

173 :名無しさん@3周年:03/11/20 01:53 ID:KemkkW43
一杯作ったんだろうさ。>FET
しかしゲート電圧20[V]じゃロジックでは使いにくいな。

174 :名無しさん@3周年:03/11/20 07:35 ID:3ATh0epw
>>172
明確に必要と言えるのはソース接地でかつ複数個のMOS FETを
パラにするときだけ。
それ以外で入れてるとしたら…なんだろう。気休め?

175 :名無しさん@3周年:03/11/20 07:36 ID:3ATh0epw
まちがった
×ソース接地
○ソースフォロワ

176 :ガイシュツ ◆atMKiSyUTU :03/11/20 23:47 ID:tUncov5h
>174
PIC側のCMOS出力の過渡電流制限…かなあ

177 :名無しさん@3周年:03/11/21 12:59 ID:J8F5vFkm
>172
寄生振動の防止と、スイッチング速度を抑制するのが大きな目的。


178 :名無しさん@3周年:03/11/21 13:12 ID:KFES1EBf
>172
>177 さんのいうとおり

MOSFETの駆動は、甘く見ない方がいいよ、
FMラジヲ聞いていると、猛烈な雑音が出たりしている。
オシロスコープは必須だよ。
波形を見ると、ゲート抵抗によって、出力波形の変化が見える。
遅延と損失の許す範囲で、なるべく大きな抵抗を入れるのが重要。


179 :165:03/11/21 14:31 ID:bYqrryKl
7805を交換したら普通に読み書きできるようになりました。
PICって丈夫なんですなぁ。

180 :名無しさん@3周年:03/11/21 15:42 ID:n94rRJ2R
CMOSだからな

181 :名無しさん@3周年:03/11/21 22:12 ID:lmc2QERn
>>175
なぜソースフォロワだと抵抗が要るんですか?
おしえてくださいまし。


182 :名無しさん@3周年:03/11/21 22:17 ID:gAFE8m3z
単純に考えてみよう。
ゲートは容量負荷、つまり突入電流は無限大ってことだ。


183 :名無しさん@3周年:03/11/21 23:02 ID:n94rRJ2R
んで5V50mAくらいに制限したきゃ100Ω1/4Wってことか

184 :名無しさん@3周年:03/11/21 23:06 ID:jJCAb3XO
>>182
でもそれなら、オープンドレイン(≒ソース接地)でも
言えることではないでしょうか。
ソース接地からあえてソースフォロワに修正した訳が
知りたいですぅ。


185 :名無しさん@3周年:03/11/22 01:44 ID:RILWPaGe
秋月のPICライター動作チェックに成功しました。
明日は実験回路を作ってみます。
一気にやってみたい気持ちを抑えてw

186 :名無しさん@3周年:03/11/22 01:58 ID:Qq7/Oyn/
>>185
ん?誰だ?
日記なら要らんぞ!

187 :名無しさん@3周年:03/11/22 20:56 ID:sWSSRSiW
PIC16F873 に誤って 12V 掛けたんだけど無事でした。
周辺の温度センサや表示器は壊れたんだけどね。

188 :名無しさん@3周年:03/11/22 22:05 ID:MQNwWzSK
PICかH8の良し悪しを教えてもらえますか?

オイラの足りない脳で知っている所では、PICはコントロール特化で扱いにくい。
H8はオールラウンダーというところとか・・・
PICはRISCで電気用品に多く使われていて、H8はCISC?でロボコンとかに使われてたりするとか・・・


もう少し、勉強するつもりですが、みなさん教えて!

189 :名無しさん@3周年:03/11/22 22:14 ID:MQNwWzSK
例えば、周波数や命令の違いなどはどうなのでしょうか?
PICだと20MHzぐらい。命令はRISCの35命令程度。

どっちが、どんなの時に使えるのか知りたいのです。
あと、命令の速さ、プログラムのスピード、同じLEDに点滅させるならH8とPICのどちらが速いのか。
そして使いやすさもです。だいたいの感じで。

190 :名無しさん@3周年:03/11/22 22:20 ID:qT2iYcy6
>>188
PICを使い始めて数日で、H8は使ったことが無いのですが、
LEDでナイトライダー作るぐらいの回路ならPICが適任。H8には役不足。
自立型の相撲ロボット作るなら、PICでは力不足でH8が適任。
っつー感じではなかろうか。

191 :名無しさん@3周年:03/11/22 22:29 ID:MQNwWzSK
>>190
ひょっとして同志?
俺も、PICを本読んで自作ライタを制作しようとしてるところです。
まだ、全部部品そろえてないけど。

192 :名無しさん@3周年:03/11/22 22:30 ID:MQNwWzSK
67 名前:あさはかマン[] 投稿日:2001/03/15(木) 12:59
>>65
RISCアークテキチャと、
1クロック1命令実行可能(パイプライン実行)は
あんまり関係ありません。

http://mentai.2ch.net/test/read.cgi?bbs=kikai&key=975273980&st=45

193 :名無しさん@3周年:03/11/22 23:18 ID:7YDOfXot
近ごろ方々で「ハーバードアーキテクチャ」という言葉を目にするんだが、
どこかで取り上げられたのかな?
最新技術であると勘違いしているのが結構いるような感じなんで、
どこぞの雑誌で偉そうに書いているのかと思ったりしたんだが。


194 :名無しさん@3周年:03/11/22 23:38 ID:qT2iYcy6
>>191
同士かな。
俺はライタは秋月のを使ってます。
今日は秋月のシリアル制御32x16ドットマトリクスLEDを点灯させてみました。
ドットマトリクス相手だと、PICだと微妙に力不足かな。
RAMが足りなくてスクロールできん。
AVRの方が向いているかも。

195 :名無しさん@3周年:03/11/22 23:51 ID:DeGU4Oyz
>>193
どうかな?しかしこの言葉の意味を真っ当に理解している人が
どのくらい居るんだろう?
アドレスバスとデータバスがマルチプレクスされていない事を
ハーバード・アーキテクチャだと言ってる奴が居るくらいだし。

196 :ネタ心者:03/11/23 09:58 ID:UJAAB2ni
ITRONとかの組み込みOSって、PICやH8・AVRのようなマイクロコンピュータICと思っていいんでしょうか?
あと、BIOSのROMもそんな感じですか?

197 :名無しさん@3周年:03/11/23 11:44 ID:EwyU7XeA
↑ ずいぶん程度の低いネタだな

198 :名無しさん@3周年:03/11/23 13:23 ID:V1nLGExv
>>196
初心者と読ませるには1画足りないぞ

199 :名無しさん@3周年:03/11/23 16:17 ID:zUvSrJts
>>196
そそそ、それでいいんじゃない。違うかも知んないけど。

200 :名無しさん@3周年:03/11/23 18:14 ID:iCbRCsiG
ttp://www8.big.or.jp/~morinaga/tou2000/itani.mpg

↑これってどんなマイコン積んでるんだろう

201 :名無しさん@3周年:03/11/23 18:45 ID:QR7mCyaE
>>200
サイトのトップから入って探せば概ね解るのでは?
一応サイトに行ってみてざっと見た感じでは、SHのようだったが。

202 :名無しさん@3周年:03/11/23 19:17 ID:IrljRCew
>>196
釣りかも知れないが
OSとハードウェアとしてのマイコンとファームウェア納めるROMとごっちゃにするなよ。
日本語が足りないだけかもしれないが
ちなみに"BIOSのROM"ってのがPCの話なら、これはPCのCPUで動いてる。
確認したければCPU抜いたPCでBIOS画面が出るかどうか試してミロ>

203 :名無しさん@3周年:03/11/24 10:43 ID:SEa2SvTu
>>195
たぶん、「コードとデータ」というのを「アドレスとデータだろう」と読み違った
んだろうな。

>>196
ひねりが足りないなぁ。
BIOS-ROMに組み込み用のOSを仕込むっていうのはやったことがあるよ。
拡張BIOS-ROM領域にリアルタイムOSを仕込んでおいて、ボード上につけ
ておいたジャンパピンの状態を見てOSモードだったらPCとして起動させな
いで、組込用OSが走る。
メンテとかするときには組み込み用OSじゃ面倒だから、ジャンパ切り替えて
DOSのフロッピー入れてDOSで動くテストプロを立ち上げるとかね。
(CTTY COM1:とかやると、COM1経由でコマンド一式使えるし)


204 :名無しさん@3周年:03/11/24 17:16 ID:nUswYcvo
PICのA/Dコンバータの使い方教えてください。

外部からのアナログデータをRA0(A/Dch0)に取り込み、デジタルデータにして出力させたいのですが。
プログラムだと

setup_adc(ADC_CLOCK_DIV_2);
setup_adc_ports(RA0_RA1_RA3_ANALOG);
set_adc_channel(0);

などを使うようですが、プログラムの組み方がわかりません・・・
AD変換された結果のデジタル値はどこを読めばいいのでしょうか?
できれば簡単なプログラムを書いて、教えてくださるとありがたいです。

205 :名無しさん@3周年:03/11/24 18:13 ID:Pn06aUcH
read_adc() で読めるぞ

206 :名無しさん@3周年:03/11/24 20:28 ID:VpkvCSM8
CCSコンパイラーの取り説とCDの中にサンプルソースが載っているので
それを見れば一目瞭然だよ。
基本的には、
setup_adc(ADC_CLOCK_DIV_2);
setup_adc_ports(RA0_RA1_RA3_ANALOG); ADCの設定、

set_adc_channel(0); どのchを変換したいかの入力切替え、

a = read_adc(); 変換スタートと変換値の格納。

207 :名無しさん@3周年:03/11/24 21:50 ID:+NhWdIUd
CTTY COM1からDEBUGで、COM1につないだ機器に対してREMOTEDOSアセンブラすることってできるの?

208 :名無しさん@3周年:03/11/25 15:54 ID:RUKpcGdz
CTTY COM1:
すれば、DOSコマンドはCOM1につないだターミナルからできる。
(COMポートのボーレート設定などはお忘れなく)
COM1を別用途で使いたいならCOM2へどーぞ

209 :204:03/11/25 17:07 ID:LeAW1dnj
プログラムは組んだのですが、変換されたデータを、コントロールデスクなどで見たい場合
どのPINを読めばいいのでしょう?

210 :名無しさん@3周年:03/11/25 21:29 ID:xS1JFDu1
>>200
マイクロマウスはだいたいH8かSH2
まぁH8で十分だけど

211 :名無しさん@3周年:03/11/26 01:29 ID:Vj/KlgP5
>>209
コントロールデスクって何?


212 :名無しさん@3周年:03/11/26 08:43 ID:TCkI7pRl
>>211
計器盤かな?

213 :204:03/11/26 11:06 ID:4g8gklyF
コントロールデスク。
http://www.linx.jp/products/control/doc/product_contrldesk.html

考えてみたのですが、デジタル値に変換されたデータを出力させたところで
1と0のパルスみたいのが出てるだけであんまり意味ないのかな?
ジャイロからの角度データをPICに取り込んでADして角度を読み取りたいのですが・・

214 :名無しさん@3周年:03/11/26 12:25 ID:TCkI7pRl
>>213
これって、モジュラーハードウェアとかの専用周辺機器とのやりとりしかできないんでないの?
でもって入力が可能なのは入出力ボードなどADC持ってるものみたいなんだけど・・・
PICを入れる理由がわかんない

215 :名無しさん@3周年:03/11/27 00:20 ID:ogLUYjmr
Microchip Application Maestroってイイ感じ

216 :名無しさん@3周年:03/12/03 00:35 ID:yZD5GWGi
古典制御理論のスタンダードPID制御についてお聞きしたいのですが

操作量=Kp×偏差+ki×偏差の累計+Kd×前回偏差との差
と電子工作の実験室に書いてありました。

比例項と微分項については問題ないのですが、
積分項の偏差の累計というのがわかりません。

偏差を累計していくと操作開始から偏差が積み上げられていきます。
やがて偏差が0になった時にも今まで積み上げてきた偏差のせいで
操作量は必ず+になります。やがてマイナスの偏差の累計で
積分項も0になるのですが、その時にはすでに目標値を大きく
超えています。

大学の教授にも意見を求めましたが、有用な解決法は得られませんでした。

コンピュータやマイコンを用いたサンプリング方式のPID制御を
ご存知の方がいらっしゃいましたらご教授の程
よろしくお願いします。


217 :名無しさん@3周年:03/12/03 00:47 ID:rV0THvuT
>>216
H∞

218 :名無しさん@3周年:03/12/03 01:17 ID:yZD5GWGi
積分時間が無限という事でしょうか?
確かにそのとおりでした。

しかし積分項を過去5回分の偏差の累計とした場合
比例制御の補正(残留偏差カット)の役割のはずの積分成分が
比例項のKp=5のような大きな働きをしてしまうように思えます。
かといってKdを小さくした場合、残留偏差を取り除くには
不十分な量の操作量しか得られない気がします。
積分時間とKdを調整したらいいのでしょうか

偏差があるにもかかわらず、偏差が減らない場合のみ
操作量を増やしてやることができれば良いと思うのですが。


219 :名無しさん@3周年:03/12/03 10:05 ID:87nvEw8o
>>216
そのとおりで、積分項を入れたら、必ずオーバーシュートする。
で、そのうち今度はアンダーシュートする。
そして、そのうちピッタリになる。
というように、積分項を入れると応答が振動します。

じゃ、なぜ積分項をわざわざ入れるかというと、比例項だけだと
定常偏差が残るからです。

定常偏差 をキーワードにして調べてみてください。

それでもわかんなかったらまた書いて下さい。




220 :名無しさん@3周年:03/12/03 10:08 ID:87nvEw8o
>>218
あ、残留偏差 っていう言葉が書いてあった。ごめん。

で、マイコン制御的にはどうするかというと
「観測された速度が目標速度の±X%以内に入っている時のみ積分項を加える」
とかすると、静定が早くなります。
位相引き込みみたいなものです。
Xは5%だったり50%だったりします。



221 :名無しさん@3周年:03/12/03 10:10 ID:87nvEw8o
あと、積分値の初期値を0にしておくのはなく、
プラスの値やマイナスの値を適当に入れておく
っていう手もあります。


222 :名無しさん@3周年:03/12/03 17:24 ID:dhN+BcrH
で、PICやAVRと何の関係が???

223 :名無しさん@3周年:03/12/03 17:33 ID:Cs1B1rew
>>222
頭が固いね。

224 :名無しさん@3周年:03/12/03 20:36 ID:yZD5GWGi
レスありがとうございました。

dcモータをpicを使ってサーボにしようと思い
MVn = MVn-1 + ΔMVn
 ΔMVn = Kp(en-en-1) + Ki en + Kd((en-en-1) - (en-1-en-2))
この式を使ったのですが振動が大きく収束する気配もありませんでした。

エクセルに式を入れてみると明らかにおかしな操作量が出ていました。
パラメーター調整でどうにもならなければ、積分項の初期値をマイナスに
しておくテクニックを使ってみたいと思います。

225 :名無しさん@3周年:03/12/04 00:06 ID:v60aCkTg
>>224
積分器にアンチワインドアップを入れておけばいいと思うが。

226 :名無しさん@3周年:03/12/04 16:51 ID:x9ah/pSl
>>225
オーバーシュートは積分器の宿命であって、
飽和によるワインドアップは関係ないと思うが?


227 :名無しさん@3周年:03/12/04 20:12 ID:bThD6ZQY
>>226
オーバーシュートを防げるなんて言ってないよ。
オマケに入れといたら?って意味。

228 :名無しさん@3周年:03/12/05 01:12 ID:3urclE7y
>>224は「z変換領域での安定判別」をベンキョしろ



229 :名無しさん@3周年:03/12/05 11:45 ID:+jkF0Y9t
>>228
|den(z)| < 1


230 :名無しさん@3周年:03/12/07 00:54 ID:ugSMQnv1
PICで、教えてください。

PICに内蔵のブラウンアウトリセット機能は、
一般に言う「リセットIC」の置き換えができるかどうか、ということです。

現在、外付けでリセットICを置いています。このリセットICの機能は、
  ・減電圧を見て例えば4.2Vで出力をLにし、
  ・起動時も含めて電圧が上昇後、決まった時間たとえば50mS後に
   Hを出力する
という機能をもったリセットICです。ミツミのPST591Dとかです。
データシートを見ると、PICのBROWNOUTも4.2V程度の検出電圧、
72mS+1024clock?程度の保持時間があるようなので
置き換えが出来るようであれば、外付けICが1個減るので嬉しいんです。
何か問題があるでしょうか?


231 :名無しさん@3周年:03/12/07 01:20 ID:9wnemRth
>>230
http://www001.upp.so-net.ne.jp/FITDESIGN/manu5.htm
に詳しく出てる。この仕様でよければOKじゃないでしょうか。
そのかわり電圧はリセットIC同様固定ですので、これを利用すれば
選択できるVddが制限されてしまいます。

前スレ
http://science.2ch.net/test/read.cgi/kikai/1040610345/493-502
にちょっと話題があった。まだ●ないと読めないね。


232 :名無しさん@3周年:03/12/07 02:40 ID:uwRYhnKZ
結論からいうと、ブラウンアウトリセット機能は「リセットIC」の置き換えにはならない。

233 :名無しさん@3周年:03/12/07 08:31 ID:9wnemRth
PIC内臓のPOT+ブラウンリセット回路とリセットICを対比させたら、
立ち上がりが遅い電源使用時はりせっとICに軍配が上がりそうだ。
↑にあるように、外付けで簡単なリセット回路を付加すれば
なんとかなるようだけど

234 :名無しさん@3周年:03/12/07 09:23 ID:eMufTWdI
タケイムセンが引っ越しして 広くなったね
カ○デンの前とは 勝負に出たなあ
そのせいで カ○デンの客も増えたみたい


235 :名無しさん@3周年:03/12/09 00:46 ID:HtsGIzy+
誤爆?

236 :230:03/12/09 22:28 ID:1kMMj+sV
>>231
コメントありがとうございます。
はい、電源電圧は5Vなので大丈夫だと思います。
現在もPST591Dは4.2V検出50mSなので、PIC内のBrownOutResetが
使えそうな気がしますね。

>>232
コメントありがとうございます。
どうして置き換えが出来ないのでしょう? よろしければ、
教えて下さいませんか? 電源電圧の上昇下降時間の速度が
問題なのでしょうか?

>>233
コメントありがとうございます。
電源電圧の立ち上がりが遅い場合でも、ブラウンアウト(BOR)機能が
働いて、4VになるまでデバイスをRESETし続け、その後BORを越えて
初めて72mS間のPOR、その後1024clockのOSTが働くので、
問題ないように思うのですが、どうでしょうか?

237 :名無しさん@3周年:03/12/09 23:04 ID:xikuIxyN
>>236
立ち上がりがゆるやかな場合、
4Vを超える瞬間に何度もリセットパルスが発生して
正常にスタートできない場合ってのがあるのだよ
データシートには書かれないがな。


238 :230:03/12/09 23:08 ID:1kMMj+sV
>>237
コメントありがとうございます。
えっ、ブラウンアウトリセットの入力は、
シュミット入力ではないのでしょうか? ちょっとビックリです。


239 :名無しさん@3周年:03/12/10 00:59 ID:N3z8DuMn
シュミット回路の動きをアナログ的に考えてごらんよ


240 :名無しさん@3周年:03/12/10 09:28 ID:H9Urn5Hc
データシートに書いてあるぞ

241 :名無しさん@3周年:03/12/10 10:20 ID:sJbv7hsB
230です
BOR入力がシュミットではない理由は
シュミットだと下限電圧が低いので
瞬断しても感じないことがあるからでしょうか

242 :名無しさん@3周年:03/12/10 13:26 ID:kky8KJEv
>>241
電源電圧自体の変動をキャッチするんだから、シュミット回路なんか使えない。



243 :名無しさん@3周年:03/12/10 13:29 ID:LFmTHaah
>>242
ふーん

244 :名無しさん@3周年:03/12/10 15:50 ID:P2tnBiYk
リセットICのスレッショルドって、ヒステリシス月じゃない?普通。。。

たしか、AVRのBORは100mV位あったような気がするが。スレッショルドも
電源電圧に応じて選べるし。。。

245 :名無しさん@3周年:03/12/10 23:06 ID:UghnglKT
>>244
AVRにBORなんてあったっけ?megaは知らないが。
AVRのPORにはヒステリシスあるね。でも2313で1.4V/0.6VでBORには使えない
リセット端子については0.85Vcc/0.3Vccのヒステリシスがありそう。
リセットICには小さなヒステリシス(PST600で50mV)あるみたい
PICについてはMCLRはシュミットトリガみたいだが、Vbodについては
ヒステリシスがあるかどうかの記載はないね。

246 :名無しさん@3周年:03/12/11 01:50 ID:iqtIZmgx
>>242
230です。
そうなんですか。
でも、リセットICにしろPICのBORにしろ、内部で1.2Vとかの基準電圧を作り
電源電圧を分圧したものと基準電圧を比較しているのではないでしょうか? (未確認)
そうすれば、シュミットをかけられそうな気がするんですが、どうでしょう?


247 :名無しさん@3周年:03/12/11 08:04 ID:oJr07Rk4
>>246
本来のシュミット回路はコンパレータ的機能がないからね。
コンパレータにヒステリシスを与える方法はあるんじゃないかと思うが。
シュミット回路にツェナーの定電圧を食わせて論理を反転させてもいけるかもしれない


248 :名無しさん@3周年:03/12/11 12:53 ID:0jWJ0Z45
>>246
「電圧の降下」を検出するものであって、
「規定の電圧に上昇」したことを検出するものではない。
よってシュミットつけるのはナンセンス


249 :名無しさん@3周年:03/12/11 13:21 ID:PXnkzfLd
>>246
こちらPST600の等価回路がある。その通りの回路のようですね。
http://www.madlabo.com/mad/gid/pdf/pst600.pdf
まあBORなどは電圧上昇感知後一定時間はリセットかけつづけるわけで、
この時間の間に閾値付近より充分上昇してくれることを期待しているんでしょう。

PST600で言えば5V電源に対して4.5Vとか4.2Vとかなり近いところに閾値を設定し、
しかも製品のバラツキがあるわけで(PST600Cで±0.2V)、ここに大きなヒステリシス
なんかつけたら電圧下降・電圧復帰を感知できなくなるおそれがあると思う。

250 :名無しさん@3周年:03/12/11 13:34 ID:n9iJGTR9
>>249
の図でPFB掛けてるのはOP1のOPampの+入力のみでしょ。
(ここが、ヒステリシスループの安定性に関わる)
だから、OP1の出力後のTr2個の特性とヒステリシスループの周波数や電圧で変わってくるのでは?

251 :名無しさん@3周年:03/12/11 13:50 ID:PXnkzfLd
>>250
左側のopampの中にヒステリシスがついているというマークがあります。(シュミットトリガについてるのと同じマーク)
  __
 //
 ̄~
↑こんなの。


252 :名無しさん@3周年:03/12/11 14:03 ID:n9iJGTR9
なるほど、立ち上がりと立下りのスレッシホールド違うヒステリシスを入力側にもつけて、
結局ダブルにすると、スレッシホールドがぶつかって、リンギングの可能性があるってことか。

253 :名無しさん@3周年:03/12/11 15:38 ID:PXnkzfLd
>>252
え??

254 :名無しさん@3周年:03/12/11 16:27 ID:CQC+EF9W
>>250
右のPFBは出力Trのベース電流節約のため。
ヒステリシスループは左のコンパレータで完結している。

255 :名無しさん@3周年:03/12/15 15:58 ID:tUWAvnRT
PICのA/Dコンバータで負電圧を読み取るにはどうしたらいいのでしょうか?



256 :名無しさん@3周年:03/12/15 16:03 ID:WpBaW0pZ
>>255
今月号のトラ技114ページを見るよろし

257 :名無しさん@3周年:03/12/15 16:35 ID:sracZT2M
>>256
オイお前
親切ですね、ありがd

258 :名無しさん@3周年:03/12/15 16:57 ID:DpC5GklG
>>257
へぇ。方法あるのか。立ち読みしよう

259 :名無しさん@3周年:03/12/18 07:29 ID:9A2QlVTP
完全なるAVR素人です。
電子回路作ったことないです。
アセンブラ?はぁ?何それ?
という漏れがあと一ヶ月でどうにか
ひとつ簡単な作品を作れるようになるには
どこから勉強をすればいいんでしょうか?

 (´Д`;)、  オナガイシマス. コノトオリデス
   ノノZ乙

260 :名無しさん@3周年:03/12/18 07:36 ID:Zp4kMxpl
>>259
まず、人に聞く前にWEBで検索するか、本屋へ行くという事を覚える。

261 :次回テンプレに入れてくれるとありがたい:03/12/18 08:56 ID:7FJ2lqPF
>>259
AVRは本少ないからなぁ。それもSRAMがなくgcc使えない1200アセンブラだけというのはつらい。
http://www.amazon.co.jp/exec/obidos/ASIN/4789834387/ref%3Dsr%5Faps%5Fb%5F/250-0254293-7474611

とりあえずテンプレを見るといいことがあると思われ。
テンプレ以外なら・・・
http://www.cityfujisawa.ne.jp/~toko/pic/index.html (AVRもある)
http://www.mkusunoki.net/z-gypsy/kousaku/avr (とっつきやすい)
http://www.toshu-ltd.co.jp/gaki/
http://digit.kyohritsu.com/ (右側にAVR関連ページへのリンクあり)


262 :AVR素人(259):03/12/18 09:36 ID:QN5qa9I+
>>260
調べるぞ!!読むぞ!!

>>261
2、3番目の奴がすごく参考になりますた。
Cで頑張って書いてみようと思います。

あと超基礎的な質問で申し訳ないんですが、
割り込みハンドラ内で変数とか読み書きする時って、
割り込み前に使っていたレジスタの値を上書きすることはないんですよね?
割り込みハンドラ専用のレジスタとかあるんですか?

263 :名無しさん@3周年:03/12/18 09:47 ID:HNWZg4kI
>>262
AVRは必死に勉強しなくても使えるくらい中身が素直。

264 :名無しさん@3周年:03/12/18 10:23 ID:sbB3h9tQ
>>263
だな。PUSH/POPあるし。辺にRAMアドレスが分断してないし
ページ操作要らないし、
非破壊比較命令あるあし。

なんでPICより先にAVRが出てこなかったか、非常に悔やまれる。


265 :名無しさん@3周年:03/12/18 10:44 ID:HNWZg4kI
>>264
ま、AVRが無くなるわけで無しAVRを知ってる人が少しだけ得をするって感じで良いんじゃないかな。

代理店から収束の噂は、一分の古い品種が保守になるかもって話みたいです。
収束話の真相はこんなとこでしょう。多分

266 :名無しさん@3周年:03/12/18 11:09 ID:G+f0bM0r
>>259
逃げることを勧める
モノ作りの感動を知らない人間にはムリ

267 :名無しさん@3周年:03/12/18 12:15 ID:2cKBTBWY
俺は正直電子工作全くやったこと無くてPICを触れるようになるまで半年かかった_| ̄|○
1ヶ月でだとマイコン触れるところまでいけるかなぁ

268 :名無しさん@3周年:03/12/18 13:04 ID:7FJ2lqPF
>>267
うん、正直ロジックICからいじった方がいいかもしれない。
PCと違って結果を得るのにも簡単な電子工作の技術と論理回路の知識いるから。
プログラム言語だけではだめだし。

>>262
>割り込みハンドラ専用のレジスタとかあるんですか?

そんなのはありません。割り込み内外で使用するレジスタ・SRAMは共通です。
アセンブラなら、当然全部自分で使用レジスタ・SRAM etc.を管理しなければならない。
C言語なら変数のスコープを意識すれば管理はC言語がやってくれる。かなり楽になる。
ただし乏しいメモリなので、スタックとグローバル変数領域の衝突には注意。
メモリがたくさんあるPC上のプログラミングとは違う悩みがある。


269 :名無しさん@3周年:03/12/18 14:12 ID:LRxpYAfc
>>230
動作を始めた後、電源が落ちた際の復帰手段が、最初のリセットの変わりになるわけないだろが。

270 :名無しさん@3周年:03/12/18 14:40 ID:7FJ2lqPF
>>269
・・・・なるんじゃない?


271 :名無しさん@3周年:03/12/18 14:57 ID:tH9O3CqS
是非、>>269氏のご高説を承りたい。

272 :名無しさん@3周年:03/12/18 14:57 ID:HNWZg4kI
>>269
リセットとどう違うのか教えてくれ。

273 :名無しさん@3周年:03/12/18 15:01 ID:7FJ2lqPF
>>269
パワーオンリセットとブラウンアウトリセットって、リセットかかる電圧閾値とリセット時間が違うくらいで
根本的には同じ物だと思うが。

274 :名無しさん@3周年:03/12/18 17:19 ID:7FJ2lqPF
>>273
あ、すまん、パワーオンリセットは電源電圧上昇でリセット掛けるが、ブラウンアウトリセットにはそれはない。
でもまあBODのリセット電圧はパワーオンリセット電圧よりだいぶ高いところにあるから、
同じことになるとは思うが。


275 :名無しさん@3周年:03/12/18 23:32 ID:2a0JSwJP
>>265
AVRを使ったボードを売ってるとこのHPには"8535はなくなるのでmega8535かmega163使って"とあった。
megaとTinyだけになるのかな。手頃な2313だけは残って欲しいが。

276 :名無しさん@3周年:03/12/19 01:13 ID:VU2RqLpZ
>>275
ttp://www.avrfreaks.net/Devices/index.php

277 :名無しさん@3周年:03/12/19 01:18 ID:WSpMWGKU
>>275
価格交渉の突破口にしてるんだけど。(w
オマエんとこの都合でこっちの設計が変わると。

278 :名無しさん@3周年:03/12/19 07:24 ID:p+Di9GUR
>>276
うわ、Tiny2313あるんだ。強力・・・
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf

279 :名無しさん@3周年:03/12/19 10:58 ID:8iKHE5A9
巡回コース確認してたら、オルゴールの製作記事発見
ハイテックの会社のCコンパイラ使ってるね。
音符を入れるのは楽そう。
ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/4889/
他にも、こんなものを。。。
ttp://www.takebay.net/~nao/index.cgi?PIC_de_%A5%AA%A5%EB%A5%B4%A1%BC%A5%EB

280 :名無しさん@3周年:03/12/20 18:11 ID:9yLB8gMd
オルゴールを作るならAVRの方が高性能でいいと思うな。
2313でも8重和音くらいは出せるし。

281 :名無しさん@3周年:03/12/21 01:29 ID:uD6lpDLg
>>280
どうやって??

282 :名無しさん@3周年:03/12/21 02:26 ID:lCGGg+k2
PWMと1命令100nsの性能を使って。
20KHzでの再生なら500命令程実行できるからね
tiny26はもっとおすすめ

283 :名無しさん@3周年:03/12/21 02:31 ID:dX7l6gfZ
>>281
実際に組んだことはないので妄想だが、波形計算して必要ch数だけ
足し算するだけじゃないの? 出力はPWMでもなんでもいい。
あるいは8本のout portに各chの矩形波出して外部回路でアナログ
加算してもよさげ。

メモリが足りるかな? という心配はあるけど。

284 :281:03/12/21 02:55 ID:uD6lpDLg
難しく考えすぎてるのかな。
8重和音はかなりつらいんぢゃないかと
おもった。

285 :名無しさん@3周年:03/12/21 03:23 ID:IFEQWRIw
>>280
素朴に便利そうだと思うんでやり方を教えて欲しい。

286 :名無しさん@3周年:03/12/21 03:58 ID:kGZIyeuR
ch数分だけレジスタを用意して加算ループを組む
最上位ビットを出力すれば和音になってる

287 :286:03/12/21 03:59 ID:kGZIyeuR
AVRなら200KHzくらいのクロックでも4和音がそれなりに聞こえる

288 :名無しさん@3周年:03/12/21 09:27 ID:AxoGfWkG
参考になるかどうかわからないけど、H8でオルゴール作ってる人がいるよ。

ttp://www.nana.or.jp/~hiramats/h8/nazokou/h8mbox.html

289 :280:03/12/21 15:27 ID:lCGGg+k2
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/999294620_116/music5.hex
すいません、2年前に作った実機が動かなかったので
誰かこれを焼いてみてくれる人募集。
クロックは10MHz、音は15pinから出る筈です。

290 :名無しさん@3周年:03/12/21 15:41 ID:k3hBMHOu
>>285
timer1(16bit)を適当な周期で走らせて(10MHzでPS=1/64くらいでいいかな)、
8和音に対応して変数を8つ用意。
始点で各変数に現在のTimer値+周期/2を入れる
その後ループで、
  現在のTimer値−各変数を計算、
  値が2以下なら(通り過ぎてしまう可能性も考えて一致ではなくこれで)
  該当するポートを反転する
繰り返し

ハード的には各ポートからオペアンプで作った加算回路につなげばいいんじゃなかろうか。
最後に出力前に適当なローパスフィルタにつないで出力。

音量調整なんかは無理ですけど。4和音にして1周波数に2ポートわりつけ、
各ポートにつなぐ抵抗を変えて重み付けすれば3段階の音量調整はできそう。

ただ、単純にプログラムした音を出すだけならこれでできるけど、
オルゴールみたいに指定した音を指定した時間順序よく出すなんていうと
結構大変な予感。


291 :名無しさん@3周年:03/12/21 16:58 ID:1w/duE1R
波形が矩形はは呑めるが、エンベロープが矩形はは拒絶する!
そんなのオルゴールとは呼べない


292 :名無しさん@3周年:03/12/21 18:27 ID:k3hBMHOu
>>291
だねえ。まあBEEP音よりはましなオルゴールのようなもの、ということで。
せめてFM音源かなあ。
3段階じゃエンベロープは当然無理でしょう。音の途中で音量変更は止めた方がよさげ。


293 :名無しさん@3周年:03/12/21 21:52 ID:QJxFzhi4
× せめてFM音源かなあ。
○ PSG音源ホスィ。。。懐かしぃ
http://member.nifty.ne.jp/Tatsu/TMR/MSXFPSG.html

294 :名無しさん@3周年:03/12/22 00:11 ID:Tp5bMFCW
Beepがいい音なんて誰も思ってないと思うぞ。
PICでメロデイのなるものを作る理由としては、

(1)勉強(習作)の目的
(2)音を出していくうちに、どんどん填っていっている。
(3)曲に対して思い入れがある
(4)なぜだか必要に迫られて
(5)方形波をこよなく愛す。しかもエンベローぶまで方形波

ほとんどが1か2じゃないかと。
ここも見つけたよ。
http://homepage2.nifty.com/f-kuroki/jikken/pic/eorgel/eorgel.html

295 :名無しさん@3周年:03/12/22 00:15 ID:ymhim6Ko
http://kobachan.com

296 :名無しさん@3周年:03/12/22 00:48 ID:+MH1P+By
>>290
へー面白い事が出来るんだな。感心したよ。

297 :名無しさん@3周年:03/12/22 01:18 ID:iSWGHhn2
昔のアナログシンセサイザーみたいな感じで
VCOとVCF、VCAをSIN波発生ICを音源使うってことでPICで
できないかな?


298 :名無しさん@3周年:03/12/22 01:49 ID:+MH1P+By
>>297
それならFPGAの方が楽に出来そうな気がする。

299 :名無しさん@3周年:03/12/22 13:06 ID:4HL9FFVg
>>290 自己レス
ループ内に 変数に現在のTimer値+周期/2を入れる  が抜けてる〜
通り過ぎたかどうかの判定については、こっちがいいかな
最も低い音の周期がタイマ1周にかかる時間より短いならOK
ループで、
  各変数について
    この音が現在OFFなら、skip
    tmp=(変数−現在のTimer値)
    tmpが負でないなら(最上位ビットチェックで判定できる。16bit比較より楽)
       該当するポートを反転する
       変数に現在のTimer値+周期/2を入れる
  loop 各変数について
ループ繰り返し
単純に変数とTimerのcompareではおかしくなる場面があるので注意。
音のON/OFFはタイマオーバーフロー割り込みでも使えばいいかなあ。


300 :名無しさん@3周年:03/12/22 20:06 ID:/ska6jTO
PICやAVRじゃないけど、Cypressの8ビットマイコンのM8コアと乗算機
が入ったやつで10音ポリフォニックピアノのデモやってた。
鍵盤つないで、エンベロープなんかもちゃんとやっていたし、なかなか
ピアノな音になってたよ。


301 :名無しさん@3周年:03/12/23 07:54 ID:NpQgHIiy
P/ECEも4音ポリ出してたっけ?


302 :名無しさん@3周年:03/12/23 14:40 ID:WeIPNEKU
CCSのCコンパイラーで悩んでいます。ご存じの方がみえましたら、教えて下さい。

CCSのVer3.174で、optionレジスタに値を書き込む命令を書いてコンパイルしたとき、
生成されたHEXコードが違うんです。しかし、両者とも結果として動作は同じに
なるのです。どうなっているんでしょ?

コード1
  #byte option_reg = 0x81
  option = 0xD7;
生成されるHEXコード1
  D730 8100

コード2
  #asm
    movlw D7
    option
  #endasm
生成されるHEXコード2
  D730 6200

いずれもD730(MOVLW 30)までは一緒なんですが、次のコードが
1では、8100(MOVWF 0x81)となり納得出来るんですが、
2では、6200(インストラクション表に無い)となります。
CLRWDTのインストラクションが 6400であることから、
内部のハードウェアにアクセスしているように見えます。
0x62番地はoptionレジスタ(0x81)に配線がつながって
いるのでしょうか? よくわかりません。
同様にTRISA命令も、0x05ではなく0x65にアドレスされます。
これも同じ現象でしょうか。
変な質問ですみません。宜しくお願いします。(あっ、地震だ....)


303 :名無しさん@3周年:03/12/23 14:42 ID:WeIPNEKU
あっ、間違えました。
コード1
  option = 0xD7  →  option_reg = 0xD7 です。

304 :名無しさん@3周年:03/12/23 15:46 ID:JXwCSw2b
>>302-303
option regのアドレスはちょっとわからないけど、
多分それは、バンク状態がコンパイラでそう決められたのかと。
statusレジスターのRP1,RP0調べて現在のバンクを調べて、アクセスする
アドレスがバンク外ならバンクをセットしてやったり、元に戻したりする必要が
あると思う。
バンクが変化しないところでasm使わないと思わぬトラブルが。特にレジスタ入出力は
アセンブラ神経使う。とりあえずそれで調べて。

305 :名無しさん@3周年:03/12/23 16:54 ID:JXwCSw2b
>>300
pSocね
http://www.kumikomi.net/article/news/2003/09/16_01.html
このセミナー行って来たよ。色々なアプリケーション例を紹介して、
ツールも使った。このキットも実は買ってある(まだあけてないけど)
でもこのツール群、まだ熟成しきっていない部分があるから、
これからだね。暖かく見守ろう。

306 :名無しさん@3周年:03/12/23 17:54 ID:tJUbFrE2
>>305
興味あったのだが、ツールは幾らなの?

307 :名無しさん@3周年:03/12/23 19:09 ID:MKvkg+MO
>>306
ツール自体は無料でダウンロードできる。
ライターはUSB経由のライターを自作したよん。
(書き込み方はアプリケーションノートで公開されている)


308 :名無しさん@3周年:03/12/23 22:00 ID:2JFq+Ko4
>>302
0x062に対応するニーモニックがoption、それだけのことです。
16F84あたりのデータシートには載っていたけど最近は削除されてる。
ってゆうかTRISとoptionは16C5x時代の遺物だから使うな!とmicrochipが
言ってるんだから大人しく
#asm
movlw 0xD7
movwf option_reg
#endasm
とすれば良いのでは?

309 :名無しさん@3周年:03/12/23 22:17 ID:tJUbFrE2
>>307
では、早速調査して試してみます。

アリガd

310 :302:03/12/24 03:07 ID:sOkUUBkk
>>304
ありがとうございます。
確かにバンク切り替えには注意を要しますが、
CCSコンパイラが、それはちゃんとやってくれているようで、
バンク0内では バンクを1に切り替えてから movwf 0x01とか
やってくれています。
どちらのやり方でもできてしまうのが不思議なんです。
はてー???

311 :302:03/12/24 03:19 ID:sOkUUBkk
>>308
コメントありがとうございます。
そうですね、trisとoption命令は、16C5X時代の名残なことは
了解しています。また、microchipが「使わないでね」と
アナウンスしているのも知っています。
が、CCSの最新バージョンのコンパイル結果に2種類生成されて
そのどちらでも正しく動いてしまうのが不思議なんです。
CCSのCの関数には、set_tris_a(0x00)とかがあり、
普通多くの場合は、この関数を使ってI/Oの方向を決めているのですが
(購入者の多くはそうしています)その命令のコンパイル結果が
アセンブラコードでtrisになっているのがわからないのです。
(CCSに聞けばよいことかも)
今ではもう使えない命令であるならば、バンク切り替え後に、
movwfでTRISレジスタに書き込んで、再びバンクを戻すようなコードを
吐けば良いと思うのですが、trisを使っています。
それでちゃんとPICも動作してしまうんです。
こうなると、PICの内部でtrisレジスタと0x64番地とがつながっている?
と考えてしまうのですが。どうでしょうか?

312 :名無しさん@3周年:03/12/24 23:24 ID:llAo10Pd
PICのアドレス表の0x64がtrisになってたら、そのレジスタそのものがトライステートバッファになってる入出力ポート。

313 :名無しさん@3周年:03/12/24 23:31 ID:llAo10Pd
>>312に追加。
入出力方向はPICアセンブラならTrisコマンドで決めるが、
0か1しかない(入力か出力)、すなはち、Z=0すなはち外部配線と切断されてる状態がなく、常に外部と晒されているってことになる。
この辺を充分考えて、外部からの入力とPIC内部でのtrisレジスタへの入力がぶつからないように、入出力方向を頻繁に切り替えたり、ハード面のIFや、同期を採らなければならない。


314 :名無しさん@3周年:03/12/25 01:42 ID:D4aM9Gj8
>>312,313
なるほど、わかったような気がします。
ありがとうございました。

315 :名無しさん@3周年:03/12/25 14:16 ID:LeAW1dnj
PICのPWM1とPWM2から同時に違う周期のパルスを出力させることってできないのでしょうか?

とりあえず、

while(1)
{
set_pwm1_duty(0x3FF);
delay_ma(500);
set_pwm2_duty(0x200);
delay_ms(500);
}

でやってみたところ、PWM1のパルスしか確認できませんでした。

316 :名無しさん@3周年:03/12/25 14:26 ID:T6nN5ARz
>>315
googleでset_pwm1_dutyで検索してみ。

317 :電子板への誘導:03/12/25 17:29 ID:XCJSbBsG
PIC AVR H8統合スレ
http://science2.2ch.net/test/read.cgi/denki/1072092201/


318 :名無しさん@3周年:03/12/29 23:27 ID:IKGgXp9t
PIC16F84Aなんですけど
参考書によると
水晶発振子10MHz使っているときの
命令サイクルタイムがT=4/fで400nsになるのですが
4/fの4はどこからでてきているかわかりますか?
普通は1/fじゃないのですか?

319 :名無しさん@3周年:03/12/29 23:57 ID:g1GAs2yy
>>318
16F84Aは1命令で4クロック必要だから
1命令で(1/f)*4=4/fってことじゃないかな?

320 :318:03/12/30 00:42 ID:7k4iNQgh
>>319
ありがとうございます。

321 :名無しさん@3周年:04/01/03 02:36 ID:DTPRa9eV
たのしくできるPICロボット工作
212p 21cm(A5)
東京電機大学出版局 (2003-10-30出版)
の本をお持ちの方いっらしゃいませんか?
お聞きしたいことがあるのですが。




322 :名無しさん@3周年:04/01/03 02:50 ID:B6DoN4jX
後関さんに聞いたら?

323 :名無しさん@3周年:04/01/03 04:00 ID:DTPRa9eV
>>322
メールで聞いてもちゃんと教えてくださるのでしょうか?

324 :名無しさん@3周年:04/01/03 17:03 ID:anNuHrq+
>>323
聞き方が悪いと返事もくれないでしょう。
質問にあたって、失礼のないようにきちんと書くこと。

折れも電子工作の端くれページを公開しているけど、実になってない質問メールが多い。
・自分を名乗らない
・いきなり友達口調
・お願いに始まりお願いに終わる
・内容がまったく理解できない(折れの頭が悪すぎるのか)
少なくとも要点がはっきりしていて失礼がないメールならこちらも出来る限り丁寧に
答えるように心がけているが。

325 :名無しさん@3周年:04/01/03 22:20 ID:B1VZMeyP
でも、本を買わないで本の内容に関わる質問(?)をしても
失礼にはならないのだろうか・・・


326 :名無しさん@3周年:04/01/03 23:07 ID:T1SjOscI
本や雑誌に関する質問はまず出版社経由というのが基本。


327 :323:04/01/04 01:07 ID:AevwIvHh
後関さんは著者じゃないとのでまずいと
思います。青木さんとおっしゃる方なのですが
メールアドレスがわからないため、
是非もっていらっしゃる方いましたら
レスください。
恐らく僕の理解不足だとは思うのですが。
よろしくお願いします。

328 :名無しさん@3周年:04/01/04 01:08 ID:2bvLKFi6
>324
胴囲、胴囲
厨房には直接指摘せずに大人の解答で流すようにしている

329 :323:04/01/04 09:09 ID:AevwIvHh
恐らくレスポンスはつかないと考えられるので
少々長くなりますが、答えていただければ幸いです。
タイマサブルーチンのプログラムで
0.4mS ────────────
TIM4M MOVLW D'249' ; ループカウント249回
MOVWF CNT1 ; 1+1=2
TIMLP1 NOP ; 何もしない
DECFSZ CNT1,F ; CNT1←CNT1−1 ゼロで次をスキップ
GOTO TIMLP1 ; (1+1+2)×249−1=995
RETURN ; 2+995+2=999 999×0.4μS≒0.4mS
; 100mS ────────────
TIM100 MOVLW D'249' ; ループカウント249回
MOVWF CNT2 ; 1+1=2
TIMLP2 CALL TIM4M ; (2+1+2)×249−1=1244
DECFSZ CNT2,F ; 999×249=248751
GOTO TIMLP2 ; 2+248751+1244+2≒250000
RETURN ; 250000×0.4μS=100mS
; 0.5S─────────────
TIM05S MOVLW D'5' ; ループカウント5回
MOVWF CNT3 ; 1+1=2
TIMLP3 CALL TIM100 ; (2+1+2)×5−1=24
DECFSZ CNT3,F ; 250000×5=1250000
GOTO TIMLP3 ; 2+24+1250000=1250026
RETURN ; 1250026×0.4μS≒0.5S




330 :323:04/01/04 09:10 ID:AevwIvHh
続き

疑問部
2+995+2=999 999×0.4μS≒0.4mSの2+2の部分はRETURNと
MOVLW D'249'
MOVWF CNT1
の部分を言っている要するに(1+1+2)なのは想像できるのですが
(2+1+2)×249−1=1244や(2+1+2)×5−1=24の2+1+2は
どこの部分を言っているのかよくわかりません。前者はnopがあるのに
対して後者はないのに同じ2+1+2なのです。何故でしょうか?
それと最後の2+24+1250000=1250026は+2をし忘れてる気がするのですが
どうでしょうか?単にRETURN部分のサイクルを抜いているだけなのでしょうか?
読みにくくて申し訳ないです。



331 :名無しさん@3周年:04/01/04 12:10 ID:6ulzM7sz
>>329
実際にCPUの動きを追いながらクロック数を勘定するか、
あるいは実測してみれば良いだけのこと。
それで正しいなら本にミスがあったというだけのこと。
わざわざメールして聞くようなことじゃない。


332 :名無しさん@3周年:04/01/04 13:06 ID:6ulzM7sz
0.4mS ────────────
TIM4M MOVLW D'249'・・・・・・・・・・・・・・1
MOVWF CNT1 ; ・・・・・・・・・・・・・・・・・・1
TIMLP1 NOP ;・・・・・・・・・・・・・・・・・・・・・1
DECFSZ CNT1,F ・・・・・・・・・・・・・・・・・・1(2)
GOTO TIMLP1 ・・・・・・・・・・・・・・・・・・・2
RETURN ・・・・・・・・・・・・・・・・・・・・・・・・2
1+1+((1+1+2)×248+(1+2))+2=999

; 100mS ────────────
TIM100 MOVLW D'249'・・・・・・・・・・・・・1
MOVWF CNT2・・・・・・・・・・・・・・・・・・・・1
TIMLP2 CALL TIM4M・・・・・・・・・・・・・・2
DECFSZ CNT2,F ・・・・・・・・・・・・・・・・・1(2)
GOTO TIMLP2 ・・・・・・・・・・・・・・・・・・・2
RETURN ・・・・・・・・・・・・・・・・・・・・・・・・2
1+1+((2+1+2)×248+(2+2)+999×249)+2=249999

; 0.5S─────────────
TIM05S MOVLW D'5'・・・・・・・・・・・・・・1
MOVWF CNT3 ・・・・・・・・・・・・・・・・・・1
TIMLP3 CALL TIM100・・・・・・・・・・・・・2
DECFSZ CNT3,F ・・・・・・・・・・・・・・・・1(2)
GOTO TIMLP3 ・・・・・・・・・・・・・・・・・・2
RETURN ・・・・・・・・・・・・・・・・・・・・・・・2
1+1+((2+1+2)×4+(2+2)+249999×5)+2=1250023


333 :名無しさん@3周年:04/01/04 14:11 ID:nepwUjHn
>>311
遅レスだが
PICの入出力ポートは例えばPORTAなら次のようになっている。
       TRISAの1bit目を0
             ↓
PORTA_____|\_____
の1bit目|      |/ |
     |         |
     |__/|___|
         \|
         ↑
       TRISAの1ビット目を1
すなはち、TRISAレジスタはPORTAの入出力方向を決めてるレジスタ。
PORTAの8bitに対して、それぞれのTRISAの8bitが対応していて、図を見て分かるように、TRISAのbitで0を立てればPORTAが出力に、1を立てれば入力になる。

334 :322:04/01/04 15:26 ID:lFGw1faN
>>327
漏れの勘違いだった。悪かった。


335 :名無しさん@3周年:04/01/04 15:51 ID:nepwUjHn
   |
_|\_
 |/
の様に、脇からの0/1入力で、通か遮断かを決めるバッファをトライステートバッファ(TriState)と呼ぶ。

336 :名無しさん@3周年:04/01/04 16:48 ID:6ulzM7sz
そういや、トライステートってどっかの商標になってなかったっけかな。
NSだっけ?


337 :DQN ◆POoODQNNNQ :04/01/07 20:59 ID:e4DolRcl
すみません、非常に単純な事なんですが、調べられませんでした_| ̄|○
どなたかお教え頂けると嬉しいです。

12V の電源を 15V くらいにしたいのですが、そういう部品てなんて呼ぶのでしょうか?(昇圧?)
そして簡単に入手できるものなのでしょうか?
出力の電流としては 5A くらいあると安心です。

よろしくお願い致します。

338 :名無しさん@3周年:04/01/07 21:17 ID:xNXr7IKF
部品つーか、「昇圧回路」で引けばいいんじゃない?
ステップアップコンバーターとか。

15Vで5Aっていうと、75Wくらいになるから、入力は
100Wくらいかなぁ・・電子工作のレベルでやるのは
コイルの入手とか含めて結構面倒かもね。

http://www.mhl.janis.or.jp/~cosmos/denshi/cosel/15Vdc-single.htm
こういうのを買ってきたほうが早いと思う。


339 :名無しさん@3周年:04/01/07 21:39 ID:UQFfrVox
>>337
出力5Aは無かったと思うが、近いところなら千石に売っているステップ
アップのスイッチングレギュレータでできる。
回路はデータシートのリファレンスでいいだろ。


340 :DQN ◆POoODQNNNQ :04/01/07 22:06 ID:e4DolRcl
お二人様、ありがとうございます。

今からもう一度、調べてみます。

お世話になりますです・・・・。

341 :名無しさん@3周年:04/01/08 22:21 ID:ELVQ8aHZ
>>340
12V DC → 車のシガーソケット用インバーター → 15V ACアダプタ(スイッチング電源)

342 :名無しさん@3周年:04/01/19 06:35 ID:U/1PA5yR
超素人な質問ですみません。
テンプレの中のサイトのGCCで書いた割り込みのコード↓
http://ww2.tiki.ne.jp/~maro/AVR/programing/timer/inttimer.c
これをコンパイルしてAVRStudioのシミュレータで動かしてたんですが、
どうも動作がおかしいです。

PortInit()という関数が呼ばれて、RETした後のProgram Counterが0になってます。
で、開始してPortInit呼んでまた最初から、というループにはまってます。

で、スタックを見てみよう、と思ったんですが、メモリは全てFFになってる状態です。
何かコンパイルの仕方とか間違えてますでしょうか?

343 :342:04/01/19 06:41 ID:U/1PA5yR
たぶん解決したっぽい。
-minit-stackでスタックアドレスを0xD0にしてみたらうまく動いた。
指定しなしのデフォルトは0xffだったからだめだったってことでOKなのかなぁ?

344 :342:04/01/19 07:31 ID:U/1PA5yR
シミュレータのSRAMのアドレスって0x60-0xDFになってるんだけど、
avr-gccが吐き出してるコードだと0x00からロード・ストアしようとしてます。
どっちが正しいんですか?

345 :名無しさん@3周年:04/01/19 07:55 ID:+uL6G6Ln
datasheet嫁。

346 :名無しさん@3周年:04/01/19 11:43 ID:DUFNOT42
>>344
ソースに対してgccのバージョンが新しすぎて互換性とれてないとか。
使っているgccのバージョンなんですか?
io2313.hを直接指定するのは変だと思うし(最近のはMakefileで指定だよね)、
ディレクトリも<avr/io2313.h>に変わっているはず。
io2313.hさえ正しく読み込まれていればスタックはきちんとするはず。
/* Constants */
#define RAMEND 0xDF
#define XRAMEND 0xDF
↑これで決まる


347 :342:04/01/21 02:12 ID:rvSaFzgr
>>346
3.3.1みたいです。
io〜とかはavr/interrupt.hに書き換えてコンパイルとしてました。
#アドレスはおかしかったですが。

>>342のコードを元に割り込みハンドラを動かそうとしてるんですが、
何故かうまくいきません。

#include <avr/io.h>
#include <avr/interrupt.h>

unsigned char global = 0;

int main(void){
 outp(0,TCNT0); /* clear CNT0 */
 outp(5,TCCR0); /* set prescaler CK/1024 */
 outp(inp(TIMSK)|BV(TOIE0),TIMSK); /* enable TMR0 interrupt */
 sei();
 while(1){
 }
}

SIGNAL(SIG_OVERFLOW0){
 *((char *)0x80)+=1;
}

ってな感じで、0x80のアドレスを監視してるんですが、ずっと0のままです。
タイマーが0になるとPCが0x0007になります。
0x0007は別に特に何かあるわけでもなく、0x0007にnopがくるようにしても
0x0007が実行されます。
どうやったら割り込みハンドラが実行されるようになるんでしょうか?

348 :346:04/01/21 14:53 ID:gbUNd6Yr
>>347
うちも3.3.1(winavrのSep/2003版)だけど、一部手直しでavrstudio 4.08であっさり動いたよ。
ちゃんと割り込み内にブレークポイント設定すればそこに飛びます。
makefileが間違ってない?
手直し部:
=====inttimer.c======
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
以下同じ・・・

====makefile============
PRG = inttimer
OBJ = inttimer.o
MCU_TARGET = at90s2313
以下は同じ・・・



ちなみに、PCが0x0007になるのは・・・データシートを読みましょう。


349 :名無しさん@3周年:04/01/21 16:16 ID:gbUNd6Yr
ところで、だれか
LがついてないTiny26を通信販売しているところ知らない?

350 :名無しさん@3周年:04/01/23 15:05 ID:r0ItOqcS
>>349
何で?
アマチュアレベルの工作だったらL付きのを16MHzで駆動してもかまわんと思うけど。

351 :名無しさん@3周年:04/01/23 16:13 ID:73NjoQHc
>>349
ttp://www.digikey.com
日本語サイトにも飛べるから、そこで頼め



352 :名無しさん@3周年:04/01/23 19:50 ID:bKP+KIug
>>350
へぇ〜、26Lでも16M可能なんですか。
既に手元にあるのでやってみよう。
10Mでは動かすつもりでしたが(w

>>351
私もあとでここみつけました。ありがトン
5000円未満で送料手数料3000円、
5000円以上で送料2000円ですか。
他にないものをうまく買うなら悪くないですね。


353 :名無しさん@3周年:04/01/23 23:08 ID:d9jNh+dk
>>352
分かってると思うが自己責任で。
データシートみると『3Vで12MHz、5Vで20MHzまで動くけど保証しない』みたいな書き方だな。
26L,26,どちらが選別品なのかは知らんが。

354 :名無しさん@3周年:04/01/24 18:43 ID:SmPQfutJ
>>353
>分かってると思うが自己責任で。
らじゃ。
>データシートみると
データシートのクロックー消費電力グラフのことですね。
データシートではL付きとLなしで区別して書いていないですね。


355 :名無しさん@3周年:04/01/24 21:17 ID:svfdOwRy
おおおおおおおおおおおおおおおおっ!!
PICスレって、機械・工学板だったのか。

356 :名無しさん@3周年:04/01/25 22:32 ID:+3IHQrSM
もう解決してるかもしれないけどタイマのサブルーチンなら
http://hp.vector.co.jp/authors/VA014576/soft.html
のソフトで簡単につくれるよ。
計算しなくてよくなった。

357 :ガイシュツ ◆atMKiSyUTU :04/01/25 23:39 ID:TgIK2lOa
>355
電気・電子板ができる前から続いてるスレだから

↓こういうスレもあるけど
PIC AVR H8統合スレ
http://science2.2ch.net/test/read.cgi/denki/1072092201/

358 :名無しさん@3周年:04/02/03 19:39 ID:P5MlXyE4
USBライタらすぃ
ttp://www.binarylab.jp

359 :PIC始めました:04/02/08 02:17 ID:xteijC1C
皆様教えてください。
本業はPCのプログラマです、昔は8086のアセンブラやC言語やったことあります。
ハード系は真空管アンプ程度の知識と、PCのRS232Cの制御線RS・CSを使い赤外線リモコンの解析・学習・送信などして遊んだぐらいです。
で、PICなんですが、数冊本を読み、秋月のキットで遊び一応入り口にいますが
最初に感じた疑問がいまだに解けず、NETで調べてもあまりにも基本的な疑問なので載っていないようです。疑問というのは

1.PIC入門書には、
 「PICはプログラムを何度も書き込めるタイプと一回だけのが有る」とあって、次のページには
 「PICの種類・ベースラインシリーズ・ミドルレンジシリーズ・・・」といろいろなPIC型番と機能概要が載っているのだが
 いったい複数回書込みOKなのと、1回だけなのはどうやって見分けるのでしょうか?、ついでに一回書込みのは、プログラムにバグがあったら使い捨てということですか?、プロテクトもできるならば一回書込みのPICの存在理由は何?
 
2.IOピンの使い方で
 入力ピン、例えばSW入力の時、SWがONで0、OFFで1
 出力ピン、LED点灯の時、0で点灯、1で消灯
 なぜわざわざプログラムの記述性が悪く逆論理にしているのでしょうか?、ノイズ対策でピンがフロートにならないようにという意味はわかるのですが、正論理にしてもちゃんと動作しました。

3.SW入力で
 チャタリング対応の説明ですが、単にコンデンサの放電時間を利用すれば問題なしと思い、作ってみたらOKでした。
 なぜわざわざソフト側に対応させるのでしょうか?

そんなこと気にしなくてどんどん進めば、と言われそうですが、私の頭の「その件は置いといて」のスタック段数が少ないものでオーバフローします。
なお英語はわかりませんし、田舎なのでPICの師匠もいません。よろしくお願いします。


360 :名無しさん@3周年:04/02/08 04:24 ID:kEY4BAeK
>>359
全部、PICと関係ないよ

1.ROMの見分け方と一緒。
2.3.電子工作のサイトを見るべし。

田舎でも都会でもネット上に隔たりは無い。
便利な時代だ。

361 :名無しさん@3周年:04/02/08 08:27 ID:+XnAg60z
>>359
1.見分け方はmicrochipのデータシートまたはホームページにある一覧表などで
一度ほぼバグのないプログラムができたら書き直す必要はないわけで、
 同じ物をたくさん作るなら1回だけ書き込み可でも充分。そっちのほうが安いなら
 そっちを選ぶ意味はある

2.LEDに関してはポートの仕様をデータシートで見てみましょう。多くのマイコンやICのポートで
シンク(外部電源→負荷→ポートでスイッチング→マイコン内部のGND)の方が
ソース(マイコン内部電源→ポートでスイッチング→負荷→外部のGND)より
多くの電流を流せることが多いため慣例的にそうなっていることが多いようです。
SWについてはわかんない。空きピンをGNDじゃなくVccにプルアップする理由と共通でしょうけど

3.ソフトウェアで解決できるならその分部品を減らせるから、でしょうか・・・
  その問題がないならRCで解決してもいいと思いますよ。

おまけ。英語はがんばった方がいいです。得られる情報が段違いです。

362 :名無しさん@3周年:04/02/08 08:41 ID:+XnAg60z
>>361
オープンコレクタでトランジスタを使う場合負論理になるので、
その置き換えでそのままになったのかもしれない

363 :名無しさん@3周年:04/02/08 12:39 ID:7/UHK9G/
>>359
PICの場合シンク電流と同じくらいソース電流がとれるみたいなので、
LEDの向きを逆にして1で点灯でも大丈夫でしょう。単に使い方の問題かと。

364 :PIC始めました:04/02/08 17:57 ID:xteijC1C
レスありがとうございます。

>>360
 PC屋にはROMとRAMしか解りません。
 フラッシュROM、EPROM、スタティクRAMと来られては、いったい何種類あるの、で、どれが電源OFFでも維持してるの、書込みはプログラムでてきるものと、専用のライタが必要なのと有りそうだけど
 訳わからんというところです、良いサイトがあったら教えてくださいね。
>>361
 丁寧なレスありがとうございます。
 1回書込みの存在理由は価格でしたか、了解しました。
 出力も入力も慣例のようですね。

私はPCのプログラム屋ですが、たまに講習会などするととんでもない勘違いにブチ当たりますし、こちらが用意したテキストははっきり言って役に立ちません。
つくづく思うのは「プロが素人の引っかかりそうなところを先回りして解説するのは無理」だということです。
なぜならプロ自身がいわゆる常識を意識していないので、暗黙の了解事項を飛ばして解説しようとしても、まったく受け入れられません。
例)Windowsの講習会で、起動するまで待ってくださいというと「なぜこの機械はどうぞお使いください、というサインが出ないのか、いつまで待てばよいのか解らん」と言われ
ゲッとなったものです。確かにそんな事はどの本にもどのサイトにも書いてありません。
私が今PICの入り口でデジタルIC界の常識に悪戦苦闘しているところです。


365 :名無しさん@3周年:04/02/08 23:38 ID:lP28BE1h
なぜプルダウンじゃなくプルアップなのか
http://elm-chan.org/docs/te/te05.html

366 :名無しさん@3周年:04/02/12 20:19 ID:NtnWOCbs
オレはプルダウンプルアップなんかで悩まない。
近いほうにつなぐ

367 :名無しさん@3周年:04/02/17 09:38 ID:ElpFuna2
>>359
>>いったい複数回書込みOKなのと、1回だけなのはどうやって見分けるのでしょうか?、
品番の PICXXCXXX の部分 Cならば 一回だけ(ワンタイム)
Fなら電気的消去型で何回もいける(限度はあるが)
Cでも 最後にJWの文字があれば 紫外線消去が出来て 何回も出来ます。

368 :名無しさん@3周年:04/02/20 11:57 ID:FhBY1LIk
>>367
その法則は例外がある。
Cでも
16C84はフラッシュ型とか。詳細はマイクロチップのサマリーを良く見ることですよ。

※殆どの人はこっちへ移っています。(新板)
質問などは下記へ

PIC AVR H8統合スレ
http://science2.2ch.net/test/read.cgi/denki/1072092201/

このスレッドはPIC雑談スレとして余命をまっとうさせましょう。

369 :名無しさん@3周年:04/02/22 23:22 ID:jqhJZg4l
>>368
16C84 ???
そりゃ〜 16F84じゃないのかな??

370 :名無しさん@3周年:04/02/22 23:37 ID:FY+sP4XX
>>369
昔々に16C84というワンタイムじゃなくてフラッシュのがあったんだよ。
16C84→16F84→16F84A

371 :名無しさん@3周年:04/02/23 14:17 ID:jNlrIbE3
>>370
ふにゃ〜・・・
私の知識不足でしたぁ
もっと歴史を含めて勉強致します。

372 :名無しさん@3周年:04/03/11 05:07 ID:rqSAjATn
今でもPIC入門と言えば、チップ単体+ライターが王道なんだろうけど、
自分もそうだったんだが、MPLAB-ICD互換品(秋月の877ICEというヤツ)を
使ってみたら結構使えたんで、初心者〜中級者にはオススメかも。
昔、ソース修正しては書き換えて、LED表示一個(空きピンないので)でデバッグ
してかなり苦労したんで、こういうのが正直もっと早く欲しかった。
まぁ最初に苦労していろいろと悟るわけだが。

ピンとメモリが少し減るとか制約もあるけど、高価なICEと同じ事ができるので
使わない手はないと思う。ブレークしてポートやらレジスタ値が読めるのは
盲目デバッグとは雲泥の差。\9kくらいしたので秋月のキットとしては高価な
ほうになるけど、F87xならコレでそのまま焼けるのでこんなもんかなと。
サポートしてるVer.のMPLABから普通にICEとして動く。
最近のMPLABではICD2(後継機)のみサポートでちと残念。
SRAMベースのホンモノのICEに比べるとダウンロード時間はかなりかかるけど、
ICEPIC(昔の公式ICE)では不可の高クロック(10MHz以上)で使えるので( ・∀・)イイ!
去年やった仕事(16F877使用)では、ボードにコレ用の専用コネクタつけておいたので
現場の調整/デバッグ作業ではICEPICより活躍。

あまり使ってるという話を聞いたことないので書いてみますた。


373 :名無しさん@3周年:04/03/11 16:40 ID:CzQsELqx
http://akizukidenshi.com/catalog/items2.php?c=micon&s=popularity&p=1&r=1&page=2#K-00040
これのことでつか?

374 :名無しさん@3周年:04/03/12 02:30 ID:IZRaT6Du
>>373
それのことでつ。

今、16F84の変わりに差して使うためのソケットアダプター工作してまつ。
とりあえずICEで開発して、最後にF84で動かして楽する予定。


375 :名無しさん@3周年:04/03/13 02:32 ID:avLHHJAK
>>370

そうそう、16C84なつかしい。
Configビットのアサインが一部違うのと、レジスタファイルの容量がF84より少なかった気がする。
他の部分は変わらない気がするけど。

376 :名無しさん@3周年:04/04/12 15:49 ID:hqY100sD
>>372
遅くてたまらんので、1回使ってヤメました。
ステップ動作はやめたほうがいい。

ブレークポイント決めて、そこまで流す、、っていう場合はいいんだけど、
問題の切り分けになると、結局ステップになって、トタンにストレスがー


377 :名無しさん@3周年:04/04/12 16:53 ID:vnYMFZDM
>>372
ハッキリ言うと、16F87Xなんてハイスペックなチップ趣味では使わない。
16F84用が出たら欲しいけど…

378 :名無しさん@3周年:04/04/14 04:01 ID:FH/gJnrv
 初心者です。おそらくものすごく基本的な思い違いかと思いますが、ご教示
いただければありがたいです。勉強を始めたばかりでまだLEDの発光させようと
言うレベルです。
MPLABver6.50 でアセンブルしたところ、エラーの山が。hexファイルはできず、
listファイルに
Warning[215]: Processor superseded by command line. Verify processor
symbol.
00006 LIST P=PIC16F84A
と表示されました。見ると、デバイス一覧には確かに16F84Aは見あたらないで
す。しかし16F84Aを認識しないことはあるのでしょうか。
 MPASMで直接アセンブルすると、上のことはミスしないようなのですが、
00034 init bsf STATUS,RP0 ;Change to Bank1
00035 movlw b'00000100'
Message[302]: Register in operand not in bank 0. Ensure that bank bits are
correct.
00036 movwf TRISA
Message[302]: Register in operand not in bank 0. Ensure that bank bits are
correct.
 バンク1に変わらないって事でしょうか。
 MPASMの5.11だど、ちゃんとHEXファイルができていて、一応LEDは思うように
光ってくれるのですが。一体、何故上のようなメッセージが出るのか教えてい
ただけないでしょうか。長文すみませんでした。

379 :名無しさん@3周年:04/04/14 16:07 ID:4YDfoqb2
ちゃんとエラー内容読めよ…。
要するに「バンクが0じゃないけどそれでいいのか?」と聞いてるだけ。
うっとしかったら設定で消せ。
というか、エラーが意外はあんまり真に受けないほうがいい。

380 :名無しさん@3周年:04/04/14 16:32 ID:4YDfoqb2
なんか日本語変だったw
「エラー意外は」ね。

381 :378:04/04/14 20:14 ID:FH/gJnrv
>>379,380 様
ありがとうございます。Message は無視して良いのですね。
Ensureが確実にする。なので、間違いなのかと思っていました。
 もしよろしかったら、上の
Processor superseded by command line. Verify processor symbol.
 プロセッサーは廃止された。シンボルを確かめろ。では何故hexファ
イルが出来ないのか教えていただけないでしょうか。
 厨房ではないのですが、厨房レベルの英語レベルです。

382 :名無しさん@3周年:04/04/14 21:34 ID:4YDfoqb2
エラーさえでてなければ、作成される筈だけど…
エラーを見落として無いか?
アセンブルした時にでるウィンドウの所のエラーの数は0かちゃんと確かめた?
(確かめたとは思うけど。)

383 :名無しさん@3周年:04/04/14 23:49 ID:KjLPKSDX
>>380
まだ日本語変?
「エラー以外は」だと思われます。

warning は無視しても良いですが、気になるなら潰した方がいいかも。
error が出ていない限り hex ファイル作成されているはずだけど。


384 :378:04/04/15 00:26 ID:On5GXX2g
>>381.382
ありがとうございます。これからもう一度挑戦してみます.
errorですね。Warning に埋もれていたのかも。
 取り急ぎお礼まで。

385 :熱暴走 ◆2SA784NN.A :04/04/15 00:29 ID:dDPgQWWM
>>381
自分が使っているのは MPLAB IDE v6.42 だが、

LIST P=PIC16F84A
     ↓
LIST P=16f84a

なのでは?

386 :名無しさん@3周年:04/04/15 13:32 ID:cyaF9K31
>>378は落ち着け
お前のような性格ではBUG山積だろうからな

387 :380:04/04/15 18:18 ID:3E3ojJus
>>383
ホントだ…逝ってきますOTL


388 :名無しさん@3周年:04/04/16 01:58 ID:wufB3R9s
PICのプロテクトって解除できないんですか?

389 :名無しさん@3周年:04/04/16 02:06 ID:zHIDuDkZ
>>388
カエレ!

390 :名無しさん@3周年:04/04/16 02:46 ID:wufB3R9s
有料でいいので誰か解除して下さい

391 :378:04/04/16 06:41 ID:7OzDItnD
>>386様 お見通しでございます。
>>385様 それは挑戦してみました。(全角半角、大文字小文字)違うようです。
テキストエディターで作ったasmファイルをMPLABで読み込み、Project→Quickbuildするとだめ
なようです。hexファイルは出来ません。
MPASMで直接作るとwarningはでますが、hexファイルは出来ます。(動きます)
ただ、Configure→SelectDeviceを見ると16F84Aのあたりは
PIC18F6720 PIC18F8410 PIC18F8490しかなくて、18F84Aは選べないのかな。何故?
LIST P=16f84a
INCLUDE P16F84A.INC
ここでProcessor-header file mismatch. Argument out of range (must be greater than or equal to 255)
が出ます。根本的にMPLABが分かっていないようです。
入出力に16本使える16F628が使いたいのですが、参考書にある18F84Aでこんなに苦労していては
628を使えるのはいつになる事やら。(英文しかマニュアルないし)
MPASMで何とか作りながら、MPLABをじっくり勉強していきます。

392 :名無しさん@3周年:04/04/16 10:38 ID:Gvf40prV
↑MICROCHIPのホームページ行ってクイックスタートとって来きてそのとおりやってみろ。
自分の作ったプログラムをアセンブルするのはその後だ。


393 :名無しさん@3周年:04/04/16 17:34 ID:XqvlEYwA
>>388
7950万出したら
解除してやってもいいぞ

394 :名無しさん@3周年:04/04/16 18:43 ID:NDiWijwh
>>388
電子レンジで10秒間〜少しづつ

395 :名無しさん@3周年:04/04/16 22:48 ID:2ShS5AiG
>>388
じゃあ、仕様書だして。

396 :388:04/04/17 13:48 ID:0qfdfLi0
当方まったくの素人なので仕様書とか詳しい事はわからないんですが、
PICの現物があるだけじゃ無理なんでしょうか?
有料で請け負ってくれる業者とかあるんでしょうかね。

397 :名無しさん@3周年:04/04/17 14:23 ID:H86dqlmT
空気読めよ。
解除できるプロテクトに意味があるとでも?
方法があったとしてもお前にだけは絶対教えない。

398 :名無しさん@3周年:04/04/17 23:42 ID:6a4ZEjaC
>>396
397の言うとおり。
仕様書を書き起こせるんだったら、わざわざプロテクト解除しなくてもオリジナルと
同じ動作をするプログラムを作ってやるよ(有料で)、ってことで。




399 :名無しさん@3周年:04/04/17 23:47 ID:ia5nsui1
>>396
>当方まったくの素人なので仕様書とか詳しい事はわからないんですが、

と言う事は、自分で作った訳じゃないでしょ?
違法コピーになるかもしれないのに、誰かが手助けするとお思い?

400 :名無しさん@3周年:04/04/18 19:15 ID:O8ks0Ua8
ttp://www.microchip.co.jp/tool.htm

MPLAB6.50をダウンロードしたいのに、リンク切れてる…

401 :名無しさん@3周年:04/04/18 21:09 ID:O8ks0Ua8
やっとこさ6.40を探しだしインストール出来ました。
これで何とかやってみます。

402 :名無しさん@3周年:04/04/19 01:43 ID:A24P0BbE
>>388,396

あれか?所謂、画像安定器コピーしたいけどPICのプログラムが読めないよ〜って・・・


403 :名無しさん@3周年:04/04/20 07:42 ID:DrXqb+9P
>>402

画像安定器ってコピーしたいほど効果あるの?

404 :名無しさん@3周年:04/04/20 09:00 ID:gme4qNKp
そりゃコピープロテクトの信号を吹っ飛ばすんだから違った意味の効果は
あるわな。(w
ちなみに、同期信号付近にゴミがのせるタイプのプロテクトはデッキによっては
誤動作してしてまうためこれがないと困る事もある。

405 :402:04/04/20 13:45 ID:jnW/FoZ/
>403

\10K〜20K以上のご禁制の品が、千円ちょっと程度の部品で作れたら・・・
PIC(or AVR)、18xx、2xx6、CR少々、電源、端子、ケース類

406 :名無しさん@3周年:04/04/20 14:05 ID:XBkwqlRZ
>>400
リンク切れてないよ。
リンク先の英語サイトから、必要な手順に従ってDLするようになってるだけだよ。

日本語サイトでクリック1発で落とせるようにはなってないけど、それを指して「リン
クが切れてる」って事じゃないよね?

407 :名無しさん@3周年:04/04/21 04:27 ID:+/HiZjh+
どなたかPSのコントローラの信号をPICで変換する回路をご存じないですかね?

408 :名無しさん@3周年:04/04/21 09:42 ID:UxP6q6SA
検索したら腐るほど出てくる。
見つけられない程度の知識なら止めとけ。

409 :名無しさん@3周年:04/04/21 09:46 ID:Wa07FvvW
>>406
今さっき同じトコ押したらリンク復活してますた…

410 :名無しさん@3周年:04/04/23 04:19 ID:Zo2i99tW
こんにちは。
AVR 90S2313でちょっとしたプログラミングを行っているのですが、
プログラムのコピーを抑制するほうほうってあるんでしょうか?

とか、ライターではなく、「リーダー」と言う機械があって、それを
使うと簡単にプログラムしたチップをコピーできてしまうものなのですか?

最近ようやく覚えてきました。 まだまだ判らないことだらけです。
教えてください。

411 :名無しさん@3周年:04/04/23 04:23 ID:f2nYHwKf
>>410
わからないことだらけと、わかっているなら、
人に聞く前に自分で調べる、これ鉄則。
教えてクン、これ最悪。

412 :名無しさん@3周年:04/04/23 06:06 ID:FRmiY3AN
データシート嫁
りーだー=らいたー

ようやく覚えた程度のコードなんて誰も欲しがらないから安心支那。

413 :名無しさん@3周年:04/04/24 13:19 ID:WGsi0bhX
>>412 そうばかりでもない。
コーディングが稚拙でも、アプリケーションが良くできていれば、
当然横取りしたくなる人は出てくる・・・。

ま、どうでもいいけど。

414 :名無しさん@3周年:04/04/24 15:26 ID:IHQxyEBF
馬鹿じゃないの?
能力のある奴は動作見ただけで別のコードで実現するわ。
初心者が書いた糞コードよりは経験者が動作を見て書いた
コードの方が数段上だろうな。(w

415 :名無しさん@3周年:04/04/24 19:52 ID:cxK18emf
動けば正義

416 :412:04/04/24 20:32 ID:fUJaihxO
414の言う通り。
ターゲトの動作見れば、コードだけじゃなく回路も製作可能。
分解して回路を調べるなんて素人でふ。

417 :名無しさん@3周年:04/04/25 13:44 ID:vax78ygl
PIC16F819で7セグメントLEDを駆動する温度計を作りました。
AD変換が上手くいきません。10%位の誤差が出ます。
Vrefは電源の5V(実測で4.96V)を使ってます。
アナログ側はLM35DZの出力を10kΩのトリマで分圧してPICに突っ込んでます。
コンデンサチャージ時間が20usギリギリだったので増やしたけどダメです。

ADRES→7seg変換部は大丈夫だと思います。
AD変換の誤差要因としては何が考えられるでしょうか?

418 :名無しさん@3周年:04/04/25 14:01 ID:JoCxltXU
そんなの誤差だろ。10度で1度の差だろ。
それ以上の性能を求めるほうが酷だとおもうが。
と、いうかどんな用途に使うんだ?

419 :名無しさん@3周年:04/04/25 14:16 ID:vax78ygl
レスありがとう。室温計です。
ADRESLの値の1ビットが1℃です。LM35DZの出力電圧は10mV/Kです。

VDD=Vref=4.95V
LM35DZ出力=0.264V=26.4℃
RA0(AD変換入力)=4.95*0.264/1.023=1.27V ←トリマで調整した
7segに表示される出力=24

とりあえずトリマで合わせればいい気もするけど、スッキリしないですね。

420 :名無しさん@3周年:04/04/26 07:35 ID:6uTpIM0i
室温計にはDS1820+PICでやってます。
DS1820は0.5℃単位をデジタルで取得できるので便利ですよ。
でも、既にディスコンかな?

421 :名無しさん@3周年:04/04/26 13:16 ID:uOTf5IPZ
今回はPICでのAD変換にチャレンジしたかったんだけど、そそりますね。
「CPUの創りかた」を読んで勉強してきます。

422 :とほほ PIC:04/04/29 19:38 ID:McEHKW1P
PIC16F819のAD変換について。
417さんの書き込みにもありましたが、当方もPIC16F819のAD変換で苦悩中です。
現象はMPLAB IDE v6.50 でMakeした場合 ADRESLレジスタのアドレスが
0x1e になていることです。本来 0x1eは ADRESHのアドレスなのですが。
という現象で、ADFMを指定しても10ビットの下位2ビットが読めない
(ADRESH の値しか取り込めない)状態です。
何か対策がありましたらお願いします。


423 :名無しさん@3周年:04/04/29 23:37 ID:D57MMcMd
>>422
根本解決ではないですがADRESLとADRESHを別名で(EQU)定義しなおして使うというのは・・?

424 :とほほ PIC:04/04/30 02:56 ID:btAxG137
PIC16F819のAD変換について ---- 解決しました。
ADRESLを読み込むには、バンク1に切り替えて読み込む。
ここの巻頭でも紹介してあります"PICな日曜日"さんのプログラムサンプル例にありました。
そのスジ゙では常識かも知れませんが、 解決するまで 丸二日でした。


425 :温度計の人:04/05/01 11:44 ID:0c+qG8fs
>>424
それは良かった!精度はどんなもんですか?
俺は、誤差の問題と、温度が切り替わる瞬間の表示バタツキの処理に苦労しました。

426 :熱暴走 ◆2SA784NN.A :04/05/01 18:18 ID:L6gsWx/o
>>425
>AD変換が上手くいきません。10%位の誤差が出ます。
>AD変換の誤差要因としては何が考えられるでしょうか?
ADCと変換対象のフルスケール値を近づけるのは基本かと。
フルスケール値
 AD変換→0〜5V(Vrefを外部より入力可)
 LM35DZ→0〜1.5V(単電源のみ)
この場合、
1.AD変換のVrefに1.024Vを用意して、10カウント/℃,
  測定範囲は0〜102.4℃
2.AD変換のVrefに2.048Vを用意して、5カウント/℃,
  カウント結果を2倍(左へ1bitシフト)すれば、直読み出来る。
  測定範囲は0〜150.0℃。 但し、0.2℃ステップになる。
3.AD変換のVref=VDD(5V)として、LM35DZの出力を
  OPアンプで 5000/1024 に増幅し入力,10カウント/℃
  測定範囲は0〜102.4℃
4.AD変換のVref=VDD(5V)として、LM35DZの出力を
  OPアンプで 5000/2048 に増幅し入力,5カウント/℃
  カウント結果を2倍(左へ1bitシフト)すれば、直読み出来る
  測定範囲は0〜150.0℃。 但し、0.2℃ステップになる。
以前、自分がやった方法は 3 だが、実験段階で、特に誤差は
測定してないので、この方法が1番だとは言わない。

>俺は、誤差の問題と、温度が切り替わる瞬間の表示バタツキの処理に苦労しました。
バタツキは、大体がADのスレッショルド付近をノイズで行ったり
来たりが原因だと思うので、以下の方法を試して味噌。
・ノイズが乗らないようにシールド線を用いたり、LM35DZの出力に
 RCフィルタを追加する。(データシートに載ってる)
・ハムノイズをキャンセルするように50/秒,60/秒の倍数でサンプリングする。
・何回かサンプリングして結果を平均化する。
 例えば、4回サンプリングして結果を足しこみ、4で割る(2ビット右シフトする)。

427 :温度計の人:04/05/04 16:56 ID:erjYnEY5
>>426
アドバイスTNXです。
次回からはフルスケを意識してやってみます。
バタツキ対策ですが、以下のような平均化で解決しますた。
128回サンプリングして、除算の余りが64以上だったら切り上げ。

何とか上手く動いてます!

428 :名無しさん@3周年:04/05/05 11:46 ID:e9OEsEgc
DigiKeyから注文しようと思っているのですが、
ATTINY15L-1PC-NDとATTINY15L-1PI-NDの違いってなんでしょうか?
既出ならすみません。

429 :名無しさん@3周年:04/05/05 14:16 ID:tfWgmkR4
>>428
digi-keyからリンクされてるデータシートに目を通しましたか?
C=commercial use, I=industrial useってことで動作温度が違う。

意地悪いので、具体的な値は示しません(w 自分で調べるように。

430 :名無しさん@3周年:04/05/05 20:09 ID:e9OEsEgc
>>429
どうもです。
そこまで教えていただければ十分です!
ありがとうございました。

431 :名無しさん@3周年:04/05/10 07:15 ID:0o2+HaBs
avrでuartを使ったプログラムをGCCで書こうと思って資料調べたのですが、
自信がない部分があるので自分の認識が正しいか教えていただけないでしょうか?

・送る時はUDREフラグが立っていればoutp(char,UDR)で送る。
 立っていなかったら立つのを待つまでポーリングするか、SIG_UART0_TRANSを待つ。
・SIG_UART0_TRANSは1バイト送信が完了する度に発生、
 SIG_UART0_DATAはバッファ内のデータが
 全て送信された時に発生。
・受け取る時はRXCフラグが立っていればinp(UDR)で読める。
 立っていなかったらポーリングか、SIG_UART0_RECVを待つ。
・送受信の両方にバッファがあるので、一回目のSIG_UART0_RECVは無視して、
 二回目の割り込みで2byte分のデータが読む、ということなどができる?
 (バッファってどのくらい長いんでしょうか?)

よろしくお願いします。

432 :名無しさん@3周年:04/05/10 19:41 ID:vqDeY8Pb
a

433 :名無しさん@3周年:04/05/30 18:26 ID:N4j8NWob
PIC16F873 20MHzで
200個のスリットが付いたロータリーエンコーダーを三相同期モーターを使って速度計っています。
加速させて回転数が5rpsぐらいになると大抵メインプログラム(3相インバーター信号)
が停止して割り込みだけが動作している状態になります。
たまに面プログラム動作してtimer1が停止して30秒ぐらいして動き出したりした事もありました。

timr1にH'FFFF'を入れてカウンターオーバーフローによる割り込みです。
モーターの回転が5rpsの時、割り込み間隔は1ms、割り込み時間最長10us
timer2はクロックカウントを使用して割り込み間隔13ms、割り込み時間最長500us
データーシートに乗ってるWやstatusレジスターの避難や復帰はしています。

timer1がクサイと思っているのですが解決策が分かりません。

434 :名無しさん@3周年:04/05/30 20:03 ID:q1e9GPUp
引っ越した後の残骸では誰も回答しないだろう。

435 :熱暴走 ◆2SA784NN.A :04/05/30 21:35 ID:E3h7LKLc
なんだかよくわかりませんが、

  _,,..i'"':,
  |\`、: i'、
  .\\`_',..-i
   .\|_,..-┘







誘導しておきますね。

【超初心者】PIC専門のスレ【鬼プロ】
http://science3.2ch.net/test/read.cgi/denki/1077618889/

AVR H8 etc. マイコン総合スレ
http://science3.2ch.net/test/read.cgi/denki/1078586301/

436 :名無しさん@3周年:04/09/15 23:31:48 ID:E9t3g7e+
えーと、向こうで質問したけど、ほとんど無視スルーされたのでこちらに書きます。

●PIC・AVR 初心者のためのスレッド-2サイクル目●
http://science.2ch.net/test/read.cgi/kikai/1040610345/

この過去ログを見てみたいのである場所を教えてください。(個人のサイトとか)理由は、これのpart1
を先輩が持ってるのを読んでおもしろかったので続きを見たいのです。
よろしくお願いします。


437 :名無しさん@3周年:04/09/15 23:33:36 ID:78JFmRV3
>>436
●を買えと指摘されてるじゃないか。
お前馬鹿か?

438 :名無しさん@3周年:04/09/15 23:42:30 ID:E9t3g7e+
リンクが無いのをどうしろと?

439 :名無しさん@3周年:04/09/15 23:58:10 ID:78JFmRV3
320 名前:774ワット発電中さん sage New! 投稿日:04/09/15 01:13:59 ID:NwZf+Br3
●を買うとは

http://2ch.tora3.net/

2chのログを読むのも常に只というわけではない。
嫌なら探すか、公開されるまで待て。


リンクちゃんと貼ってくれてるじゃん。
やっぱり馬鹿?

440 :名無しさん@3周年:04/09/18 00:05:50 ID:9XAqWvpF
ディスククラッシュしたとかで2chにはもう無いって話は聞いて知ってるよ。

441 :R776:04/11/08 21:53:54 ID:qvdFyQa8
>>433
1.割り込み信号がなまりすぎか回路がおかしい?
2.TIMER2の処理とTIMER1の関係?
3.ひょっとしてウオッチドックか?
4.その他不明

442 :名無しさん@3周年:04/11/09 15:20:21 ID:0lUXzyCm
>>436
うぷろーだを出せば親切な香具師が貼り付けてくれるかもしれん。

443 :名無しさん@3周年:04/12/05 23:31:31 ID:YhNWI0kB
Delphiのコンパイラーって無いね。
当たり前か・・・・・・・・・。

444 :名無しさん@3周年:04/12/07 13:06:44 ID:4ylAMdX1
せめてパスカルと言え。

445 :名無しさん@3周年:04/12/13 14:01:47 ID:/5JBp1Gj
秋月のPIC ProgrammerってICSPで書き込みって出来るん?

446 :名無しさん@3周年:04/12/14 03:35:13 ID:WuqjD+gQ
格安AVRライター知りませんか?金ないです。

447 :名無しさん@3周年:04/12/14 04:11:24 ID:9wDPCLDB
>>446
ttp://elm-chan.org/works/avrx/report.html

448 :れおな:05/01/22 12:59:09 ID:TdGUb295
C言語でPICを制御したいのですが、ちょうどいいコンパイラが見つかりません。
誰か教えてください!!お願いします!!

449 :名無しさん@3周年:05/01/22 13:09:12 ID:/s3VnnyQ
>>448
CCSCは資料豊富でお安いぞ。

ただ、アセンブラソースはちゃんと見直せよ。

450 :名無しさん@3周年:05/01/24 11:56:07 ID:0giYRCP/
>>448
Hitech-C Liteでしょ?


451 :名無しさん@3周年:05/01/25 00:47:05 ID:vna20sPQ
System.outがリンク切れなのだが、詳細知ってる人いる?

452 :名無しさん@3周年:05/02/09 17:31:16 ID:hJg0Hayn
電子工作初めて半年ほどの素人です。
今までアナログでLEDいじりばかりしてきましたが
あるところで「デジタルから始めるのも最近は有りだよ」
といわれMCUにチャレンジしてみたいのですが
いきなりAVRは無理でしょうか?

453 :名無しさん@3周年:05/02/11 00:38:10 ID:VhvtrdsI
>>452
はじめたいと思ったものにシロ。
お前が興味もたんと続くわけなかろう?

ちなみにあっしはPICだったが、これからFPGA
っていうやつをいじってみようと思う。

454 :名無しさん@3周年:05/02/15 18:18:30 ID:g51tbun2
PIC初心者です。
とりあえずライタ作ってLEDをチカチカ点滅させる事が出来ました。
次はデジタル時計かテレビ用のリモコンでも作ってみようかと思うのですが、
初心者にはどっちがお勧めですか?

455 :名無しさん@3周年:05/02/15 19:12:32 ID:o2wmlBko
>>454
時計。

リモコンはどういうコードを出すかってことを考えないと駄目でしょ。
手持ちのリモコンから拾う(記録する)にせよ。

456 :名無しさん@3周年:05/02/15 19:45:17 ID:ZNyKytVy
AVRマイコン総合スレ Part4
http://science3.2ch.net/test/read.cgi/denki/1108290187/

【お手軽】PIC専用のスレPart3【マイコン】
http://science3.2ch.net/test/read.cgi/denki/1108027098/

[SH_M32__ルネサスマイコン総合スレ1__H8_R8C_Tiny]

http://science3.2ch.net/test/read.cgi/denki/1106160714/


457 :名無しさん@3周年:05/03/15 00:22:20 ID:+7UyD6en
はい!、そこのあなた!、教えてください!。

PICにシリアルEEPROMの93C46をつなげたいのですが、シリアルEEPROMは
初めてなのでハンドアセンブラで書き込み練習しているのですが、いっこう
に成功しません。EWEN→WRITE→READで問題ないですよね?。
機械式のスイッチでパコパコしてるから成功しないのでしょうか?。
立ち上がり時にDIを読み込むとデーターシートに書いてあったので、ひょっと
してチャッタリングが原因なのでしょうか(SKがチャッタリング駆動)?。



458 :名無しさん@3周年:05/03/15 00:28:54 ID:AF4CclrJ
>457
メカニカルスイッチそのままじゃダメでしょう

459 :名無しさん@3周年:05/03/15 02:09:08 ID:z9cBd8l6
>>457

I2CのEEPROMなら、クロックがいくら遅かろうが動作するから手操作も可能かもしらん。

シリアルEEPROMは、ごめ、使ったこと無い。


しかし、手操作とはエンジニア長い方ですか?

460 :名無しさん@3周年:05/03/15 21:06:41 ID:+7UyD6en
>458
メカニカルスイッチはやっぱりダメですか。よくよく考えたら当たり前のことだった。
なんせ5年ぶりにマイコン弄ってるんで。

>459
デジタルエンジニア歴3ヶ月っす。で、本採用される前に逃亡しました。
だって、できないって言ってるのに1ヶ月でCでH8組み込んでPLDでシリパラして製品作れって言うんだもん。
パターン設計も機構設計も全部一人。ま、人材不足のSE界では普通なんでしょうが・・・。
とりあえずPICが精一杯な俺には無理でした。ていうか、他の人も全員ダウンでした。

461 :名無しさん@3周年:05/03/20 14:48:40 ID:gn1JwexB
使っている方いないかもしれませんが、秋月のキットAKI-AVRの
プログラマソフト(PC側)について教えてもらえませんか。

秋月のHPよりAVR Programmaerの1.40.25をダウンロードしてインストールして
みたところ、チップに書き込みを開始しようとすると「ライタと通信中」という
ダイアログと同時に「実行時エラー’9’:インデックスが有効範囲にありません」と
エラーをはいて停止します。
読み込みでも同様です。

COM選択時には「ライタを検出しました」「AVR ISP SW:3.9 HW:3.1」と出ています。
なお、AVR_PGMの1.1.7では正常に書き込みができます。

どなたか対処方法をご存知の方はいらっしゃいませんか?

462 :名無しさん@3周年:05/03/20 15:44:43 ID:NHpzbD2a
>>461
こっちで聞いてみたら?(その場合、誘導されたことを書いてね)

AVRマイコン総合スレ Part4
http://science3.2ch.net/test/read.cgi/denki/1108290187/l50


463 :名無しさん@3周年:05/03/20 16:24:54 ID:gn1JwexB
>>462
御指摘ありがとうございます。そうしてみます。
実は悩んだのですがあちらだとツールを自作されている方しか
いない(AKI-AVRユーザがいない)かと思い、こちらに投げさせて
頂きました。せっかくなので、向こうでも聞いてみます。


464 :名無しさん@3周年:2005/03/23(水) 01:22:51 ID:LJggz0DT
I2C EEPROMの24C1024について教えてください。

データーシートを見ると、アドレスは8ビットでMSBとLSBに分けて合計16ビット
で指定しますが、これだと最高65535×8のアドレスまでしかアクセスできません。
24C1024は131072×8までアドレスがあるのですが、どうすればそこまでアクセス
出来るのでしょうか????。もしかしてデバイスアドレスとくっつけて考えるの
でしょうか(デバイスアドレスのA1とPo)????。
ついでにもう一つお聞きしますがデバイスアドレスの”Po”ってなんでしょうか?。
どこにも説明が書かれていませんです。

データーシート
http://akizukidenshi.com/pdf/atmel/at24c1024.pdf

465 :名無しさん@3周年:2005/03/23(水) 03:41:48 ID:dstVERMv
>>464
電気電子板の質問スレに行け

466 :名無しさん@3周年:2005/03/23(水) 04:30:00 ID:tvUo4BNT
>>464
> どこにも説明が書かれていませんです。
データシートの8ページのDeviceAddressingに書いてあるけど


467 :名無しさん@3周年:2005/03/23(水) 06:26:06 ID:oKDz0Smo
>464 データシートを読まないお前は回線切って首吊って死ね!
しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!
しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!しねしねしねしねしんじまえー!

468 :名無しさん@3周年:2005/03/23(水) 16:12:33 ID:tvUo4BNT
>>464
466です
>データシートの8ページ
は2005年版のデータシートです。
>>464 のデータシートでは9ページ目


469 :名無しさん@3周年:2005/03/23(水) 18:59:41 ID:LJggz0DT
>>465 
俺も少し探したんだけど、しっくりくる板がなかった。
PICでやってるから許して。

>>4667
今日鼻血がでたから勘弁してな。

>>468
すんません、でかでかと書いてありました・・・。頭の中で他のシートとごちゃ混ぜ
になってますた。

470 :名無しさん@3周年:2005/04/29(金) 03:42:23 ID:yELwvddh
一部のAVRチップは外部メモリを使用できると聞いたんだけど、
どのチップで可能なの?
EEPROMを外部に持つことは可能?

厨房な質問でスマソ

471 :名無しさん@3周年:2005/04/29(金) 17:45:33 ID://nlV9s7
>>470
AT90S8515/ATmega162/ATmega64/ATmega128等で外部メモリが使用可能です。(主なものだけ)
EEPROMのバスタイプはこれらのCPUでも接続可能です。
通常はシリアルタイプ(I2C/SPI)のEEPROMを外付けすることが多いです。
シリアルタイプの場合は上記以外の普通のAVR/PICでも使用できます。

472 :名無しさん@3周年:2005/04/29(金) 18:42:39 ID:yELwvddh
>>471
ありがとうございます。
I2C等をキーワードにちょと調べて勉強してきます。
ド素人なのでまた質問することもあると思いますが、
よろしくおながいします。


473 :名無しさん@3周年:2005/05/23(月) 21:08:51 ID:MniBwLX/
877にオペアンプのLM358N(Vcc=5V)の出力を付けたいのですが
PORTBの内部プルアップで出力をプルアップしても大丈夫なのでしょうか?。
とりあえず、今はそうして使っているのですが、なんとなく877が壊れ
そうな気がして。。。LM358Nは出力がプッシュプルですが問題ないですよね?。
LM358Nがオープンコレクタなら安心ですが、プッシュプルはまだ使ったことが
ないんで、ちょっいと不安です。

474 :名無しさん@3周年:2005/05/25(水) 08:08:44 ID:+elR2ts1
>>473
言っていることがよくわからんので、回路図晒してみてちゃぶだい。


475 :名無しさん@3周年:2005/05/26(木) 02:55:46 ID:Eud5I2MY
>>473
ポートBを入力にして、プルアップをONにした状態で、
オペアンプの出力を接続するってことでしょ。
別に問題ないんじゃない。
心配ならプルアップをOFFにすればいいだけだし。

476 :名無しさん@3周年:2005/06/04(土) 11:37:09 ID:L75f88cg
>>474
おれのニホンゴすこしおかしかったか。要は、LM358の出力を、内部プルアップ
しているPORTBに直結してもよいものかと。

>>475
うむ、その通りです。けど内部プルアップって結構ゆれるんです(俺だけ?)。

477 :名無しさん@3周年:2005/06/10(金) 14:14:52 ID:aGx6GaTF
>>476
877とLM358の電源電圧が同じならプルアップが特に問題になることはない。
それよりもLVPモードのこととかLM358のクロスオーバー歪のこととかは
気にしなくてもだいじょーぶ?

478 :名無しさん@3周年:2005/07/10(日) 10:15:00 ID:Ue2umG8H
ICSPについて教えてください。
PICSTART PlusでPIC16F630にICSPで書き込もうとしているのですが
正常に書き込めません。ICSPで書き込むにはチップのVDDをライタから
供給するんでしょうか?現在ターゲット側から供給していますが、
ターゲット側の電源をONにするとチップのプログラムが開始されてしまう
と思うのですが大丈夫なんですか?

479 :478:2005/07/10(日) 19:24:47 ID:Ue2umG8H
自己解決しました。RA3をリセット端子に定義しないとICSPできないんですね。
いつもリセットを使っていなかったので判りませんでした。


480 :478:2005/07/16(土) 07:40:11 ID:wfIV+miJ
その後、内部プルアップを有効にするとICSPできなくなる症状に悩まされていました。
結局PICSTART Plusのドライブ能力不足が原因で、AKIZUKIのライタならなんの問題
もなくICSPできました。先のRA3もリセット端子に定義しなくてもOKです。


481 :名無しさん@3周年:2005/08/26(金) 07:19:22 ID:IMGpzJiV
WIZ-C+PIC16F88を使った時のメモ

・インラインアセンブラで org を入れても効かない
#pragma asm
  module "ROM_DATA1" absolute forced 0F00h
   dw -810 & 03fFFh ;
   dw -792 & 03fFFh ;
    ・・・
   endmodule
#pragma asmend
のように、cソースの先頭に入れて解決した。

・WatchDogを使う場合、ApplicationDesignderのタイマー右端の犬のアイコン
 これをしないで自動作成されるXXX_Auto.hに書こうとしたら、コンパイル毎にこれは
 再作成されるようで消されちゃった。
 シミュレータのControlの□EnableWatchDogのチェックを入れておく事

・CONFIGの設定は
const int cf1=_CP_OFF & _CPD_OFF・・・ 他
#__config cf1
のようにCソースに入れておく。 PIC16F88はCONFIGが2つあるけど2つ目の設定方法は判らなかった

・シミュレータは良く出来ていてデバッグ環境はいいけど、PushButtonを設定しても
 なぜかPB0だけ効かなかった。 何か他のデバイスを設定したままになってたのかもしれないが・・・

全体的にコストパフォーマンスを考えると非常に良い。 
MPLABだけで作るのに比べて半分以下の時間ですむ。
ただ、Cから入った人にとっては、えらく重いコードを吐くので使えないだろう。
負数かどうかの比較も if(A <0)なんて書いたら重い。 if(A&(1<<7)) が等価で早い



482 :名無しさん@3周年:2005/08/26(金) 07:49:01 ID:IMGpzJiV
WIZ-Cの問題は日本語。 Ver11.05の場合外部エディタでもunicodeで保存すれば
それを XXchr.c とアスキーに変換してコンパイルしてくれるし、
GUI内のエディタでは変換前のコード=日本語の入ったコードでデバッグ出来る。

これで殆ど問題ないけど、
// コメントに日本語が入っているとタマに途中が改行コードになってコンパイルエラーが出たりする
そういう時はさらに/* */でコメントアウトすればエラーは回避出来るけど 行ズレは残ってしまう。


483 :sage:2005/08/27(土) 11:51:02 ID:R2wlXbgS
ATMELの書き込み環境のSTK-500なんですけどファームウェアアップデートがうまく行ってません。
何かポインタ等あったら教えてほしいです。

確認したのは、AVR WikiのFAQ内の"AVRStudio4.11でのSTK500/AVRISPのファームウェア更新方法"に従ってです。

ステップとしては

1.AVR Studio 4.11起動
2.ConnectしてVer 1.0Eのファームを確認。アップデートしてくるか聞いてくる
3.一旦電源を押して、PROGRAMボタンを押しながら電源ON
4.upgrade.exeを起動
5.Error: No programmer found が出てしまう

2番でAVRを見つけることができているので接続自体は大丈夫なように思えます。
そのため、この接続で3から手動でupgrade.exeでのupdateを試みてもみてるのですが
うまく行ってません。

AVRfreaksのDN019というドキュメントを見ると、firmware programmerモードではLEDが消える
みたいなのですが、うまく行ってる方このあたりの状態を教えてもらませんか?

現在、当方の環境だとPROGRAMボタンを押した状態で電源投入してもLED(STATUS)は点滅後緑点灯になってしまいます。

うーん、どこが悪いんだろ。

484 :名無しさん@3周年:2005/08/28(日) 23:21:31 ID:Vz1GG7/7
>>483
AVRStudio4.11(build410)SP3の場合AVRStudioの自動認識でもちゃんとアップデートできました。
SP3をいれてからAVRStudioでアップしてみて?


485 :名無しさん@3周年:2005/08/31(水) 03:19:05 ID:5yfnL00Q
FED社のUSBプログラマのPIC-Keyを使用して、
秋月のPIC18F8720モジュール基板へ書き込みたいのですが

コントロールソフトのPIC Programmer(Ver5.14)で

メニューのPIC>Select Device>PIC18F8720を選択すると
暴走するのですが対策をご存知の方いらっしゃいますか?

486 :483:2005/09/01(木) 12:31:15 ID:Bzq6MeDq
>>484
返信どもです。実はすでにSP3で確認してこのような結果になっています。
でも、一度SP3入れて試してみます。

487 :名無しさん@3周年:2005/09/02(金) 01:05:32 ID:xNSdI3OR
>>486
AVRStudioから更新する時は更新するかのダイアログでそのままボタンを押してOKでした。
(STK500ボードには触らずそのまま継続した)

再度、手動での更新もしてみましたLEDはドキュメント通りの動きでした。
AVRStudioは終了させておく。
PROGRAMボタンを押した状態で電源ONするとLEDは消灯。
この状態でUpgrade.exeを起動すると[Start Upgrade]のボタンが押せる状態になっている。
[Start Upgrade]で更新終了。

当方での確認結果です。ご参考までに。


488 :名無しさん@3周年:2005/09/04(日) 03:05:42 ID:dX27HDH0
>>487
わざわざどうもです。

どうやらPROGRAMボタンを押した状態で電源を入れてもLEDがつきっぱなしのようでしたので、
どうもここの状態がおかしいようです。

回路図を簡単に見てみるとシフトレジスタを通してPIOで受けてるようなので、
該当PIOピンをPROGRAMを押した状態=Low に強制的に落としてみましたが
だめでした。

AVR Studioから1.0Eというバージョンで見えているので動いてはいるよう
なんですけどね。このプログラムモードに切り替えないといけないようです。

現状、ちょっとお手上げですね。


489 :名無しさん@3周年:2005/09/04(日) 04:20:12 ID:MRXH/12j
プログラム モードへはAT90S1200が制御します。
PB1でPROGRAMボタンのONを受け、
PB4=LowでAT90S8535をリセット状態にします。
AT90S8535がリセット状態になるのでLEDが消えます。
ファームウェアの更新はAT90S1200が行います。
AT90S1200関係の動作は如何でしょうか?

490 :名無しさん@3周年:2005/10/01(土) 08:12:45 ID:1IiMS8pg
PICで読み込むファイル形式はPBなんですか?

491 :名無しさん@3周年:2005/11/02(水) 07:10:01 ID:sCfE8lTR
初心者の本でタイマーのページで01EHなら
16+14=30で、3Sのタイマーと書いてあるのですが

01EHとはどういう意味ですか?

492 :名無しさん@3周年:2005/11/02(水) 11:16:25 ID:4F+gxf9e
>491
カウントの回数を指しています。
01Eh[16進]は、30[10進]でしょう。
タイマーの周期=0.1秒で、30カウントすると3秒。

493 :名無しさん@3周年:2005/11/05(土) 06:31:33 ID:mcz1rt15
>>492
ありがとうございます!
ウインドウズ付属の電卓で変換しますと
16進1E→10進30になるのですが
01Eh[16進]の最後のHはどういう意味なのでしょうか?

494 :名無しさん@3周年:2005/11/05(土) 12:09:48 ID:2ekWXvmD
Hexadecimal (Hex)

495 :名無しさん@3周年:2005/11/05(土) 22:48:26 ID:7n4l6DJe
MPASMでは01Ehのような表記も可能だが、
User'sGuide(またはHELP)ではH'1E'または0x1Eのような表記が推奨されている。

496 :名無しさん@3周年:2006/01/24(火) 18:38:18 ID:/1h3OP7n
DCモーターで角度45度毎回転させたいのですが、
Cやアセンブラではどういったプログラムなのでしょうか?

497 :名無しさん@3周年:2006/01/24(火) 22:32:04 ID:SaKx3pDC
>>496
まわすだけなら↓だけど
ttp://www.kimurass.co.jp/pic/1025.htm
DCモータで細かい制御って難しいのでは?
大人しくステッピングモータ使ってはいかが?

498 :名無しさん@3周年:2006/03/08(水) 13:04:10 ID:WSahJPJa
hosh

499 :fusianasun:2006/03/25(土) 16:59:37 ID:zxF61zKf
タイマー0だと256までしかカウントできないですよね。
それを4つのレジスタに1つのレジスタと見立てて2進数で記録する方法教えてください。


500 :名無しさん@3周年:2006/03/25(土) 21:41:11 ID:T/iC0RLM
500

501 :名無しさん@3周年:2006/03/26(日) 02:01:19 ID:RtunvXTK
マイコンってさ、ハードがわかってからやるもんだと思ってた。
4つのレジスタに1つのレジスタと見立てて って32bit!?
記録ってなにさ
ついでにバイナリじゃなきゃなんで記録するの?(BCDって死語か…)

桁数増やしたいだけならキャリーを上位レジスタに波及させていくだけ
具体的にはステータスレジスタのキャリーフラグがたっていたら上位レジスタ
を+1
足し算の筆算と同じ原理

502 :名無しさん@3周年:2006/03/26(日) 02:08:27 ID:RtunvXTK
501
追記 インクリメントだけだったらPICの意味不明なのに
無性に便利な命令incfszが使えるぞい

>>493 0x1Eが10進数30であることくらい電卓使わずにわかってください。
電子工作趣味の人の将来が心配だYO!

503 :名無しさん@3周年:2006/06/17(土) 01:04:08 ID:YEQYqEFS
お願いします。わかったら教えてください。。。
PIC16F877でINT_RDA割り込みを使ったシリアル通信プログラムを作っているのですが(コンパイラーはCCS)
putc() と enable_interrupts(INT_RDA)の相性なのかどちらかを書くと下記*の点滅ができません。以下に
抜粋したソースを書きます。。

enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
while(true){
 if(sw1 == 1){
  if(frg == 1){
  disable_interrupts(GLOBAL); << 割り込み中止
  putc('#');          << 下のenable_interrupts(GLOBAL)を書かなければ一回は実行され
  putc('T');           その後も*の点滅はされる。しかし割り込み処理はできない。
  putc('X');           <<書けば下の割り込み再開の所で処理がとまってしまう。。
  putc(0x0D);
delay_ms(5);
putc('A');
lcd_cmd(0x80);
printf(lcd_data,"*");
delay_ms(500);
lcd_cmd(0x80);
printf(lcd_data," ");
delay_ms(500);
enable_interrupts(GLOBAL); << 割り込み再開:これを書くとこれ以降の処理に進まない
}                     書かないと割り込みが出来ない。。
}
}
}

あんぽんたんな質問なのかも知れないのは重々承知です。皆様のお力をお借りできれば
とても助かります。よろしくお願いします。。皆様に幸がありますように。。

504 :名無しさん@3周年:2006/07/03(月) 16:46:25 ID:IZsxmC/y
割り込みをイネーブルすると止まってしまうということは、他の割り込みに
行ってしまってる(又は変なアドレスに飛んでる)か、割り込み関数内での
処理が適切じゃなくてまってるとか、暴走してるとか。RCREGリードでRCIFが
クリアされてないとか。そういうことはないでしょうかね。
使えるテストピンやLEDがあるのなら、受信割り込み関数がきちんと呼び出
されているかを確認してはいかがでしょうか。

私もPICは初心者ですし、上記書き込み以外の情報は全くわからないので検討
違いなこと書いてるかもしれませんがご容赦を。

505 :Mr.S.S:2006/07/13(木) 22:32:35 ID:y8g70hTB
卒研でpicとC言語で電卓作ろうと思っているのですが、その例が載っているような参考書知ってるひといますか?

506 :名無しさん@3周年:2006/07/24(月) 20:43:02 ID:XygDPt9Z
超ど素人です。
AVRISP MkU(USBのやつ)で書き込むですが。
35分かかります。こんなもんですか?
ATmega128に書いてます。ソフトはAVRのスタジオです。
HEXファイルのサイズは165Kです。
因みに、デジットのパラレルの奴で書くとすぐ出来てます。
くぐっても何がなんだか…。助けて下さい。


507 :名無しさん@3周年:2006/07/25(火) 07:25:00 ID:GLlK3VaZ
>506
ISPのFrequencyはいくつに設定してます?
ターゲットCPUが12MHz以上ならその1/6程度、12MHz未満なら1/4程度まで設定できます。
16MHzならISP-Freq.は2MHzにすると速く書き込めるはずです。

508 :506:2006/07/25(火) 22:41:59 ID:6YSemcbY
>507さん
ありがとうございます。
が、Frequencyがわかりません…。
ソフトの項目を色々見て回りましたが、何処を触ったら良いのやら。
適当に触り書き込むと30分でした。
素直にPC買い換えた方が良いのですかね?


509 :名無しさん@3周年:2006/07/26(水) 05:57:30 ID:+IEGx/SH
>508
AVRStudioをお使いですよね
1)AVRISPmkの書込み用ダイアログを表示します
2)[Board]タブを選択します
3)[Oscillator and ISP Clock]の[ISP Freq:]でISP周波数を指定します
4)その右の[Write]ボタンで設定を書き込みます

STK500.EXEを使う場合は
stk500.exe -cUSB -I1MHz ・・・
の様にオプションスイッチで指定します

ATmega128の場合出荷時は内蔵1MHzの設定となっていますので
この状態で書き込むには ISP Freq.は250KHz以下とします。
又、一旦外部XTAL-16MHZ等でヒューズを書き込んだ後は ISP Freq.は2MHzが指定できます
(ISP-1MHzでも充分速いです)

510 :名無しさん@3周年:2006/07/26(水) 06:07:42 ID:+IEGx/SH
>508
失礼ですが書き込むヒューズの値とかは分かっていますよね?
ヒューズは注意して指定しないと動作しなくなる場合があります。
ヒューズの値はターゲットのボード(ハード)によっても異なります
自作のボードかな?
また、ヒューズは一旦書き込めばその後はチップ消去しても残っていますのでプログラムだけの更新で構いません。

511 :名無しさん@3周年:2006/07/26(水) 06:11:03 ID:+IEGx/SH
>508
ここは過疎スレです。
AVRに関してのことなら「AVRマイコン総合スレ」の方が良いでしょう
ttp://science4.2ch.net/test/read.cgi/denki/1148195387/l50

512 :名無しさん@3周年:2006/07/26(水) 20:58:53 ID:dhpAoVmk
ビットレート変換装置を作りたいんだけどうまくいかない。
FED PIC C コンパイラの限界?

513 :名無しさん@3周年:2006/07/27(木) 13:32:00 ID:ETDjLDqZ

アニメ BEST100
ttp://www.animedepot.biz/DVDlist/2005years_best.htm

1位
http://www.animedepot.biz/DVDlist/title/KVDVD0542.htm
2位
http://www.animedepot.biz/DVDlist/title/KVDVD0518.htm
3位
http://www.animedepot.biz/DVDlist/title/A18D2492.htm
4位
http://www.animedepot.biz/DVDlist/title/KVDVD0533.htm
5位
http://www.animedepot.biz/DVDlist/title/A18D2480.htm
6位
http://www.animedepot.biz/DVDlist/title/KVDVD0512.htm
7位
http://www.animedepot.biz/DVDlist/title/KVDVD0502.htm
8位
http://www.animedepot.biz/DVDlist/title/KVDVD0521.htm
9位
http://www.animedepot.biz/DVDlist/title/KVDVD0505.htm
10位
http://www.animedepot.biz/DVDlist/title/KVDVD0508.htm

514 :506:2006/07/28(金) 01:27:29 ID:Zb07yYZI
>509
丁寧にありがとうございます。
が、当方は夏季休暇で触れないので
休暇明けに試してみます。
>510
ヒューズの値解っていません。
当方、普段はビル管理の仕事ですが、
気が付けば自社製品の設置担当になっていて
自社製品にファームウェアの書き込みも行わなくてはならなくなりました。
製品の設計などは外注なのですが。
基本設計と最終が別の業者で最終の業者が高額で対応してもらえす、
基本設計の業者に聞いても解らないで突っ返されています。
自分の専門外の分野に日々振り回されてる状態です。


515 :510:2006/07/28(金) 21:55:43 ID:8Csvnz6y
>514
そうですか、それは大変ですね・・・
そういうことならかえってこのスレの方が出入りが少なくていいかも・・・
なんらかの手段で連絡が取れる方法があれば直接やり取りした方が手っ取り早いですが
いい方法が思い浮かばない

516 :506:2006/07/29(土) 00:09:41 ID:YbQBKAVK
510さん
ありがとうございます。
その言葉だけで涙もんです。
週明けに509で記載頂いた方法試してみます。
(今、改めてIDみて同じ人と気付いた)
設置先(全国)で不具合がありファームを書き直す事を考えると
35分と言う時間が長すぎると言うだけでここに書き込みました。
が、やはり基本を理解出来ていないと厳しいと実感しています。
PCはX24(私物)ですが、X31(パラ装備)購入の稟議はおりましたが、
この先同じ事繰り返しそうなのでAVRISPmk2で頑張ってみます。
設置担当になったのはnyでポート開放出来ただけなのですが…。
今から、色々貼られているHPで勉強してきます。
それでもダメな場合、棄てアドでも入れますので宜しくお願いします。



517 :506:2006/08/01(火) 00:54:08 ID:F6QGHbCZ
510さん

509で記載頂いた方法で書き込みしました。
なんと、1Mの設定で8秒で書けました。(感激)
その後、調子に乗り設定を上げて行き最高で4Mで6秒でした。
(相変わらずよくわかってません)
でも怖いの1Mで使って行きます。

色々とお世話になりました。ありがとうございます。


518 :510:2006/08/01(火) 02:14:04 ID:+ylqhkcx
>517
ひとまずOKですか、良かったです。

519 :名無しさん@3周年:2006/08/03(木) 13:06:22 ID:+iIsQpgz
まさか、506 って、シンド(ry

520 :506:2006/08/03(木) 23:27:56 ID:H+jymSYi
>519
シンド(ry ってなんですか?

521 :名無しさん@3周年:2006/08/04(金) 06:52:31 ID:A5Xm4h8q
あれってZ80系だったのかな。
そして>>506がAVRにリプレースする予定なんだろうな。
と妄想

522 :名無しさん@3周年:2006/08/08(火) 21:39:53 ID:hOkrT791
>>519
渚のシンド(ry


523 :MM:2006/08/12(土) 18:56:48 ID:80BiQ8GU
SDCC を用いてPICのプログラムを書いています。pic16f88.h を参考に
typedef union {
struct {
unsigned char RA0:1;
(省略)
};
} __PORTA_bits_t;
volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;
#define RA0 PORTA_bits.RA0

のような設定をし、C で 「 RA0=1; 」によりPORTA の所定の端子を変化させようとしています。
ところが、"BCF STATUS,5" のようなBANK を切替えるコードを吐かないため、所定のデータに
アクセスできません。BANK 切替えコードを出すようにするにはどうすればよいのでしょうか。

524 :名無しさん@3周年:2006/10/02(月) 21:37:03 ID:m7K3EFSj
16f873Aのフラットパッケージを売ってる
お店を知っていたらどなたか教えてください・・・

525 :名無しさん@3周年:2006/10/05(木) 12:58:11 ID:YuSZxT52
>>524
こちらへ誘導どうぞ
【12F629】PIC専用のスレPart10【輝け!】
http://science4.2ch.net/test/read.cgi/denki/1155772077/


526 :名無しさん@3周年:2006/11/01(水) 11:31:00 ID:+Je24nZx
質問なんですが、
ttp://avrwiki.com/wiki/index.php/Your_First_AVR_Order
ここに、AVRのプラグラミングを始めるにあたって、購入しとくといいよってリストが紹介されていますが、
とりあえず、AVRにhexファイルを書き込むだけなら、STK500だけで事足りるんでしょうか?

527 :526:2006/11/01(水) 12:22:39 ID:+Je24nZx
質問は、電気・電子板のほうなんですね。
移動します、スミマセン。。

528 :名無しさん@3周年:2006/11/17(金) 00:24:56 ID:usFFqkAv
AVRのプログラムをPIC用に変更してくれるソフトって無いですかね?
ちょっと変更しないといけないのがあって、自分でやっていたんですが・・・・
何か知っている方がいれば、教えてください。
よろしくお願いいたします

529 :名無しさん@3周年:2006/12/13(水) 01:06:33 ID:L7lAbRmB
質問です。現在avrを勉強中なのですが、思ったように動きません。
attiny2313のPORTDにパルスを発生させるだけの単純なプログラムなのですが、
パルスが発生するどころかピンが出力にすらなっていないようです。
WinAVR-20060421でmakeし、ライタはChaNさんのシリアルライタを使用しています。
ソースファイルはtest.cのみで、makefileはmfileで作成したものを修正して使っています。
修正点は以下のとおりです。

MCU = attiny2313
TARGET = test
OBJDIR = obj
SRC = $(TARGET).c
CPPSRC =

なにか問題があるのでしょうか?
わかる方お願いします。

530 :名無しさん@3周年:2006/12/26(火) 10:47:54 ID:pvg4EMQb
>>529さん
WinAVR-20060421は「mfile/makefile_templateの不具合が修正されていません
ので注意してください」については対応されているのでしょうか。

531 :名無しさん@3周年:2006/12/31(日) 07:38:25 ID:QxgoOBtE
CCS−CとFED WIZ-Cってどっちがおすすめなの?
エロい人教えて(´・ω・`)



171 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)