Teade

Collapse

Foorumi reeglid.

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

PIC16F876

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

    #16
    http://www.dakeng.com/u2.html lehelt link http://www.dakeng.com/u2source.zip
    http://www.doc.ic.ac.uk/~ih/doc/stepper/sm...jnr/source.html lehelt link http://www.doc.ic.ac.uk/~ih/doc/stepper/sm...jnr/smack_pic.c
    jne jne
    Paistab, et enamus PICide koodinäiteid on just stepperi või LCD juhimiseks
    http://search.yahoo.com/search?p=pic+%2Bso...-193&fl=0&x=wrt

    Comment


      #17
      Nii... uus küsimus antud PIC-i kohta... kuidas oleks kõige mõistlikum(odavam) saada teada tema mõtetest? Et siis oleks soov lasta tal kuhugi oma tegevused väljundada. Kolm mõtet käis peast läbi.

      1. LCD, kuid sooviks nati soodsamalt hakkama saada.
      2.Kas ei ole võimalik kasutada RS232 ühendust ja saata info PC ekraanile?
      3.Kas saaks lasta PIC-il analogue lugem salvestada mällu ja see siis programmeerijaga sealt välja lugeda?


      Asja eesmärk on analogue to digital converteri kasutamine 'bump switch' võrgustiku kontrollimiseks. Et ajaks kogu roboti bump switchid paralleelselt ühe PIC-i jala otsa ja igale lülitile paneks erineva väärtusega takisti. Kuid siin tulebki see konks, et on ju vaja teada, mis lugemi PIC saab konkreetse lüliti sulgemisel.
      Oota! Las ma teen seda natuke paremaks...

      Comment


        #18
        veel paralleelselt üks küsimus. Kas on reaalne kasutada TSOP1736 ressiiverit PIC-ile ühe või kahe käskluse andmiseks? (näiteks sleep ja läbi INT jala siis wake)
        Oota! Las ma teen seda natuke paremaks...

        Comment


          #19
          T_SOP kasutamine täiesti reaalne.
          Ise olen kah debug-infot seriali ajanud. Üsna mugav ja lihtne.
          - 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


            #20
            nii...nüüd ma vist suutsingi oma esimese PIC-i maha põletada....


            Igatahes ühest hetkest järsku enam programmeerida ei õnnestunud. Kangutasin siis asja emaplaadilt maha ja proovisin otse programmeerijasse...vaikus. Kas on PIC-i võimalik ka kuidagi testida, et teada on tal eluvaim sees? Või tuleb programmi sissevõtu keeldumist tõlgendada üheselt eluea lõppemisena?



            Krrr.... :angry: :angry: :angry:


            ahjaa...lugemine ütleb kogu aeg et pic on tühi.
            Oota! Las ma teen seda natuke paremaks...

            Comment


              #21
              Siis ta ilmselt siirdus paremale koodimaale...
              - 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


                #22
                Huhh....


                vahest on ikka tohutu kergendus avastada, et oled ohmu.

                Kuna polnud sobivat trafot programmeerija toiteks, siis kasutasin 16V akudrelli akut. Aga unustasin, et ka see tahab laadimist vahest. Eriti kui ta pooltühjana kasutusele võtta.

                Nii, et PIC elus ja terve :P
                Oota! Las ma teen seda natuke paremaks...

                Comment


                  #23
                  huhh...pea paks otsas juba...

                  Tegelen siis selle IR objekti tuvastuse/vältimisega. Skeem koos. Kasutan TSOP1738 vastuvõtjat ja vana videopleieri puldist saadud IR dioodi. Komistuskiviks on saanud selle IR valguse moduleerimine. Kuna mu PIc jookseb 8MHz peal siis kui pikka delayd ma peaks kasutama süttimiste ja kustumiste vahepeal et kätte saada 38kHz? Koolist nati liiga palju aega möödas. Ei meenu see sageduste arvutamine ja nende suhted.
                  Oota! Las ma teen seda natuke paremaks...

                  Comment


                    #24
                    F=1/T ! Pane taimeri katkestuse peale saatja dioodi vilgutama. Kui takt on 8MHz ja taimerile läheb F/4 sagedus, on taimeri taktiperiood: 1/ (F/4) sekundit.38kHz periood on T1=1/38 e3. Jagame: T1/tT0= 52,6. Kui sul 8-bitine taimer (PICi Taimer 0), laed temasse 255-(T1/T0)=0xCB.
                    Lubad taimeri katkestuse ja kirjutad koodijupi, mis iga kord saatja dioodi väljundit inverteerib. Saad 38kHz saatja.
                    - 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


                      #25
                      jälle hädas.

                      Tahan kasutada hardware PWM-i IR ledile sageduse andmiseks. Näiteid netist olen leidnud küll, kuid ainult basicus. Sellele ei hakka aga mu hammas peale. Põhimõttest nagu saaks pea-aegu aru, kuid assemblerisse tõlkimisega hakkama ei saa.

                      kas keegi viitsiks mulle selle pwm koodijupi valmis kribada?
                      niipalju arvutasin välja:

                      PR2=0x33
                      50% Duty-Cycle CCPR1L=1A
                      T2CON = 0x04


                      Ja kui nüüd nende väärtustega PWM paika ajada, kas siis lihtsalt ühendades LED-i port C pin 2 külge ongi mul saatja olemas?
                      Oota! Las ma teen seda natuke paremaks...

                      Comment


                        #26
                        bsf STATUS,RP0
                        movlw 0x23
                        movwf PR2
                        BCF STATUS, RP0

                        movlw 0x1A
                        movwf CCPR1L
                        movlw 0x04
                        movwf T2CON

                        CCP1 väljund tuleb enne käivitamist väljundiks defineerida.
                        - 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


                          #27
                          kuskil peab olema midagi mäda....ja tundub, et minu matemaatika on see mis lonkab.

                          Nimelt: selline koodijupp:

                          Kood:
                          SetupPWM:
                          ; initializes PWM to 38KHz for IR LED
                          BANK1                &#59; select register bank 1
                          movlw	0x82     &#59; used to calculate PWM period
                          movwf	PR2
                          BANK0                &#59; register bank 0
                          bsf	CCP1CON, 4   &#59; CCP1CON<4:5> used to determine
                          bcf	CCP1CON, 5   &#59; PWM duty cycle
                          movlw	b'01000000'    &#59; set duty cycle
                          movwf	CCPR1L
                          BANK1                 &#59; register bank 1
                          bcf	TRISC, 2     &#59; port c is an output
                          BANK0                 &#59; register bank 0
                          movlw	b'00000100'    &#59; 
                          movwf	T2CON     &#59; enable PWM on TIMER2
                          return
                          toimib kui kasutan 4MHz resonaatorit.

                          aga kui panen 8MHz ja

                          pr2=0x33
                          CCPR1L=0x1A
                          T2CON=0x04

                          siis asi ei toimi...

                          kus on kala?
                          Oota! Las ma teen seda natuke paremaks...

                          Comment


                            #28
                            toimib. Komakohtade ümardamine tundus probleemiks olevat. Kuid nüüd kuidas suurendada tööpiirkonda? Hetkel reageerib u. 3-4cm kauguselt... LED-i ja PIC-i vahel on 220oomine takisti. Kui see eemaldada, kas pole ohtu, et LED maha põleb? Võtsin ta miskist vanast videomaki puldist. Nii et peaks ikka paari meetri pealt toimima.
                            Oota! Las ma teen seda natuke paremaks...

                            Comment


                              #29
                              Pigem põleb PIC. LEDe ei tohi ilma eeltakisitita lülitada - vool kasvab piiramatult ja zutz...
                              PICi ja ka mõne CMOS kivi on vahest päästnud asjaolu et väljundi väljatransi kanalil on ka mingi takistus ja ta jääb voolu piirama. Olen iesgi nii ühendanud LED indikaatorid otse dekoodri sappa. Nii võib aga nii pole ilus...
                              Pane 1 transs vahele signaali võimendama, tema K-sse juba LDE sellise eeltakiga nagu vaja (nagu max. lubatud). Elektrolüüt otse LEDi toitvatele juhtmetele (mitte ledile endale otstele muidugi), töökaugus suureneb.
                              - 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


                                #30
                                hädas sammude lugemisega.... hetkel selline kood:

                                Kood:
                                STEPS macro number
                                 movlw number
                                 movwf STEPCOUNT
                                 endm
                                
                                STEPPER macro dir
                                 movlw dir
                                 movwf PORTB
                                 WAIT .100
                                 DECF STEPCOUNT,1	
                                 btfsc STATUS,Z
                                 goto loop
                                 endm
                                ja siis et liikuda 10 sammu edasi:
                                Kood:
                                STEPS .10
                                
                                forward
                                 STEPPER 0x88
                                 STEPPER 0x9A
                                 STEPPER 0x12
                                 STEPPER 0x56
                                 STEPPER 0x44
                                 STEPPER 0x65
                                 STEPPER 0x21
                                 STEPPER 0xA9
                                goto forward
                                Asi nüüd selles, et kuidas salvestada mootori positsioon ja siis peale mingit muud tegevust samast punktist jätkata?
                                Oota! Las ma teen seda natuke paremaks...

                                Comment

                                Working...
                                X