máte někdo zkušenosti s 89C51 vs. PC přes RS232 ???

zdarec, chtěl bych zkusit nějake ovladani ext. zařízení (motor, led dioda…) z počítače přes atmela máte někdo zkušenosti s timto? odkazy nebo zdrojove kody pro VB6 nebo VB2008 bych ocenil, nebo i jmeno knihy kde je to dobře popsané i pro amatera :frowning:

Jesli uz trochu umis asm, tak predpokladam, ze umis i nastavit seriovej port mcu. Potom si dovolim predpokladat, ze mas nejakej prevodnik rs-232/ttl a umis ho zapojit. Zbyva ti tedy jen dostat se na porty PC z programu… VB jsem mozna 7 let nevidel. Mam VS2005, VB budu muset doinstalovat, ale jesli je alespon z polovicky intuitivni jako C#, kousek kodu, kterej bude schopnej neco na port poslat a z nej prijmout ti smotnu :wink: Akorat nevim, jesli budu mit zitra cas… uvidime.

Pokud by ti na inspiraci stacily zdrojaky na primitivni terminal v C#, to ti muzu hodit hned.

no tak asm trochu ovladam, ne uplne ten seriovej port ale to zkusim dohledat na netu, převodník mám s max232, v tom C# neumim ale mám takove zakladni znalosti vb6 a ted jsem si nainstaloval sadu visual studio 2008 express ed. kde se učim trochu vb jinak jsem docela amater, hledam aji nějakou knihu kde by to bylo fakt dobře popsany, d. matoušek má pár knižek tak se zajdu mrknout do nakladatelstvi ben co v te knižce je a jestli by to stačilo k porozumění :confused:

zkusim se i mrkout na to C# jak se v tom dělá :wink:

Koukal jsem na ten VB, ale na to jsem moc linej… ma to omezenejsi doplnovani kodu a samo ti to nenavrhuje, co bys asi tak zrovna mohl chtit napsat. To bych se musel ucit skoro od nuly… Na ten C# mrkni, je to vazne pohoda. Automaticky ti to pri psani nabizi viditelny promenny, objekty, programovy konstrukce (snipets - sablony pro cykly a ruzny dalsi veci), pri deklaraci i datovy typy… Jesli nejsi ve VB nejak zvlast zabehlej, tohle se ti bude urcite libit vic :wink:
Ten zdrojak na terminal ti sem dam. nedodrzuju tam sice moc zasady oop, ale to ti zpocatku vadit nebude :slight_smile:

To nastaveni UARTu ti sem taky napisu, jesli se nevyznas v anglickym datasheetu. Jakej mas procesor?

edit: tak nakonec jsem tu lenost na chvili premohl a v tom VB se o neco pokusil… Akoart se mi nepodarilo zprovoznit udalost “data_received”, takze jsem to vyresil timerem…
terminal_VB.zip (54.5 KB)
terminal.zip (69.9 KB)

používám 89c51, dik za ty kody o vikendu na to mrknu;)

89c51… te lituju. furt to strkat do paralelního programátoru (FUJJJ!)
Sežeň si 89S51, a ubastli si něco jako tohle: jan16.czela.net/index.php?id=19&n=jak-naprogramovat-mikrokontroler-rady-89s-isp
Pak se to dá po pár drátech programovat přímo v zapojení.

UART na 8051 je poměrně jednoduchý, doporučuju nastudovat zde: dhservis.cz/serial.htm
a pro lepší pochopení: dhservis.cz/dalsi_1/popis_5.htm

Jako vhodný software pro ovládání UARTU PC je “terminal.exe”, který ti můžu zaslat. Funguje na w98 i na WXP, osobně jsm to testoval.
Nastavení libovolné rychlosti, databitů, parity, stopbitů, posílání souborů, jednoduchá časovaná “makra”, počítadla odeslaných/přijatých znaků, jednoduché a příjemné ovládání.

EDIT: tak jsem ten soubor nahrál sem :slight_smile:
terminal.zip (233 KB)

jako mě to 89c51 vyhovuje a isp programator dělat nemusim protožemuj podporuje i to a mě to nevadí že to musim vytahovat z obvodu a jinak dik za info :wink:

Mě by děsně s***lo to furt vyndavat a zandavat. Víš jak se ten chudák tim ničí? Navíc, pokud tě to zajmá, 89s51 je lepvnější než C51. Takže hurá na ISP. Vyplatí se to. Ušetří ti to navíc polovinu času, kterej budeš tvořit program, protože než to vyndáš, překprogramuješ a zandáš, já budu mít nahranej program už po třetí, pokaždý s další opravenou chybou :slight_smile:

Já už jsem dávno dávno skončil s x51, ale ani dnes bych nepohrdnul paralelním programování. Má to proti ISP jednu podstatnou výhodu. Piny P1.5, P1.6 a P1.7 mohu využívat bez omezení. Při použití ISP musí na tyto piny být připojeny pouze vstupy periférie a musí být tak navržena, aby při programování nevznikl karambol. U všech MCU musí být k dispozici RESET. Např. u AVR tiny, kde bývá malý počet pinů, se RESET dá používat jako kterýkoli jiný pin, ovšem bez použití ISP.

Takovej rozdíl to zase není. Pro tyto učely je dobré používat patice s nulovou silou ZIF, které se vrazí do soklu. Pak ta výměna je otázkou 5 sekund a pochybuju, že bys tak rychle hledal chyby. A když se 100x přeprogramuje, tak se do finálu stejně dá nový.

ZIF… když máš tolik peněz na zifky…
“se dá nový” - opravdu máš tolik peněz?
Zif sice v programátoru je, ale nepředpokládám to, že zif bude i v daném pokusném zařízení, do kterého to budeš dávatna vyzkoušení.
Opravdu nemám pochopení pro lidi, co programují paralelně. U tiny a podobně to chápu, ale u 40pinovýho IO nikoliv.

To že ty piny používat nelze, není dostatečná nevýhoda. Zapojení lze navrhnout i tak, aby se piny mohly normálně užívat, a zároveň by mohly být jako programovací.
Také nic nebrání tomu, když je to joo nutné, oddělit tyto piny bus-driverem, a řízení bus-driveru brát ze stavu reset pinu kontroléru.

anonyme pššt my sme amateři jan16 to ladí po fteřinách a má málo času :smiley: :-/

nevim proč to tady tak řešíte , vždyť je to spíš o zvyku pohodlí a o tom co se kdo jak naučil

Nemůžu za to, že všichni mají jako práci elektroniku, jenom já musim chodit do školy, a doma mám (krom víkendů) cca 2-3h času se zabývat elektronikou.

A už dost toho OT, tady se má řešit RS232, ne jak kdo programuje. Na to si kdyžtak založíme nové téma, jo?

2 kyberbob: Můžeš použít tlačítko edit pro editaci poslední zprávy 8)

hele mi pracujcí ( já od 13:00 do 21:00) na to taky moc nemame čas nebo spíš náladu :frowning:

mimochodem na to rs232 jsem si koupil knihy prace s atmelem a udělejte si z pc oboje od matouška tak to budu študovat :slight_smile: jsou tam dobře popsane přiklady což je celkem fajn

Jako příklad na ovládání RS232 uvnitř kontroléru stačí bohatě datasheet, a na kompu buďto hotový terminál, (nebo napsat vlastní aplikaci, je-li možnost). Zybtek se má vymyslet z hlavy, ne opisovat z knihy :slight_smile: Ale občas se knihy hodí pro inspiraci daným zařízením, a následně vyrobit něco vlastního, třeba podobného.

PS: Já musim vstávat v 6:30 (někdy i 5:45) a domů se dostanu průměrně nejdřív v 14:00 (většinou spíš 15:00, ve středu v 16:45, ve čtvrtek až dokonce ve 20:30)

v mém případě je výhozí aplikaace postavena většinou na upravených zdrojových kodech…vymyšlet to nemá cenu když už je to napsané :smiley:

tak to studium si užij;-)

Je pravda, že pokud přesně (naprosto) vyhovuje již to co je hotové od “předtím” (což se mi většinou nestává), je lepší vzít rovnou to, co je k mání…

PS:(studium psychologie, ekologie,dějepisu pravěku, mi bude nejspíš víš k čemu) :slight_smile:

no třeba na lpt.hw.cz jsou super zdrojaky pro ovladani paralelního portu a když víš třeba ve vb jak to upravit tak to nema chybičku

jo to studium určo uplatníš každej den;-) :smiley:

Co se myslí tím “super zdrojaky”? NA ovládání LPT mi stačil jedenpříkaz, a to outportb(addr:word; data:byte) :slight_smile: (někdo možná budete znát knihovnu ioport)

To je moc fajn, ale dnešní PC a hlavně notebooky nemají LPT a ani COMy. Ostatně připojovat nějaké zařízení tímto způsobem mi příjde jako vykopávání mrtvol z hrobu. Ono to nemusí spolehlivě fungovat na každém PC, zvláště když se používají identifikační časové mezery k oddělování paketů.