<PICによるLEDナイトライダー>
LED6個を順番に滅させることにより、流れるように見えます。
昔、ナイトライダーと言う外国TV番組がありよく見ていました。
番組に出てくる車が人工頭脳を搭載していてバンパーに取り付けている
電球が流れるように点滅していました。
プログラムにより、色々変えることが出来ます。画像をクリックして見て下さい。
タクトスイッチの最左は右から左へ、真中は左から右へ、最右は、停止します。
回路図
HEXファイル
------------------- プログラムソース -------------------
#include <htc.h>
__CONFIG(FCMDIS & IESODIS & BOREN & UNPROTECT & MCLRDIS & PWRTEN & WDTDIS & INTIO);
__IDLOC(0001);
//下記2行はペアで使う
#define _XTAL_FREQ 500000 /* 500kHz */
#define JIKAN 200 /* 200 */
ioport();
funrc0();
funrc1();
funrc2();
funrc3();
funrc4();
funrc5();
rledfun();
lledfun();
int flug1=0;
int flug2=0;
main()
{
ioport();
//内部発振をCONFIGで使うように設定している(INTIOを記述)
//周波数は下記OSCCONで500Khzに設定
OSCCON=0X30; /* 500kHz */
while(1){
if(RA5==0){
flug1=1;
flug2=0;
}
if(RA5==1 && flug1==1) rledfun();
if(RA4==0){
flug1=0;
flug2=1;
}
if(RA4==1 && flug2==1) lledfun();
if(RA3==0){
flug1=0;
flug2=0;
}
}//while
}//main
rledfun()
{
funrc0();
funrc1();
funrc2();
funrc3();
funrc4();
funrc5();
}
lledfun()
{
funrc5();
funrc4();
funrc3();
funrc2();
funrc1();
funrc0();
}
ioport()
{
ANSEL=0x0; /* AN4-7はデジタルI/Oモード */
CMCON0=0x07;
TRISA=0xFF; /* RA0,1,2,3,4,5は入力ピン*/
TRISC=0x00; /* RC0-5は出力ピン */
PORTA=0xFF; /* RA0,1,2,3,4,5はH*/
PORTC=0x00; /* RC0-5はL */
}
funrc0()
{
RC5=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC5=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
funrc1()
{
RC4=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC4=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
funrc2()
{
RC3=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC3=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
funrc3()
{
RC2=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC2=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
funrc4()
{
RC1=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC1=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
funrc5()
{
RC0=1; /* RC0ピンをHにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
RC0=0; /* RC0ピンをLにする */
__delay_ms(JIKAN); /* JIKANミリ秒待つ */
}
------------------- プログラムソース END-------------------