Έχω ένα πρόβλημα με τη χρήση Proteus

B

bomba

Guest
Είμαι χρησιμοποιώντας Proteus για να ελέγξετε την CCS το πρόγραμμά μου, μπορώ να μεταφέρω το αρχείο HEX για Proteus 6.3 SP1 (Win XP), και όταν τρέχω το βήμα-βήμα να λειτουργήσει καλά ακριβώς κάνει το πρόγραμμα ακριβώς, αλλά όταν χρησιμοποιώ το F12 για να τρέξει, δεν κάνει το ίδιο το πρόγραμμα. Για παράδειγμα, έχω ανάγκη να αναβοσβήνει ρυμούλκηση leds, η πρώτη οδήγησε στην γραμμή πρόγραμμα δεν αναβοσβήνουν. Κάθε συμβουλή!! Ευχαριστίες
 
Μπορείτε να συγκεντρώσει περισσότερη βοήθεια για τις ερωτήσεις σας εδώ, αν είναι πιο συγκεκριμένες, προκειμένου να αναπαραχθούν τα προβλήματά σας. Για παράδειγμα, μπορείτε να ανεβάσετε εδώ το πρόγραμμά σας και / ή Proteus σχέδια σας proj. Σε γενικές γραμμές, δεν βρήκα διαφορά Proteus με debugging βήμα-βήμα και πλήρη λειτουργία, με την προϋπόθεση ότι υπάρχει κάποιο bug είτε στο app σας ή Proteus.
 
Είμαι εκμάθηση της χρήσης της CCS και Proteus, και ίσως κάνω κάτι λάθος .... Μπορώ να φορτώσω το παράδειγμα που είπα πριν ..... CCS 3.181 MPLAB 6,4 Proteus 6.3 SP1 Windows XP Ευχαριστούμε πολύ 8)
 
Γεια Bomba, bug σας happend μου όταν συνδέει τα LED driect στην πόρτα Θα πρέπει να τα συνδέσετε με τον περιορισμό τρέχουσα αντίσταση στην αξία 220OHM παράδειγμα Και το πρόβλημα θα λυθεί Bye
 
Λοιπόν, ενδιαφέρουσα συμπεριφορά, αν και άσχετα από την τιμή της αντίστασης. Αν και δεν μπορεί να εξηγήσει πλήρως τον εαυτό μου, μπορεί να έχετε σχετικά αποτελέσματα είναι που τροποποιούν τον κώδικα, έτσι ώστε:
Code:
 delay_ms (100)? OUTPUT_A (0x0c)? / / LED ανάβουν σε ένα ενιαίο πλάνο. / / Output_high (Led0)? / / Output_high (LED1)? Delay_ms (100)? OUTPUT_A (0x00)? / / Output_low (Led0)? / / Output_low (LED1)?
ή
Code:
 delay_ms (100 )? output_high (Led0)? delay_ms (1)? / / επιτρέψει στις μικρές output_high καθυστέρηση (LED1)? delay_ms (100)? output_low (Led0)? delay_ms (1)? output_low (LED1)?
Μπορώ λάθος , αλλά μοιάζει με Proteus ανταποκρίνεται σε μία μόνο περίπτωση εξόδου ενώ δύο έξοδοι έχουν ενεργοποιηθεί σε πολύ γρήγορη ακολουθία με output_high / output_low. Μπορεί επίσης να εξαρτάται από το πώς μεταφράζεται CCS στην συναρμολόγηση. Δεν είχα δει ποτέ τη χρήση IAR. Ωστόσο, δεδομένου ότι αυτό το σύστημα μοιάζει πρόσφατα γεμάτο με παιδιά Labcenter: wink:, ίσως αυτή είναι η κατάλληλη στιγμή για να μιλήσω για το πρόβλημα, αν υπάρχει.
 
Το πρόβλημα φαίνεται να αφορά το εσωτερικό ρολόι του μοντέλου PIC. Προσπαθήστε να θέσετε Επεξεργαστής Συχνότητα Ρολογιού μέχρι 7MHz. Obviosly αλλαγή # καθυστέρηση σας χρήση (ρολόι = 20000000) στη σχετική συχνότητα. Ο κώδικάς σας θα λειτουργεί χωρίς να χρειάζεται τροποποίηση.
 
Θα χρησιμοποιηθεί για OUTPUT_A (0x00) αντί OUTPU_LOW, και να λειτουργήσει καλά. Αυτό intruction παράγουν πιο συμπαγείς assembler. Χάρη james
 
IAR είναι ένα άλλο καλό (αλλά ακριβό) compiler για PIC και πολλούς στόχους, καθώς και. ( http://www.iar.com ). Αν είστε εγγεγραμμένος χρήστης του Πρωτέα θα πρέπει να έχουν προμηθευτεί ένα CD και ένα kickstart έκδοση (κωδικός περιορισμένη) της IAR για PIC12/16/17. Συμφωνώ. OUTPUT_A (0x00) θα μεταφραστεί αποτελεσματικά τότε output_low στην CCS, αλλά δεν είχα πάρει πλήρως την έννοια της παράξενο χαρακτηριστικό Proteus που σχετίζονται με τη συχνότητα.
 
Γεια Μπόμπα, ανεβάστε την εργασία σας αρχείο καλό όταν συνδέω το LEDs μέσω αντίστασης χωρίς καμία τροποποίηση στον κώδικα! Ευχαριστώ πάρα πολύ για τον James αντίληψή του. Bye
 
Γεια σφίγγα Στο CKT φορτώθηκε συνέδεσα την οδήγησε μέσα από μια αντίσταση. Αλλά ίσως δεν καταλαβαίνω την έννοια της «LEDs μέσω αντίστασης". Δείτε τους και υπάρχει μια διαφορά ανεβάσετε το σχήμα. Ευχαριστώ πολύ και εκ των προτέρων
 
Γεια Bomba, δεν είδα CKT σας γιατί εχετε Proteus V6.3 (έχω μόνο V6.2 SP5) I επανασχεδιάσετε το κύκλωμα από το γ κωδικό σας. Ανέβασα το αρχείο DSN. Αρχικό κωδικό σας γ δεν χρειάζεται καμία αλλαγή. Bye
 
Σφίγγα, όπως είπα (και επιβεβαιώσει) το πρόβλημα θα εξαρτάται από τη συχνότητα! Πήρα το δείγμα σας και θα προσομοιωθεί και πάλι στο σημείο 6.2 SP5 (έχω και τα δύο). Στο δείγμα σας κάνετε χρήση των 5MHz ως ρολογιού του επεξεργαστή, και αυτός είναι ο μόνος λόγος για τον οποίο δουλεύει. Παρακαλούμε να το αλλάξετε σε 20MHz (ως σχέδιο bomba της κάνει) και θα δείτε το δείγμα σας δεν θα λειτουργεί πια. Θα δείτε Δ1 μόνο flash on / off ( δεν D2 ) και αυτό είναι άσχετες από R1/R2 αξίες. Έχετε τα ίδια αποτελέσματα. Παρακαλούμε αναφέρετε.
 
Έχετε γνωστό εάν υπάρχουν περισσότερες βιβλιοθήκη pic διαθέσιμα κατά 3 º μέρη? Χάρη Δεν έχω ανακοινώσεις σχετικά με το πρόβλημα comented παραπάνω
 
Υπάρχει ένα ρωσικό τύπο που έχει δημιουργήσει ένα "PIC όπως" που χρησιμοποιείται στη Ρωσία. Μπορείτε να βρείτε (και να το κατεβάσετε) στο http://undongle.misto.cz/ . Ποτέ δεν θα δοκιμαστεί. Μπόμπα, δεν άκουσα για αυτό το πρόβλημα πολύ πριν. Είμαι απλά ψάχνουν τώρα όπως σας. Το μοντέλο ΣΜΕ πρέπει να λειτουργεί έως και 20MHz. Ίσως αυτό που θα πάμε να δούμε είναι ένα bug του Πρωτέα.
 
Γεια james, κερδίσατε: D Όταν άλλαξα για να 20Mhz, αυτό δεν λειτούργησε: oops: δεν το είχα προσέξει την αξία ρολογιού του επεξεργαστή. Σφίγγα
 
Γεια Σφίγγα Είναι, εντάξει, δεν νικητές καμία πιο χαμένων. :) Το πρόβλημα εδώ είναι (όπως είπατε), χωρίς τροποποιήσεις, θα πρέπει να κώδικα bomba υπό κανονικές συνθήκες, επειδή ο κώδικας του είναι ωραίο. Mods μου λίγο πάνω από το κόλπο συμπεριφορά Proteus, και αυτό είναι κακό. Έκανα ανακαλύψουν μια άλλη συμπεριφορά, η οποία θα confirmate θεωρία μου. Ρυθμίστε το "TimeStep ανά Frame" τιμή (είναι στο μενού του συστήματος, να ορίσετε την επιλογή Animation ...) από 50ms σε 10ms. Η δική σας και κύκλωμα bomba θα εξακολουθούν να εργάζονται τόσο με συχνοτήτων 20MHz ρολόι, ακόμα κι αν φορά "επιβραδύνει". Πολύ ενδιαφέρον. Ίσως αυτό είναι ένας περιορισμός του Πρωτέα.
 
Θα έχω μια ματιά σε αυτό, αλλά από τους ήχους της αυτό νομίζω ότι, όπως δήλωσε ο Τζέιμς, τα αποτελέσματα θέμα από την αρχιτεκτονική προσομοίωσης. Ψυχαγωγία μέσα Proteus VSM λειτουργεί με βάση την εκτέλεση ένα ορισμένο ποσό της προσομοίωσης και στη συνέχεια την ενημέρωση της οθόνης. Αυτό είναι σε αντίθεση με την ενημέρωση των κινουμένων σχεδίων συστατικά κάθε φορά που αλλάζει κάτι στο κύκλωμα το οποίο θα ήταν * πολύ * αναποτελεσματική σε πολλές περιπτώσεις. Τυπικά, το frame rate είναι αθετημένα να 20Hz έτσι ένα πλαίσιο ισοδυναμεί με 50ms. Ο χρόνος προσομοίωσης προηγμένες ανά πλαίσιο καθορίζεται από το Timestep Animation, όπως ορίζεται από το μενού συστήματος στο ISIS. Όταν εκτελείτε μια ψηφιακή προσομοίωση του κινητήρα μπορεί να επεξεργάζεται εκατομμύρια γεγονότα ανά δευτερόλεπτο. Ανάλογα με το τι άλλο κωδικό σας κάνει / καθυστέρηση βρόχους κλπ. γραμμές IO μπορεί απλά να είναι η εναλλαγή LED ταχύτερα από το ρυθμό ανανέωσης της προσομοίωσης. Εάν έχετε την δύναμη της CPU διαθέσιμο μπορείτε να παιδεύεστε με το timestep animation για να διορθώσει αυτό. Μοντελοποίηση το ρολόι στο εσωτερικό της, αντικατάσταση των αναλογικών αντιστάσεις με pullups κ.λπ., θα πρέπει να βοηθήσει στη μείωση του φορτίου της CPU. Θα έχω ένα παιχνίδι και να επιβεβαιώσει τα παραπάνω (ή να φάει το καπέλο μου), αργότερα σήμερα το πρωί.
 

Welcome to EDABoard.com

Sponsor

Back
Top