Tangentbord - PIC - LCD
Tangentbord - PIC - LCD
Jag har tidigare kopplat ihop en PIC och en LCD (4-bit) och det har fungerat utmärkt. Efter det tänkte jag att jag skulle koppla in ett tangentbord (PS2 eller AT) till PICen för att sen få ut knapptryckningarna på LCDn men det vill sig inte riktigt. För att kunna koppla in tangentbordets clock signal på avbrottspinnen PB0 (och data på RB1) så var jag tvungen att flytta om LCD-anslutningarna lite men jag tror inte att det är där problemet ligger eftersom jag ibland får LCDn att visa korta teststrängar utan problem. Det lustiga är att det fungerar någorlunda vissa gånger och andra går det inte alls. Ibland initieras inte LCDn som den ska även om jag vet att PICen har exekverat den kod-snutt som ska ha hans om den biten och ibland kommer LCDn igång som den ska men jag får ingen input från tangentbordet. Andra gånger avbryter PICen på de mest konstiga ställen (tror jag i alla fall).
Jag misstänker att det är strömförsörjningen som inte räcker till riktigt. Jag använder en vanlig batterieliminator på 7,5V med en 5V spänningsregulator efter. Jag kommer tyvärr inte ihåg vilken belastning den ska klara av. Det lustiga här är att problemet ibland dyker upp även när jag inte har tangentbordet anslutet. Jag kan inte så mycket om elektronik och el-lära (har precis lånat lite böcker) så jag vet inte riktigt hur jag ska veta om det är strömmen som inte räcker till eller ej.
Har någon några förslag på vad som kan vara fel?
Jag misstänker att det är strömförsörjningen som inte räcker till riktigt. Jag använder en vanlig batterieliminator på 7,5V med en 5V spänningsregulator efter. Jag kommer tyvärr inte ihåg vilken belastning den ska klara av. Det lustiga här är att problemet ibland dyker upp även när jag inte har tangentbordet anslutet. Jag kan inte så mycket om elektronik och el-lära (har precis lånat lite böcker) så jag vet inte riktigt hur jag ska veta om det är strömmen som inte räcker till eller ej.
Har någon några förslag på vad som kan vara fel?
- EagleSpirit
- Inlägg: 1288
- Blev medlem: 27 maj 2003, 23:15:48
- Ort: Västerås
- Kontakt:
Jag har kollat igenom koden om och om igen och jag kan inte hitta det som kan tänkas vara fel. Och som jag har upplevt det så uppkommer problemen lika ofta (nästan alltid alltså) när jag har ränsat GIE och de andra interupt-bitarna i INTCON. Jag har också försökt att hitta fel på kopplingarna men det är ju inte så mycket som jag har ändra så det borde inte vara några problem där.
Hur är det med strömförsörjningen, på min batterieliminator står det bl.a:
Output: DC 300mA 3.6VA
Borde jag ha problem på den fronten?
Lite fakta om tangentbord kan man hitta på:
http://www.piclist.com/techref/io/keyboard.htm
http://www.arne.si/~mauricio/Kbdfaq.htm
Och ja, det är tangentbordet som står för klocksignalen.
Hur är det med strömförsörjningen, på min batterieliminator står det bl.a:
Output: DC 300mA 3.6VA
Borde jag ha problem på den fronten?
Lite fakta om tangentbord kan man hitta på:
http://www.piclist.com/techref/io/keyboard.htm
http://www.arne.si/~mauricio/Kbdfaq.htm
Och ja, det är tangentbordet som står för klocksignalen.
Du skulle ju kunna testa att använda separata spänning matningar för att vara säker på att det inte är det som bråkar.
Tack för länkarna. Jag hadde fått för mig att datorn klockade hela tiden och inte bara när den sänder.
Du har inte råkat ändra någon delay i LCD initsieringen när du bytte ben till den? KAn spännings regulatorn fått sig en knäck? det kan bli lite skumma omstarter om matningen bråkar. Det är inte kul när det bråkar och man inte ens kommer på något att testa med
Tack för länkarna. Jag hadde fått för mig att datorn klockade hela tiden och inte bara när den sänder.
Du har inte råkat ändra någon delay i LCD initsieringen när du bytte ben till den? KAn spännings regulatorn fått sig en knäck? det kan bli lite skumma omstarter om matningen bråkar. Det är inte kul när det bråkar och man inte ens kommer på något att testa med

Din beskrivning av felet fåt mig att misstänka problem med interrupt nivåer. PICen har 7 interrupt nivåer. Vid interrupt upptas 1 eller 2 interrupt nivå/er. Om du nu anropar en ytterligare funktion under interrupt, upptars den tredje nivån osv osv. Det kan du lätt kolla i utvecklingsverktyget. Kör programmet steg för steg och kolla på interrupt nivån.
- EagleSpirit
- Inlägg: 1288
- Blev medlem: 27 maj 2003, 23:15:48
- Ort: Västerås
- Kontakt:
det skulle kunna vara strömförsörjningen. Men 300mA är en del. Är det backlight på LCDn? Har du kondingar både före och efter spänningsregulatorn? Bara för att vara på den säkra sidan. Kolla upp det där med stacknivåerna. Om det blir för många så att den låser sig kan det ju dina problem uppstå.
Äh det var ju ett tag sen du skrev den här tråden. Du kanske har löst det nu? Jaja, gonatt
Äh det var ju ett tag sen du skrev den här tråden. Du kanske har löst det nu? Jaja, gonatt