LCD programm

Collapse
X
 
  • Kellaaeg
  • Show
Clear All
new posts
  • bloody-orc
    Liige
    • 03/2004
    • 2675

    #1

    LCD programm

    on 1X16 LCd
    DB0-DB3 on yhendatud GND'i
    DB4 LPT data 3
    DB5 LPT data 4
    DB6 LPT data 5
    DB7 LPT data 6
    Enable data 2
    RW__ data 1
    RS data 0

    kuna see asi on nii spetsiifiliselt ühendatud, siis pole sobivat programmi leidnud. Äkki keegi viitsiks midagi kirjutada... (tahaks nt panna sinna prose hõivatuse %)või kui seda ei saa, siis võiks kirjutada, mis yldse panna annaks sinna...

  • ilm
    Liige
    • 09/2003
    • 266

    #2
    Lase DB0-DB3 miinusest lahti ja kasuta levinud LPT ühendus viisi (8bit).

    Comment

    • bloody-orc
      Liige
      • 03/2004
      • 2675

      #3
      ei mul on vaja just nii seda asja ka juhtida... lihtsalt rohkem jalgu pole vabakasutuses ja muud moodi ei saa...

      vabandan yhe vea pärast. DB0 ja DB1 on flotima jäetud... mitte pole GND'is

      mida yldse nagu äidata annaks selle LCD'ga praegu?

      LCDst rohkem:
      pärit lauatelefonist
      HD44780 kivi baasil tehtud.

      Comment

      • felch
        Liige
        • 01/2002
        • 8727

        #4
        See on 4-bitine ühendusviis. Käsk ja daata saadetakse 2 portsuna. Midagi erilist selles pole, PICi jalgu hoiab kõvasti kokku. LCD initis ütled, et 4-bitine interfeis ja käske saadad samuti vastavalt.
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment

        • bloody-orc
          Liige
          • 03/2004
          • 2675

          #5
          aga mõnda head softi arvutile pole?
          OP:XP home
          port:LPT
          vajadus: prose hõivatuse % ja hea oleks vee midagi näidata seal(temp nt) ei tea mis võimalik on... mingit winampimist vaja pole...

          Comment

          • bloody-orc
            Liige
            • 03/2004
            • 2675

            #6
            ok tundub, et mingit valmis softi pole, siis võiks ise kirjutada. teen basicus.

            kuidas see 4 bit rääkimine käib? kuidas ta aru saab, et nyyd tulevad need teised 4 biti vms. Ja mis tuleb veel teha, et alustada rääkimist... alustuseks prooviks lihtsalt asja tööle saada...

            ma olen nii aru saanud, et RS on high, kui ma talle neid saadan... ja low kui saadan muid käske...
            ja R\W on samuti HIGH
            ja Enable on kogu aeg high kui ma LCD'ga räägin...

            kuid pole aru saanud sellest kuidas saada datat temasse ja neist teistest käskudest... (e ma ei jaga midagi, mis DB jalgadesse jookseb)

            Comment

            • felch
              Liige
              • 01/2002
              • 8727

              #7
              RS=H, kui saadad daatat, LOW, kui käske.En strobeerib daata sisse.
              1. En=LOW
              2. RS= 1
              3. Daata vanem poolbait liinile (kui daata on 0x54, saadad ainult 5).
              4. En=1
              5. oota
              6. En=0
              7. Daata noorem 1/2 bait liinile (4)
              8. En=1
              9. oota
              10. En=0

              Enne kõike tee LCD-le init.

              Kood:
              ; *************************************************************************************************************
              ; ********************************************* lähtesta displeile ********************************************
              ; *************************************************************************************************************
              Init_LCD:    call  Wait_2ms    	&#59; las rahuneb veel veidi    
                movlw  b'00110000'   &#59; Set 8 bit interface 
                call  Send_CMD_W         
                movlw  b'00110000'   &#59; Set 8 bit interface     
                call  Send_CMD_W         
                movlw  b'00110000'   &#59; Set 8 bit interface     
                call  Send_CMD_W         
                movlw  b'00100000'   &#59; Set 4 bit interface     
                call  Send_CMD_W         
                movlw  b'00101000'   &#59; 4 bit 2 line 5x7     
                call  Send_CMD_4b         
                movlw  b'00001000'   &#59; Displei off     
                call  Send_CMD_4b         
                movlw  b'00000001'   &#59; Clear Display
                call  Send_CMD_4b         
                movlw  b'00000110'   &#59; Cursor increment no Shi(f)t     
                call  Send_CMD_4b         
                movlw  b'00001100'   &#59; Disp On Cursor Off Blink On     
                call  Send_CMD_4b         
                movlw  b'00101000'   &#59; 4 bit 2 line 5x7     
                call  Send_CMD_4b         
                return
              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

              Comment

              • bloody-orc
                Liige
                • 03/2004
                • 2675

                #8
                ok tänan... loodan et suudan välja nuputada ja homme midagi valmis kirjutada. kui veel kysida tahan, eks siis teate kust otsida

                Comment

                • bloody-orc
                  Liige
                  • 03/2004
                  • 2675

                  #9
                  ok...

                  mis keeles see pisike koodijupp kirjutatud on?

                  kuidas see sama asi basicus välja võiks näha.

                  basic seda keelt ei tunne.

                  ja assemblerit ei oska...

                  võibola saaks isegi C'ga hakkama...(kasutades borland 5 või 4)

                  ma oletan et need movlw'd on need, mis saadavad porti infi...
                  aga need call käsud... neist ei saa midagi aru

                  Comment

                  • pedosk
                    Liige
                    • 04/2005
                    • 1

                    #10
                    Teen teil elu lihtsaks, selleks on vaja LCD, natuke kaablit (printeri pordiga yhendamiseks, pistikuga voi jootes), takisti, plaadipotekas ja proge JALCDS. Lisan copy yhest foorumist. Otsingusona JALCDS.

                    Kui keegi soovib oma arvutile sellist LCD ekraani, mis oskab näidata arvuti kohta mitmesugust infot. Siis seda on lihtne ise valmistada.
                    Vajalikud detailid:
                    1.LCD display-saab tellida Tevalost, erinevate suurustega.(erinev ridade ja märkide arv)
                    Näiteks selline:L1672-B1J lCD 16x2 STN LE (908) (2realine, 16 märki reas)
                    http://www.tevalo.ee/cgi-bin/web_store.cgi...=9&pricelist=on
                    2.LPT pordi juhet.
                    3.Potensiomeeter 10k
                    4.Takisti ~30 oomi

                    Skeem on näiteks siin,
                    http://www.gideontech.com/guides/lcd/lcd06.gif
                    Jooda asjad selle järgi kokku.

                    Pildid valmistamisest siin:http://www.hot.ee/marec/lcd/

                    Siis installi driver,
                    saad siit, http://www.driverlinx.com/DownLoad/DlPortIO.htm

                    Tarkvara saad siit, http://www.jalcds.de/

                    kui tahad muud tarkvara proovida siis saad siit, http://lcdriver.pointofnoreturn.org/v1files.html

                    Veiko

                    Comment

                    • bloody-orc
                      Liige
                      • 03/2004
                      • 2675

                      #11
                      nagu ma juba ennist ütlesin, siis ma ei soovi seda klassikalist värki... mul on selline juba oemas... tahaks just seda 4bitist tööle saada...

                      Comment

                      • felch
                        Liige
                        • 01/2002
                        • 8727

                        #12
                        Call kutsub välja mingi alamprogrammi, Bascius on sellne käsk olemas küll.
                        movlw laeb registrisse W konstandi mis käsus teisel kohal, b tähendab binary väärtust. Basicus: mingi_muutuja= number (nt. muutuja = 56).
                        Callitav alamproge saatis etteantud numbri (käsu) LCD-le eespool kirjeldatud algoritmi alusel.

                        PS. Kood oli tõesti assembleris.
                        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                        Comment

                        • bloody-orc
                          Liige
                          • 03/2004
                          • 2675

                          #13
                          Originally posted by felch@Apr 29 2005, 21:09
                          RS=H, kui saadad daatat, LOW, kui käske.En strobeerib daata sisse.
                          1. En=LOW
                          2. RS= 1
                          3. Daata vanem poolbait liinile (kui daata on 0x54, saadad ainult 5).
                          4. En=1
                          5. oota
                          6. En=0
                          7. Daata noorem 1/2 bait liinile (4)
                          8. En=1
                          9. oota
                          10. En=0

                          kas punktid 1 ja 2 võib teha yhe käsiga?
                          ja kuidas ma selle daata sisse saadan?
                          out 888, xxxxx (mis x'ide asemele läheb)
                          ja kuidas aru saada, mis ma sinna saadan, et mis see 0x54 teeb nagu...

                          Comment

                          • felch
                            Liige
                            • 01/2002
                            • 8727

                            #14
                            Jah, En=0 olgu lähteseis, võngutad otsa vaid vajadusel. RS olgu vajalikul nivool kogu baidi saatmise tsükli jooksul.
                            Baidi sisuga on raskem. 1. poolbaidi võid saata lihtsalt otse porti, tema noorem poolbait läheb tuulde aga see pole tähtis.
                            2. poolbait tuleb tervest teisendada. Kui Basicus annab nihutada, tee nii:
                            - bait=bait & 0x0F (kümnendesüsteemis 0F=16)
                            - nihuta tulemust 4 korda vasakule, saad 0xF0 (240)
                            - saada tulemus porti (out 888, 240)
                            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                            Comment

                            • Elektrik
                              Liige
                              • 02/2003
                              • 3153

                              #15
                              to felch. bloody tahab seda asja juhtida arvuti programmiga nagu aru sain, mitte PIC-iga. Või ma eksin?

                              to bloody-orc: kui Visual Basic käepärast siis tõmba SIIT
                              VB proge (LCD juhtimiseks läbi LPT) koos lähtekaga ja saad koodi muuta vastavalt vajadusele.
                              Aga jah kui PICiga siis hoopis teine lugu.

                              Comment

                              Working...