Väckarklocka
Detta projektet är mitt första riktigt stora program i assembler för PIC16C84. Schemat och några finns här nedanför. Tyvärr har jag tappat bort den fungerande källkoden. För den intresserade så har jag en trasig variant på källkod här, men den fungerar inte och är "sönderhackad" av mina försök att få den att fungera igen. Har man inget bättre än en vanlig (lågpris)multimeter, så är det väldigt svårt att felsöka. Tänk om jag hade lärt mig att ta backupper på det jag arbetar med...
Ställ inte frågor till mig om koden. Jag har helt slutat med PIC-processorer, och använder bara AVR nu. AVR-kretsarna programmerar jag dessutom i C, så jag kan nästan ingen assembler numera.
Det hela började sommaren 1998. Jag hade nyss lärt mig grunderna för programmering med PIC-processorerna. Jag hade byggt en programmerare som man ansluter till serieporten på datorn (just den här varianten kallades ludipipo, och man använde ett program som hette PIP-02 för att bränna in programmet i PIC:en). Hade också laddat ned MPLAB från Microchips webbsida. MPLAB är ett program för Windows, som gör utvecklingen av kod ganska enkel. Man skriver koden, assemblerar den, och debuggar den utan att behöva hoppa mellan en massa olika program.
Hur som helst, jag hade kopplat upp PIC:en på en kopplingsbräda, och testat de klassiska exemplen, typ blinka en lysdiod, ha några knappar som styrde lysdioden, och annat sånt som man gör när man lär sig ett nytt språk. Började fundera på en riktig utmaning, och kom på att jag behövde en väckarklocka. Av en slump hade jag en LCD-modul med storleken 2x20 tecken. Jag satte ihop grejerna på experimentplattan, och började fundera på hur jag skulle styra LCD:n. Märkte att det var dags för mer efterforskningar. Efter mycket sökande ute på nätet hittade jag en FAQ ftp://ftp.ee.ualberta.ca/pub/cookbook/faq/lcd.doc(DÖD LÄNK, finns annars på http://www.mil.ufl.edu/imdl/handouts/lcd-faq.htm) som handlade om just LCD-styrning. Hittade också lite kod skriven i basic för basic-stamp kontrollern, som var lätt att göra om till assembler.
Lite fler bilder. Det syns också hur enkelt den är byggd. Inget etsat kretskort, inte ens riktiga switchar, utan ledningar som fjädrar tillbaks av sin egna styvhet.
Du ansvarar själv för risken att skada dig själv/andra/saker/datorer/eller annat!