Customizing font style for running message...


Closed Thread
Results 1 to 18 of 18

Hybrid View

  1. #1
    Join Date
    Jun 2011
    Location
    Philippines
    Posts
    223


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    Scroll_Position = Scroll_Position + 1
    IF Scroll_Position = 8 THEN
    PAUSE 1000
    Scroll_Position = 0
    ELSE
    PAUSE 100
    ENDIF
    Hi,
    The only problem now I'm having is that when it execute the "PAUSE 1000" it clears the matrix(blank) and prints again the letters after the pause.

    Kind regards,
    tacbanon

  2. #2
    Join Date
    May 2006
    Location
    Del Rio, TX, USA
    Posts
    343


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    Please post the code you have now. That will help sort out the logic.
    I suspect the problem is that you need to execute the output code under "Gondor:" frequently enough to refresh the display, and the pause in interfering with the refresh.

  3. #3
    Join Date
    Jun 2011
    Location
    Philippines
    Posts
    223


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    Quote Originally Posted by SteveB View Post
    Please post the code you have now. That will help sort out the logic.
    I suspect the problem is that you need to execute the output code under "Gondor:" frequently enough to refresh the display, and the pause in interfering with the refresh.
    I did try to find to place the code(you gave) and test it(by trial and error)...but having no luck. The following is the code I'm working on.
    Code:
    porta=0  :  portb=0  :  portc=0  :  portd=0
    trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
    porte=0  : trise=0
    harf_reg var byte
    adres_sec var byte
    yinele var byte
    sutun_reg var byte[300]
    veri var byte
    yazi_reg var byte 
    i VAR BYTE
    x var byte
    z var byte
    y var byte
    t var byte
    q var byte
    Scroll_Position var byte
    temp_byte var byte
    temp_bit var bit
    sure var byte
    yedek var byte
    
    CLEAR  :  portd=255:sure=500 :GOTO oku:
    oku:
    call yazi  : yazi_reg=yazi_reg+1  :  z=harf_reg
        for i=1 to z
            call yazi  : yazi_reg=yazi_reg+1  : call data_sec
            for y=0 to yinele
                call datalar
                sutun_reg[t]=veri  :  t=t+1
                adres_sec=adres_sec+1
            next y
        next i
    t=0
    
    
    
    goto gonder
    gonder:
    ;---------------------------------------------------
        Scroll_Position = Scroll_Position + 1
        IF Scroll_Position = 16 THEN   ; when this is TRUE it clears the matrix(turned off leds) for 1second
           
            pause 1000
            Scroll_Position = 0 
           
        ELSE          
        ENDIF 
    
    ;---------------------------------------------------
    FOR Q=0 TO 5
        
        for i=0 to 15
            portb=sutun_reg[t]  :  t=t+1
            porta=i
            portc=%11111110:pauseus sure:portc=%11111111
        next i
        
        for i=0 to 15
            portb=sutun_reg[t]  :  t=t+1
            porta=i
            portc=%11111101:pauseus sure:portc=%11111111
        next i
        for i=0 to 15
            portb=sutun_reg[t]  :  t=t+1
            porta=i
            portc=%11111011:pauseus sure:portc=%11111111
        next i
    
         for i=0 to 15
            portb=sutun_reg[t]  :  t=t+1
            porta=i
            portc=%11110111:pauseus sure:portc=%11111111
        next i
    
        for i=0 to 11
            portb=sutun_reg[t]  :  t=t+1
            porta=i
            portc=%11101111:pauseus sure:portc=%11111111
           
        next i
    
    t=0
    
    NEXT Q    
     
    goto kaydir
    kaydir:
    
        yedek=sutun_reg[0]
        for i=0 to 30        
            
            temp_byte = sutun_reg[i]
            temp_Byte = temp_Byte << 1
            temp_Byte.0 = STATUS.0
            sutun_reg[i] = temp_byte
            
    ;----------------------------------
       
            
            
        next i  
       
       
    goto gonder
    yazi:
    lookup yazi_reg,[12,"HELLO WORLD"],harf_reg
    return
    
    data_sec:
    select case harf_reg
    case "A"
    adres_sec=0  :  yinele=5  :  return
    case "B"
    adres_sec=6  :  yinele=5  :  return
    case "C"
    adres_sec=12  :  yinele=5  :  return
    case "D"
    adres_sec=18  :  yinele=5  :  return
    case "E"
    adres_sec=24  :  yinele=5  :  return
    case "F"
    adres_sec=30  :  yinele=5  :  return
    case "G"
    adres_sec=36  :  yinele=5  :  return
    case "H"
    adres_sec=42  :  yinele=5  :  return
    case "I"
    adres_sec=48  :  yinele=3  :  return
    case "i"
    adres_sec=52  :  yinele=3  :  return
    case "J"
    adres_sec=56  :  yinele=5  :  return
    case "K"
    adres_sec=62  :  yinele=5  :  return
    case "L"
    adres_sec=68  :  yinele=5  :  return
    case "M"
    adres_sec=74  :  yinele=5  :  return
    case "N"
    adres_sec=80  :  yinele=5  :  return
    case "O"
    adres_sec=86  :  yinele=5  :  return
    case "P"
    adres_sec=92  :  yinele=5  :  return
    case "Q"
    adres_sec=98  :  yinele=5  :  return
    case "R"
    adres_sec=104  :  yinele=5  :  return
    case "S"
    adres_sec=110  :  yinele=5  :  return
    case "T"
    adres_sec=116  :  yinele=5  :  return
    case "U"
    adres_sec=122  :  yinele=5  :  return
    case "ü"
    adres_sec=128  :  yinele=5  :  return
    case "V"
    adres_sec=134  :  yinele=5  :  return
    case "W"
    adres_sec=140  :  yinele=5  :  return
    case "X"
    adres_sec=146  :  yinele=5  :  return
    case "Y"
    adres_sec=152  :  yinele=5  :  return
    case "Z"
    adres_sec=158  :  yinele=5  :  return
    case " "
    adres_sec=164  :  yinele=5  :  return
    case "0"
    adres_sec=170  :  yinele=5  :  return
    case "1"
    adres_sec=176  :  yinele=3  :  return
    case "2"
    adres_sec=180  :  yinele=5  :  return
    case "3"
    adres_sec=186  :  yinele=5  :  return
    case "4"
    adres_sec=192  :  yinele=5  :  return
    case "5"
    adres_sec=198  :  yinele=5  :  return
    case "6"
    adres_sec=204  :  yinele=5  :  return
    case "7"
    adres_sec=210  :  yinele=5  :  return
    case "8"
    adres_sec=216  :  yinele=5  :  return
    case "9"
    adres_sec=222  :  yinele=5  :  return
    end select
    
    datalar:
    
     lookup adres_sec,[$05, $24, $74, $54, $7C, $78_      ;A
                       ,$7F,$49,$49,$49,$36,0_      ;B
                       ,$3E,$41,$41,$41,$22,0_      ;C
                       ,$7F,$41,$41,$41,$3E,0_      ;D
                       ,$7F,$49,$49,$49,$41,0_      ;E
                       ,$7F,$09,$09,$09,$01,0_      ;F
                       ,$3E,$41,$49,$49,$3A,0_      ;G
                       ,$7F,$08,$08,$08,$7F,0_      ;H
                       ,$41,$7F,$41,0_              ;I
                       ,$44,$7D,$44,0_              ;Ý
                       ,$20,$40,$41,$3F,$01,0_      ;J
                       ,$7F,$08,$14,$22,$41,0_      ;K
                       ,$7F,$40,$40,$40,$40,0_      ;L
                       ,$7F,$02,$04,$02,$7F,0_      ;M
                       ,$7F,$04,$08,$10,$7F,0_      ;N
                       ,$3E,$41,$41,$41,$3E,0_      ;O
                       ,$7F,$09,$09,$09,$06,0_      ;P
                       ,$3E,$41,$51,$61,$3E,0_      ;Q
                       ,$7F,$09,$19,$29,$46,0_      ;R
                       ,$26,$49,$49,$49,$32,0_      ;S
                       ,$01,$01,$7F,$01,$01,0_      ;T
                       ,$3F,$40,$40,$40,$3F,0_      ;U
                       ,$1E,$41,$01,$41,$1E,0_      ;Ü
                       ,$1F,$20,$40,$20,$1F,0_      ;V
                       ,$3F,$40,$30,$40,$3F,0_      ;W
                       ,$63,$14,$08,$14,$63,0_      ;X
                       ,$07,$08,$70,$08,$07,0_      ;Y
                       ,$61,$51,$49,$45,$43,0_      ;Z
                       ,$00,$00,$00,$00,$00,0_      ;Space
                       ,$3E,$51,$49,$45,$3E,0_      ;0
                       ,$42,$7F,$40,0_              ;1
                       ,$62,$51,$49,$45,$42,0_      ;2    
                       ,$22,$49,$49,$49,$36,0_      ;3
                       ,$18,$14,$12,$7F,$10,0_      ;4
                       ,$2F,$49,$49,$49,$31,0_      ;5
                       ,$3E,$49,$49,$49,$32,0_      ;6
                       ,$61,$11,$09,$05,$03,0_      ;7
                       ,$36,$49,$49,$49,$36,0_      ;8
                       ,$26,$49,$49,$49,$3E,0],veri ;9
    return
    Thanks for taking the time helping...

    regards,
    tacbanon

  4. #4
    Join Date
    May 2006
    Location
    Del Rio, TX, USA
    Posts
    343


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    I can't test it out here, but I suspect that the problem with the longer pause is that the matrix wasn't being refreshed. So I modified a couple of things to control the flow of the program a little.

    I made a "Main_Loop" inside of which "gonder" is called as a GOSUB and the scrolling is controlled with a GOSUB to "kaydir". So both of those sections of code now terminate in a RETURN.

    This allows for the modified pause control. As you can see, the longer pause is multiple short pauses with a call to "gonder" in between to keep the display refreshed.

    Hope this helps.


    Code:
        porta=0  :  portb=0  :  portc=0  :  portd=0
        trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
        porte=0  : trise=0
        harf_reg VAR BYTE
        adres_sec VAR BYTE
        yinele VAR BYTE
        sutun_reg VAR BYTE[300]
        veri VAR BYTE
        yazi_reg VAR BYTE
        i VAR BYTE
        x VAR BYTE
        z VAR BYTE
        y VAR BYTE
        t VAR BYTE
        q VAR BYTE
        Scroll_Position VAR BYTE
        Pause_Cnt VAR BYTE
        temp_byte VAR byte
        temp_bit VAR bit
        sure VAR BYTE
        yedek VAR BYTE
    
        CLEAR  
        portd=255 : sure=500
        
    oku:
        CALL yazi  : yazi_reg=yazi_reg+1  :  z=harf_reg
        FOR i=1 TO z
            CALL yazi  : yazi_reg=yazi_reg+1  : CALL data_sec
            FOR y=0 TO yinele
                CALL datalar
                sutun_reg[t]=veri  :  t=t+1
                adres_sec=adres_sec+1
            NEXT y
        NEXT i
        t=0
    
    Main_Loop:
        GOSUB gonder
        
        Scroll_Position = Scroll_Position + 1
        IF Scroll_Position = 16 THEN
            For Pause_Cnt = 1 to 10         '<-- Change to control duration of pause after scroll, 10 = 1 sec, 20 = 2 sec, ...
                Pause 100
                GOSUB gonder
            Next Pause_Cnt
            Scroll_Position = 0   
        ELSE
            GOSUB Kaydir
            PAUSE 100    
        ENDIF
        
        GOTO Main_Loop
    
    
    '-------------------------------------------------------------------------------
    yazi:
        LOOKUP yazi_reg,[12,"HELLO WORLD"],harf_reg
        RETURN
    
    '-------------------------------------------------------------------------------
    gonder:
        FOR Q=0 TO 5
            FOR i=0 TO 15
                portb=sutun_reg[t]  :  t=t+1
                porta=i
                portc=%11111110:PAUSEUS sure:portc=%11111111
            NEXT i
            FOR i=0 TO 15
                portb=sutun_reg[t]  :  t=t+1
                porta=i
                portc=%11111101:PAUSEUS sure:portc=%11111111
            NEXT i
            FOR i=0 TO 15
                portb=sutun_reg[t]  :  t=t+1
                porta=i
                portc=%11111011:PAUSEUS sure:portc=%11111111
            NEXT i
            FOR i=0 TO 15
                portb=sutun_reg[t]  :  t=t+1
                porta=i
                portc=%11110111:PAUSEUS sure:portc=%11111111
            NEXT i
            FOR i=0 TO 11
                portb=sutun_reg[t]  :  t=t+1
                porta=i
                portc=%11101111:PAUSEUS sure:portc=%11111111
            NEXT i
            t=0
        NEXT Q
        Return
        
    '-------------------------------------------------------------------------------
    kaydir:
        yedek=sutun_reg[0]
        FOR i=0 TO 30
            temp_byte = sutun_reg[i]
            temp_Byte = temp_Byte << 1
            temp_Byte.0 = STATUS.0
            sutun_reg[i] = temp_byte
        NEXT i
        RETURN
    
    '-------------------------------------------------------------------------------
    data_sec:
        SELECT CASE harf_reg
        CASE "A"
            adres_sec=0  :  yinele=5  :  RETURN
        CASE "B"
            adres_sec=6  :  yinele=5  :  RETURN
        CASE "C"
            adres_sec=12  :  yinele=5  :  RETURN
        CASE "D"
            adres_sec=18  :  yinele=5  :  RETURN
        CASE "E"
            adres_sec=24  :  yinele=5  :  RETURN
        CASE "F"
            adres_sec=30  :  yinele=5  :  RETURN
        CASE "G"
            adres_sec=36  :  yinele=5  :  RETURN
        CASE "H"
            adres_sec=42  :  yinele=5  :  RETURN
        CASE "I"
            adres_sec=48  :  yinele=3  :  RETURN
        CASE "i"
            adres_sec=52  :  yinele=3  :  RETURN
        CASE "J"
            adres_sec=56  :  yinele=5  :  RETURN
        CASE "K"
            adres_sec=62  :  yinele=5  :  RETURN
        CASE "L"
            adres_sec=68  :  yinele=5  :  RETURN
        CASE "M"
            adres_sec=74  :  yinele=5  :  RETURN
        CASE "N"
            adres_sec=80  :  yinele=5  :  RETURN
        CASE "O"
            adres_sec=86  :  yinele=5  :  RETURN
        CASE "P"
            adres_sec=92  :  yinele=5  :  RETURN
        CASE "Q"
            adres_sec=98  :  yinele=5  :  RETURN
        CASE "R"
            adres_sec=104  :  yinele=5  :  RETURN
        CASE "S"
            adres_sec=110  :  yinele=5  :  RETURN
        CASE "T"
            adres_sec=116  :  yinele=5  :  RETURN
        CASE "U"
            adres_sec=122  :  yinele=5  :  RETURN
        CASE " "
            adres_sec=128  :  yinele=5  :  RETURN
        CASE "V"
            adres_sec=134  :  yinele=5  :  RETURN
        CASE "W"
            adres_sec=140  :  yinele=5  :  RETURN
        CASE "X"
            adres_sec=146  :  yinele=5  :  RETURN
        CASE "Y"
            adres_sec=152  :  yinele=5  :  RETURN
        CASE "Z"
            adres_sec=158  :  yinele=5  :  RETURN
        CASE " "
            adres_sec=164  :  yinele=5  :  RETURN
        CASE "0"
            adres_sec=170  :  yinele=5  :  RETURN
        CASE "1"
            adres_sec=176  :  yinele=3  :  RETURN
        CASE "2"
            adres_sec=180  :  yinele=5  :  RETURN
        CASE "3"
            adres_sec=186  :  yinele=5  :  RETURN
        CASE "4"
            adres_sec=192  :  yinele=5  :  RETURN
        CASE "5"
            adres_sec=198  :  yinele=5  :  RETURN
        CASE "6"
            adres_sec=204  :  yinele=5  :  RETURN
        CASE "7"
            adres_sec=210  :  yinele=5  :  RETURN
        CASE "8"
            adres_sec=216  :  yinele=5  :  RETURN
        CASE "9"
            adres_sec=222  :  yinele=5  :  RETURN
        END SELECT
    
    '-------------------------------------------------------------------------------
    datalar:
        LOOKUP adres_sec,[$05, $24, $74, $54, $7C, $78_      ;A
        ,$7F,$49,$49,$49,$36,0_      ;B
        ,$3E,$41,$41,$41,$22,0_      ;C
        ,$7F,$41,$41,$41,$3E,0_      ;D
        ,$7F,$49,$49,$49,$41,0_      ;E
        ,$7F,$09,$09,$09,$01,0_      ;F
        ,$3E,$41,$49,$49,$3A,0_      ;G
        ,$7F,$08,$08,$08,$7F,0_      ;H
        ,$41,$7F,$41,0_              ;I
        ,$44,$7D,$44,0_              ; 
        ,$20,$40,$41,$3F,$01,0_      ;J
        ,$7F,$08,$14,$22,$41,0_      ;K
        ,$7F,$40,$40,$40,$40,0_      ;L
        ,$7F,$02,$04,$02,$7F,0_      ;M
        ,$7F,$04,$08,$10,$7F,0_      ;N
        ,$3E,$41,$41,$41,$3E,0_      ;O
        ,$7F,$09,$09,$09,$06,0_      ;P
        ,$3E,$41,$51,$61,$3E,0_      ;Q
        ,$7F,$09,$19,$29,$46,0_      ;R
        ,$26,$49,$49,$49,$32,0_      ;S
        ,$01,$01,$7F,$01,$01,0_      ;T
        ,$3F,$40,$40,$40,$3F,0_      ;U
        ,$1E,$41,$01,$41,$1E,0_      ; 
        ,$1F,$20,$40,$20,$1F,0_      ;V
        ,$3F,$40,$30,$40,$3F,0_      ;W
        ,$63,$14,$08,$14,$63,0_      ;X
        ,$07,$08,$70,$08,$07,0_      ;Y
        ,$61,$51,$49,$45,$43,0_      ;Z
        ,$00,$00,$00,$00,$00,0_      ;Space
        ,$3E,$51,$49,$45,$3E,0_      ;0
        ,$42,$7F,$40,0_              ;1
        ,$62,$51,$49,$45,$42,0_      ;2
        ,$22,$49,$49,$49,$36,0_      ;3
        ,$18,$14,$12,$7F,$10,0_      ;4
        ,$2F,$49,$49,$49,$31,0_      ;5
        ,$3E,$49,$49,$49,$32,0_      ;6
        ,$61,$11,$09,$05,$03,0_      ;7
        ,$36,$49,$49,$49,$36,0_      ;8
        ,$26,$49,$49,$49,$3E,0],veri ;9
        RETURN

  5. #5
    Join Date
    Jun 2011
    Location
    Philippines
    Posts
    223


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    Hello SteveB,
    Your'e awesome...works great as you expected.
    I will build to extend the length of led matrix display and post here the results.

    Regards,
    tacbanon

  6. #6
    Join Date
    May 2006
    Location
    Del Rio, TX, USA
    Posts
    343


    Did you find this post helpful? Yes | No

    Default Re: Customizing font style for running message... Dot matrix editor

    Glad it worked!

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts