« UVレジンでLEDイルミネーション (1) | トップページ | PICのお勉強(37) C言語編 12F683でA/D変換 »

2015年5月15日 (金)

UVレジンでLEDイルミネーション (2)

20150515 UVレジンで作ったLEDイルミをPIC12F683で点滅させてみました。
話の流れでいくとIchigoJamで光らせることになるところですが,LEDイルミを5個も作っちゃったので,久しぶりにPICでLチカです。
 これまで「PICのお勉強」では,16F84Aと16F88を使ってきましたが,定番の8ピンPIC,12F683を初めて使ってみました。小さくて安価なPICですが,これはこれでなかなか魅力的なやつです。単3電池2本で動くのもいいですね。

12f683_led_5 回路図はごく平凡なもので,GP0,GP1,GP2,GP4,GP5の5つにLEDをつなぎます。GP3は入力専用だから使えないんですね。
 今後のお勉強用に,12F683のテストボードを作って他に流用できるようにしてあります。PICkitを直接つないで書き込めるようにピンヘッダも取り付けてみました。
ソースはこんな↓具合です。GPIOに,LEDの点灯・消灯パターンを送って点滅させています。

/**************************************
12F683 HI-TECH C v.9.83
GP0~GP2,GP4,GP5のLED順次点灯
**************************************/

#include <htc.h>
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & BOREN_ON & MCLRE_OFF & CP_OFF & IESO_OFF & FCMEN_OFF);
#define _XTAL_FREQ 1000000 // PICのクロックは1MHz

void main(void)
{
OSCCON = 1000000; // 内蔵OSC 1MHz
ANSEL = 0b00000000; // デジタル
CMCON0 = 0b00000111; //コンパレータを使わない
TRISIO = 0b00001000; //GP3は入力,その他は出力

while (1)
{
GPIO = 0b00000001; //GP0点灯,他は消灯
__delay_ms(300);
GPIO = 0b00000010; //GP1点灯,他は消灯
__delay_ms(300);
GPIO = 0b00000100; //GP2点灯,他は消灯
__delay_ms(300);
GPIO = 0b00010000; //GP4点灯,他は消灯
__delay_ms(300);
GPIO = 0b00100000; //GP5点灯,他は消灯
__delay_ms(300);
}
}

HI-TECH Cで書いたソースとhexファイルはこちら↓
「lesson36.c」をダウンロード
「lesson36.hex」をダウンロード

 

| |

« UVレジンでLEDイルミネーション (1) | トップページ | PICのお勉強(37) C言語編 12F683でA/D変換 »

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

電子工作」カテゴリの記事

コメント

コメントを書く



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


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



トラックバック


この記事へのトラックバック一覧です: UVレジンでLEDイルミネーション (2):

« UVレジンでLEDイルミネーション (1) | トップページ | PICのお勉強(37) C言語編 12F683でA/D変換 »