遠隔大型表示 表示装置 変更ソフト処理説明 |
今回の変更では2つの処理変更をしています。1つ目はデジット数字の表示にラッチレジスタを使ったので、デジット数字処理で数字情報の設定処理とラッチのタイミング処理を変更しました。2つ目はデジット数字の処理を操作装置から情報を受信した後に1回だけ行うようにしました。 今回の回路の動作確認をしたところ、3桁の数字のうち1位の数字だけを表示させたとき、100位、10位の7セグメントLEDの一部のセグメントが一瞬点灯する現象が発生しました。原因ははっきりとは分かりませんが、配線を束ねている関係で線間に制御信号が伝わってしまうのではないかと思われます。そのため、デジット数字を連続的に表示すると100位、10位に意味のない表示が出てしまったため、数字情報の受信直後に1度だけ、表示制御をするようにしました。ラッチレジスタに記録される情報は正常なので、連続的に数字表示制御を行わなければ余分な表示は行われません。 数字情報とラッチタイミング制御 118 ;**** 7 segment display control
ddisp_pの内容により以下の処理が実行されます。
表示処理実行制御
フラッグの設定はデータ受信処理で行われます。 308 incf data_rcv,f ;Set data received flag
7セグメントLEDの表示処理の先頭でdata_rcvをチェックしています。 120 movfw data_rcv ;Read Data recived flag
data_rcvが"0"の場合、「数字情報とラッチタイミング制御」はスキップされます。 movfwは疑似命令で movf data_rcv,w と同様です。 「数字情報とラッチタイミング制御」の最後ではdata_rcvを"0"にして処理が連続しないようにしています。 212 clrf data_rcv ;Clear data received flag
063 movlw d'1' ;Set Data received flag 064 movwf data_rcv ;Set flag |