« PICのお勉強(18) C言語編 ビットシフトでLEDを往復点灯 | トップページ | PICのお勉強(20) C言語編 2進数カウントアップ&ダウン »

2012年6月 2日 (土)

PICのお勉強(19) C言語編 配列を使ってLEDフラッシャ

 配列を使ってLEDフラッシャを作ってみました。
ソースはこれ→lesson19.c
さすが高級言語,配列が使えるんですね。あたりまえか。
 でも,16F84Aだと要素数をちょっと増やしただけで,RAMがいっぱいになってしまいます。なんと驚いたことにRAMが68bytesしかないんですな。
このプログラムでも配列をunsigned charにしないとダメでした。要素数は19しかないのにー(^^;)

/************************************
16F84A  HI-TECH C v.9.83
配列を使ってLEDフラッシャ
************************************/
#define _LEGACY_HEADERS
#include "PIC.h"
#define _XTAL_FREQ 20000000 //20MHz

__CONFIG(HS & WDTDIS & PWRTDIS & UNPROTECT);

main(void){

unsigned short int i = 0;
unsigned char p[19] = {0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFE,0xFC,0xF8,
0xF0,0xE0,0xC0,0x80,0x00,0x00};

TRISB = 0b00000000;
PORTB = 0b00000000;

while(1){
while(i<18)
{
// 指定した点灯パターンでLEDを点灯
PORTB = p[i];
__delay_ms(100);
i++;
}

while(i>0)
{
PORTB = p[i];
__delay_ms(100);
i--;
}
}
}

動作してるとこの動画はコレと同じです。

| |

« PICのお勉強(18) C言語編 ビットシフトでLEDを往復点灯 | トップページ | PICのお勉強(20) C言語編 2進数カウントアップ&ダウン »

PICマイコン」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: PICのお勉強(19) C言語編 配列を使ってLEDフラッシャ:

« PICのお勉強(18) C言語編 ビットシフトでLEDを往復点灯 | トップページ | PICのお勉強(20) C言語編 2進数カウントアップ&ダウン »