ニキシー管時計を自作しているのですか、スイッチ入力のプログラムが分かりません。
#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
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
gpeditの設定変更をバッチで実...
-
intel10100F GTX1080の構成でPC...
-
Oracleの数値型で1以下の値をセ...
-
javamailのダウンロード
-
【Windows10】自動構成IPv4 ア...
-
DNSサーバとADサーバの設置につ...
-
pcにps4のコントローラーを接続...
-
ローカルアドミンにドメインユ...
-
システムエラー 1231の内容と理...
-
255台以上のクライアントを...
-
ドメイン参加PCのコンピュータ...
-
社内PCにネットワーク設定の...
-
PINGは通るがネットワーク上の...
-
コンピュータ名とユーザ名の運...
-
VBA ネットワーク上のファイル...
-
ローカルセキュリティポリシー...
-
ツムツム のハートを送る時、LI...
-
LANポートは光るのにインターネ...
-
プログラム内でネットワークド...
-
VPN接続でVPNから先のサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gpeditの設定変更をバッチで実...
-
intel10100F GTX1080の構成でPC...
-
Oracleの数値型で1以下の値をセ...
-
IEで自動構成スクリプトが元に戻る
-
javamailのダウンロード
-
Yahoo知恵袋が不正なユーザーに...
-
Mac使用のoffice2011 エクセル...
-
benq EW3270Uモニター
-
エクセルのツール-オプション...
-
Excel ユーザーの設定ビ...
-
上書きでCSSをデフォルトのブラ...
-
Windows ファイアウォールの[例...
-
ブラウザのプロキシ設定の取得...
-
Arduino PWM周波数を20kHzにしたい
-
ニキシー管時計の自作について
-
HP-UX システム言語環境の確認方法
-
ノートン インターネットセキュ...
-
エリア88にUFOは出て来ますか?
-
ユーザ環境変数とシステム環境...
-
初CGI設置。しかし・・・
おすすめ情報