
PICでキッチンタイマーを作ろうとしているんですが、C言語で作ることが指定されています。しかしアセンブリ言語でしかわかりませんでした。そこで次のアセンブリ言語のプログラムをC言語に直して下さい。
スタート/ストップ処理
start_timer
BTFSC working,0
GOTO stop_timer
BSF working,0
CALL beep
CALL wait
wait_start_sw BTFSC PORTA,START_SW
GOTO main
CALL wait
GOTO wait_start_sw
stop_timer
BCF working,0
CALL beep
CALL wait
GOTO wait_start_sw
タイマのリセット処理
reset_timer
BTFSC working,0
GOTO main
CALL init_timer
CALL beep
CALL wait
wait_reset_sw BTFSC PORTA,RESET_SW
GOTO main
CALL wait
GOTO wait_reset_sw
7セグメントLEDの表示操作
…
MOVLW 2
CALL getdigit
MOVWF PORTB
…
getdigit
ADDWF PCL,1
RETLW 11000000b
RETLW 11111001b
RETLW 10100100b
RETLW 10110000b
RETLW 10011001b
RETLW 10010010b
RETLW 10000010b
RETLW 11011000b
RETLW 10000000b
RETLW 10010000b
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
はじめてのPICマイコン入門<第5回>
キッチン・タイマの製作(後編)
上記のソースからコメントを取って丸投げした模様...
ハードの仕様は下記を参照の事
http://www.cqpub.co.jp/toragi/TRBN/trsample/2004 …
はじめてのPICマイコン入門<第4回>
キッチン・タイマの製作(前編)
No.4
- 回答日時:
裏技ですが, 「C 言語」の方に, アセンブラをそのまま入れる文があるだろうから (たいてい asm とか _asm とか __asm とか), それを使う.
一応「C 言語」ですよね.
No.3
- 回答日時:
私が推測すると、C言語でキッチンタイマーを作る課題が出て、ネットを探したらアセンブラのキッチンタイマーのソースコードが見つかったので、C言語に変換してくださいって言う課題の丸投げだと思いますが違いますか?
アセンブラが分かっていて、C言語の勉強中で、課題としてキッチンタイマーを作りたいと言う状況では無い気がします。
この掲示板は、手助けは出来ますが、丸々作成することは規約に反して削除条件に該当しますので、どちらにしろ変換は無理なんですが、自分で出来ている部分と分からない部分を必ず書き込んでください。全然出来ていないってのは無しですよ。
morigannさんも書かれていますが、周辺回路の仕様やプログラムの仕様も不明だと手助けは不可能ですから必ず書き込んでください。
No.2
- 回答日時:
説明不足で申し訳ありませんでした。
自分の発言した仕様書とは、
「キッチンタイマー」を作る上でどのように作るかの?を示した物です。
例えば、
「数字表示は何桁にするのか?」
「タイマーは1秒刻み?にするのか?」
「デジタル表示の配置順は?」
「1桁表示時の10の位の表示はどうするのか?」
など「キッチンタイマー」と一言で言っても決めないと出来ない事は多々あります。
質問者様が「自分でこのソースを作ったがここまでしか出来なかった」のように発言されておられましたので、元になる仕様書の開示を求めました。
もし質問者様が完全オリジナルで作られたのであれば、どのように設計されたかをお教えいただきたいと思います。
No.1
- 回答日時:
「しかしアセンブリ言語でしかわかりませんでした。
」どういう状況になったらそうなるんでしょう?
課題などを丸写しにしたような質問についてはマナー違反として削除されますよ。
とりあえず簡単に見たところ「RETLW」で0~9のセグメントのON/OFFビットを設定してるんだなぁ・・・
Cではテーブルにして・・・かな。
補足:ソースより仕様書出して下さい!仕様書!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
【C言語】全角文字の配列を、全...
-
C言語の関数のextern宣言
-
プログラミングc++を全く分か...
-
c++の勉強方法を教えてくださ...
-
プログラマー達は何故、プログ...
-
プログラミング 2つの整数を読...
-
DNCL(共テ用プログラミング言語...
-
逆コンパイルと逆アセンブルの...
-
大量のデータを読み込んで表示...
-
visual studio 2022でのC#プロ...
-
C言語 関数、変数の宣言について
-
C言語について(初心者)
-
あってる
-
UART通信の取説で,left floati...
-
コンソールアプリを作成するの...
-
プログラム言語について c言語...
-
C#でログファイルにファイルパ...
-
トリプトファンってケト原性あ...
-
VisualStudio2022でC言語プログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
昔のゲーム製作に使用する言語...
-
割り込みベクターをC言語で書...
-
アセンブリ言語からC言語への変...
-
アセンブリ言語について。
-
文系のSE志望です。プログラミ...
-
Windowsはいったい何言語で書か...
-
PICのC言語でキャリーオーバー
-
フローチャートを書く書かない
-
コンピュータ言語とプログラミ...
-
基礎を終えてから
-
言語の実行スピードで早い順に...
-
プログラム言語
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
ライン数とステップ数の違いは?
-
レジストってなんですか?
-
アセンブラからC言語に変換する...
-
シーケンサのデータレジスタD...
-
一般のソフトで画像を扱う場合...
-
エクセルVBAのIf,Then 構...
おすすめ情報