[Menu]>[Circuits Gallery]>[Remote display]>[Improvement]

Modified process explanation for Display unit

In this time, two process modifications are done. The 1st one is the modification of the number data setting process and data latch timing process. It is because latch registers were used for the display of degits. The 2nd one is the number of times of the display process. Display process is executed only once after receiving information from the console equipment. When confirming circuit operation, the segment which isn't controlled lit up weakly. I don't find cause clearly. There is possibility that the unnecessary control signal occurs because it is tying wiring. Therefore, the displaying control made be done only once after the receiving of number information. Because the number information is normally recorded in the latch register, extra displaying is prevented. Number information control and latch timing control
    118 ;**** 7 segment display control
ddisp_p is the counter to decide control contents. This counter is increased every 2 milliseconds. The following processes are executed by the contents of ddisp_p.
ddisp_p | Process
--- | ---
0 | Set 100th data
1 | Latch ON for 100th
2 | Latch OFF for 100th
ddisp_p | Process
--- | ---
3 | Set 10th data
4 | Latch ON for 10th
5 | Latch OFF for 10th
ddisp_p | Process
--- | ---
6 | Set 1st data
7 | Latch ON for 1st
8 | Latch OFF for 1st
By this, when receiving data next time, it is controlled from the 100th. 146, 174 and 202 lines don't need. The timing which makes RAx an L level is good even if it is simultaneous with the timing which makes the following RAy H level. For example, RA0 is the timing of RA1. In the case, it becomes like ddisp_p=(0):Set 100th data, (1):Latch ON for 100th, (2):Set 10th data, (3):Latch OFF for 100th and Latch ON for 10th, (4):Set 1st data, (5):Latch OFF for 10th and Latch ON for 1st, (6):Latch OFF for 1st. Display process control data_rcv is the area which stores the flag which displays to have received data from the console unit. The setting of a flag is done at the data receiving process.
    308         incf    data_rcv,f      ;Set data received flag
When the receiving of data completes, "1" is set to data_rcv. data_rcv is checked at the head of the display process for 7 segment LED.
    120         movfw   data_rcv        ;Read Data recived flag
When data_rcv is "1", "Number information control and latch timing control" is executed. When data_rcv is "0", "Number information control and latch timing control" is skiped. "movfw" is Directive. It is same as "movf data_rcv,w". In the end of "Number information control and latch timing control", data_rcv is made "0". It is because the process doesn't continue.
    212         clrf    data_rcv        ;Clear data received flag
In the initial process for the workarea, data_rcv is set to "1" to clear display when there is no data from the console unit. By this, "Number information control and latch timing control" is executed first only once.
    063         movlw   d'1'            ;Set Data received flag
    064         movwf   data_rcv        ;Set flag