Sida 3 av 26
Postat: 20 januari 2008, 12:25:11
av sodjan
Ett projekt som gör vadå?
Eller bara mer som en kodmall för att bygga vidare på?
Tja, du kan sannolikt ta någon av mina (som Icecap sa)
och utgå från. Jag tror inte att jag har någon idag med USART
hantering, så du får komplettera med USART-init, ISR-ruitner o.s.v.
Postat: 20 januari 2008, 19:15:41
av Stewal
Det jag men är dokumenterad kod, som beskriver rad för rad.
Hittade inget på din sida.
Postat: 20 januari 2008, 20:51:10
av Icecap
Postat: 20 januari 2008, 23:33:21
av sodjan
> som beskriver rad för rad.
OK, kanske inte "rad för rad".
Ibland kan det vara 3-4 rader med en gemensam kommentar om
sammanhanget är tydligt ändå.
Men fråga om det är något så kanske jag förtydligar exemplen...
Postat: 21 januari 2008, 00:07:07
av Stewal
Har börjat titta lite på koden till HD44780
Postat: 21 januari 2008, 17:19:40
av sodjan
Så, nu ska jag till posten med en låda med lite prylar som du får låna.
Det är ett ReadyBoard, en PIC16F886, en PIC18F2510, två Siemens DLR3416
(
http://www.jescab.se/upload/dlo3416.pdf ), och en HP HCMS-2911
(
http://www.jescab.se/upload/hcms-29xx.pdf ). DU kan köra med dessa
eller med lösa 7-seg om du vill det. Jag skulle välja DLR'erna. De är
enklast att koda till och tar ASCII tecken direkt.
Du kan hitta lite exempelkod till DLR'erna här :
http://www.jescab.se/DLR3416.html .
Du får fixa kabel till din programmerare, lämplig matningsspänning o.s.v.
Använd gärna medskickade hyllslister till displayerna, efter som det är ett lån...
Lite enkeltrådig kopplingstråd går det också åt.
Antingen kör du med INTOSC eller så fixar du dit en kristall på kortet.
Annars ska det bara vara att plugga in seriekabeln från din utrustning
och börja hacka kod !

Postat: 21 januari 2008, 19:43:33
av Stewal
Va schyst då kan man dra igång projektet på allvar, får väl ta och flytta över den här tråden till Projekt sen.
Jag skulle välja DLR'erna.
Ja tror också att det är enklast att börja med DLR´erna, som du säger dom tar ju ASCII direkt. Så då är det bara att koda inkommade data till rätt siffra på DLRérna. Sen kan man ju labba vidare med att köra på lösa 7-segments.
Du kan hitta lite exempelkod till DLR'erna här : http://www.jescab.se/DLR3416.html .
Såg att du hade lite ex. på din hemsida, Skall bara sätta mig in i vad koden gör för något.
Du får fixa kabel till din programmerare
Jag skall kolla på det, har även en PIC programmerare från Velleman som man kanske kan köra med.
Använd gärna medskickade hyllslister till displayerna.
Självklart gör jag det, men får jag allt att fungera kommer jag garanterat att köpa det jag använder av dig.
Antingen kör du med INTOSC eller så fixar du dit en kristall på kortet.
Kan ju testa med INTOSC och se om det fungerar annars får man väl köra med en snabbare kristall.
Annars ska det bara vara att plugga in seriekabeln från din utrustning
och börja hacka kod !
Det är just det, hacka kod. Lär nog behöva lite hjälp av er experter. [/i]
Postat: 22 januari 2008, 23:53:41
av Stewal
Idag kom kortet som Sodjan skickade.
Allt är ihopkopplat.
Så jag tog och gick igenom Sodjan´s kod för DLR3416, samt fick hjälp hur man kunde koppla in 2 st. dispalyer.
Nu återstår bara att göra om ASM-koden till maskinkod, så jag kan programmera PIC´n och se om grejerna fungerar.
Postat: 23 januari 2008, 00:09:46
av sodjan
> Nu återstår bara att göra om ASM-koden till maskinkod,
*Ett* klick med musen på *en* knapp i verktygsraden.

Kan inte behöva så mycket förberedelser direkt...
Du har alltså valt 16F886'an, eftersom det var den som min
kod var för. Min kod körde med INTOSC, så jag antar att du också gör det.
Har du kollat något på konfigureringen av EUSART. Det bör inte vara
något större problem att få till det, speciellt som du bara kör 2400 baud.
Jag skulle också utnyttja de 8 LEDs som sitter på kortet för lite status
från olika delar av koden, så att du vet var processorn befinner sig
i koden om det hänger sig eller så.
Det "error 129" som du fick, säger inte ett smack utan helheten. Ta för
vana att se till att frågor om felmeddelanden o.s.v är *kompletta*.
(Frågan kom via mail, i fall någon undrar...)
Postat: 23 januari 2008, 10:51:35
av Stewal
Har du kollat något på konfigureringen av EUSART. Det bör inte vara
något större problem att få till det, speciellt som du bara kör 2400 baud.
Har inte börjat titta på det då jag vill testa att allt fungerar innan man ger sig på det.
Jag skulle också utnyttja de 8 LEDs som sitter på kortet för lite status
från olika delar av koden, så att du vet var processorn befinner sig
i koden om det hänger sig eller så.
Bra grej!
Satte mig imorse och gick igenom programmet MPLAB IDE och fick det att fungera till slut. Hade inte valt något Linker Script. Nu har jag bränt ner koden på 16F886, men när jag startar upp kortet händer inget. Det kommer upp lite konstiga tecken på displayerna. Verkar som om någon pinne på displayerna inte är anslutna.
Skall ansluta LED´erna, för att kolla om det händer något överhuvud taget.
Postat: 23 januari 2008, 13:43:48
av sodjan
För specifika problem med själva *kortet* får/bör du gärna kolla direkt med mig.
Vilket du även har gjort i och för sig...
Och som jag skrev i mailet, så kan vi ju haft lite otur och fått ett kort
med något problem på. Det låter som om något glappar på kortet...
Jag kan ta ett kort och köra samma kod som dig så får vi se.
Återkommer via mail konversationen om det...
Postat: 23 januari 2008, 14:52:25
av Stewal
Nu har jag fått igång kortet, men behöver ändra mer i koden som jag kopierat från sodjan´s hemsida för kunna köra två displayer.
Tyvärr hinner jag inte titta mer på det då jag åker till Tyskland, snart och blir borta över helgen.
Postat: 23 januari 2008, 15:00:14
av sodjan
Och, bara för att komplettera föregående inlägg...
"Fått igång" betyder att det visade sig att kortet behövde 15VDC in
för att ge en ren och stabil 5V. Vid 12VDC så blev det bara ca 4 VDC på
5V linan. Den ska klara sig på 12 VDC enligt specen, och problemet
är översänt till konstruktören...
Postat: 31 januari 2008, 16:58:51
av Stewal
Håller på och knackar kod för att Enable USART porten.
Kod: Markera allt
;Sätt en Async Rx
bsf STATUS, RPO
bcf TXSTA, SYNC ;Async kommunikation
bcf TXSTA, BRGH ;Låg klock hastighet
movlw B'00011001' ;Sätt Baudrate till 2400, SPBRG value=25
movwf SPBRG
bsf RCSTA ^ 0x080, SPEN ;Starta serial port
bcf RCSTA ^ 0x080, RX9 ;Sätt 8 bits mottagning
;Ta emot data
btfss PIR1, RCIF ;Väntar på att tecken skall tas emot
goto $ - 1
movf RCREG, w ;Ta mottaget tecken
bcf PIR1, RCIF ;Återställ Rx
Den här kod snutten "bsf STATUS, RPO" klagar MPLAB på att RPO inte är definierad.
I det registret under STATUS finns RPO.
Se datablad sid. 213.
http://rodel.se/PIC16f886.pdf
Postat: 31 januari 2008, 17:06:37
av sodjan
RP0