x 過去ログを見よ!!
目的
7セグで遊ぶ
//AE_7SEG_BOARD_3MIN_TIMER_C011_1
//* ***** *****
//* * * *
//* ****** * *
//* * * *
//* * * *
//******** ***** *****
//インクルド
#include <Arduino.h>
//定義
#define DW digitalWrite
#define swdio PA12
#define swdclk PA8
#define en PB7
int seg[32] = {
0x3f , //15 O o combined use "0"
0x06 , //9 I combined use "1"
0x5b , //26 Z combined use "2"
0x4f , //27 [ --> "3"
0x66 , //28 \ --> "4"
0x6d , //19 S combined use "5"
0x7c , //2 B combined use "6"
0x27 , //29 ] --> "7"
0x7f , //26 ^ --> "8"
0x67 , //17 Q combined use "9"
0x77 , //1 A o
0x7c , //2 B combined use "6"
0x39 , //3 C
0x5e , //4 D
0x79 , //5 E o
0x71 //6 F
};
void seg1(int v)
{
for (int jj = 0; jj < 8; jj++) {
if ( (v & 0x80) == 0 ) {
DW(swdio, 0); //ビットが0
} else {
DW(swdio, 1); //ビットが1
}//endif
v = v << 1;
DW(swdclk, 1);
DW(swdclk, 0);
}//for
DW(en, 1);
DW(en, 0);
}//seg1
void ns_num(int ch) {
ch = seg[ch & 0x0f];
seg1(ch);
}//ns_num
//初期化
void setup() {
//7セグの初期化
pinMode(swdclk, OUTPUT);
pinMode(swdio, OUTPUT);
pinMode(en, OUTPUT);
DW(en, 0);
DW(swdclk, 0);
} //setup
//メインループ
void loop() {
//タイマーの設定値
int stop1 = 3;
//タイマーのループ
for (int i = 0; i < stop1; i++) {
//数字の表示
ns_num(i);
//1分待つ
for (int j = 0; j < 60; j++) {
delay(1000); //1秒待つ
}
} //for i
//タイマーの設定値を表示
ns_num(stop1);
//無限ループ
while (1) {}
} //loop