LEDチカチカ練習用PICですね。わかりません。
そろそろ透けてるPICが出てもいいはずなんだが・・・・
絆創膏と前貼りのがいいです
なんか大昔に、亀の子でメモリかなんか乗せるやつってなかった?
店員が「高いよ。マイコンだよ」とか言ってた気がする。端子が全部金メッキだった。
>>500 PPIでそんなのあったね。ハイブリッドだったけど。
>>502 Z80ができるんだからCPU自体はできそうだけど、メモリ関連ってどうなんだろう。
>>504 ピギーバックだね。
EPROMを背中に乗っけるという、無駄に高価なパッケージだ。
まあ、EPROMがCPUと同じチップに集積できない時代に、
マスクROM版とほぼ同じ形状にできる。
>>504 バグタイザーのオマケでもらった8255互換ボードはLEDチカチカしたよ。
ICD3でデバッグしています
RunさせてしばらくするとCPUが勝手に停止します
時間にして走らせてからおよそ2分20秒後くらいです
レジスタの設定周りで何か原因に成りうるものはあるでしょうか
CLK=16MHz(MIPS 4MHz)で2MHzのPWMが出来るのかと思ってやってみたら、
出来るんだね。これが最速か。
>>507 ノートパソコンの節電機能でUSBがオフラインにされるとか?
デスクトップなので違いますね
玉砕
>>507なのですが
エミュレータ切り離して単独で走らせてみても、必ず2分12秒程度でリセットがかかりリスタートしてしまいます
以前2分20秒だったはずのものが2分12秒になったのは、プログラムが長くなった影響なのでしょうか
お手上げです 誰か分かる人いませんか
それだけの情報でわかるのはエスパーさん以外にはいないでしょうね。
凡人に聞くのだったらせめて何をさせようとしているのか、ソースぐらいは出さないと。
WDTってのがあったな
>>514の指摘通りでした
メインループの中にWDTのリセットを挟み込むだけで解決しました
時間で自動的にスリープモードに入っているのではないかとそのへんのレジスタはあれこれ調べていたのですが
WDTが完全に視野から外れていました
勉強になりました
2分20秒はただの記憶違いだったのでしょう
Enhanced Mid-Rangeの中で28,30ピンのPIC16F1938や1939等は
内部コアが3.6V動作の為、LDOを内蔵しており動作を安定させる為に
VACP端子にコンデンサをつないだ方がよいとの記述がデータシートにあります。
CONFIG2の設定でVCAP端子をRA0,RA5,RA6または無しに設定できますが
みなさんはどうしていますか? 試しにブレッドボードでちょこっと動かした分には
VCAP無しでも問題ありませんでした。
>Enhanced Mid-Rangeの中で28,30ピンのPIC16F1938や1939等は
(改正) 28,40ピンです
>>515 twelveとtwentieで間違ったんじゃね?w
picをはじめるには
まずなにをすれば。
用途から品番選定
>>519 売ってる本は全部古いから、Google検索だけでおk
ヤフーオークションにPICのすごい安いのがある
とりあえずどんどん手を動かして、やってみると良い
>>519 まず本を一冊買うのがお勧め。PICkit3の話が出ていれば古くないから、
これを目安に買えばいい。開発環境の準備(無料)の方法なども、
書いてあるはず。
ネットも古い情報が満載なので、その点は要注意だね。まず本の内容を
ある程度理解してから、ネットの情報なんかを参考にして、色々やって
みたら?
>>519 あと、
>>520 で言っているICの種類だけれど、慣れてくるまでは一つの品番に
絞ってやった方が良い。20ピンのPICで、本で扱われている物が、初めは良いと思う。
pickitで実機デバッグできるPICをお勧めしたいのと雑誌等で良く使う定番も
お勧めPICは↓
ICD-Debug機能付きでDIPタイプ18-28PIN、秋月電子在庫機種でのお勧め
18PIN PIC16F819 170円 rom3.5KB
18PIN PIC16F87 200円 rom7KB PIC16F88コンパチでAD無し版だがICD-Debug付
18PIN PIC18F1320 220円 rom8KB
20PIN PIC18F14K22 160円 rom16KB
28PIN PIC16F1938 150円 rom28kB
28PIN PIC18F2550 350円 rom32kB USB付きの定番
28PIN PIC18F2620 420円 rom64kB
ICD-Debug無しだが定番
18PIN PIC16F88 200円 rom7KB
525 :
774ワット発電中さん:2012/03/29(木) 18:06:55.08 ID:0VEU9bak
電圧計を作ってみようと思ってるんですが、
16F88とかに内蔵の 10bit A/Dコンバータで安易に済ますのと、
秋月で売ってる 12bitの A/Dコンバータ
http://akizukidenshi.com/catalog/c/cadc/ を SPI接続でがんばって使ってみるのと、10bitと 12bit、どのぐらい違いがあると思いますか?
入力抵抗が大きいテスターを作ろうと思ってます
入力段に OPAMPを使って、OP-AMPの出力を A/Dへ取り込む予定です
OPAMPは電圧フォロア、入力抵抗を上げるためだけに使う
5V以下は OPAMP通すだけ
5V以上は OPAMPの出力を抵抗分圧して A/Dへ入れて
切り替えを RELAYでやったら、アドバンテストとかの本格的なテスターと同じく、
カチカチ音がしてかっこいいかなとか思ってww
OPAMPを通すんだったら、10bitも 12bitも同じだろうとか
5V VDD Refで 12bit使うんだったら Refの 5Vを使って内蔵 10bitの方が良いダロとか
2bitぶん違うわな
解像度だけじゃなくて精度も気にした方が良い。
リファレンスも安定してないとダメだしなー
>>525 dsPIC30F3012 は12BITのA/Dです
18pinDIP
FROM 8Kワード
RAM 2Kバイト
dsPIC30F3012-30I/P 400円
12bitADC PIC18Fにもいくつか付いてる
40pin 18F4553 \430 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP1/1
28pin 18F2553 \420 16Kw/2048/256 ●USB,Max48MHz(31k-8MHz),PLL,12bitADC,CCP2/0
28pin 18F2523 \390 16Kw/1536/256 Max40MHz(31k-32MHz),4xPLL,CCP2/0,12bitADC
28pin 18F25K80 \220 16Kw/3648/1024 Max64MHz(31k-64MHz),4xPLL,eUSART2,TMR2/3,CCP4/1,12bitADC.ECAN
値段的には 18F25K80。専用chipに比べてどうなのとかは?
530 :
774ワット発電中さん:2012/03/30(金) 00:13:36.45 ID:yVKFdCPp
>>524 > ICD-Debug無しだが定番
> 18PIN PIC16F88 200円 rom7KB
デバッグできるはずだけど?
質問なのですが
ソースブースト6.0と7.0に違いってありますかね?
>>530 そのようですね
microchipのProducts画面が間違っているようです。
PIC18F14K22はデバッグヘッダーが必要かも。
534 :
525:2012/03/30(金) 20:28:18.43 ID:NP4/snCE
>>528,529
使い慣れてる 16Fばかり見てましたが、18Fとかだと 12bit A/D内蔵があるんですね
秋月ライターが使えなくなってしまいますが、グレードアップ考えてみようかなぁ
>>534 作っているうちに、デジタルフィルターかけたりFFTして特定の周波数帯だけ表示できる電圧計に拡張したくなるかもしれないので、
初めからdsPIC30Fxxにしたほうが良いと思う。
値段も400円位なので
dsPIC30シリーズは消費電力が大きいから、電池動作させたい場合は要注意。
電源電圧が3.3Vで問題なければdsPIC33シリーズの方が消費電力が低く、処理能力も高い。
PICを使って、赤、緑、黄のLEDを1秒ごとに一つずつ光らせる信号装置を作りたいです。
基本的な信号機プログラムです。どうしたら良いでしょうか?
作れば良い
>>539 どうやって作ればいいでしょうか?
PICのゲートとLEDを直接つなげばいいのでしょうか?
PIC
□□
□□--抵抗--led(青)--0v
□□--抵抗--led(黄)--0v
□□--抵抗--led(赤)--0v
□□
こんな感じでよいでしょうか?
541 :
540:2012/04/01(日) 19:58:44.35 ID:FSc6O1tx
信号装置は授業課題です。
使うPICは16F84Aです。アセンブラを使ってPICにプログラムを
書き込みたいです。具体的に回路がわからないのでよろしくお
ねがいします。
>>541 課題をネットで聞くなよw
自分で考えなきゃ意味が無い。
っていうか、もうやめたら?学校を。
そういうスタンスじゃこの先も無理だと思うよ。
>>541 回路はそれでOK。終わったも同然だな。
>>541 ちなみにプログラムはこうだ。
サブルーチンをちょっと加えれば終わり。
楽したなw
call init
loop
movlw 4
movwf portb
call wait
movlw 2
movwf portb
call wait
movlw 1
movwf portb
call waitx
goto loop
【PIC24/dsPICシリーズ】16bitマイコン アーキテクチャの大幅な改良,同MIPS値のPIC18F以前と比べて数倍高性能
40ピン
-○dsPIC30F4013 \480 16Kw/2KB/1KB ADC12bit TMR5 UART2 SPI1 I2C1 PWM2 CAN
-×dsPIC30F3014 \500 8Kw/2KB/1KB ADC12bit TMR3 UART2 SPI1 I2C1 PWM2
28ピン
-◎24FJ64GA002 \330 21Kw/8KB/--- ADC10bit TMR5 UART2 SPI2 I2C2 PWM5
-◎24HJ12GP202 \260 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-○dsPIC30F4012 \460 16Kw/2KB/1KB ADC10bit TMR5 UART1 SPI1 I2C1 PWM3x2 CAN
-×dsPIC30F2020 \500 4Kw/512B/-- ADC10bit TMR3 UART1 SPI1 I2C1 PWM4x2
-△dsPIC30F2012 \350 4Kw/1KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
-◎33FJ32GP202 \320 11Kw/2KB/--- ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
18ピン
-○dsPIC30F3012 \400 8kw/2KB/1KB ADC12bit TMR3 UART1 SPI1 I2C1 PWM2
共通
24Fシリーズ Vdd2.0-3.6V Max16MIPS (一部ピン5V入力可),I/Oリマップ
24Hシリーズ Vdd3.0-3.6V Max40MIPS (一部ピン5V入力可),I/Oリマップ
30Fシリーズ Vdd2.5-5.5V Max30MIPS DSP命令有,(5V動作可)
33Fシリーズ Vdd3.0-3.6V Max40MIPS DSP命令有,(一部ピン5V入力可),I/Oリマップ
16bitのPIC 秋月は全然変化ないけどMicrochip自体は色々出てるんだよね
PIC24FxxKLxxxシリーズはDIP28,20,14まであり、Vcoreピン無くDIP14でI/O12本ある(I/Oリマップと5Vトレラント無?)
PIC24FVxxKAxxxシリーズはDIP28,20でVcore有るけど5V動作可(コチラモI/Oリマッフ無?)
新型のPIC24EやdsPIC33Eの70MIPS品でもDIP28版あるし
そう言えばPIC32もDIP28版あるね
>>544 最初から完璧なソースを見せたら学生の勉強になりませんよ。
そのコード、今動かしたら一発で動くじゃないですか。凄すぎます。
すみません。質問いいでしょうか?
PICを2つ使って、両方のポートを出力と入力として繋いだ場合は、やはり電流抑えるために抵抗は必要でしょうか?
もし必要なら抵抗値はどれくらい必要でしょうか?
よろしくお願いします。
vcc共通で同一基板だったら直結でいい。
心配なら直列に100Ω入れとけ。
品種とかvccとか温度とかプルアップ抵抗で変わるし、自分で決められないなら入れても意味ないけどな。
>548
通常なら必要ないと思うけど、ソフト上の誤動作で両方が出力状態になった場合を考えると
1kΩ位入れておけば良いかと思う(電位差5Vで5mAなのでIOL&IOHが10mA以上あるなら余裕)
あまり大きいと信号の伝達が遅くなるかと。
もしボードが違ってGNDも共通じゃないなら、抵抗じゃ無理なのでフォトカプラの出番
>>549さん
>>550さん
ありがとうございます!
これで安心しました!
心置きなく工作できそうです!
MPLAB v8.76
PCH V4.112
PIC18F4525
10MHzのセラミック発振子を使用
18S-03A-4(12.8MHz)水晶発振器の出力にVCC(5V)とGNDから10kΩの抵抗で分圧してRC0/T1OSO/T13CKIに接続
TIMER1を10msの割込にしてA2をトグル動作させてオシロで波形を測定
計算ではこれで50Hzの波形が測定できるはずだったんだけど、実測155Hzぐらい
それとH4を有効にして40MHz動作させると実測174Hzぐらいになる
やりたい事は動作させるクロックと時間をカウントさせるクロックを分けて正確な時間の時計が作りたい
それとH4の設定をしたときに周波数のズレが出た原因も知りたい
原因わかる方お願いします
12.8MHzの出力をOSC1/CLKI/RA7に繋いで下記部分を変更すると計算通り50Hzの波形が測定できた
#fuses NOWDT,NOPROTECT,NOPUT,BROWNOUT,NOLVP,MCLR,NOIESO,NOFCMEN,NOPBADEN,EC//HS,H4
// setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
/****************************************
* LED時計
***************************************/
#include <18f4525.h>
#fuses NOWDT,NOPROTECT,NOPUT,BROWNOUT,NOLVP,MCLR,NOIESO,NOFCMEN,NOPBADEN,HS//,H4
#use fast_io(B)
#INT_TIMER1
void intval()
{
set_timer1(33535);
output_toggle(pin_a2);
}
///// メイン関数
void main()
{
set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0x01);
set_tris_d(0x00);
set_tris_e(0x00);
//クロック設定
setup_oscillator(OSC_NORMAL);
// setup_timer_1(T1_EXTERNAL | T1_CLK_OUT | T1_DIV_BY_8);
setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
// setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
SET_TIMER1(16000);
//割り込み設定
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
while(1) //永久ループ
{
output_toggle(pin_a3);
}
}
>>535 ありがとー。
初心者なので、とても勉強になります。
質問します
16F690はRBのピンがが4から7までしかありません。
これを使ってLCDを4bit制御モードで使えるんでしょうか?
また学校の課題か
>>555 LCD4ビットモードというのは何処から出てきた数字なのかね?
>>556 okwebでもそうだが質問してすぐレスするやつは茶化したいだけのが多いな。
ぜんぜん答えてくれないで、文句ばっかり。
>>558 「ググレカス」って言って欲しいのかなぁ?
>>555 4bit制御モードは、データ線が4本ということ。
別に制御線も必要だよ。
>555
SC1602等のHD44780互換チップ載ったLCDモジュールなら4bitモードで
DB7-4の4本とRSとEの6本が制御できれば可能。
ソフト的にはめんどくさくなるけど、DB7-4に割り当てるPIC側のピンは
同じポートである必要も連続するBitである必要も無い。
出力モードにできるI/Oピンが6本あればOK
>>561 どうもありがとうございます。できるんですね。RSとEはPORTAでやりますけど。
>>563 「他人に聞く前にまず自分で調べなさい」とか先生に言われなかった?小学生かなんかの頃に。
565 :
774ワット発電中さん:2012/04/02(月) 20:51:48.06 ID:IX4NzaxJ
>>555 上位と下位の 4bitを swapすれば良いんだよ
たしか
それで、swapしたことをLCDコントローラーにどう伝えるのですか?
東のほうが面白かったんだが
568 :
774ワット発電中さん:2012/04/02(月) 22:53:53.33 ID:IX4NzaxJ
>>567 おもしろいこと聞くね
PORTAに movwfしてどうする?
569 :
774ワット発電中さん:2012/04/02(月) 23:02:35.46 ID:IX4NzaxJ
↑
ごめんおもしろくなかった。誰か頼んだ
>>564 どこで調べればよかったの?おしえてみ?
>>570 >どこで調べればよかったの?おしえてみ?
小学校では先生にそんな口聞いてたの? そりゃ落ちこぼれる筈だわ。
>>570 混じれ酢してあげよう。
まず、近所の図書館(最低でも市立図書館規模)に行く
電子工学のコーナーに何か1冊はPICの本がおいてあるだろう。
そこからスタートだ!さあがんばれ。
そうそう、見た目でなくても、書庫にあるときがあるから、よく探すことだね。
生きる資格がないなんて憧れていた逝き方
ID変えながら一人で楽しそうですねえ
ここにも春厨が
俺は、変えてないぞ
>>571 「おしえてみ?」にきれたの学生さん。
ただで教えてるからって尊大な態度をとってりゃ嫌われる、って先生におそわらなかった?
雑誌 デジモノステーションの5月号に7セグLED時計
が載ってた
と、いつも人に言われてるのね
583 :
552:2012/04/03(火) 23:01:19.24 ID:DaBzHAq3
>>553 ようやく原因わかりました。
水晶発振器を繋いでたT13CKIの入力はデジタルのシュミットトリガになってたのが原因でした。
T13CKIのVILがVSS〜0.3VDD、VIHが1.6〜VDD
多分この辺りで不安定になっていたのかも?
T1OSIは200kHzまでしか受け付けないので使えない
結局はOSC1/CLKI/RA7に入れるしか無いみたいです。
ありがとうございました。
584 :
552:2012/04/04(水) 00:09:18.88 ID:v/dVphMD
追加実験
T13CKIに別なPICから1kHzの信号を入れてやると思った時間の割込になりました。
1kHzはオシロを見ながら調整して出力
set_timer1(65526);
output_toggle(pin_a2);
これで50Hzになりました
>584
余計な御世話かもしれないけど、割込み中にTMR1を固定値に書き換えるのはあまりよろしくない
アセンブラ的な話になるが、割込みのタイミングは割込み発生時に実行中の命令が終わってから発生する
PIC18Fは命令によって1サイクルと2サイクル命令があり、2サイクル命令の前半で割込みが発生すると
割込みに入るタイミングが通常より1サイクル遅くなる。
1サイクル遅くなっているのに次の割込みまでの時間を通常と同じように設定すると、その1サイクルは蓄積
されるズレとなってしまう。2サイクル命令以外にも割込み禁止でも同様というかもっとひどいズレが発生する
上記を防ぐため通常は、CCPの機能で"Compare mode, trigger special event"を使う
TMRが設定値になったら自動で0になり割込みも発生する(TMRの割込みではなくCCPの割込み)。
割込みに入るタイミングが何サイクル遅れても(1周期分65536超えたら無理だけど)TMRもそのプラスされて
いるのでズレが発生しない。
>>580 はよ図書館いって勉強してこい!
時間の無駄だぞ。
図書館をなめるなよ、度肝ぬくぞ!
>>586 命令の実行中とか全然考えてませんでした。
Compare mode, trigger special eventを使ってのタイマーリセットの実験ができました。
指定した時間毎にリセットをしてCCP1の割込で出力をトグル動作させ50Hzの出力が測定できました。
ありがとうございました。
田舎の図書館はなめている。PIC本が皆無。
時間はかかるけど、リクエストができる図書館もあるよ。
新規購入リクエストね。
あるいは図書館同士の連携で他の場所から持ってこれるシステムの場所もある。
592 :
のうし:2012/04/04(水) 14:04:21.43 ID:X8dUDeW0
『PICの本が皆無』ではなく、PICのは股間氏のしかない、かとオモタ。
ちょいちょい質問・・・
複数の回路と複数のボタンがあって
「このボタンを押したらこの回路とこの回路がONになる」
とか自由に設定して使えるようなのって、PICで出来る?
リクエストはできるしほぼ100%通るけどしないよ。
急に注目され始めたジャンルでも無し、今までだれも必要としてない本をリクエストしてもオレ以外借りないからな。
税金は有効に使うべし。
ダイオードマトリクスで出来なくね
マトリクススイッチャーだろ
いつの間にかスルー検定が実施されたか
599 :
774ワット発電中さん:2012/04/04(水) 22:42:52.77 ID:SuK7jN1W
すみません。PICマイコンに興味あるのですが、開発言語は何が良いでしょうか?
いろいろネットで調べるとC言語ばかり出てくるのですが、そんな難しいものは全くのド素人でして・・・
一つ気になるソフトがあって、PICBASICPROというBASIC言語のものです。
これならなんとか行けそうな気がするのですがプロのみなさんはどれがいいでしょうか?
本格的にPICで何かをやりたいのではなく、あくまで日曜工作の範囲内での話しでして
それから、BASIC言語については、高校の頃にポケコンで遊んだレベルです。
つアセンブラ