サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。
-
from: zwiさん
2009年04月28日 15時24分35秒
icon
ストップウォッチパート3
うーん。やっぱりフローとソースコードが違いますね。そもそもメインループが違うんですが、ソースはswitch〜caseに成ってますよね。でもフローは違い
うーん。やっぱりフローとソースコードが違いますね。
そもそもメインループが違うんですが、ソースはswitch〜caseに成ってますよね。でもフローは違います。
って事でまず、フローとメインループを一致させてください。フローではちゃんと動く処理なのに、ソースコードでは問題のあるプログラムです。
まず、メインループフローの書き直しをしてください。
その他の部分は、その後とします。-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 67
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
from: zwiさん
2009年05月16日 11時12分50秒
icon
「Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:ストップウォッチパート3」>
-
-
from: zwiさん
2009年04月24日 16時16分58秒
icon
ストップウォッチパート2
長くなったので新しいスレに移動しました。>今さっき、>フローをアップしました。>また見てください。>よろしくお願いします。フロー見ました。1.メイン処
長くなったので新しいスレに移動しました。
> 今さっき、
> フローをアップしました。
> また見てください。
> よろしくお願いします。
フロー見ました。
1.メイン処理に割り込みは書かなくて良いですよ。
2.メイン側にはSWの処理と状態変数の変更だけを書いてください。LCDの処理は後述しますが割り込み側に全部移動します。割り込みがスタートしたら、LCDはメインで制御してはいけません。
3.割り込み側ですが、SWの判定はメイン担当なので状態変数で分岐するだけです。
4.割り込み側で状態変数が1の時だけ秒数カウントしてください。
5.割り込み側で状態変数に関係なく秒数の表示は常に行います。
6.割り込み側でタイマーの再スタートは、割り込み直後に開始してください。秒数のカウントやLCD表示後ではタイマーの開始が遅れてしまって1秒のカウントが出来ません。
で、制御がややこしくなったので、とりあえずの方針発表します。
まず、簡易な制御でLCDを使うことにして表示する文字数に制限を加えます。複雑な制御にすれば、長い文字も扱えるのですが状態遷移を使いますので状態遷移に慣れてからとしますね。
で割り込み中にLCDを制御することにしますが、割り込み周期が25msなため、割り込み処理は25ms以内に終了する必要があります。
で、LCDの転送にかかる時間は1文字あたりWAITを含めると4ms以上掛かるので余裕を見て5msと仮定した場合、カーソル移動と4文字処理が25ms以内に出来る限界です。
ですのでストップウォッチで表示できる文字は4文字以内でかつカーソル移動は一回のみです。2文字は秒数で使うので、"sec"はタイマースタート前に先に表示して置いてください。
あとはスタート、カウント中、ストップですが、次のような案はどうでしょう?
スタート: S:00sec
カウント中:R:04sec
ストップ: E:55sec
理想は色々あるとは思いますが、今の時点で出来る方法としての提案です。
状態遷移を覚えて徐々に機能アップを図りましょう。
とりあえずフローの修正をお願いします。-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 43
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
-
-
from: Simbaさん
2009年04月20日 17時35分06秒
icon
ストップウォッチ
あの勝手にスレッド立てました^^;なんかチャタリングからはなれてきたので・・・でもないかな・・・一応、状態遷図みたいなものを作ったのですが・・・いつも
あの勝手にスレッド立てました^^;
なんかチャタリングからはなれてきたので・・・
でもないかな・・・
一応、状態遷図みたいなものを作ったのですが・・・
いつものところにおいてますけども。
もっとバラバラにしないといけないのかなと思ったりして・・・-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 39
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
-
-
from: Simbaさん
2009年04月14日 15時45分24秒
icon
チャタリングについて困ってます
シンバです。表題の通りチャタリングでこまってます。sw押したら、その押した数だけカウントしてみようというプログラムを作ったのですが、思うようにいきませ
シンバです。
表題の通りチャタリングでこまってます。
sw押したら、その押した数だけカウントしてみようというプログラムを作ったのですが、思うようにいきません;;
お暇なときに見てもらえませんか??
;ポート4の4bit目につながってるSWの
;チャタリング対策プログラム
;
;FILE NAME = COUNTER3.SRC
;
; 2009.4.14
.CPU 300HA
P4DDR .EQU H'FFFFC5 ;ポート4のP4DDRのアドレス設定
P4DR .EQU H'FFFFC7 ;ポート4のP4DRのアドレス設定
P4PCR .EQU H'FFFFDA ;ポート4のプルアップ設定
P5DR .EQU H'FFFFCA ;ポート5の出力データレジスタ
P5DDR .EQU H'FFFFC8 ;
LED .BEQU 0,P5DR ;LED(ポート5のbit0)
.SECTION RAM,CODE,LOCATE=H'FF130
MOV.L #H'FFFF00,ER7 ;SPの設定
MOV.B #H'00,R0L ;入力用設定データ
MOV.B R0L,@P4DDR ;ポート4を入力に設定
MOV.B #H'FF,R4L ;プルアップ用データ
MOV.B R4L,@P4PCR ;ポート4プルアップ
MOV.B R4L,@P5DDR ;ポート5を出力に設定
MOV.B #H'00,R1L ;カウンター初期値
MOV.B R1L,@COUNTER ;カウンター初期値
MOV.B R1L,@COUNTER1 ;
;ポート4の4bit目を監視(1回目)
LOOP: MOV.B @P4DR,R0L ;ポート4の状態をR0Lにコピー
;SW1が押されたか
BTST #4,R0L ;4bit目を評価
BEQ L1 ;
BNE LOOP
L1: MOV.B R1L,@COUNTER1
BSR WAIT ;WAITサブルーチン呼び出し
;ポート4の4bit目を監視(2回目)
MOV.B @P4DR,R0L ;ポート4の状態をR0Lにコピー
BTST #4,R0L ;4bit目を評価
BEQ L2 ;前回のデータと比較
BNE LOOP ;一致していればカウント処理
L2: BSR WAIT
;SW1が押された場合
ADD.B #H'01,R1L ;カウンター変数をインクリメント
MOV.B R1L,@COUNTER ;COUNTERにコピー
BSET LED
BSR WAIT
BCLR LED
JMP @LOOP
WAIT: MOV.L #D'5000,ER6 ;タイマサブルーチン
W1 DEC.L #1,ER6
NOP
BNE W1
RTS
.SECTION CNTR,DATA,LOCATE=H'FFA00
COUNTER: .RES.B 1 ;カウンターの最終値
COUNTER1: .RES.B 1 ;カウンターの途中の値
.END-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 25
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
-
-
from: Simbaさん
2009年04月03日 07時56分44秒
icon
10秒後にLEDを光らせたいのですが・・・;;
あのー1秒タイマの続きで、10秒たったら別のLEDを点灯させようとしてるのですが、プログラム走らせた途端に点灯するのです。もう一個のLEDは1秒間隔で
あのー1秒タイマの続きで、10秒たったら別のLEDを点灯させようとしてるのですが、プログラム走らせた途端に点灯するのです。もう一個のLEDは1秒間隔で点滅してくれてるのですが。
お暇なときに、プログラムみてもらえませんか?
僕のホムペのinformationのところに置いてます。
http://akih8.yu-nagi.com/
です。
ストップウォッチできたら、
C言語でのプログラミングやってみるつもりです。
目標:GW前までwww-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 14
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
-
-
from: Simbaさん
2009年04月02日 13時36分22秒
icon
フローチャートって書くものなのでしょうか?
今は、LED光らせたり、液晶に文字書かせたりするだけですけど、大きなプログラムになるとフローチャートって書くんですか?やっぱり。どっかのサイトで、そん
今は、LED光らせたり、液晶に文字書かせたりするだけですけど、大きなプログラムになるとフローチャートって書くんですか?やっぱり。
どっかのサイトで、
そんな時代遅れな・・・っていう記事を見てしまったので、
ほなどうやって作るん??という疑問が出てきました。
どんなもんなんでしょうか〜?
P.S. 神戸はものすごく寒いですwww-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 2
-
サークルで活動するには参加が必要です。
「サークルに参加する」ボタンをクリックしてください。
※参加を制限しているサークルもあります。 - 0
icon拍手者リスト
-
from: Simbaさん
2009年05月16日 11時57分34秒
icon
「Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:ストップウォッチパート