Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Buzka latajaca po obwodzie wyswietlacza.
- Pamietajcie o dołączeniu pliku libswm.a do projektu
- /*
- * AVRGCC1.c
- *
- * Created: 2013-04-03 13:22:50
- * Author: student
- */
- #define F_CPU 6000000UL
- #include <lcd.h>
- #include <util/delay.h>
- int poz = 0;
- int direction = 0;
- char* sNapis = "Laboratorium SW";
- void init(void)
- {
- MCUCR = _BV(SRE) | _BV(SRW10);
- XMCRA = _BV(SRW00) | _BV(SRW01) | _BV(SRW11);
- _delay_ms(50);
- COMM_LCD = 0x30;
- _delay_ms(50);
- COMM_LCD = 0x30;
- _delay_ms(50);
- COMM_LCD = 0x30;
- _delay_ms(20);
- pisz_com(0x38);
- pisz_com(0x0C);
- pisz_com(0x01);
- pisz_com(0x06);
- DDRD = 0x00;
- PORTD = 0xFF;
- }
- void dodaj_znaki(void)
- {
- // samochod jadacy w prawo
- pisz_com(0b01000000);
- pisz_ws(0b00000001);
- pisz_ws(0b00000110);
- pisz_ws(0b00000100);
- pisz_ws(0b00001010);
- pisz_ws(0b00001000);
- pisz_ws(0b00000101);
- pisz_ws(0b00000110);
- pisz_ws(0b00000001);
- pisz_com(0b01001000);
- pisz_ws(0b00011000);
- pisz_ws(0b01100110);
- pisz_ws(0b01000010);
- pisz_ws(0b10000101);
- pisz_ws(0b10000001);
- pisz_ws(0b01011010);
- pisz_ws(0b01100110);
- pisz_ws(0b00011000);
- }
- void pisz_napis(char* napis)
- {
- pisz_com(0b10000000);
- int i;
- for (i = 0; i < strlen(napis); i++)
- {
- pisz_ws(napis[i]);
- }
- }
- void jedz(void)
- {
- int adres;
- if (direction==0)
- {
- adres=0b10000000+poz;
- }
- else
- {
- adres = 0b11000000 + poz;
- }
- pisz_com(adres);
- pisz_ws(0x00);
- pisz_ws(0x01);
- }
- void sprawdz(void)
- {
- uint8_t zaq = PIND;
- if (poz==0&&direction==1)
- {
- direction = 0;
- }
- else if (poz==14&&direction==0)
- {
- direction = 1;
- }
- else{
- if(direction==1 && poz > 0)
- {
- poz--;
- }
- else if(poz < 15)
- {
- poz++;
- }
- }
- }
- int main(void)
- {
- init();
- dodaj_znaki();
- while(1)
- {
- sprawdz();
- pisz_com(0x01);
- //pisz_napis(sNapis);
- jedz();
- _delay_ms(200);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement