pic24fマイコンボード その3
マルツのPIC24Fマイコンボードを小型のRCカーに乗せてLEDメッセージ表示実験をやってみました。
まずは動きをどうぞ。
回路はその2の記事と同じです。
動画にあるように、前に買ってあったおもちゃのRCカーに乗っけて、ソフトだけ下のように
変えました。
#include "P24FJ64GA004.h"
//config
_CONFIG2(0xF9FC);
_CONFIG1(0x3F7F);
//main loop
int main(void)
{
static unsigned char textdata[] = {
0b00000000,0b00000000,0b01111111,0b00001000,0b01111111,
0b00000000,0b00000000,0b01111111,0b01001001,0b01001001,
0b00000000,0b01111111,0b01000000,0b01000000,0b00000000,
0b00000000,0b01111111,0b01000000,0b01000000,0b00000000,
0b00000000,0b00111110,0b01000001,0b00111110,0b00000000,
0b00000000
};
unsigned int i;
//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
while(1){
for (i=0;i<=25;i++) {
Set_Port(0xff- textdata[i]);
Wait_time(10);
}
}
}
// IO PORT CONTROL
void Set_Port(unsigned char val) {
PORTAbits.RA0 = val & 0x0001;
PORTAbits.RA1 = (val & 0x0002)>>1;
PORTBbits.RB0 = (val & 0x0004)>>2;
PORTBbits.RB1 = (val & 0x0008)>>3;
PORTBbits.RB2 = (val & 0x0010)>>4;
PORTBbits.RB3 = (val & 0x0020)>>5;
PORTCbits.RC0 = (val & 0x0040)>>6;
PORTCbits.RC1 = (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++) {
}
}
}
配列TEXTDATAにビット情報で文字列を入れてそれを繰り返し出力します。
”HELLO”と出しているのですが、動画ではわかりにくいかも。。。。。
それでは今回はここまでです。
コメント