Talking Electronics PIC Theory
                                      5x7 DISPLAY

 

Experiments Page4

REMINDER:     These are the items you need for these experiments:
-  the 5x7 Display Project (fully built),
- a 6v battery,
- an interface cable (the components come with the kit)
-  a computer.

 The first 6 experiments are on:  "Experiments Page1.
 Experiments 7, 8, 9 are on:  "Experiments Page2.
  Experiments 10, 11 are on:  "Experiments Page3.



EXPERIMENT-12  
RUNNING SIGN!

The 5x7 Video Screen can display running messages. Even though the "window" is only large enough for one letter to be displayed at a time, the words can still be read. 
Remember, this project is just a starting point. Its concepts can be expanded to any size and shape. For the RUNNING SIGN Routine, data in table1 is loaded into 5 Ghost locations (11h, 12h, 13h, 14h, 15h) and this data is displayed on the screen. One byte is transferred at a time from the table and loaded into the Ghost section. A routine then outputs the five locations to the screen. 
The data in the Ghost section is then shifted one place to the left and a new byte loaded into the 5th location (15h). 
This gives the effect of a message scrolling across the screen, from right to left. The message supplied with the project is: TE MOVING SIGN, but this can be altered to any message by changing the data in Table1. To work out the value of each column of LEDs, the individual HEX values are added together.
The program looks for "FF" and repeats the message.


 

         Experiment-12 for "5x7 Display" Project     
     
                           RUNNING SIGN 
             ;Program for PIC16F84 and only F84 chip
             ;Takes data from Table1 and runs it across the screen

 Start ORG 0x00             ;This sets up the ports 
          BSF 03,5
          MOVLW 00h
          MOVWF 05h
          MOVWF 06h
          BCF 03,5
          GOTO Run1

              ;Table1  holds the hex values for each column of LEDs

 Table1 ADDWF 02h,1         ;Add W to Program Counter
             RETLW 00h
             RETLW 40h
             RETLW 40h
             RETLW 7Fh
             RETLW 40h
             RETLW 40h
             RETLW 00h
             RETLW 7Fh
             RETLW 49h
             RETLW 49h
             RETLW 41h
             RETLW 41h
             RETLW 00h
             RETLW 3Fh
             RETLW 40h
             RETLW 3Fh
             RETLW 40h
             RETLW 3Fh
             RETLW 00h
             RETLW 3Eh
             RETLW 41h
             RETLW 41h
             RETLW 41h
             RETLW 3Eh
             RETLW 00h
             RETLW 70h
             RETLW 0Eh
             RETLW 01h
             RETLW 0Eh
             RETLW 70h
             RETLW 00h
             RETLW 7Fh
             RETLW 00h
             RETLW 7Fh
             RETLW 10h
             RETLW 0Ch
             RETLW 02h
             RETLW 7Fh
             RETLW 00h
             RETLW 3Eh
             RETLW 41h
             RETLW 45h
             RETLW 45h
             RETLW 36h
             RETLW 00h
             RETLW 32h
             RETLW 49h
             RETLW 49h
             RETLW 49h
             RETLW 26h
             RETLW 00h
             RETLW 7Fh
             RETLW 00h
             RETLW 3Eh
             RETLW 41h
             RETLW 45h
             RETLW 45h
             RETLW 36h
             RETLW 00h
             RETLW 7Fh
             RETLW 10h
             RETLW 0Ch
             RETLW 02h
             RETLW 7Fh
             RETLW 00h
             RETLW 00h
             RETLW 00h
             RETLW 00h
             RETLW 0FFh

 Run1      CLRF 11h           ;Clear the Ghost locations ready for starting 
               CLRF 12h
               CLRF 13h
               CLRF 14h
               CLRF 15h
               MOVLW 00
               MOVWF 19h      ;File 19h is the jump value for table
 Run2     MOVLW 40h
               MOVWF 18h      ;File 18h counts the number of scans
               CALL Shift         ; and controls the "run speed"
               INCF 19h,1
               MOVF 19h,0      ;Put jump value into W 
               CALL Table1
               MOVWF 15h      ;W contains table data - put it in 15h
               XORLW 0FFh     ;If table value is FF, 
               BTFSC 03,2        ; bit 2 of file 3 will be SET (=1)
               GOTO Run1       ;Start Table1 again
 Run3     DECFSZ 18h,1    ;Scan the display 40h times
              GOTO Run4
              GOTO Run2
 Run4     CALL Scan
              GOTO Run3

 Scan    BSF 05,1               ;Reset 4017
             NOP
             BCF 05,1

            MOVF 11h,0           ;Output the data at the 5 Ghost
            MOVWF 06h           ; locations to the display
            CALL DelD
            MOVF 12h,0
            MOVWF 06h
            CALL DelD
            MOVF 13h,0
            MOVWF 06h
            CALL DelD
            MOVF 14h,0
            MOVWF 06h
            CALL DelD
            MOVF 15h,0
            MOVWF 06h
            CALL DelD
            RETURN

       ;SHIFT moves the data one place to the left to give the "movement"
       ;  effect on the screen

 Shift    MOVF 12h,0         ;Move file 12h to W
            MOVWF 11h         ;Move W to file 11h
            MOVF 13h,0         ;Move file 13h to W
            MOVWF 12h         ;Move W to file 12h
            MOVF 14h,0         ;Move file 14h to W
            MOVWF 13h         ;Move W to file 13h
            MOVF 15h,0         ;Move file 15h to W
            MOVWF 14h         ;Move W to file 14h
            RETURN

 DelD   DECFSZ 1Bh,1      ;Delay for viewing the 
           GOTO DelD            ; column of LEDs
           MOVLW 00h
           MOVWF 06
           Clk BSF 05,0           ;Clock the 4017 to
           NOP                        ; the next output
           BCF 05,0
           RETURN

           END

The block of numbers below is the HEX file for Experiment-12. Copy and paste it into a text program such as TEXTPAD or NOTEPAD and call it: Expt-12.hex
:10000000831600308500860083124C288207003456
:10001000403440347F344034403400347F344934F9
:1000200049344134413400343F3440343F34403467
:100030003F3400343E344134413441343E340034A2
:1000400070340E3401340E34703400347F34003494
:100050007F3410340C3402347F3400343E34413465
:100060004534453436340034323449344934493423
:10007000263400347F3400343E3441344534453432
:10008000363400347F3410340C3402347F3400347E
:10009000003400340034FF34910192019301940143
:1000A000950100309900403098007520990A190890
:1000B00006209500FF3A03194C28980B6028532816
:1000C00062205D28851400008510110886007E20BE
:1000D000120886007E20130886007E201408860001
:1000E0007E20150886007E20080012089100130863
:1000F0009200140893001508940008009B0B7E28BA
:0C01000000308600051400000510080007
:00000001FF

 

 

 


 


Send in your programs for inclusion on these pages. 

Go to the next page of experiments:    5x7 EXPERIMENTS: Page-5