Σελίδα 1 από 13 1 2 3 11 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 123

Θέμα: Παραδείγματα σε CCS

  1. #1
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή Παραδείγματα σε CCS

    Μετά από ψάξιμο στο forum, για παραδείγματα κώδικα με τον CCS δεν είδα τίποτα ιδιαίτερο., για αυτό σκέφτηκα να δημιουργήσω ένα threat σχετικά με αυτό.

    Αυτό το έκανα για να βάζει όποιος θέλει διάφορα παραδείγματα με CCS, νομίζω είναι ένας καλός τρόπος εκμάθησης του compiler.
    Και ξεκινάω με ένα απλό πρόγραμμα ελέγχου rc-servo με την rs232 απο το pc.


    To project έγινε με PIC16F877A.

    schematic diagram
    motor2.jpg
    Το πρόγραμμα στο PC σε VB6

    Untitled2.jpg

    To πρόγραμμα του PIC σε CCS

    Κώδικας:
    #include <16f877a.h>
    #device ADC=10
    #include <stdlib.h>
    #use delay (clock=4M)
    #fuses xt,nowdt
    #use rs232(baud=9600,parity=N,xmit=PIN_c6,rcv=PIN_c7,bi  ts=8)
    
    void main()
    {
       int16 step;
       char motor_rs[10];
       port_b_pullups(true);
       setup_adc(ADC_CLOCK_DIV_32);
       setup_adc_ports(an0); 
       setup_ccp1(ccp_pwm);
       setup_timer_2(t2_div_by_16,255,1);
       set_adc_channel(0);
       while(1)
       {
          if (input(pin_b0))
          {
             if(kbhit()) gets(motor_rs);
             step=atol(motor_rs);  
          }
          
          else
          {
             delay_ms(50);
             step=read_adc()+230;
          }
          set_pwm1_duty(step);   
       }
    }
    Η δοκιμή

    IMG015.jpgIMG018.jpgIMG020.jpgIMG012.jpg

    Zητάω συγνώμη για την ποιότητα των photo και του video, τα τράβηξα με το κινητό.





    3 Not allowed! Not allowed!

  2. 5 μέλη ευχαρίστησαν τον spiroscfu για αυτό το χρήσιμο μήνυμα:

    GeorgeVita (15-05-11), herctrap (15-05-11), kentar (20-04-12), manolena (18-05-11), stavros_97s (03-01-13)

  3. #2
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Και τα αρχεία του project http://www.2shared.com/file/uHm8ic8H/RCservo.html

    O έλεγχος του μοτέρ γίνεται από το pc, οταν ο διακόπτης στο RB0 είναι ανοιχτός (στα 245hz και dutty cycle 1ms με 2,5ms η 1,5ms me 3,5ms ).
    Και όταν ο διακόπτης κλήση τότε ο έλεγχος περνάει στο ποτενσιόμετρο RV1, και αλλάζοντας την τιμή της R1 μπορούμε να έχουμε διαφορετικό dutty cycle, με 27ΚΩ είναι περίπου απο 1 έως 2 msec.

    οποίες παρατηρήσεις στην διάθεση σας.
    Νομίζω πως καλό θα ήταν να ανεβάσουν και άλλοι κάποια προτζεκτάκια γιατί ο ccs είναι ένας δυνατός compiler, που εδώ δεν τον χρησιμοποιούμε πολύ.
    Από την μεριά μου όποτε βρίσκω χρόνο θα ανεβάζω μικρά παραδείγματα.

    0 Not allowed! Not allowed!

  4. #3
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή


    Πολύ καλή πρωτοβουλία!
    G

    0 Not allowed! Not allowed!

  5. #4
    ΥπερΣυντονιστής Το avatar του χρήστη gsmaster
    Όνομα
    Γιάννης
    Εγγραφή
    Aug 2003
    Περιοχή
    Γιάννενα
    Μηνύματα
    4.444

    Προεπιλογή

    Να μην ξεχνάτε υπάρχουν και πολλά παραδείγματα που έρχονται μαζί με τον compiler και βρίσκονται στον φάκελο /examples/ στο φάκελο εγκατάστασης του compiler.

    0 Not allowed! Not allowed!
    Πριν γράψετε ένα νέο θέμα στο φόρουμ, ψάξτε ->εδώ<-, κάτι θα βρείτε που δεν ξέρατε.

  6. #5
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    να σε ρωτησω κατι ασχετο?
    το προγραμμα στην VB πως το εκανες?
    γινετε να ανεβασεις τον κωδικα για το πως δινεις τις εντολες απο τον υπολογιστη στη σειριακη?
    δλδ τον τροπο που επικοινωνει το PC με τον επεξεργαστη?? ειτε με καποιο βιντεο ειτε με λογια καπως?
    το πως στελνεις απο το PC και πως διαβαζεις στο PC αυτα που στελνει ο uC.
    ευχαριστω.

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  7. #6
    Μέλος Το avatar του χρήστη georgz
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2009
    Περιοχή
    outer space
    Μηνύματα
    665

    Προεπιλογή

    Καλό!!! Για δώσε πληροφορίες? Από που το κατεβάζουμε? Υπάρχει άλλη έκδοση για υπολογιστές και άλλη για pic? Το πρόγραμμα πως το έστειλες στο pic?

    0 Not allowed! Not allowed!

  8. #7
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Λοιπόν χθες ήταν Κυριακή, αυτό το λέω γιατί έγραψα λάθος τους χρόνους στο ταμπέλακι pwm του προγράμματος της VB.
    www.2shared.com/Vb-rcservo.html αυτό είναι το διορθωμένο μαζί με τον κώδικα της vb.

    Βασίλη για να στήλης δεδομένα με την vb στο μικροελεγκτή είναι πολύ απλό, αυτό που κάνεις είναι να χρησιμοποιήσεις το Microsoft Comm Control 6.0 από το menu projects => Components.
    Μετά το να ορίσεις της ιδιότητες της σειριακής που θέλεις , από το properties MSComm1 δεξιά της οθόνης .
    Και τώρα είσαι έτοιμος, ας πούμε θέλεις να στήλης την λέξη HELLO.
    Φτιάχνεις ένα button, και όταν πατηθεί αυτό στέλνει το string HELLO, αυτό που πρέπει να προσέξεις είναι στο τέλος του string προσθέτεις το chr(13) το CR δηλ. για να καταλάβει ο μικροελεγκτής το τέλος του string (η σειριακή στέλνει ένα byte την φορά).

    Κώδικας:
    Private Sub Button_Click() 
    Mscomm1.output = "HELLO" + chr(13)
    End Sub
    Ενώ για να λάβεις, γράφεις στο κώδικα του mscomm.

    Κώδικας:
    Private Sub MSComm1_OnComm()
    Dim string_rs As String
    If MSComm1.CommEvent = comEvReceive Then
    string_rs = MSComm1.Input
    End If
    End Sub
    Δεν ξέρω κατά πόσο έγινα κατανοητός ή αν ξέρεις την VB6.
    Aν γνωρίζεις λίγο από vb τότε κοίτα αυτό MSComm .
    Aν πάλι δεν γνωρίζεις καθόλου από vb, τότε διάβασε αυτό μέσα σε δύο με τρεις μέρες θα γράφεις προγράμματα, απλά μεν δημιουργικά δεν!!!
    Αν χρειαστείς κάτι ή οποίες απορίες ρώτα.

    0 Not allowed! Not allowed!

  9. #8
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από georgz Εμφάνιση μηνυμάτων
    Καλό!!! Για δώσε πληροφορίες? Από που το κατεβάζουμε? Υπάρχει άλλη έκδοση για υπολογιστές και άλλη για pic? Το πρόγραμμα πως το έστειλες στο pic?
    Το πρόγραμμα το έχω ανεβάσει στο forum, το πρόγραμμα στο pic το στέλνεις με έναν programmer έχει πολλούς diy εδώ μέσα.

    Παράθεση Αρχικό μήνυμα από GeorgeVita Εμφάνιση μηνυμάτων

    Πολύ καλή πρωτοβουλία!
    G
    Σε ευχαριστώ γιώργο, το σκέφτηκα γιατί είχα μάθει την ccs πρίν κανένα χρόνο και η απραξία δεν βοηθάει.
    Εκτός από τα έτοιμα παραδείγματα του compiler καλό θα είναι να παιδευτούμε με κανένα νέο ή λάθος, σε αυτό όμως πρέπει να δώσουν κάποια προσοχή και άλλοι.
    Εγώ ελπίζω να συνεχίσει.

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη spiroscfu : 17-05-11 στις 04:11

  10. #9
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από spiroscfu Εμφάνιση μηνυμάτων
    Λοιπόν χθες ήταν Κυριακή, αυτό το λέω γιατί έγραψα λάθος τους χρόνους στο ταμπέλακι pwm του προγράμματος της VB.
    www.2shared.com/Vb-rcservo.html αυτό είναι το διορθωμένο μαζί με τον κώδικα της vb.

    Βασίλη για να στήλης δεδομένα με την vb στο μικροελεγκτή είναι πολύ απλό, αυτό που κάνεις είναι να χρησιμοποιήσεις το Microsoft Comm Control 6.0 από το menu projects => Components.
    Μετά το να ορίσεις της ιδιότητες της σειριακής που θέλεις , από το properties MSComm1 δεξιά της οθόνης .
    Και τώρα είσαι έτοιμος, ας πούμε θέλεις να στήλης την λέξη HELLO.
    Φτιάχνεις ένα button, και όταν πατηθεί αυτό στέλνει το string HELLO, αυτό που πρέπει να προσέξεις είναι στο τέλος του string προσθέτεις το chr(13) το CR δηλ. για να καταλάβει ο μικροελεγκτής το τέλος του string (η σειριακή στέλνει ένα byte την φορά).

    Κώδικας:
    Private Sub Button_Click() 
    Mscomm1.output = "HELLO" + chr(13)
    End Sub
    Ενώ για να λάβεις, γράφεις στο κώδικα του mscomm.

    Κώδικας:
    Private Sub MSComm1_OnComm()
    Dim string_rs As String
    If MSComm1.CommEvent = comEvReceive Then
    string_rs = MSComm1.Input
    End If
    End Sub
    Δεν ξέρω κατά πόσο έγινα κατανοητός ή αν ξέρεις την VB6.
    Aν γνωρίζεις λίγο από vb τότε κοίτα αυτό MSComm .
    Aν πάλι δεν γνωρίζεις καθόλου από vb, τότε διάβασε αυτό μέσα σε δύο με τρεις μέρες θα γράφεις προγράμματα, απλά μεν δημιουργικά δεν!!!
    Αν χρειαστείς κάτι ή οποίες απορίες ρώτα.
    σε ευχαριστω πολυ για την βοηθεια.πολυ χρησιμο αυτο που ειπες.
    θελει ομως να κανω και open την πορτα και τετοια σωστα? δλδ να κανω ενα πληκτρο που να ειναι το connect για να ενεργοποιειτε η πορτα σωστα?
    ξερω καποια πραματα απο VB.. μην φανταστεις τρελλα προγραμματα...αλλα ξερω να κανω αρκετα βασικα πραματα...

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  11. #10
    Μέλος Το avatar του χρήστη georgz
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2009
    Περιοχή
    outer space
    Μηνύματα
    665

    Προεπιλογή

    Το ccs είναι ελεύθερο? Γιατί μπήκα σε μια σελίδα και δεν είδα κάπου ελεύθερη έκδοση.

    0 Not allowed! Not allowed!

Σελίδα 1 από 13 1 2 3 11 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Απαντήσεις: 26
    Τελευταίο Μήνυμα: 24-01-17, 14:54
  2. Προβλημα με C# (CCS)
    By dbsjro in forum Μικροελεγκτές
    Απαντήσεις: 43
    Τελευταίο Μήνυμα: 03-09-09, 02:03
  3. Παραδείγματα κώδικα c για AVR
    By nikspyr in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 29-03-09, 18:23

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας