ニキシー管時計を自作しているのですか、スイッチ入力のプログラムが分かりません。
#include <16f1938.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,NOBROWNOUT,NOIESO
#use delay(clock=16MHZ)// クロック周波数は16MHz
#byteRA = 0x0c//RAをポートAのアドレス0Ch番地に設定
#bit MODE_SW = RA.0
#bit UP_SW = RA.1
#bit DOWN_SW = RA.2
#bit NIXI_8 = RA.6
#bit NIXI_9 = RA.7
#byteRB = 0x0d//RBをポートBのアドレス0Dh番地に設定
#byteRC = 0x0e//RCをポートCのアドレス0Eh番地に設定
void io_init(void);// i/o設定関数
signed int sec=56,min=34,hour=12;
void disp_nixi(int v);
int flag=0;
/*--------------------------------------
timer0割り込み 1ms間隔
---------------------------------------*/
#INT_TIMER0
void timer0(void)
{
static signed int flag=0;
static signed long m_sec=0;//msカウンタ
set_timer0(131); //256-125 =131 125* 8us = 1000us
//全て消灯
RB=0x00;
disp_nixi(10);
delay_us(10);
m_sec++;
if(m_sec>1000){
sec++;
m_sec=0;
}
if(sec>60){
min++;
sec=0;
}
if(min>60){
hour++;
min=0;
}
if(hour>=24){
hour=0;
}
if(flag<6)flag++;
else flag=0;
switch(flag){
case 0:
disp_nixi(sec%10);
RB=0x01;//1桁ON
break;
case 1:
disp_nixi(sec/10);
RB=0x02;//2桁ON
//RB=0x02;//2桁ON
break;
case 2:
disp_nixi(min%10);
RB=0x04;//3桁ON
break;
case 3:
disp_nixi(min/10);
RB=0x08;//4桁ON
break;
case 4:
disp_nixi(hour%10);
RB=0x10;//5桁ON
break;
case 5:
disp_nixi(hour/10);
RB=0x20;//6桁ON
break;
}//end switch
} // end timer0(void)
void main(void)
{
long int flag=0,i;
io_init();
while(1){
//ここにプログラムを書きたいです
}// end while()
} // end main(void)
void io_init(void){
setup_oscillator(OSC_16MHZ);// 内部クロックを16MHzに設定
RA=0x00;
RB=0x00;
RC=0x00;
setup_adc_ports(NO_ANALOGS);// ポートAはデジタルI/Oに設定
//timer0の設定
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_32); // 4ck 1命令 4/16M = 0.25us 0.25us*32 : 1ct = 8us タイマ0のモード設定
set_timer0(131); //256-125 =131 125* 8us = 1000us
// TRIS_aの設定 A0~A7:入力 1111 1111 A2:sw2 A1:sw1 A1:sw1
set_tris_a(0x3f);
// TRIS_bの設定
set_tris_b(0x00);//H-side ドライブ0~5
// TRIS_cの設定
set_tris_c(0x00);//7~4:free C3~0:L-side ドライブ
// TRIS_eの設定
set_tris_e(0xff);
enable_interrupts(INT_TIMER0);//tmr0割り込み許可
enable_interrupts(GLOBAL);//グローバル割込み許可
}
void disp_nixi(int v){
switch(v){
case 0:
NIXI_8 =0;
NIXI_9 =0;
RC=0b10000000;
break;
case 1:
NIXI_8 =0;
NIXI_9 =1;
RC=0b00000000;
break;
case 2:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00010000;
break;
case 3:
NIXI_8 =1;
NIXI_9 =0;
RC=0b00000000;
break;
case 4:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00000010;
break;
case 5:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00000100;
break;
case 6:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00001000;
break;
case 7:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00000001;
break;
case 8:
NIXI_8 =0;
NIXI_9 =0;
RC=0b01000000;
break;
case 9:
NIXI_8 =0;
NIXI_9 =0;
RC=0b00100000;
break;
default :
NIXI_8 =0;
NIXI_9 =0;
RC=0b00000000;
}
}
↑のプログラムのwhile文部分にプログラムを書きたいのですが、
どのようなプログラムを書いたらよいのでしょうか。
教えていただけると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- C言語・C++・C# C言語 3 2022/11/09 13:27
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
gpeditの設定変更をバッチで実...
-
HP-UX システム言語環境の確認方法
-
QNAPについて
-
pcにps4のコントローラーを接続...
-
「ドメイン」とは何ですか?
-
Jpg4が開けない
-
掃除の時にChromecastのコンセ...
-
【Windows10】自動構成IPv4 ア...
-
●電気代節約のため、パソコン画...
-
システムエラー 1231の内容と理...
-
ローカルアドミンにドメインユ...
-
プログラム内でネットワークド...
-
WIN10 64BITでネットに接続する...
-
ウォシュレット機能の利用可、...
-
DNSサーバとADサーバの設置につ...
-
間違えて電源のボタンを押して...
-
例外OEって?
-
ログオフ、シャットダウン時に...
-
サーバルームの推奨温度
-
CMOSクリアとBIOS初期化の違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gpeditの設定変更をバッチで実...
-
IEで自動構成スクリプトが元に戻る
-
Yahoo知恵袋が不正なユーザーに...
-
Oracleの数値型で1以下の値をセ...
-
Arduino PWM周波数を20kHzにしたい
-
javamailのダウンロード
-
エクセルのツール-オプション...
-
Mac使用のoffice2011 エクセル...
-
プリンタドライバ設定
-
intel10100F GTX1080の構成でPC...
-
Excel ユーザーの設定ビ...
-
benq EW3270Uモニター
-
ブラウザのプロキシ設定の取得...
-
HP-UX システム言語環境の確認方法
-
プロクシ切り替えソフトについて
-
ユーザ環境変数とシステム環境...
-
OUTLOOKで自動的に迷惑フォルダ...
-
秀丸メールを複数立ち上げる
-
ニキシー管時計の自作について
-
グラブル(グランブルーファン...
おすすめ情報