Chip dator: Lätt att producera AVR BASIC dator (4 / 6 steg)

Steg 4: Firmware



Standard TinyBASIC Plus skiss hade ändras för att skapa en fristående datorsystem. Den oförändrad versionen av TinyBASIC Plus använder den seriella porten på AVR för att tillåta användare att interagera med programvaran och skapa program. Jag importerade TVout biblioteket och ersatt alla serial output samtal (Serial.write() etc) med TVout samtal (TV.print() etc). PS/2 tangentbord standardbiblioteket sammandrabbningar med TVout orsakar konstiga utdata ska visas på TV: N och tangentbordet inte läses korrekt, men efter lite forskning, jag kom över ett bibliotek som kallas PS2uartKeyboard som använder XCK0 stift och RX0 stift för en AVR ansluta till tangentbordet för att tillåta en PS/2 tangentbord att arbeta med TVout biblioteket. Detta bibliotek finns här längst ner på sidan:

https://code.Google.com/p/Arduino-tvout/Issues/detail?ID=38

(Själva biblioteket länk här)

Jag testade det PS2uartKeyboard och det TVout biblioteket tillsammans och de fungerade bra så jag la PS2uartKeyboard biblioteket på TinyBASIC Plus skissen som resulterade i att skapa ett fungerande fristående datorsystem. De seriella samtal som läst seriell in i TinyBASIC Plus ersattes med tangentbord samtal att läsa den på tangentbordet. Som TVout biblioteket, den PS2uartKeyboard och TinyBASIC Plus skiss alla kör på samma AVR, kräver datorn endast ett enda chip (en AVR) för att fungera. Jag började TVout med följande rad:

TV.begin (PAL, 720, 480);

som börjar TVout vid en högre upplösning än standard för att passa några av textproduktion från TinyBASIC Plus på en enda rad som med standard upplösning, några av text sveper till nästa rad. Observera att en upplösning på 720 x 480 inte genereras här eftersom det delas ner av TVout biblioteket till en lägre upplösning. Start TVout såhär använder ca 8KB av ATmega 1284Ps SRAM (för video buffert). Jag var tvungen att ändra värdet RAMEND i TinyBASIC Plus för att ge tillräckligt med minne för video buffert krävs av TVout och jag har också ändrat break nyckeln som används i TinyBASIC Plus (det var tidigare CTRL + C) eftersom kontroll nycklar inte stöds av denna PS2 Tangentbord bibliotek (jag använde escape-tangenten i stället).

Jag hade gå använda den ursprungliga ATmega 1284P 16MHz bootloader för att stoppa någon TVout glapp som uppstår när du använder uppstartshanteraren optiboot (ursprungliga bootloader inte orsaka dessa buggar). När compling skiss på Arduino ERW IDE, skiss storlek är mindre än 22KB SRAM beräknade användningen av AVR och nästan 9KB (lämnar ca 8KB för TVout video buffert). TinyBASIC Plus skissen finns bifogade på denna sida.

ATmega 1284 P Arduino bootloader kan hittas här:

https://github.com/fakufaku/Mighty-1284p

Den ursprungliga TinyBASIC Plus koden kan hittas här:

https://github.com/BleuLlama/TinyBasicPlus

TVout biblioteket kan hittas här:

https://code.Google.com/p/Arduino-tvout/

Observera att TinyBASIC Plus, Arduino programvara (bootloaders, IDE etc), det PS2uartKeyboard och det TVout biblioteket alla håll det egna programvarulicenser som måste följas om du använder någon av skaparna koden.

Uppdatera (23/06/2014): Jag har bifogat den hex filen för TinyBASIC Plus skissen (kompileras med Arduino IDE) så Arduino IDE inte har används för att programmera ATmega 1284P. Jag fick denna fil från den temporära katalogen skapad av Arduino IDE under sammanställning av skiss så jag inte vet om det stämmer (Låt mig veta om någon har några problem med det).

Se Steg
Relaterade Ämnen

Använd Visual Studio IDE att programmet AVR/Arduino

jag är inte ett stort fan av Microsoft, men människan, de gör en slick programmering IDE. I leta runt för en lösning att använda IDE till program spridda AVR: s jag kom över några instruktioner. Som jag älskar funktionen intellisense för Visual Studi...

Använder en koi damm för att producera stora citroner och använda ett vegetabiliskt filter för att rengöra en koi damm

år sedan vi byggde vårt växthus/koi damm och planterade en citron träd. Sedan dess har vi lagt till många fiskar och växter. Båda har dragit nytta av våra setup. Det finns en liten pump i dammen som flyttar vatten upp till vegetabiliska filtret där r...

Arduino gränssnitt med Nonin Pulse Oximeter (OEM modul) att producera Analog utgång

detta projekt var tänkt för att ha en pålitlig Analog signal som kan vara gränssnitt direkt med Labview för insamling av data i en forskningsstudie som vi försöker göra. De flesta kommersiellt tillgängliga pulse oximeter har inte heller ett analog ut...

Hur att reparera en HP DV9000 - serien bärbara datorer

jag fick en HP DV9260US laptop som en studentexamen som närvarande. Det fungerade bra tills 13 månader efter att jag fått det, en månad efter garantin sprang ut. För att få den reparerad kommersiellt skulle kosta på order av $800, om kostnaden för en...

Seriella AVR ISP Programer (bara PLUG AND PROGRAM) utan att behöva programmera någon sak.

HI! vänner jag ville bränna bootloader på en avr chip men jag har inte alla avr programmerare så beslutat att göra en av mina. Detta programmerare inte behöver någon form av drivrutin som ska installeras, bara koppla in och programmera med hjälp av P...

Chocolate Chip Cookies att imponera

Vill du ha ett sätt att imponera på din familj och dina vänner på nästa kommande festen eller träffas? Har du inte mycket erfarenhet i köket? Ja, då är en enkel tallrik hemlagad choklad chip cookies ditt svar.Min mamma har baka dessa choklad chip coo...

Att skapa och hantera en dator game-projekt

jag är en stor anhängare av Indie spelutveckling och älskar att se vad små spel folk gör på sin fritid.När du har skapat ett litet spel försöker många människor göra en större, och då känner att de behöver ett litet team att hjälpa dem längs. Denna k...

Hur att transplantera RFID-Chips

RFID (radiofrekvensidentifiering) system är runt omkring oss. De hjälper oss att få genom toll booths snabbare. De hjälper butiker hålla ordning på lagret. De är även i en massa leksaker.Men det finns ingen anledning varför RFID-chips behöver bo i de...

Lägga upp skisser till Arduino Pro Mini använder Arduino UNO styrelsen (utan att ta bort Atmel Chip)

Detta beskriver en procedur för att använda Arduino UNOS inbyggda USB till Serial(TTL) converter ladda upp skisser till Arduino Pro Mini styrelsen utan att behöva ta bort UNO'S Atmel mikro-controller chip. Detta är användbart för dem har börjat med A...

5 x 4 LED display matrix med hjälp av en Basic Stamp 2 (bs2) och Charlieplexing

har en Basic Stamp 2 och några extra lysdioder sitta? Varför inte leka med begreppet charlieplexing och skapa en utgång med bara 5 stift.För detta instructable jag kommer att använda BS2e men någon medlem av familjen BS2 bör fungera.Steg 1: Charliepl...

En komplett starter guide till AVRs

har du spelat med Arduinos och nu har en smak för microcontrollers?Har du försökt att gå bortom Arduino men blev stoppad av den täta datablad?Detta är den instructable för dig!Jag arbetade på en instructable för epilog tävlingen som skulle trådlöst k...

AVR dubbla RGB Matrix föraren

En vän till mig hade en bra idé för ett fantastiskt projekt. Han ville skapa ett par av servo riggar som skulle efterlikna rörelsen av händerna med ett språng förslag. På toppen av servon skulle sitta några lasrar så han kunde skapa någon form av las...

AVR Chronograph från koncept till PCB

en kronograf är en anordning som används för att mäta hastigheten på en passerande objekt. I enklaste form, detta innebär att två sensorer av något slag som "se" objektet, en enhet som kan mäta tid, och några utdata till leverera data till använ...

Bygga upp ett komplett AVR och spela Mastermind!

Spelet Mastermind har funnits länge, och jag minns att få en styrelse version med färgade pinnar när jag var liten. Jag älskar detta spel, eftersom det är lösbara genom ren logik. En spelare (eller en dator/mikrokontroller) väljer en sekvens av färge...

Idiot's Guide till programmering AVR: s på de billiga (med Arduino IDE!)

Mikrokontroller är, utan tvekan, fantastiska små saker. De är mångsidiga, kraftfull och mycket små. Tyvärr, den sistnämnda drag också delas av både min plånbok och mina kunskaper i programmering. Min förståelse av C är dålig, och jag har knappt råd a...

Att göra taktil 3D utskrifter Talk

Arduino Duemilanove mikrokontroller användes instructables heter "Kapacitiv Touch Arduino Keyboard Piano" för att demonstrera hur kapacitans avkänning kan användas för att simulera spela piano genom att vidröra aluminiumfolie "nycklar"...

CNC-maskin för att forma stora bitar av styrencellplast

SammanfattningDetta instructable visar hur man kan forma polystyren skum, med en CNC-maskin. Börjar med en kort introduktion, diskuteras design programvara som krävs för att skapa en STL-fil. Detta följs av en metod för att skapa G-kod, med en STL-fi...

AVR fuse grunderna: kör en avr med en extern klocka

säkringar är bland de svåraste ämnen som jag stött på samtidigt lära sig om programmering microcontrollers. Även efter att söka och läsa flitigt, kunde jag fortfarande inte lyckas rensa mitt begrepp om dem. Men sedan jag började lära dem ta en i tage...

Att göra tvål med kemi!

I denna oförstörbar Instructable lär jag dig att göra tvål!Steg 1: Installera scenenDet första du behöver göra är samla ditt material och ställa in din lab område. De material du behöver är:* VARNING *I detta experiment använder du faror kemikalier i...