Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**********************************************************
- Project : oma tekemä
- Hardware: PV-M32 + PV-LEDIT on PORTB ja on PORTA
- Software: WinAVR-20071221
- Date : 07.01.2008
- Author : pva
- Comments: bittien siirto vasemmalta oikealle
- ja oikealta vasemmalle
- **********************************************************/
- #include <avr/io.h>
- #include <util/delay.h>
- #define WAIT(time) for(uint16_t i=0;i<2000;i++)_delay_loop_2(time);
- int main(void)
- {
- DDRB = 0xFF;
- DDRD = 0xFF;
- uint8_t bitti = 0x80; // 1000 0000 bin
- PORTB = bitti;
- while (1)
- {
- while(1) // oikealle
- {
- bitti = bitti >> 1; // siirretään bittejä 1 askel oikealle
- // tulos asetetaan bitti-muuttujan uudeksi arvoksi
- PORTB = bitti;
- WAIT(2);
- PORTD = bitti;
- WAIT(2);
- if(bitti==0)break; // kun nolla, hypätään silmukasta ulos
- }
- bitti = 0x01;
- PORTB = bitti;
- PORTD = bitti;
- WAIT(2);
- while(1) // vasemmalle
- {
- PORTD = 1<<bitti;
- WAIT(2);
- PORTB = 1<<bitti; // siirto vasemmalle
- WAIT(2);
- bitti++;
- if(bitti>8)break;
- }
- bitti = 1<<7;
- PORTB = bitti;
- PORTD = bitti;
- // aloitetaan alusta
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement