Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

VFD display ja clear display saatmine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    VFD display ja clear display saatmine

    On olemas kaal, kus saab vajutada Print ning kaal ilmub VFD ekraanile.
    On üks aga. see jääbki sinna nii kaua kuni uuesti Print vajutad. Vaja on, et oleks puhas ekraan.
    Mõte on järgmine:
    30 sek või 1 minuti pärast saadab skeem (protsessor) OC (Hex) displayle (ehk siis: clear display).
    Toide on olemas 5V. VFD kasutab RS232 interface'i, kiirus on 4800 bps
    Kas teostada see PIC, Atmel baasil või muul viisil

    #2
    Vs: VFD display ja clear display saatmine

    Jah, seda saaks teha kasvõi PIC12F629-ga.
    - 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


      #3
      Vs: VFD display ja clear display saatmine

      Kas miskit selline oleks kood PicBasic'u jaoks 12F629 kivile?
      Info lasen läbi 1k takisti VFD'sse ?

      DEFINE OSCCAL_1K 1
      INCLUDE "modedefs.bas"
      TRISIO.0 = 0
      CMCON = 7

      Pause 200

      loop:
      Pause 6000 'aeg muudetav
      SerOut GPIO.0,N4800,["OC"]
      GoTo loop

      Kas see oleks õige?
      Hetkel testida veel ei saa.
      Peab veel sinna juurde lisama, et kui tuvastab signaali, siis peale seda hakkab aega lugema ja teeks protseduuri ühe korra ning jääb ootele (signaali)

      Edit:

      ehk nii?


      DEFINE OSCCAL_1K 1
      INCLUDE "modedefs.bas"
      TRISIO.0 = 0
      TRISIO.1 = 1
      CMCON = 7
      TX Var GPIO.0
      RX Var GPIO.1
      BO Var byte
      Pause 200

      Loop:

      SerIn RX, N2400, BO
      IF (BO <> "0") Then Print
      Print:
      SerOut TX, N2400, [BO]
      Pause 12000
      SerOut TX, N2400, ["OC"]
      Pause 200
      GoTo loop
      End

      Miskit on vussis, sest ei saa kiirust 4800 peale panna aga juba lähemal lahendusele
      Edit: Saan VFD diplay 2400 kiiruse peale panna.....
      viimati muutis kasutaja yllsel; 17 m 2009, 20:11.

      Comment


        #4
        Vs: VFD display ja clear display saatmine

        Basicut mul pole aga mis BO-d sa loed? Ma arvasin et saad nupu vajutuse nupult nivoo muutusena. Nii oleks lihtsam aga serial muidugi elegantsem. Siis saab oodata suvalist teksti ja jada lõppedes lased taimeri käima. Ainuke asi et...kuda sa RS väljundid kokku seod - TTL poolel üle dioodide?
        Asmis kirjutab asja kähku valmis kui lähteinfo olemas (kuskohast sisend, milline, mida välja, mis aja tagant).

        PS. Asmis olen edukalt teinud seriali isegi 115200 bd, bit-bäng pordiga. 12F629-s ei ole nimelt USARTi sees.
        - 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


          #5
          Vs: VFD display ja clear display saatmine

          ASM kood siis BO on sisend info RX, mis tuleb kaalult. kokku pole vaja siduda, kui inf käib läbi prose, kui kokku siduda siis läbi dioodide

          ; PICBASIC PRO(TM) Compiler 2.50b, (c) 1998, 2008 microEngineering Labs, Inc. All Rights Reserved.
          PM_USED EQU 1

          INCLUDE "12F629.INC"


          ; Define statements.
          #define OSCCAL_1K 1

          RAM_START EQU 00020h
          RAM_END EQU 0005Fh
          RAM_BANKS EQU 00001h
          BANK0_START EQU 00020h
          BANK0_END EQU 0005Fh
          EEPROM_START EQU 02100h
          EEPROM_END EQU 0217Fh

          R0 EQU RAM_START + 000h
          R1 EQU RAM_START + 002h
          R2 EQU RAM_START + 004h
          R3 EQU RAM_START + 006h
          R4 EQU RAM_START + 008h
          R5 EQU RAM_START + 00Ah
          R6 EQU RAM_START + 00Ch
          R7 EQU RAM_START + 00Eh
          R8 EQU RAM_START + 010h
          FLAGS EQU RAM_START + 012h
          GOP EQU RAM_START + 013h
          RM1 EQU RAM_START + 014h
          RM2 EQU RAM_START + 015h
          RR1 EQU RAM_START + 016h
          RR2 EQU RAM_START + 017h
          _BO EQU RAM_START + 018h
          _PORTL EQU GPIO
          _PORTH EQU GPIO
          _TRISL EQU TRISIO
          _TRISH EQU TRISIO
          #define _TX _GPIO??0
          #define _RX _GPIO??1
          #define _TRISIO??0 TRISIO, 000h
          #define _TRISIO??1 TRISIO, 001h
          #define _GPIO??0 GPIO, 000h
          #define _GPIO??1 GPIO, 001h

          ; Constants.
          _T2400 EQU 00000h
          _T1200 EQU 00001h
          _T9600 EQU 00002h
          _T300 EQU 00003h
          _N2400 EQU 00004h
          _N1200 EQU 00005h
          _N9600 EQU 00006h
          _N300 EQU 00007h
          _OT2400 EQU 00008h
          _OT1200 EQU 00009h
          _OT9600 EQU 0000Ah
          _OT300 EQU 0000Bh
          _ON2400 EQU 0000Ch
          _ON1200 EQU 0000Dh
          _ON9600 EQU 0000Eh
          _ON300 EQU 0000Fh
          _MSBPRE EQU 00000h
          _LSBPRE EQU 00001h
          _MSBPOST EQU 00002h
          _LSBPOST EQU 00003h
          _LSBFIRST EQU 00000h
          _MSBFIRST EQU 00001h
          _CLS EQU 00000h
          _HOME EQU 00001h
          _BELL EQU 00007h
          _BKSP EQU 00008h
          _TAB EQU 00009h
          _CR EQU 0000Dh
          _UnitOn EQU 00012h
          _UnitOff EQU 0001Ah
          _UnitsOff EQU 0001Ch
          _LightsOn EQU 00014h
          _LightsOff EQU 00010h
          _Dim EQU 0001Eh
          _Bright EQU 00016h
          INCLUDE "KAAL.MAC"
          INCLUDE "PBPPIC14.LIB"

          MOVE?CT 000h, _TRISIO??0
          MOVE?CT 001h, _TRISIO??1
          MOVE?CB 007h, CMCON
          PAUSE?C 0C8h

          LABEL?L _Loop
          SERPIN?T _RX
          SERMODE?C _N2400
          SERIN?B _BO
          CMPNE?BCL _BO, 030h, _Print

          LABEL?L _Print
          SERPIN?T _TX
          SERMODE?C _N2400
          SEROUT?B _BO
          PAUSE?C 02EE0h
          SERPIN?T _TX
          SERMODE?C _N2400
          SEROUT?C 04Fh
          SEROUT?C 043h
          PAUSE?C 0C8h
          GOTO?L _Loop
          END?

          Comment


            #6
            Vs: VFD display ja clear display saatmine

            Ah muidugi, kuidas ma kohe selle peale ei tulnud Loomulikult inf läbi kivi jooksma. Ilmselt silusid koodi juba ära ja toimib ?
            - 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


              #7
              Vs: VFD display ja clear display saatmine

              Kood veel ei toiminud korralikult. Mul üks 12F629 oli aga see andis otsad. Järgmine nädal peaksin saama uued.

              Kuidas ASM koodis näeks välja võrdlus:
              Kas esimene tekstist on + või -, siis tee seda vastasel juhul loop ?

              Teine: Asm koodis saada HEX'na 0C
              Minu variant saadab tekstina 0C

              Comment


                #8
                Vs: VFD display ja clear display saatmine

                Asmis peab võrdlema mõlema konstandiga. Kõrgkeeles saab tehtemärke vahele toppida, kompilaator teeb nad ikka mitmeks võrdluseks sest käsustik on selline.
                Võrdled ühe "piirväärtusega", kui sobivas suunas, lähed järgmist võrdlema. kui ei, kohe vesi peale.
                Kood:
                movf symbol,W
                sublw pluss
                btfsc ZERO
                goto OK ; sobib
                movf symbol,W
                sublw miinus
                btfsc ZERO
                goto OK ; sobib
                goto pers_e ; vesi peale
                Asmis saatmine on imelihtne. Kirjutad lihtsalt hex numbri TXREG'i ja läkski teele.
                PIC12F629-l ei ole USARTi, seal peab bit-bäng porti kasutama. Sobiv kood on Myke Predkol. Soovi korral saadan oma muganduse sellest.
                Selle prosega ma teeks nii et jälgiks saadetavat GPIO2-ga ja kajaks saadavat kohe tagasi saateotsale. Ilma dekodeerimata, saab kiiremini.
                Dekodeerimine siiski toimuks aga selle järgi määraks, kas on vaja midagi juurde saata.
                - 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

                Working...
                X