Forum elektronikov Seznam forumov Forum elektronikov
Forum študentov elektronike
 
 Pogosta vprašanjaPogosta vprašanja   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   RSS Feed   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Zasebna sporočilaZasebna sporočila   PrijavaPrijava 




Vaja 2

 
Objavi novo temo   Odgovori na to temo    Forum elektronikov Seznam forumov -> Osnove mikroprocesorskih sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
luka
Študent


Pridružen/-a: 10.11. 2008, 21:32
Prispevkov: 296
Kraj: Ig

PrispevekObjavljeno: 09 Mar 2009 20:46    Naslov sporočila: Vaja 2 Odgovori s citatom

Še druga vaja, komentarji zelo dobrodošli:

Koda:

1.   #include "init.h"
2.   char *lcd_string;
3.   void lcd_driver_1();
4.
5.   void print_settings()
6.   {
7. 
8.      char niz[33];
9.      int m = (PLLSTAT & msel) + 1;// prebere m iz pllstat
10.    int p = (PLLSTAT & psel) >> 5;
11.    int n = VPBDIV;
12.    p = p + 1;
13.    if(p == 3) p = 4;
14.    if(p == 4) p = 8;
15.
16.   
17.    if(VPBDIV == 0) n=4;
18.   
19.    int fosc = 12, fclk =  m*fosc , fcco=2*p*fclk, fvpb=fclk/n;
20.    strcpy(niz, "Fclk=  MHz      Fcco=   MHz       ");
21.    niz[5]= fclk / 10 + '0';
22.    niz[6]= fclk % 10 + '0';
23.    niz[21]= fcco / 100 + '0';
24.    niz[22]= (fcco % 100) / 10 + '0';
25.    niz[23]= fcco % 10 + '0';
26
27.     lcd_string = niz;
28.     lcd_driver_1();     
29.   }





30.   void start_up()
31.  {
32.     int ready = 1, clk = 12, vpb = cclk;
33.     init(clk,vpb,0xffffffff, 0x00000000,0);
34.     while(1)
35.     {
36.       int keys = get_keys(); //se vpraöa če so tipke pritisnjene
37.       if(keys)
38.       {
39.         if(ready)
40.        {
41.           ready = 0;
42.           if(keys & T0)// preveri prvo tipko če je prtisnjena
43.           {
44.             if(clk < 60) clk = clk + 12; //poveča frekvenco za 12MHz
45.             init(clk, vpb, 0xffffffff, 0x00000000,0);
46.            }
47.       
48.        if(keys & T1)// preveri drugp tipko če je prtisnjena
49.           {
50.              if(clk > 12) clk = clk - 12;// zmanjöa frekvenco za 12MHz
51.              init(clk, vpb, 0xffffffff, 0x00000000,0);
52.           }
53.         
54.         
55.           if(keys & T2)// preveri tretjo tipko če je prtisnjena
56.           {
57.             if(vpb == cclk_2) vpb = cclk_4;
58.             if(vpb == cclk) vpb = cclk_2;
59.            init(clk, vpb, 0xffffffff, 0x00000000,0);
60.            }
61.       
62.           if(keys & T3)// preveri cetrto tipko če je prtisnjena
63.           {
64.             if(vpb == cclk_2) vpb = cclk;
65.             if(vpb == cclk_4) vpb = cclk_2;
66.             init(clk, vpb, 0xffffffff, 0x00000000,0);
67.            }
68.            print_settings();
69.          }
70.            else ready = 1;
71.        }
72.      }
73.   }
74.   void lcd_driver_1()
75.   {
76.       int i;
77.       lcd_write_comm(DDRAM | 0x00);
78.       for(i = 0; i < 16; i++) lcd_write_data(lcd_string[i]);
79.       lcd_write_comm(DDRAM | 0x40);
80.       for(; i < 32; i++) lcd_write_data(lcd_string[i]);
81.    }


Nazadnje urejal/a luka 21 Mar 2009 19:26; skupaj popravljeno 1 krat
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
požigalec
Študent


Pridružen/-a: 13.01. 2009, 20:32
Prispevkov: 145
Kraj: Ljubljana

PrispevekObjavljeno: 15 Mar 2009 23:11    Naslov sporočila: Odgovori s citatom

Zelo pregledno si spisal program, ampak, tako kot moj, ne deluje najbolje.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
luka
Študent


Pridružen/-a: 10.11. 2008, 21:32
Prispevkov: 296
Kraj: Ig

PrispevekObjavljeno: 16 Mar 2009 19:03    Naslov sporočila: Odgovori s citatom

požigalec je napisal/a:
Zelo pregledno si spisal program, ampak, tako kot moj, ne deluje najbolje.


Misliš zardi preklopov, ko tipko pritisneš?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
požigalec
Študent


Pridružen/-a: 13.01. 2009, 20:32
Prispevkov: 145
Kraj: Ljubljana

PrispevekObjavljeno: 16 Mar 2009 22:42    Naslov sporočila: Odgovori s citatom

64. in 65. vrstico moraš po mojem zamenjati, iz istih razlogov kot si to naredil z 57. in 58. vrstico.

Si naredil 3. vajo 2 primer?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
luka
Študent


Pridružen/-a: 10.11. 2008, 21:32
Prispevkov: 296
Kraj: Ig

PrispevekObjavljeno: 17 Mar 2009 21:59    Naslov sporočila: Odgovori s citatom

Mislim da ni treba zamenjat, zato ker frekvenco povečujem in je faktor deljenja na začetku majhen potem pa večji. Saj zdi se mi.
Nisem drugega dela 3.vaje naredil.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
požigalec
Študent


Pridružen/-a: 13.01. 2009, 20:32
Prispevkov: 145
Kraj: Ljubljana

PrispevekObjavljeno: 19 Mar 2009 16:16    Naslov sporočila: Odgovori s citatom

Praviš, da ne? A niso cclk, cclk_2 in cclk_4 faktorji deljenja ure?
Če sam prav razumem se ti v zanki po pritisku tipke T3 tako cclk kot cclk_2 nastavita na vrednost cclk_4. To po mojem ni v redu.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
luka
Študent


Pridružen/-a: 10.11. 2008, 21:32
Prispevkov: 296
Kraj: Ig

PrispevekObjavljeno: 21 Mar 2009 19:27    Naslov sporočila: Odgovori s citatom

Sem popravil. Ti je vredu?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
požigalec
Študent


Pridružen/-a: 13.01. 2009, 20:32
Prispevkov: 145
Kraj: Ljubljana

PrispevekObjavljeno: 21 Mar 2009 22:14    Naslov sporočila: Odgovori s citatom

Ne vem če je v redu. Smile To sem vprašal tebe, ki ti gre, kot vidim, programiranje dobro od rok.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
luka
Študent


Pridružen/-a: 10.11. 2008, 21:32
Prispevkov: 296
Kraj: Ig

PrispevekObjavljeno: 21 Mar 2009 22:51    Naslov sporočila: Odgovori s citatom

požigalec je napisal/a:
Ne vem če je v redu. Smile To sem vprašal tebe, ki ti gre, kot vidim, programiranje dobro od rok.


Ne gre mi tok dober, koker mogoče izgleda.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Forum elektronikov Seznam forumov -> Osnove mikroprocesorskih sistemov Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu


MojForum.si - brezplačno gostovanje forumov. Powered by phpBB 2.