Fórum témák

» Több friss téma
Fórum » 80C51-es család programozása
 
Témaindító: Thomas10100, idő: Ápr 28, 2007
Témakörök:
Lapozás: OK   1 / 2
(#) Thomas10100 hozzászólása Ápr 28, 2007 /
 
Sziasztok!

A BMF-en most tanítják, de nagyon nem lehet megérteni. Szóval valami jó leírás kellene, hogy hogyan is épül fel az egész. Az alapoktól kezdve. Csak programozásról, hardver rész nem kell. Egyszerűbb programok leirása esetleg jól jönne.

Köszönöm előre is!
(#) gtk válasza Thomas10100 hozzászólására (») Ápr 29, 2007 / 4
 
Szia.

Alapok:csatolva.(hu)
(Ha veletlen nincs meg.)
Peldaprogram: milyen compilerre?milyen nyelven?C,asm?
Neten talalsz mindenfele 8051 anyagot!
(#) Thomas10100 válasza gtk hozzászólására (») Ápr 29, 2007 /
 
Helló!

Köszi! Nagyon jó! ASM nyelven programozzuk.
(#) pokot válasza Thomas10100 hozzászólására (») Máj 2, 2007 /
 
Üdv!

sajnos (vagy inkább szerencsére) Assemblyben csak a hardver pontos ismerete esetén lehet programozni.jómagam is a BMF-en (fehérvár) sajátítottam el.Ha fehérváron tanulsz, akkor keresd a Tolner Niki féle 8051 segédletet,sokat segíthet...
(#) Thomas10100 válasza pokot hozzászólására (») Máj 23, 2007 /
 
Hali!


Esetleg milyen programot tudtok ami megy VISTA alatt is windows felületen? Mert az X251-et használjuk, de az DOS-os.


Köszönöm! Már megvan a vizsgám
(#) kukac_24 válasza Thomas10100 hozzászólására (») Máj 23, 2007 /
 
Hi!

Az alábbi oldalon lehet igényelni cd-t amin a keil fejlesztőkörnyezete van.
Nekem tecccik, bár demo verzió, ami 2kb-ig enged progizni. Tanulni jó, nálunk a BMF-en Óbudán ezzel dolgozunk.
C-t is tud már.

http://www.keil.com/demo/

Üdv!
(#) Thomas10100 válasza kukac_24 hozzászólására (») Máj 23, 2007 /
 
Helló!

Óbuda? BMF? Kandó? Villanymérnök? Te hányad éves vagy? Mert én is odajárok De gondolom te jóval felettem! Én szeptembertől leszek 2. éves.

Gondolom vágod a programozását? Lehet hogy kellene kis segítség! Esetleg nincs MSN-ed?

Megnézem ezt a progit!


Köszi nagyon!
(#) Thomas10100 válasza kukac_24 hozzászólására (») Máj 23, 2007 /
 
Még annyi hogy mi a különbség e két progi között?

C51 és C251?
(#) kukac_24 válasza Thomas10100 hozzászólására (») Máj 24, 2007 /
 
Az 51esbe járok távoktatáson.
Nm tom miben külömbözik, nézd meg biztos irnak róla valamit.
A programozásban eddig Pic-es gyakorlatom van most állok neki a 8051-es próbapanelomnak majd vizsgaidöszak után.
(#) imre605 hozzászólása Jún 3, 2007 /
 
Sziasztok
Tudna valaki segíteni nekem, van egy készülékem ami 87c654-es procival müködik. Kapott egy infra jelet és most nem müködik. Pontosabban bekapcsol és egy-kétfunkciót csinál a többire F-et ír ki a kijelző és onnantól nem megy. A I2C busz le ül 0-ra. A 24C16-ba tárol.
(#) gtk hozzászólása Aug 22, 2007 /
 
Sziasztok !

Nem reg talaltam egy P51XAG30KBA tipusu processzort.Az adatlap szerint 16 bites 8051 kompatibilis processzor.
Azt mar tudom hogy programtar nincs benne.

Az lenne a kerdesem, hogy hany MIPS-t lehetne ezzel elerni, erdemes vele foglalkozni?
Na meg a kompatibilitas hogyan ertendo, milyen forditot lehetne hozza hasznalni?

Koszonom.
(#) vtsoftware hozzászólása Okt 10, 2007 /
 
Sziasztok

Van egy "87 C 52" nevezetű IC-m. (adatlap)
Mivel lehet ezt programozgatni?
Úgy értem melyik készülékkel.

Köszi szépen
(#) Norberto hozzászólása Jún 6, 2008 /
 
Egy kis segítségre lenne szükségem.

Amik adottak:

- ciklusszámlálással kellene mondjuk 0,5s-os értéket kihozni "delay" szubrutinként
- egy műveleti ciklus 12 oszcillátor periódus-idő hosszú
- a uC 8 MHz-es órajelen megy
- a DJNZ utasítás 24 oszc. per. hosszú, azaz 8 MHz-nél egész pontosan 3 us

A kód itt van, csak azt nem tudom, milyen értékekkel és hogyan töltsem fel pontosan

  1. delay:      MOV     R2,#
  2.             MOV     R3,#
  3.             MOV     R4,#
  4. delay2:     DJNZ           R4,KESL2
  5.             DJNZ    R3,KESL2
  6.             DJNZ    R2,KESL2
  7.             RET


Az az igazság, hogy belegabalyodtam a műveleti időkbe, meg a szorzásokba, meg az ilyesmikbe...

Szóval milyen értékekkel is töltsem fel, hogy 0,5 s idő jöjjön ki a végén?

Én a következőkkel próbálkoztam:

R4=0FFH >> 255(D)
R3=1FH >> 31(D)
R2=15H >> 21(D)
(#) gtk válasza Norberto hozzászólására (») Jún 7, 2008 /
 
Szia !

Nem volt energiam szamolgatni, inkabb kerestem valamit.
>>Itt<< keress ra erre "TIME8051.EXE" .
Remelem mukodik.

(#) Norberto válasza gtk hozzászólására (») Jún 7, 2008 /
 
Köszi, működik!
(#) Last_Scout válasza Thomas10100 hozzászólására (») Jún 7, 2008 /
 
Ki tartja, hogy nem értitek a programozását?
Én nem emlékszem olyan baromi bonyolult feladatokra...
(#) Last_Scout válasza gtk hozzászólására (») Jún 7, 2008 /
 
Ez naggyon kemény... hova jutna a világ, ha nem lennének a lusta emberek...
(#) zsoli21 válasza kukac_24 hozzászólására (») Feb 7, 2009 /
 
Hali

A bmf-en vagyok és most kezdtük el ezt a keil témát de nekem teljes sötétség programozás részről, a hex fájl sem jön össze. Még sosem programoztam kontrollert. Tudsz esetleg valami jó anyagot hozzá?
Köszi.
(#) bubu hozzászólása Feb 10, 2009 /
 
Sziasztok!

Az lenne a kérdésem, hogy valakinek USB-s 8051 programozora van e működö terve, vagy megépített kapcsolási rajza?

Gugli barátunk dobott ki pár dolgot, de azok csak megvehetők főleg.

Ha nincs akkor valakinek usb -> párhuzamos átalakito terve, szintén működö.

Ok ami miatt ilyet keresek: Gépcsere, és mostmár nincs párhuzamos portom.

Ha van valakinek ötlete azt szívesen fogadom!
Előre is kköszönöm!
(#) Gafly válasza bubu hozzászólására (») Feb 10, 2009 /
 
8051 egetese az szivas. Anno amikor meg aranyarban volt vettunk 8051-et. Soha (de tenyleg soha, azaz egyetlen sikeres kiserlet sem volt...) sem sikerult egetni az EPROM-os valtozatot sem sajat sem gyari egetovel. CMOS EPROM-os valtozatot pedig csak adatlap szintjen letezett, gyakorlatban nem. Vegul attertunk a 80C31-re es kulso CMOS EPROM-ra, ez nagyon bejott
(#) bubu válasza Gafly hozzászólására (») Feb 10, 2009 /
 
Én párhuzamos portrol többször is égettem már és jol ment!
AT89S52 a tipus amim van, de ez is 8051 alapú, csak kicsit már komolyabb.
(#) bubu válasza bubu hozzászólására (») Feb 11, 2009 /
 
up up up!
(#) laffesz hozzászólása Márc 9, 2009 /
 
Sziasztok.
Szegeden vagyok egyetemista és most vettem fel olyan kurzust, ahol mikrovezérlőkkel foglalkozunk, nekem kicsit új még ez, mert itt főként a programozásra mennek rá viszont el kéne készíteni egy projektet. Lényegében ebben kérném a hozzáértők segítségét.
Egy banki széfes rendszer zárvezérlését kellene elkészíteni, mindenféleképpen 8051-es mikrovezérlővel kell dolgozni. Lényegében az alap dolgokat kell tudni, egyes széfeket bizonyos kombinációval lehessen kinyitni, ezeket tudnia kell módosítani, tárolni, időnként autómatikusan le kell zárnia, kb ennyi az alap feladata, aztán ez még majd bővülhet.
Szóval ezek után szerintetek ha én elmegyek egy bolta összevásárolgatni a hozzávalókat, mikre kellene számítanom? Csupán néhány jó tanácsra lenne szükségem hogy ráérezzek, nem egy teljes megvalósítás érdekel.
(#) eddie hozzászólása Márc 9, 2009 /
 
Udv!

Eloljaroban: nem vagyok tapasztalt programozo.

A kovetkezo problemat kell megoldanom (assembly):

Utmeresrol van szo jarmuvon. Timert hasznalok 16bites counterkent. A timer binaris tartalmat kell megszoroznom egy allandoval, ami a kerek atmerojet tartalmazza (meterben, ket tizedes pontossagig).

Az en elkepzelesem:
Kerekatmerot BCD formatumban tarolom. Timer tartalmat BCD-re alakitom. Ehhez mar talaltam fuggvenyt. A papiron valo szorzast, ahogy altalanosban tanitjak leprogramozom asm-ben. Az eredmenyt kuldom LCD-re.

Kerdesem:
Van ennel hatekonyabb, jobb megoldas? Lebegopontos aritmetika ismeretlen szamomra. Erdemesebb lenne azzal megismerkedni?

Nem konkret megoldas kell! En szeretnek vele szivni! Velemenyt varok arrol, hogy melyik iranyba induljak.

Udv,
eddie

ps: Silicon Labs C8051F314. USB Debug Adapterem van hozza, amit mar hasznaltam egy C8051F120-hoz.
(#) Gafly válasza eddie hozzászólására (») Márc 9, 2009 /
 
Kerekatmerot binaris formatumban tarolom. Timer tartalmat binarisan hasznalom. A papiron valo szorzast, ahogy altalanosban tanitjak leprogramozom asm-ben. Az eredmenyt BCD-re alakitom es kikuldom az LCD-re De lotte kitalalom hogy mekkora szammal kell szorozni, mert lehet hogy valami csunya tort fog kijonni es akkor osztani is kell
(#) eddie válasza Gafly hozzászólására (») Márc 9, 2009 /
 
Koszonom a hozzaszolast!

Amirol szo van. Hektar mero. Adott a kerek kerulet meterben. Peldaul 3.16m. Ennek valtoztathatonak kell lenni. En 1.00m es 9.99m kozotti tartomanyra gondoltam. Emiatt gondoltam a BCD-re. 16-bites timert counterkent hasznalom. Kijelzett ertekhez kell: counter erteke szorozva a beallitott kerekatmerovel es egy 1-10m kozott valtoztathato ertekkel.

Emiatt gondoltam a BCD szamabrazolasra. Eleg kotott a keplet, amit le kell majd programoznom. A tort eredmeny biztosra veheto a kerekatmero miatt. Hektart szerintem eleg tizedes pontossagig kijelezni.

Igy talan jobban ertheto mi a problemam.
(#) eddie válasza eddie hozzászólására (») Máj 31, 2009 /
 
Nos kesz van a mero. Maradtam a C programozasnal, mert joval egyszerubb volt megoldanom benne a felmerulo problemakat.
(#) kissi hozzászólása Aug 27, 2009 /
 
Sziasztok!

80535-höz keresnék valami szimulátort... Sajnos egy régi DOS-os programmal dolgozom, az elkészített program már elég nagy, így a neten talált méretkorlátos verziókkal sajnos nem boldogulok.
Ha tudna valaki egy korlátok nélküli vagy csak időkorlátos verziót, akkor segítsen már!

Köszönöm!

Steve
(#) niches hozzászólása Márc 14, 2010 /
 
Sziasztok!

Segítséget szeretnék kérni Atmel 89S52 programozásban.
Az interruptok és idle mode-dal akadt problémám.

Az alábbi program elképzelésem szerint a következőképpen működne:

Timer0 lejártakor interruptal feléled a program az idle modeból, egyébként alszik.

Először használok interruptokat, nem vagyok biztos benne, hogy így stimmel a dolog.

Továbbá most TMOD=0x02; állásban van, ez nekem a leírás szerint azt jelenti, hogy a Timer0 és Timer1 segítségével egy 16 bites számlálót hoz létre, ám ebben a formában nem úgy működik, ahogy szeretném. Célom az lenne, hogy a 11 MHz-es órajelet így számoltatva minden túlcsordulásnál adjon interruptot, azonban működésre egyelőre csak simán a timer0-val bírtam, ám az túl gyakran csordul túl a maga 8 bitjével...

szerk:
Jelenlegi formájában Keil uVisionnal szimulálva mindig idle módban marad, a program azt írja resettel lép csak ki belőle. Igaz ez? Csak külső interrupt élesztheti fel?? A belső forrás, a számláló túlcsordulása nem megfelelő? Mert akkor ez lenne a hiba?

  1. void meres_int () interrupt 1
  2.         {
  3.         //      PCON&=~(1<<IDL_); //Idle mode kikapcs
  4.                 if(P2_0==1)    
  5.                         {
  6.                         P1_0=0;  //LED be
  7.                         csipog();
  8.                         P1_0=1; //LED ki
  9.                         csipog();
  10.                         P1_0=0;
  11.                         csipog();
  12.                         P1_0=1;                          
  13.                         }
  14.                 else    P1_0=1;
  15.         }
  16.  
  17.  
  18. void main()
  19. {
  20.  P2_0=1;
  21.  P1_0=1; //LED ne világítson alapállapotban
  22.  EA=1; //Interrupt enable all
  23.  
  24.  //timer0 és timer1 beállításai
  25. // TMOD=0x00;           //Timer mód 0-255 ig számol, 384-es órajel osztóval
  26. TMOD=0x02; //Timer 0 és 1, 16 bites számláló
  27.  ET0=1; //enable timer0 interrupt
  28.  ET1=1; //enable timer1 interrupt
  29.  TR0=1; //bekapcs
  30.  TR1=1; //bekapcs
  31.  
  32. PCON|=(1<<IDL_); //idle mód bekapcs
  33. }
(#) ha8lls hozzászólása Márc 30, 2010 /
 
Sziasztok!

Tudnátok segiteni, mert teljesen elhavaztam már ebben a szörnyetegben. Egyszerüen nem találom benne, hogy pl. a 2809H cim után levő "ERROR" karaktereket hogyan tudja kikuldeni az adatportjara (D0-D6) ???

Kisebb help es info az oldalamon.

Köszönöm!

Üdv!
Imre
Következő: »»   1 / 2
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem