Sida 1 av 3

Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 18:59:17
av 1802
Jag tänker försöka göra en mikrokontroller med ett gammalt PC modekort som bas. Rotar i skrotlådan nu. 1 moderkort 2 nätdel 3 diskett ryyys(ev hdd) 4 i/o kort(om modekortet saknar) 5 T-bord(bios kräver nog) 6Led (direkt mellan 2 utpinnar). Första progget blir en .bat till dos. Som kör nått som blinkar eller låter. Jag har några hemgjorda .asm omgjorde till .com.

Kod: Markera allt

a:\ledson       ;Eget kommando som tänder 8 pinnar på par:
a:\pause        ;Eget kommando som gör en pause
a:\ledsoff      ;Eget kommando som släcker 8 pinnar på par:
a:\pause
; ett antal ggr
.
.
.
.
.
a:\ledson
a:\pause
a:\ledsoff
beep           ;dos kommando som piper ev moderkorts högtalare

;
Hur kommer man åt ISA/PCI slottarna? I x86 råasm. Finns de på en adress att läsa/skriva direkt?

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 21:12:56
av Icecap
ISA-bussen är den vanliga processor data & adress buss, de kort man lägger till har avkodning av adress osv.

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 21:17:30
av 1802
Jag fattar inte hur det kan vara så kul att labba :shock: Kopplade in powerled, med kontakt från skrotlådan. Och en resetknapp. Sen speker, det fanns ingen innbyggd. Anslöt ett bygge med 8 LED till printerporten. Först lekte jag lite med resetknappen. Det piper när den startar :bravo: . Vid tangenttryck så försöker diskdriven att göra nå, och tänder sin LED :bravo: . Rotade fram en bootbar dos disk. Lade in några program på en tom disk. Ja jag skall göra den bootbar :oops: . Gjorde en sos.bat som startar qbasic(la jag in på disken) och ett hemgjort morse progg i .bas. Det verkar som den laddar(lång tid), men det funkar inte ännu. Man startar program i qbasic med F5. Mitt program väntar på input. 1 för avsluta, enter ger förprogrammerat sos i högprataren. Man kan köra flera gånger med egen text. Men det vill inte. Jag får rota fram skärmkort och skär, så jag ser vad som sker :vissla: . Sen blev det LED's på par porten. OBS det händer en del med dem vid uppstart, viktigt att tänka på om man skall styra nått. Mitt progg par1.com funkade direkt :bravo: . Att man kan vara så barnslig :oops: .

Nätdel och tbord vill jag ha bort, men då ryker budgeten :-( . För mig är det dock en skitkul gratis utveklingsenhet.

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 21:28:16
av 1802
Icecap: Kan man köra ISA data som i/o? Då blir det några st. Kan man anv adress i ISA till nått? Hmmm alla platsernas data är nog samma. För att styra rätt fysiska port måste pluggin kortet läsa adress. Om jag har ett i/o kort inpluggat så borde det ha "mellansteg" till relativt tålig ttl eller? Jag menar inte på kortets utgång, utan mellan den och ISA. ISA direkt kan nog vara lite känslig. Vilka är adressena till ISAportarna? Tex par på vissa datorer #3bc andra OUT &H378, 16(basic) . Skall man köra move eller out till ISA porten(asm)? Finns det nått program som loggar ISA/PCI event?

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 21:36:40
av Icecap
Men? Vilken del av "ISA-bussen är data & adressbussen" förstår du inte?

DET FINNS INGEN ISA-PORTAR!!! OK? Lär dig hur en MCU fungerar och vilket stöd den behöver i livet innan du gör bort dig allt för mycket!

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 21:50:24
av TomasL
1802, är det inte dags att du skaffar lite böcker och lär dig hur saker är ihopkommna, istället för alla svamlande gissningar.
Så här ser en PC ut innuti:
Bild

EN maskin med ISA-buss ser snarlik ut.
Lite beskrivning, som du borde ha hittat själ, tycker jag
http://en.wikipedia.org/wiki/Industry_S ... chitecture

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 22:24:13
av bit96
Jag tycker 1802 gör helt rätt. :tumupp:
Man ska experimentera och testa.
Men läs gärna också på. Sökning på internet ger mycket i detta fall.

CPU kommunicerar med minne och andra kretsar via adressbuss, databuss och kontrollsignaler.
ISA-bussen innehåller adressbuss, databuss och kontrollsignaler via buffertar samt ström.
Där kan man ansluta I/O-kort som CPU kan "tala" med. D.v.s. läsa och skriva data.

I/O-korten kan ligga i minnes-adress-arean eller i I/O-adress-arean, eller i båda.
Minnet kommer man åt t.ex. med kommandot MOV, medans I/O kommer man åt med IN eller OUT.

Tänk om man på i slutet på 80-talet vågat labba så här med farsans IBM-PC som med tillbehör kostade runt 30kkr.

Kör hårt!

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 22:49:15
av 1802
bit96: Så långt e jag med. Men kan jag inte få lite adresser?

Jag har ju redan förstått att man ibland måste sätta ett data riktnings register. Sedan läsa alt skriva. Men till vika adresser? Jag jobbar på att googla fram, men kan nån det direkt från skallen skulle det hjälpa mycket. Jag har sen länge förstått vitsen med DOS INT(ernals). Ex

Kod: Markera allt

TIME - SET ALARM (AT,XT286,PS)

AH = 06h
CH = hour (BCD)
CL = minutes (BCD)
DH = seconds (BCD)

Return:
CF set on error (alarm already set or clock stopped for update) CF clear if successful 
Man sätter lite register och anropar subrutin, och får data tillbaka i register. Så ett par steg har jag tagit.

Böcker??? Typ att prenumerera på tidningar i flera år, eller att få reda på det direkt via nätet. Tidningar och böcker har jag lagt ned.

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 23 oktober 2012, 23:59:25
av 1802
Här kommer en favorit site när det gäller INT Category Index med några av dessa skall jag försöka få musik från hdd int 13

Så här enkelt kan det vara att tända 8 LED's

Kod: Markera allt

; ParFFcom  gjord i MS-Dos debug
: Tänder alla data bitar på skrivarporten om den heter 378h
mov dx,0378   ; Ladda dx med port namn kan vara 3bc mfl beroende på dator
mov al,ff     ; Lägg utdata i al
out dx,al     ; skicka
ret           ; avsluta

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 11:03:13
av jesse
>"Tidningar och böcker har jag lagt ned."
Datablad också, tydligen. Och de flesta svar du får i forumet, verkar det som ibland, att du inte orka läsa.

Visst är det kul att labba och kanske få ihop något som fungerar delvis. Men du har lite för bråttom (tycker jag, men människor är ju olika). Om du inte läser mer noga om de saker du försöker koppla ihop så kommer du bara förstå en bråkdel av hur det egentligen fungerar. Och det kommer på sikt att begränsa dig. Fortsätt labba på ditt vis, det är säkert utvecklande, men välj också en sak som du fördjupar dig i och faktiskt försöker lära dig från grunden hur det fungerar. T.ex. en AVR. Läs om AVR. Det finns pappersböcker, digitala böcker eller tutorials på nätet. Det finns exempelsamlingar med en massa program och sidor där hårdvaran (både inne i controllern och komponenter runt omkring) där de noggrannt förklarar hur och varför det fungerar. Det är värdefullt om du skulle kunna studera något på det viset. Jag lovar att om du klarar av det så kommer det att ge dig mycket!

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 11:31:45
av Nerre
DOS INT står väl inte för "internals" utan för "interrupt"? D.v.s. det är "subrutiner" i DOS som man hoppar till mha av interrupt. Det är med andra ord föregångaren till DLL:er och liknande.

Ska man bygga om en PC till mikrocontroller så ska man väl i såna fall snarare byta ut BIOS mot ett E(E)PROM som man kan programmera om med sitt assemblerprogram?

För en PC fungerar ju precis som de flesta andra datorer: När den bootar så börjar den exektera kod från adressen 0x0000. Där ligger BIOS som sköter stora delar av uppstarten, det är BIOS som läser in diskettenhetens bootsektor i RAM och exekverar den. Vad sen bootsektorn gör beror på vad det är för bootsektor. DOS har en bootsektor, för linux finns det ju grub, lilo, syslinux m.fl.


(Ok, alla datorer börjar inte exekvera från 0x0000, det finns vissa som istället hoppar till den adress som ligger lagrad på adress 0xFFFF eller liknande, men att börja exekvera från 0x0000 är vanligast och enklast att förstå.)

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 12:04:58
av sodjan
Finns ingen anledning till spekulation eller gissningar.
http://en.wikipedia.org/wiki/INT_13H
http://en.wikipedia.org/wiki/BIOS_interrupt_call

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 13:51:59
av 1802
Nerre: Om man accepterar någon form av lagringsmedia (fdd hdd SD mfl), kan man låta bios vara i fred. Jag funderar på datalogging. En alt för liten hdd (200Mb-) kan lagra massor av logging.

Redovisar lite som jag fattat det. INT ligger i bios. Efter man bootat MS-dos(5.0 alt 6.22 mfl) får man in command.com. Som innehåller div kommandon. Finns det några roliga subrutiner i command.com? Jag hittar ingen väntrutin i command.com. Så jag skrev en egen. Det finns

Kod: Markera allt

PAUSE 
    Halts execution of the program and displays a message asking the user to press any key to continue.
i command.com men jag vill inte trycka in nått. Funderar på om man kan kopiera nått stort (ev flera ggr) till ramdisk, som vänterutin. Kan man anropa qbasic, få qbasic att autostarta(utan F5) och avsluta själv?

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 17:45:48
av 1802
Nedan självstartar

Kod: Markera allt

; sos.bat        
a:\qbasic /run a:\sos.bas

men stoppar inte qbasic skalet. Men det finns reset :vissla: .
Kopplade in en vga skärm med gråskala. Den som spar han har... Och testade sos.bat utan /run, och det funkade direkt!? Det är inte så dumt att se ibland. Men med /run borde det funkat lätt första gången. På tur står ett ljudkort med joystick ingång. ADC ...

Re: Moderkort som mikrokontroller mini proj i egen tråd.

Postat: 24 oktober 2012, 17:54:33
av maDa
Underhållande detta. Kör hårt :)