重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

BASIC言語を使い8個あるLEDを点滅させるために
10 IF B=0 THEN100
100 I=96
110 OUT &H21,I

20 IF B=5 THEN 200
200 I=240
210 OUT &H21,I
というプログラムをつくったのですが実物がないので試すことができません 理解できる方はこれで点滅させることができるのか、間違えたプログラムならばどうプログラムすればよいのか、これで点滅するというならどう点滅するのか教えてください。よろしくお願いします

A 回答 (5件)

80を&H21に書き込むとLEDがどう変化するか予想できますか?


これが分からないと点滅までたどり着けませんよ。
●○で書いてみてください。●が点灯。○が消灯です。
    • good
    • 0
この回答へのお礼

もう大丈夫です 回答していただいてありがとうございました。

お礼日時:2007/09/25 19:34

GOTO 100を入れないのは別の意味で不味いですよ。

プログラムは、そのまま下の行を実行したり、次が無かったら終わってしまいます。
点滅しない理由は、スイッチを切り替えない限りLEDに表示する値が変化しないからです。だから点灯と表現しました。
B=1とB=2のときは、常に表示する値が変化するように作られています。違いを比べて見てください。
もし分からないならBASICの参考書をちゃんと読み直して命令の意味を理解しなおしてください。

この回答への補足

では
10 IF B=0 THEN100
100 I=80
110 OUT &H21,I
120 GOTO
に直したらどうです?

補足日時:2007/09/24 22:46
    • good
    • 0

プログラムを見る限りは、B=1とB=2のときは点滅しますね。


最初に書かれているプログラムだとB=0とB=5は点灯はしますが、点滅はしません。違いが分かりますか?

この回答への補足

点滅させるにはどうしたらいいのでしょうかGOTO100をいれれば点滅しますか?

補足日時:2007/09/24 19:15
    • good
    • 0

そもそも、どう点滅させたいのでしょううか?


これ、プログラムの一部ですよね?
部分的に抜き出しても誰にも答えられないですよ。

>どう点滅するのか教えてください。
って、プログラムはあなたが書いたのではないのですか?

>点滅させることができるのか
ハードウエアはどう接続されているのでしょうか?
たとえばポートに 1 を出力したら LED点灯? 0 出力したら 消灯?
それとも
たとえば ポートに 1 を出力したら 0.5秒だけ LED が点灯するハードになっているとか…。

出力のハードウエアの仕様がまったく書かれていないので点滅するかどうかわかりませんね。#1さんの言われるようにポートのビット単位で1個のLEDに対応しているのかどうかもわからないし。
もしかしたら I で指定した回数だけ点滅する仕様かもしれないし。
    • good
    • 0

問題点と質問を何点か。


・ループしていないので点滅することは出来ない。
・110行と210行の後はプログラムは何をするのか?省略した?
・20行の後はプログラムは無い?
・Bの値は、何処で入れたのか?
・I=96とI=240の値の意味。LEDは、どう点灯させたいのか?
普通、ビット毎に1つのLEDが繋がっているので、点滅させたいパターンは16進指定します。

動かす機器やBASICの種類が分からないので答えられるのもこのぐらいです。

この回答への補足

ポケコン、インターフェースボード、I/Oボード、フラットケーブル2本をそれぞれつかい B=はスイッチを使い点滅させるため
100 A=&H90
110 OUT &H23,A
120 B=INP (&H20)
130 IF B=1 THEN 200
140 IF B=2 THEN 400
ここで先ほどのBを使い130行目と同じ形式で150行目と160行目を作りたい
190 IF B=128 THEN 300 ELSE 100

200I=0
220 FOR J=1 TO 500:NEXT J
230 I=I×2
240 IF I<255 THEN 210 ELSE 100

300 I=RND 255
310 OUT &H21,I
320 FOR J=1 TO 500:NEXT J
330 GOTO 100

400 I=85
410 OUT &H21,I
420 GOTO 100
BASICの種類はわからないんですがこれで分からないようでしたら自分の
方からも説明しようがありません

補足日時:2007/09/24 17:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!