UVレジンでLEDイルミネーション (2)
UVレジンで作ったLEDイルミをPIC12F683で点滅させてみました。
話の流れでいくとIchigoJamで光らせることになるところですが,LEDイルミを5個も作っちゃったので,久しぶりにPICでLチカです。
これまで「PICのお勉強」では,16F84Aと16F88を使ってきましたが,定番の8ピンPIC,12F683を初めて使ってみました。小さくて安価なPICですが,これはこれでなかなか魅力的なやつです。単3電池2本で動くのもいいですね。
回路図はごく平凡なもので,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のクロックは1MHzvoid 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」をダウンロード
| 固定リンク | 0
「PICマイコン」カテゴリの記事
- ZK-80で足し算(2020.07.23)
- TK-80互換機 ZK-80のキット(2020.07.21)
- PICのお勉強(37) C言語編 12F683でA/D変換(2015.06.02)
- UVレジンでLEDイルミネーション (2)(2015.05.15)
- PICのお勉強(35) C言語編 PWMでサーボモータを動かす(2014.10.05)
「電子工作」カテゴリの記事
- 【独身の日】AliExpressで散財(?)(2023.11.17)
- 静電気チェッカーを使った 電気盆の実験(2023.06.07)
- 静電気メーターを使った実験(2023.06.05)
- aitendo 2023お楽しみ福袋(2023.01.02)
- 格安オシロスコープで遊ぶ (5) LC回路で電気振動(2020.10.18)
コメント