スポンサーリンク


RAKUTEN

  • スポンサーリンク

« 【動画紹介】いまどきの飛行艇 | メイン | 【動画紹介】凄すぎ。CGじゃないんですか? »

2012/10/21

Pic24Fマイコンボード その6 【7セグLED】

自分だけの勝手ですが、最近は毎週末ちょっとした何か作ってアップしようと思ってやっています。マルツのボードはその何かをちょっと動かすのに手軽なので先日から使っています。

(PICマイコン動かすための設定等が誰かの参考になれば幸いかな、程度の思いはあります。)

さて、今回は7セグメントLEDを動かしてみました。

LEDは秋月の↓のものです。10個150円とかなりお安くなっています。

http://akizukidenshi.com/catalog/g/gI-01492/

LEDはこれでなくても良いのですが、PICで動かすにはアノードコモンが良いです。

理由はアノードコモンはPICのIOでLレベルでの引き込みで制御することができること、そしてIOの電流がLレベルの方が大きくとれることからです。(PICに限らず、Lの方が大きな電流を引けるマイコンが多いと思います。)

回路図は下の通りです。電池はボタン電池をやめて単三電池2本としています。

Pic24fj

ソフトは、前回のLEDの物にちょっと手を加えただけです。

#include "P24FJ64GA004.h"

//config
_CONFIG2(0xF9FC);
_CONFIG1(0x3F7F);

//main loop
int main(void)
{

static unsigned char fontdata[] = {
0b00000011,  // 0
0b10011111,  // 1
0b00100101,  // 2
0b00001101,  // 3
0b10011001,  // 4
0b01001001,  // 5
0b01000001,  // 6
0b00011111,  // 7
0b00000001,  // 8
0b00001001,  // 9
0b01111111,  // 10
0b10111111,  // 11
0b11011111,  // 12
0b11101111,  // 13
0b11110111,  // 14
0b11111011,  // 15
0b11111110,  // 16
};

   unsigned int i,t;

   //Setup clock
   OSCCON = 0x11C0;  // FRCPLL
   CLKDIV =  0x0030;  // 1MIPS SETTING

   //IO PORT SETTING

AD1PCFG = 0xffff; // Analog input disable

TRISA = 0x0000; // All output
TRISB = 0x0000; // All output
TRISC = 0x0000; // All output

   //Loop
t=25;

   while(1){
for (i=0;i<=16;i++) {
  Set_Port(fontdata[i]);
  Wait_time(t);
}
t *=2;
   }
}

// IO PORT CONTROL

void Set_Port(unsigned char val) {
PORTCbits.RC1 = val & 0x0001;
PORTCbits.RC0 = (val & 0x0002)>>1;
PORTBbits.RB3 = (val & 0x0004)>>2;
PORTBbits.RB2 = (val & 0x0008)>>3;
PORTBbits.RB1 = (val & 0x0010)>>4;
PORTBbits.RB0 = (val & 0x0020)>>5;
PORTAbits.RA1 = (val & 0x0040)>>6;
PORTAbits.RA0 = (val & 0x0080)>>7;
}

// WAIT LOOP
void Wait_time(unsigned int t) {
int t0,t1;
for (t0=0;t0<t;t0++) {
  for (t1=0;t1<10000;t1++) {
  }
}
}

動作は下の動画でご確認ください。

次は複数LEDのダイナミック動作でもやってみようかな。

それではまたです。

トラックバック

この記事のトラックバックURL:
http://app.blog.ocn.ne.jp/t/trackback/240957/23745063

この記事へのトラックバック一覧です Pic24Fマイコンボード その6 【7セグLED】

コメント

コメントを投稿