[戻る]
新着表示

Re: カウントダウンタイマー 投稿者:Gokan 投稿日:2016/12/19(Mon) 22:41:53 No.775

タイマの割り込みを使うと下記のような感じで時間の制御ができます。
下記は赤LEDを1秒間隔でオンオフを継続し、スイッチが押された
時から青LEDを2秒間隔でオンオフするというものです。

/**********************************************
* LEDチカチカ タイマ1,3使用
* PIC16F18325
**********************************************/
#include <xc.h>
// コンフィギュレーション
#pragma config FEXTOSC = OFF, RSTOSC = HFINT1, WDTE=OFF, LVP=OFF

/***** メイン関数 ***********/
void main(void) {
OSCCON1 = 0x60; // PLL Off 1/1
OSCFRQbits.HFFRQ = 3; // 4MHz
LATC = 0x05; // ブリッジオフ
TRISA = 0x30;
TRISC = 0;
ANSELA = 0; // すべてデジタル
ANSELC = 0;
/** タイマ1初期設定 1sec **/
T1CON = 0xC1; // LFINTOSC 1/1 開始
TMR1H = 0x86; // 31kHz/31000=1Hz
TMR1L = 0xE8;
PIE1bits.TMR1IE = 1; // 割込み許可
/** タイマ3初期設定 2sec **/
T3CON = 0xC0; // LFINTOSC 1/1
TMR3H = 0x0D; // 31kHz/62000=0.5Hz
TMR3L = 0xD0;
PIE3bits.TMR3IE = 1; // 割込み許可
/* グローバル割り込み許可 */
INTCONbits.PEIE = 1;
INTCONbits.GIE = 1;
/******** メインループ ***********/
while(1){
if(PORTAbits.RA5 == 0){ // S1オンの場合
LATCbits.LATC3 = 1; // 青点灯
TMR3H = 0x0D; // 31kHz/62000=0.5Hz
TMR3L = 0xD0;
T3CONbits.TMR3ON = 1;// タイマ3動作開始
while(PORTAbits.RA5 == 0);// オンの間待つ
}
}
}
/******************************************
* タイマ1,3割り込み処理関数
*****************************************/
void interrupt isr(void){
if(PIR1bits.TMR1IF){ // タイマ1割り込みの場合
TMR1H = 0x86; // 31kHz/31000=1Hz
TMR1L = 0xE8;
LATCbits.LATC5 ^= 1;// 赤反転
PIR1bits.TMR1IF = 0;// 割り込みフラグクリア
}
if(PIR3bits.TMR3IF){ // タイマ3割り込みの場合
TMR3H = 0x0D; // 31kHz/62000=0.5Hz
TMR3L = 0xD0;
LATCbits.LATC3 ^= 1;// 青反転
PIR3bits.TMR3IF = 0;// 割込みフラグクリア
}
}

         以上


> PIC初心者ですが見よう見まねで下記のHPのキッチンタイマーを
> 製作したのですがアセンブラはいまいち理解しにくいためC言語でカスタムしようと奮闘中です。
> 今回私がバスケをやっており、そのための大型タイマーを作成して現在使用していますが、今度 24秒と14秒を切り替えしながらできる
> ものを作りたいのですがいかんせん初心者でよくわかりません。
>
> 今回の参考先のHPのプログラムをいじって作成しようと思うのですがオリジナルを作成して、動かしてみたのですがうまく動きません
> メールもしたのですが、古すぎて見ていないのか面倒なのかで返事がありませんのでどうかお助け下さい。
>
>
> キッチンタイマ参考HP
> http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/kt/index.html
>
> 24秒と14秒切り替えタイマーの参考HP
> http://physics.cocolog-nifty.com/weblog/2012/06/led-bffe.html

カウントダウンタイマー 投稿者:ベッカー 投稿日:2016/12/19(Mon) 09:33:41 No.774

PIC初心者ですが見よう見まねで下記のHPのキッチンタイマーを
製作したのですがアセンブラはいまいち理解しにくいためC言語でカスタムしようと奮闘中です。
今回私がバスケをやっており、そのための大型タイマーを作成して現在使用していますが、今度 24秒と14秒を切り替えしながらできる
ものを作りたいのですがいかんせん初心者でよくわかりません。

今回の参考先のHPのプログラムをいじって作成しようと思うのですがオリジナルを作成して、動かしてみたのですがうまく動きません
メールもしたのですが、古すぎて見ていないのか面倒なのかで返事がありませんのでどうかお助け下さい。


キッチンタイマ参考HP
http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/kt/index.html

24秒と14秒切り替えタイマーの参考HP
http://physics.cocolog-nifty.com/weblog/2012/06/led-bffe.html

Re^2: 18f452で電圧を表示 投稿者:negishi 投稿日:2016/12/14(Wed) 17:11:51 No.773

マニュアルを読んで#include<stdlib.h>が必要だということで
プログラムに書いてやったのですが、itoa関数自体が入っていないので使い方はわかるのですが、使えません。どうしたらitoa関数を使えるようになるのでしょうか?
itoa関数を記述したものをどっかから持ってくるとかしないといけないのでしょうか?


> CCSのマニュアルにitoa関数の使い方が書いてありますよ。
>
> > LCD SC2004Cに18f452でAD変換した値を表示したいのですが
> > itoa(Integer to Ascii)という関数を使うとすぐ分解能の値をすぐに文字列にして送れるらしいのですが、18f452にはitoa関数が無い様で使えません。変わりにatoiという関数が使えるのですがうまく使いこなせません。
> > 誰かそこらへんの詳しい方がいらしたら教えていただきたいです。
> >
> > CCS-Cでプログラムは書いてます

Re: 18f452で電圧を表示 投稿者:Gokan 投稿日:2016/12/13(Tue) 23:11:40 No.772

CCSのマニュアルにitoa関数の使い方が書いてありますよ。

> LCD SC2004Cに18f452でAD変換した値を表示したいのですが
> itoa(Integer to Ascii)という関数を使うとすぐ分解能の値をすぐに文字列にして送れるらしいのですが、18f452にはitoa関数が無い様で使えません。変わりにatoiという関数が使えるのですがうまく使いこなせません。
> 誰かそこらへんの詳しい方がいらしたら教えていただきたいです。
>
> CCS-Cでプログラムは書いてます

18f452で電圧を表示 投稿者:negishi 投稿日:2016/12/12(Mon) 22:17:58 No.771

LCD SC2004Cに18f452でAD変換した値を表示したいのですが
itoa(Integer to Ascii)という関数を使うとすぐ分解能の値をすぐに文字列にして送れるらしいのですが、18f452にはitoa関数が無い様で使えません。変わりにatoiという関数が使えるのですがうまく使いこなせません。
誰かそこらへんの詳しい方がいらしたら教えていただきたいです。

CCS-Cでプログラムは書いてます

Re^2: 開発環境とモデル 投稿者:sugaular 投稿日:2016/12/08(Thu) 13:23:07 No.769

さっそくの回答ありがとうございます。
pickit3を買います。

RS232C以外で、今だと何がお勧めでしょうか。

単純に、FTDIのドライバが手に入りやすい。
既にRS232C通信の制御ソフトがあって
それで制御するためなのですが。

ただ、今後RS232Cの次に来るものに
興味があります。

Re: 開発環境とモデル 投稿者:ダークマター 投稿日:2016/12/08(Thu) 12:08:54 No.768

こんにちわ。
pickit3を購入して下さい。
microchipのオフィシャルサイトから購入の方が、むしろ良いと思います。
他サードパーティ物でよければ、ネットに幾らでも転がっていますが、安かろう悪かろうなので、止めましょう。

そして、今更RS232Cなんて止めましょう。

> お世話になっております。
> PICマイコンの開発環境を整えようと考えているのですが
> おそらくPIC16辺りを使うことが多いと思います。
> pickit2/3だと2を買っておけばよいでしょうか?
>
> そしてpickitを探してるのですが売ってる場所が見つからなくて
> もしご存知でしたら教えて頂けたらありがたいです。
>
> あと、まず今考えているのが
> FTDIのUSB-UART変換デバイスとPICを乗せて
> RS232C通信で
> ある機器をIO制御するモノを考えています。
> この用途だと、先日の
> PIC16F18325辺り使っておけば大丈夫でしょうか。
>
> よろしくお願いします。

開発環境とモデル 投稿者:sugaular 投稿日:2016/12/08(Thu) 01:03:05 No.767

お世話になっております。
PICマイコンの開発環境を整えようと考えているのですが
おそらくPIC16辺りを使うことが多いと思います。
pickit2/3だと2を買っておけばよいでしょうか?

そしてpickitを探してるのですが売ってる場所が見つからなくて
もしご存知でしたら教えて頂けたらありがたいです。

あと、まず今考えているのが
FTDIのUSB-UART変換デバイスとPICを乗せて
RS232C通信で
ある機器をIO制御するモノを考えています。
この用途だと、先日の
PIC16F18325辺り使っておけば大丈夫でしょうか。

よろしくお願いします。

Re: pic16f1939でLCD 投稿者:Gokan 投稿日:2016/12/05(Mon) 17:10:51 No.766

下記サイトの太陽電池雲台の最後にあるファームウェアをダウンロード
していただけば、LCD用ライブラリがあります。

http://www.picfun.com/f1makeframe.html

> こんにちは。picで電子工作を始めようと思っている初心者です。様々なサイトや本を見ると、picでキャラクタLCDを制御して、文字を表示させている方がかなりいらっしゃいます。それを目指して、上記のpicでLCD表示をさせてみようとしたのですが、制御用ライブラリなるものが必要との記述がありました。今回使っているLCD(SC2004)にもそのライブラリが必要とかんがえていますが、一から作らねばならないのかと戦々恐々としております。
> 何か流用出来る物がありましたら、是非御教授願いたいと思っております。
> 長文失礼しました。返信お待ちしております。

pic16f1939でSC2004制御 投稿者:初心者 投稿日:2016/12/05(Mon) 11:18:50 No.765

こんにちは。picで電子工作を始めようと思っている初心者です。様々なサイトや本を見ると、picでキャラクタLCDを制御して、文字を表示させている方がかなりいらっしゃいます。それを目指して、上記のpicでLCD表示をさせてみようとしたのですが、制御用ライブラリなるものが必要との記述がありました。今回使っているLCD(SC2004)にもそのライブラリが必要とかんがえていますが、一から作らねばならないのかと戦々恐々としております。
何か流用出来る物がありましたら、是非御教授願いたいと思っております。
長文失礼しました。返信お待ちしております。

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

- WebForum -