# Cits ... >  Countdown taimers - PIC vai AVR?

## Delfins

Ir doma uztaisīt nelielu projektu - `Countdown timer`. Principā ideja ir tāda - elektroniskais foto-palaidējs (tipa `trosītes` vietā)

pārs pogas (4 laikam pietiekoši), 1 LCD (grafiskais vai character)

* Delay - laiks(hh:mm/mm:ss) - laiks, pēc kura sāk darbību (tā lai paspēj aizskriet vai ko citu izdarīt)
* Timer - laiks(hh:mm/mm:ss) - laiks, cik ilgi darbojās `relejs` (ekspozīcija)
* Counter - skaits, cik reizes atkārtot procedūru ar laiku Timer (varbūt pat iespējams izmantot astro-bilžu uzņemšanai)

Principā skatos uz PIC16F876, jo tam lielāka atmiņa... Tā kā ar PICiem ņemšos pirmo reizi, tad māc šaubas vai pietiks vietas programmas kodam arī LCD kontrolēšanai.

Varbūt ko ieteiksiet citu izmantot?

PS: kaut kas līdzīgs ir šeit - http://www.vermontficks.org/darksysd.htm

----------


## Epis

Nem ATMEL Atmega serijas mikreni tās ir lētākas, ātrākas un vieglāk programmu būs rakstīt, jo labāka arhitektūra + būs daudz flash atmiņas 
Pimēram Atmega128 = 128Kbyte flash (128*8=1Mbits).
programmēt vieglāt būs tādēļ kad ATMEL 8 bitu RISC procim ir 32 darba reģistri, kur vari ielikt infiormāciju ar kuru uz reiz vari veikt darbības kā (ja tu programmēsi assembler valodā) add R4,R20 (saskaita reģistru R4 ar 20), bet PIC 8bit RiSC arhitektūrai ir tikai 1 darba reģistrs un katru reizi vaidzēs viņā ielādēt vērtības no RAM bankas un rezultātā tev kods būs 2x sarežģitāks un 2x garāks! nekā ja izmantosi ATMEL un tas pics iet max 20Mhz un var izpildīt 5Miljoni instrukciju sekundē bet atmega iet uz 16Mhz un izpilda 16Milj. instrukciju sekundē tas ir 3reiz vairāk nekā PICs 

Es esu par ATMELI un cik esu lasījis tad citi arī tā domā kad atmelis ir daudz labāks lētāks par PICu.

----------


## Delfins

Ar asembleri bija darīšana parastajam pīsim RTU laikos. Bet doma ir kodēt iekš C, kur IDE-s nokompilēs priekš konkrēta čipa...

Tā jau bija doma uz AVR uzreiz skatīties, nekā ar uz PICiem ar hibrīda bitiem/reģistriem.

Vienīgais tagad jāizdomā tā shēma konkrētām vajadzībām, jo būs pirmie soļi AVR-os.

Skatos, ka šim ir dafiga portu, un attiecīgi varēs pieslēgt grafisko LCD 128x64  :: 

Var arī kaut kur LV dabūt maket plati konkrētam AVR-am? - interesē plikā maketplate nevis kaut kāds KIT-s!?

PS: atradu šitādu te labu mantu - http://www.sparkfun.com/commerce/produc ... cts_id=36#

----------


## Epis

Nu šādas plates dabūt LV laikam nevar ir dārgi komplekti priekš visādiem mikreņu iepakojumem  ap 10-20Ls 
Apsties šitos http://www.olimex.com/dev/index.html AVR bordus ar jau uzlodētu atmega128 (AVR-H128 30$) ir arī lētāki ar Atmega32 par 20$ atvešana kādi 6$

----------


## M_J

Tādu plati jau var uzzīmēt pats, tas varētu būt viena vakara darbs, un iedot kaut vai Almiko, lai uztaisa kādu čupu, izmaksas būs santīmos par plati.

----------


## Delfins

nu pirmām kārtām man vajag dev-boardu, tā lai varu pielodēt klāt ko gribu (labs piemērs ir tā, ko es linku iedevu - izskatās kā CPU sokets  :: )

ar vadiem gan gluži negribu lodēt visu kopā kā Epis... vismaz AVR jāielodē normālos pados + lai ir kvarcs turpatās + lai ir JTAG štepseļa caurumi, a pārējo loģiku ārā..

eBayā paskatījos var pa lēto šo to dabūt.. anyway, paldies par atrunāšanu PIC izmantošanu

----------


## Epis

Nu tad laikam viss lētākais variants tev ir paņemt to sparkfun breakout board  par 4$. ja gribi vari taisi pats PCB bet tad izmaksās dārgāk.

----------


## Delfins

man vajag mobīlu mazu ierīci. nafig man FPGA

----------


## Epis

Es ar sākumā domāju kad man pietiks ar parastu mikreni PIC Atmel un nebūs jāčakarējās daudz ar elektroniku, kad sāku līst iekšā elektronikā un programmēt tās mikrenes tad sapratu kad vaig kautkojaudīgāku un lai nākotnē vairs nevaidzētu neko jaudīgāku tad tagat darbošos ar viss jaudīgākajām mikrenēm kādas vien ir lai nebūtu vairs (tuvākos 3gadus) jāpāriet uz citu mikreņu grupu jo šitā migrēt no vienas mikrenes uz citu man nagribās, baigi laiks iet zudumā mācotes atkal programmēt citas mikrenes.!

----------


## Delfins

Nu es pats esmu programmētājs. tā kā man tā nebūs problēma  :: 
Turklāt jāraksta augstākajā progr. valodā, nevis ar asm-u. Tā tu toč `pakās` daudz laika.

----------


## Epis

kādā valodā tu programmē? (C++,basic,vai citā) 
īstanībā es esu skatījies atmegas128 datashitā perifēriju kodu piemērus assambler valodā un C++ un atšķirība koda garumā nav liela (tikai pāris rindiņas dažreiz pat mazāks nekā C++ kods)

nu piemēram instrukcija:
mov r1,r2  ;pārbīda R2 reģistra vērtību R1 reģistrā (R2 vērtību neizmaina) 
Šitā valoda ir nenormāli primitīva ir tikai 3 vārdi jāieraksta (instrukcija, operands1 un operands2) un viss noteik, bet citās valodās ir vairāk jāchakarējās! (esu lasījis C++ tutorialu un pat primitīvos piemērus izmēģināj ar DOS logu itkā vis iet un strādā, bet tajā object orjented programmēšanā tā arī neiebraucu ( gribēju uztaisīt Visual C++ progā windows logu programmu un tā arī neko neuztaisīju).
esu nesen izlasījis vietējo C++ tutorialu http://indago.gamez.lv/Izstradataji/ tas neko nepalīdzēja kad ieju Visual C++ tad tur tik daudz kodus izmet kad neko nevar saprast kas no kureienes tur ņemās vienkārši murgs! 
nākotnē ir plāns to Object oriented valodu iemācīties, bet pagaidām jāmācās būs VHDL valoda priekš Fpga mikrenes un parastais C++(kuru jau nedaudz māku) priekš Nios II procrocesora. 
man liekas kad LV valodā neviens nav uzrakstījis assambler valodas pamācību ko varētu internetā palasīt!

----------


## Velko

Tur jau tā bēda, ka ASM paveidu ir tik pat, cik mikreņu (un procesoru) paveidu. Piem. x86, PIC, AVR assambleri - katram sava instrukciju mnemonika, sava filozofija. Bet C arī Āfrikā ir C.

----------


## Delfins

Tieši tā... jāizmanto C. ņemam izstrādātaja kompilatoru, definējam iekš .h, kas pa čipu, un tad IDE pats saliks bin-u priekš PICa/AVR. nav jāmācās n-tie ASMi.. jāzin tikai cik ir reģistri un atmiņu apgabali + instrukcijas čipam.

----------


## Epis

assambler valodas priencipus ievēro visi mikreņu ražotāji tākā atlek tikai iemācīties mikrenes instrukcijas un to pielitošanas secību un sikās nianses (parasti perifēriju izmantošanai)

Delfins tu jau pats pateici kad priekš C valodas būs jāiemācās tās mirkoshēmas instrukciju nosaukumi un veids kā inicializēt portus perifērijas arī vaidzēs mācītes no jauna, jo katrai mikreņu sērījai un arhitektūrai ir savi veidi kā to izdarīti un secība kā inicializē, un tad sanāk vienalga mācītes visus tos nosaukumus un apgūt mikrenes arhitektūru, jo C valoda ir arī pieskaitāma pie zemā līmeņa valodā (protams assebleris ir vis zemkā) 
assamblerī ar ir .H header fails, kur jādefinē kur atmiņā atrodās katra instrukcija un visas mikrenes perifēriju adreses.
tākā atšķirības nav tik lielas un ASsamblers garantē to kad tavs kods izpildīsies tieši tā un nekādīgies savādāk (tas man arī patīk kad izpilda tieši to ko es rakstu), bet c valodā tas atkarītgs no compilātora, kā viņš ģēnerēs assambler kodu un cik efektīvs tas būs!

----------


## Delfins

da tu ko... asm ar C salīdzini,.. C nav zemāka līmeņa progr. valoda. - vismaz 1 level augstāk. Un ar katru level augstāk ir vieglāk rakstīt kodu.

Tev arī neviens neliedz rakstīt:
*void atmega128_initport(...);*
un pēctam izmantot citos savos projektos.

un neuztraucies par kompilātoru... tas labāk zinās kas viņam jāizdara, un tā kā mikrenēs parasti vairāk loģikas un specifisko komandu izsaukšana, nekā datu apstrādes algoritmu, tad runāt par "optimizēts vai nē" - ir muļķīgi.

----------


## Epis

ne pa tēmu

----------


## Delfins

> Un izskatās kad C ir tada ka universāla vadloda un pēc teiciena, kas der vissam tas neder nekam!


 bugagaga...   ::

----------


## zzz

> Un izskatās kad C ir tada ka universāla vadloda un pēc teiciena, kas der vissam tas neder nekam!
> 
> 
>  bugagaga...


 Es ilgi attureejos, bet nu kaa liekas Epis ir patieshaam nopelniijis godpilno pokemona nosaukumu.

----------


## Epis

ne pa tēmu

----------


## Delfins

Interesanti... visi pasaulē izmanto C/C++... ASM-u tik retais kurš raksta.
Vienīgais te tu tāds gudrinieks, citādāk-domājošs.

Kā tu domā, vai AVR/C kompilātoru izstrādātāji tāpat vien uztaisījuši pliko koda retranslāciju, bez jebkādām optimizācijām?! Nē.. tie kas to dara, zin ko dara! paskaties kaut vai WinAVR un GCC līdzi ieliktos .h megām - viss ir nodefinēts ērtībai un aprakstīts komentos, nemaz nav jālien katru reizi manuālī.

Tu vnk neesi kodējis C pietiekami daudz, a izskaties tā itkā būtu baigais specs, lai izvrizītu tik stulbu verdiktu..

Un vispār beidz spamot ne_pa_temu.

----------


## Epis

Kad sāku mācītes par mikrenēm tad veselu mēnesi pētīju atsauksmes par šīm programmējamām valodām C++ un ASM un no visām atsaukmēm komentālriem un salīdzinājumiem izvēlējos ASM valodu ne tāpēc kad viņa būtu vieglāka (laigan tā nav daži domā kad ir pat sarežģitāka nekā C,C++), bet gan tādēļ kad bij skaidri un gaiši uzrakstīts kad programmējot asm procesors darīs tieši to ko es uzkodēšu un šeit priekšrocības ir ja vaig veidot ātrdarbīgas programmas, bet C,C++ un citas valodas domātas priekš lielām vidējām programmām, kur izpildes ātrums nav svarīgs, jeb kritisks, kur katr instrukcija ir no svara! 
Tādēļ arī izvēlējos ASM un nēsu nožēlojis nevienu sekundi. 

man jau apnika te rekstīt kura valoda labāka katrai ir savas priekšrocības. 

ASM valodā ir viss tuvāk mašīnkodam (tas pats vien ir tikai pārversts cilvēkam vieglāk saprotamā valodā)

----------


## zzz

Ja cilveeks neuzraksta nekaadas reaali straadaajoshas programmas, tad jau iisteniibaa vienalga kaadaa valodaa vinsh to nedara - ASMaa vai C.  ::

----------


## Epis

> Ja cilveeks neuzraksta nekaadas reaali straadaajoshas programmas, tad jau iisteniibaa vienalga kaadaa valodaa vinsh to nedara - ASMaa vai C.


 Itkā tu zinātu cik daudz un kādas programmas es esu rakstījis ! 

Un tu savu Caunt down timeri esi uztaisījis??

----------


## Delfins

beidz spamot.

----------


## AntonsK

C ir augsta liimenja valoda, tiem, kas nezinaaja ;-P
asm ir zema.

c straadaa ar bibliotekaam un ir platformu neatkariiga, ko kompile uz asm, ko taalaak linko mashiinkodu.

visiem interesentiem -gnu C maajaslapaa palasat.


OK, par teemu: sorry, ka tik veelu, bet ATMEL, lai cik populaari buutu, ir draza. jameim ir savs proprietaars c tajos devtooljos, taapt, kaa viss paareejais. vinji vislaik biida _savus_ standartus, lai buutu uz citiem gruutaak paarkaapt. protams arii PIC es neiesaku.

aj runaajam par mazajiem, leetajiem MCU - iesaku texas instruments MSP430 seeriju.

true 16 biti, no motorolas shpikota arhitektuura, ljoti lowpoweriigi, tiem, aks grib handheldus buveet. skaista perifeerija, 4 presetas power modes -tieshaam atvieglo hendheldotaaju dziivi..

un pats skaistaakais -ljoti pilniigs un skaists GNU C supports kaa zem Linux, taa zem windas. 

luuk.

----------


## zzz

Katram savi aizspriedumi tuvaaki.  :: 

Bet! (c) Godmanis. Plz ieveerot ka taas ir divas stipri dazhaadas lietas - amatieru un profesionaalju mikrokontrollereeshanaas. Profesionaalji pashi tiks galaa ar ko un kaa vajadzees. Uz ko veel pieziimeeshu ka MSP430 protams ir jauki un sava roziine un pielietojums tiem ir ( kaa arii kaa dzirdams saakotneejaa posmaa bija ekstreemi jautra dokumentaacija un bagi), bet mainstriims tomeer buus ARMi   ::   Amatieriem savukaart ir svariigi gan chipu dabuushana bez probleemaam (AVRus var vieteejaas baraholkaas nopirkt bez iespringuma, MSP - taa vis gan nebuus), gan haljavnij softa/haarda toolji, gan galu galaa atbilstoshaa kontrollera popularitaate amatieru videe/jau gatavu projektu eksistence.

----------


## AntonsK

nu ARM ir nevis mainstreems, bet veiksmiiga piharnja. sho vaardu tagad "valkaa", ka teiktu slaavu tautiibas paarstaavji. 

ir daudz labaaku arhitektuuru, ja runaajam par jaudiigiem prochiem. a ja par mazajiem, tad arms atkal ir milziigs un clumsy.

nu whatwa, man jau pofig, es jamos netirgoju  ::  jautaajums bija par portaablu gadgetu -nekas nau piemeerotaaks portaablim, kaa MSP (no viegli nopeerkamiem chipiem, ir jau veel OKI, NEC u.c. japaanju nezveeri, ko te dabuut nau reaali). visas arm cores rij.

----------


## zzz

> nu ARM ir nevis mainstreems, bet veiksmiiga piharnja.


 
Kejwords - veiksmiiga.  ::  Un veiksmiigumam tak laikam buus arii kaadi objektiivi ceelonji?  :: 

---------------------
 jautaajums bija par portaablu gadgetu -nekas nau piemeerotaaks portaablim, kaa MSP (no viegli nopeerkamiem chipiem, 
---------------------

Skatiit veelreiz augstaak jau mineetos faktorus - no amatiera viedoklja kursh taisa ieriici vienaa eksemplaaraa prieksh sevis, pashizgliitiibas un hobija, MSP NAV viegli nopeerkams.  Tak chto paldies par reklaamu (ok ok, ir vinjaa pat drusku patiesiiguma  ::  )  bet dotajaa gadiijumaa viss blieziens ir mazuliet nje po adresu.  ::

----------


## Epis

piekrītu ZZZ ka amatierim ir svarīgi, lai viņš var aiziet uz veikalu un nopirkt to mikreni. 
un var amatierus sadalīt vēl sīkāk tos kas pērk vissu vietējos veikalos un tos kas mēģina pasūtīt no ārzemēm. 
Tie kas pērk uz vietas viņiem tad ir jāizvēlās no tā kas ir veikalos tas labākais un pagaidām no lētajiem AVR ir viss labākais (price/performance). 
Nākošais par tiem kas pasūta tad te arī situācija ir tāda kad vissas mikrenes dabūt nevar (labi ja 10% no mikrenēm ir piejamas maza apjoma pirkšanai) un atkal sanāk meklēt un izvēlēties un + ir vajadzīgas bezmaksas programmas (jo hobijistam tik daudz piķa nav!)

par MSP430 tad es labāk izvēlētos cypres PSoC(TM) Mixed Signal Array CY8C serijas mikrenes jo viņiem ir advancētas perifērijas Digital PSoC Blocks un Analog PSoC Blocks, kas priekš manis būtu svarīgāk nekā pats processors. 
Tākā ne visi izvēlās pēc procesora ir svarīgas arī perifērijas to daudzums un funkcionalitāte! 
un šajā funkcionalitātes zinā cypres varētu būt līderis ! starp 8 bit mikrenēm. (varbūt kad vēl ir kāda cita mikrene ar lielākiem navarotiem!)

Tas apmēram ir tas pats kas starp FPGA mikrenēm ACTEL FUSION mixed signal, bet mīnus kad nav piejama mazos apjomos  ::

----------


## Delfins

AntonsK, vienreiz tu jau man piedāvāji tieši šos TI.MSP izvēlēties, tikai vot domāju, vai tik tie nebūs par šerpu taimerim ar ch.LCD un 4-pogām  :: 

Bet diezgan vilina ļoti svarīga īpašības - low-power un standartizēts C.

----------


## Imis

sodien man atsuutiijaas sampls no TI msp430. Tikai viena problema, pieldoeet sham nekaadi neko izskatas ka nevareeshu...

----------


## binary

Imi, ja nav noslēpumsm, tad cik tu apmēram samaksāji par piegādi? Es labprāt arī gribētu pasūtīt kādu samplu.

----------


## 0xDEAD BEEF

> sodien man atsuutiijaas sampls no TI msp430. Tikai viena problema, pieldoeet sham nekaadi neko izskatas ka nevareeshu...


 Varu tev pardot pareju uz dip tam tavam samplim par nieka 4Ls!  :: 


Beefs

----------


## Epis

Ka salodēsi ieliec kādu bildi  ::  

šitās MSP430 ir labas mikrenes par to var pārliecināties tajā TI benchmark testos linku es jau ieliku šajā topikā 
http://www.tevalo.lv/forum/viewtopic.ph ... 7&start=45

Varēji pie reizes paķert to USB stick kitu pa 20$ un pa 10$ mazos 3 štruntiņus tad tev butu 4 mikrenes ar +USB debageris  :: 
šitas minī USB dev. kits ir pagājšā gada labākais dev.kits

----------


## Imis

Beef, ja tavaa parejaa es to vareetu iespraust tad pirktu, izskataas katikai uzlodeet..  ::  ko ar lodamuru nespeeshu

----------


## 0xDEAD BEEF

te bija aprakstits, ka to dara!
TEv vajag uzspiest tas pastas celinus virsu, uzlikt mikreni un ielikt krasni uz 200 gradiem. Pec tam nemsi lauka un bus perfekts lodejums!
te ka to darit - 
http://www.seattlerobotics.org/encoder/ ... en_art.htm

Beefs

----------


## Imis

kuteliigi, jo neesmu parliecinaats par sevi, bet nu laikam jasamegjina un jaizmegjina kaut kas jauns - lodet shitadus. 
 Trenninja un attistibas nolukos panjemshu ar no tevis, ja buusi gatavs uz liepajas rajonu suutiit.

----------


## Delfins

eu moš ka nepostējiet te!? ir atsevišks topiks tam...

----------


## 0xDEAD BEEF

> kuteliigi, jo neesmu parliecinaats par sevi, bet nu laikam jasamegjina un jaizmegjina kaut kas jauns - lodet shitadus. 
>  Trenninja un attistibas nolukos panjemshu ar no tevis, ja buusi gatavs uz liepajas rajonu suutiit.


 nav problemu! nosutisu! Varu ari pastu no rigas tev dabut un nosutit (extra cash)...
zvani - 26405758 vai sms!!!

delfin - a ko te postet? ka uztaisit to countdown projektu/? ok !

Tatad - pic + 7 dolaru voltage panel meters vai digitalais suds. ar picu taisam voltagi prieks ta lcd votmetra, kurs rada ciparos  (voltos) palikuso laiku. Isteniba to var pat uztaisit neizmantojot logiku!

Es tev tadu counteri uztaisisu par 50LS

Beefs

----------

