- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: PIC Code in Bascom AVR übersetzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.12.2004
    Beiträge
    8

    PIC Code in Bascom AVR übersetzen

    Hallo,
    kann mir mal jemand unter die Arme greifen,
    möchte folgenden PIC Code in Bascom AVR übersetzen !!
    Bin Anfänger
    Gruß Gerhardt


    Code:
    **************************************************************
    *  Name    : HDSP2112.BAS                                      
    *
    *          : Tested with HDSP-2112 Display & PIC16F877         
    ****************************************************************
    DEFINE OSC 20       ' 20MHz oscillator
    DEFINE LOADER_USED 1' Using boot-loader for initial prototype
    TRISA   = 0         ' Setup PortA = output for Address Bus
    TRISB   = 0         ' Setup PortB = output for Data Bus
    TRISC   = $80       ' RC.7 = input, rest outputs [used for loader]
    ADCON1  = 7         ' A/D OFF
    A_Bus   VAR PortA   ' PortA Address Bus
    D_Bus   VAR PortB   ' PortB = Data Bus
    W_Pin   VAR PortC.0 ' HDSP-2112 write strobe pin #13
    A3      VAR PortC.1 ' HDSP-2112 mode select pin #6
    RST     VAR PortC.2 ' HDSP-2112 reset pin #1
    Digit   VAR BYTE[8] ' 8-byte digit array
    DigPat  VAR BYTE    ' Digit pattern from lookup table
    LP_Cnt  VAR BYTE    ' Loop counter
    LowDig  VAR BYTE    ' Holds "low" digit # to lookup
    LowDig  = 0         ' 1st digit = 0
    HiDig   VAR BYTE    ' Holds "high" digit # to lookup
    HiDig   = 7         ' Last digit = 7
    J       VAR BYTE    ' Array index pointer
    J       = 0         ' 1st byte in array
    S_Speed VAR WORD    ' Holds display scroll speed
    S_Speed = 300       ' Set display scroll speed here
    LOW D_Bus.7         ' Set display for normal operation
    EOM     CON "~"     ' Character used as "End of Message" marker
    
    '* // Initialize display - then set brightness * //'
    Init_Display:
        ' * // Initialize Display Here * //'
        HIGH W_Pin : LOW RST : PAUSE 10 : HIGH RST : PAUSE 10
        
        ' * // Set Display Brightness Here * //' 
        ' To change display brightness
        ' D_Bus = |  0   |  1  |  2  |  3  |  4  |  5  |  6  |
        ' Bright =| 100% | 80% | 53% | 40% | 27% | 20% | 13% |
        '
        ' Set 27% | mode.bit | strobe settings into display |
        D_Bus = 4 : LOW A3 : LOW W_Pin : HIGH W_Pin
        HIGH A3 ' A3 used only for setting display brightness
                        
    '* // Get 8 digits into "Digit Array" for display * //'
    GetDig:
        FOR LP_Cnt = LowDig TO HiDig
            LOOKUP LP_Cnt,["        Hello.!        ~"],DigPat
            Digit[J] = DigPat   ' Load all 8 digits into array
            J = J + 1           ' Increment array index pointer
        NEXT                    ' Loop until we have all 8 digits loaded
        J=0                     ' Re-set array index pointer
        LowDig = LowDig + 1     ' Increment to next "low" digit
        HiDig = HiDig + 1       ' Increment to next "high" digit
        
    ' * // We're using the "~" character in EOM to tag the end of message * //'
        IF Digit[7] = EOM THEN  ' End-of-message indicator..?
           Digit[7] = " "       ' Then load a "blamk space" character
           LowDig = 0           ' Re-load 0-7 MAX digit count
           HiDig = 7            ' 
        ENDIF
    
    '* // Display 8 digits on display then return for more // *'
    DisplayDigit:
        FOR LP_Cnt = 0 TO 7     ' Scroll right-to-left
          A_Bus = LP_Cnt        ' Place digit address on address bus
          D_Bus = Digit[J]      ' Place digit data on data bus
          LOW W_Pin : HIGH W_Pin' Strobe data into display
          J = J + 1             ' Increment array pointer to next digit
        NEXT
        J = 0                   ' Re-set array index pointer
        PAUSE S_Speed           ' Set display scroll speed
        GOTO GetDig
        
    '* // Display connections * //'
    ' PortB   Display | PortA  Display | PortC  Display
    '   B0     #19    |  A0      #3    |   C0     #13
    '   B1     #20    |  A1      #4    |   C1     #6
    '   B2     #23    |  A2      #5    |   C2     #1
    '   B3     #24
    '   B4     #25
    '   B5     #26
    '   B6     #27
    
    ' * // Display GND, VCC and N.C. [no connection] * //'
    '   GND    15,16,17,28
    '   VCC    2,7,8,9,10,11,14,18
    '   N.C.   12

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    33
    Beiträge
    601
    HI,

    also ich glaube kaum das es so ein Proggram gibt das Assambler in
    Bascom umschreibt(war das Assambler?). Aber du kannst ja mal in
    Bascom auf Hilfe(F1) gehen und da nach Display ansteuerung suchen.
    Grüße Furtion

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen