/**************************************************/
/*              ARE 2009               / Maj 2024 */
/*      e-mail: [email protected]       / PWr AiR  */
/*      www   : are.net.pl             / PTM1 lab */
/**************************************************/

//#define F_CPU 1000000UL  // 1 MHz
#define F_CPU 8000000UL  // 8 MHz
//#define F_CPU 14.7456E6
#include <util/delay.h>
#include <avr/io.h>

void delay_ms(int ms) {
	volatile long unsigned int i;
	for(i=0; i<ms; i++) _delay_ms(1);
}
	
int main(void) {
	DDRD = 0xFF;  //ustalenie kierunku pinow
	int ms=1000;  //zdefiniowanie zmiennej odpowiadajacej za opoznienia
	int i = 0;
	char cyfry[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
	/* Kodowanie szesnastkowe do wyświetlania siedmiosegmentowego 0123456789*/
	//PORTD = 0x03; //ustawienie stanu poczatkowego portu (niepotrzebne teraz)
	
	//"biegajace" diody, przerobione na wyświtlanie liczb po kolei.
	while(1) {
		for(i=0; i<10; i++) {
		  //PORTD = ~(0x03<<i); (niepotrzebne teraz)
		  PORTD = ~(cyfry[i]);
		  delay_ms(ms);
		  }
	/*	for(i=6; i>0; i--) { (niepotrzebne teraz)
		  PORTD=~(0x03<<i);
		  delay_ms(ms);
		  } */
		};
	return(0);
}

Oryginał ↓

20090624_Programy_dla_ATmega16_32.zip

20240528_201818.jpg

20240528_194534.jpg

20240528_190017.jpg

20240528_190007.jpg