Customizing font style for running message...


Closed Thread
Results 1 to 18 of 18

Hybrid View

  1. #1
    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.

  2. #2
    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

  3. #3
    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

  4. #4
    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

  5. #5
    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