Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * lab6.c
- *
- * Created: 2012-03-26 20:20:24
- * Author: student
- */
- #define F_CPU 6000000UL
- #include <lcd.h>
- #include <avr/io.h>
- #include <util/delay_basic.h>
- #include <util/delay.h>
- #ifndef __PGMSPACE_H_
- #include <avr/pgmspace.h>
- #endif
- #include <stdlib.h>
- #include <stdio.h>
- void init_lcd(void){
- _delay_ms(15);
- COMM_LCD = 0x30;
- _delay_ms(5);
- COMM_LCD = 0x30;
- _delay_ms(0.2);
- COMM_LCD = 0x30;
- _delay_ms(30);
- COMM_LCD = 0x38;
- test_bf();
- pisz_com(0x0C);
- lcd_clear();
- pisz_com(0x06);
- lcd_home();
- pisz_com(0x48);
- pisz_ws(0x00);
- pisz_ws(0x00);
- pisz_ws(0x11);
- pisz_ws(0x00);
- pisz_ws(0x00);
- pisz_ws(0x11);
- pisz_ws(0xFE);
- pisz_ws(0x00);
- }
- void disp_txt_P(const char* _adres){
- volatile uint8_t al;
- for(int i=0;i<16;i++){
- al=pgm_read_byte(&_adres[i]);
- if(al == 0xFF) break;
- pisz_ws(al);
- }
- }
- void disp_txt_D(const char* _adres){
- volatile uint8_t al;
- for(int i=0;i<16;i++){
- al=_adres[i];
- if(al == 0x00) break;
- pisz_ws(al);
- }
- }
- int main(void)
- {
- MCUCR = _BV(SRE) |_BV(SRW10);
- XMCRA = _BV(SRW00) |_BV(SRW01) |_BV(SRW11);
- ADMUX = _BV(MUX0);
- char tab[16] = {'L','a','b',' ','S','W','i','M','\0'};
- char tab2[16] = {0x01,'\0'};
- init_lcd();
- ADCSRA ^= _BV(ADEN);
- int jakas_zmienna = 0;
- int kierunek = 1;
- while(1)
- {
- lcd_clear();
- pisz_com(0x80);
- disp_txt_D(tab);
- pisz_com(0xC0+jakas_zmienna);
- disp_txt_D(tab2);
- if(kierunek)
- jakas_zmienna++;
- else
- jakas_zmienna--;
- if(jakas_zmienna == 0)
- kierunek = 1;
- if(jakas_zmienna == 15)
- kierunek = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment