Naime, imam 2xCA 7seg. displeje i radim multipleks sa 2xBC557 (PNP)
Jedna baza je vezana na PORTD.7 a druga na PORTB.0.
Na jednom treba da se ispisuje "1" a na drugom "2".
Meni se desava da se na prvom ispisuje "1", dok se na drugom menjaju "1" -> "2" -> "1" -> "2"...
Kôd je ispod, molio bih da mi neko kaze gde gresim.
Code:
#include <avr/io.h>
#include <util/delay.h>
#ifndef F_CPU
#define F_CPU 12000000UL
#endif
int main(void){
DDRD=0xFF; //svi izlazni
PORTD=0xFF; //svi na 1 (5V)
DDRB=0x3F; //izlazni PB0-5
PORTB=0x3F; //svi na 1 PB0-5 (5V)
while(1){
PORTD=0xff;
PORTD=0xf9; //1
PORTD&=0b01111111;
_delay_ms(100);
PORTD|=0b10000000;
_delay_ms(100);
PORTD=0xff;
PORTD=0xa4; //2
PORTB|=(1<<PINB0);
_delay_ms(100);
PORTB=~(1<<PINB0);
_delay_ms(100);
}//while
}//main
#include <avr/io.h>
#include <util/delay.h>
#ifndef F_CPU
#define F_CPU 12000000UL
#endif
int main(void){
DDRD=0xFF; //svi izlazni
PORTD=0xFF; //svi na 1 (5V)
DDRB=0x3F; //izlazni PB0-5
PORTB=0x3F; //svi na 1 PB0-5 (5V)
while(1){
PORTD=0xff;
PORTD=0xf9; //1
PORTD&=0b01111111;
_delay_ms(100);
PORTD|=0b10000000;
_delay_ms(100);
PORTD=0xff;
PORTD=0xa4; //2
PORTB|=(1<<PINB0);
_delay_ms(100);
PORTB=~(1<<PINB0);
_delay_ms(100);
}//while
}//main
Ignorisati sto je jos pinova PORTB definisano kao izlazno, na ova dva se vezuju displeji.
Unapred hvala na odgovoru.
There are only 10 types of people in the world:
those who understand binary, and those who don't.
those who understand binary, and those who don't.