Προς το περιεχόμενο

Μετρητης 3 ψηφιων με ΑΤ90s8915


Gantalf_4

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα στο φορουμ! Εχω καποιες αποριες σχετικα με την κατασκευη ενος μετρητη 3 ψηφιων με LED. ΞΕΚΑΘΑΡΙΖΩ οτι δεν ειναι εργασια στην σχολη μου, ΟΥΤΕ θα εκμεταλευτω εμπορικα την χρηση του. Απλα μου μπηκε να το κανω.

 

Προς το παρων εχω βρει στο Ιντερνετ αυτον τον κωδικα για PIC.

>
#include "pic.h"

#define bitset(var,bitno)	((var) |= 1 << (bitno))
#define bitclr(var,bitno)	((var) &= ~(1 << (bitno))

// Hex Data for 7-Seg Display (inverted logic)
// = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
const char HexTable[16] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E };


void init(void)
{
bitclr(STATUS, RP0);	// Select Bank 0
PORTA = 0x00;
PORTB = 0x00;
bitset(STATUS, RP0);	// Select Bank 1
TRISA = 0xFF;			// Set Port A pins to input mode
TRISB = 0x00;			// Set Port B pins to output mode

}

void delay(void)
{
int mIndex = 0;
for (mIndex = 0; mIndex < 100; mIndex++)
{
}

}


void main()
{	
int nIndex = 0;

init();

while (1)						// run continiously
{
	
	if (RA0 == 0)
		{	PORTB = HexTable[nIndex];
			if (RA1 == 0)
			{	nIndex++;	
				if (nIndex == 16)	{	nIndex = 0;	}
			}
			else
			{	nIndex--;
				if (nIndex == -1)	{	nIndex = 15; }
			}
			delay();
		}
	else
	{	PORTB = 0xFF;
	}
}
}

 

Στο υπαρχον ειναι απλα 2 κουμπια, πανω και κατω. Επισης μετραει μεχρι το F, ενω εγω θελω να χρησιμοποιησω δεκαδικο απλο συστημα...

Οι ερωτησεις μου ειναι οι εξης: Μπορω να το μεταφερω σε 8915 (με αλλαγες εννοειται);

-Αξιζει να βασιστω στον κωδικα αυτον ή να γραψω νεο δικό μου;

 

Αν εχει καποιος λυση εστω και σε PIC ειναι ευπροσδεκτη.

 

Ευχαριστω εκ των προτερων.

Δημοσ.

Νομίζω ότι πρώτα πρεπει να ξερεις το hardware. Ο HexTable[16] παράδειγμα μπορει να είναι διαφορετικός ανάλογα με την σύνδεση των 7seg displays (αυτά είναι κοινής ανόδου μάλλον) ή τα μπουτον να είναι σε άλλες εισόδους.

Μετα πρέπει να αποφασίσεις το αναπτυξιακό (compiler) συμφωνα με την οικογένια που έχεις επιλέξει(PIC ή AVR)

Τέλος πρεπει να γραψεις το κώδικα. Δεν είναι πολύ συνθετος. Αν εχεις καταλάβει τι κάνει αυτός που έχεις βρει δεν θα δυσκολευτεις.

 

Αν πάλι δεν θελεις να "πεδεύεσαι":

http://www.smartkit.gr/details2.php?lang=1&wh=1&the1id=1&the2id=6&the3id=38&theid=38&open1=1&open2=6&open3=&thepid=196

Δημοσ.

Ευχαριστω για την απαντηση. Το μονο σιγουρο ειναι οτι θα ειναι σε AVR, μιας και εχω το STK-500 ετοιμο.

 

Το σχεδιο το ειχα μαζι, αλλα δεν το ανεβασα!

 

Παντως θα δοκιμασω κατι και θα σας ενημερωσω για να παρω συμβουλες...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...