Pic16f628 spi ds1620
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Pic16f628 spi ds1620
Hej, jag ska läsa temperaturen från en ds1620 och visa den på en hd44780 lcd.
All kod sak skrivas i assembler, jag har redan fått ut text på displayen men hur använder jag spi?
Skickar jag bara ett värde till ett register och sedan aktiverar spi eller något?
om du ska skriva en bit kod för att skicka något värde över spi skulle jag bli mycket glad.
Finns det något lättare sätt att läsa temp på en pic? jag behöver inte någon hög upplösning, 2C duger fint.
Och allt måste kodas i asm.
All kod sak skrivas i assembler, jag har redan fått ut text på displayen men hur använder jag spi?
Skickar jag bara ett värde till ett register och sedan aktiverar spi eller något?
om du ska skriva en bit kod för att skicka något värde över spi skulle jag bli mycket glad.
Finns det något lättare sätt att läsa temp på en pic? jag behöver inte någon hög upplösning, 2C duger fint.
Och allt måste kodas i asm.
Det heter "DS1620", "HD44780", "SPI" och "PIC".
> men hur använder jag spi?
Jag utgår från att DS1620 är en SPI krets...
Det står inte i inlägget vilken PIC du tänker använda, men en del
PIC modeller har en hårdvaru-SPI modul och då använder du den.
För andra PIC modeller (utan hårdvaru-SPI modul), så får du skriva
programvarurutiner...
> men hur använder jag spi?
Jag utgår från att DS1620 är en SPI krets...
Det står inte i inlägget vilken PIC du tänker använda, men en del
PIC modeller har en hårdvaru-SPI modul och då använder du den.
För andra PIC modeller (utan hårdvaru-SPI modul), så får du skriva
programvarurutiner...
Ta en titt på denna
http://www.maxim-ic.com/appnotes.cfm/ap ... umber/2361
Sedan får du koppla MOSI och MISO och i sin tur MISO till DS1620 med ett motstånd, ex 1k eftersom du har 3wire spi och inte 4wire (om du vill använda koden rakt av).
Annars så går den modifiera så att det bara kräver 3 pinnar på processorn.
SPI:n i exemplet är mjukvaruemulerad, men du behöver inte någon hastighet så.
http://www.maxim-ic.com/appnotes.cfm/ap ... umber/2361
Sedan får du koppla MOSI och MISO och i sin tur MISO till DS1620 med ett motstånd, ex 1k eftersom du har 3wire spi och inte 4wire (om du vill använda koden rakt av).
Annars så går den modifiera så att det bara kräver 3 pinnar på processorn.
SPI:n i exemplet är mjukvaruemulerad, men du behöver inte någon hastighet så.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Varför SPI är med i diskussionen är jag inte helt säker på. Vad jag dock är säker på är att DS1820 använder ett så kallat 1-Wire protokoll och där räcker det med en vanlig I/O pinne som kan switchas mellan ingång och utgång. DS1820 har olika många ben beroende på kapsel, men bara tre av dem används: Vdd, GND och DQ.
När jag skulle koppla en DS1820 till min Renesas MCU hitta jag färdig C kod på nätet. Koden var iofs skriven för AVR men kunde med minimala förändringar användas på Renesas. Garanterat hittar du motsvarande kod för PIC i assembler. Att läsa av en DS1820 är inte triviellt så du sparar nog en massa tid på att låna färdig kod.
När jag skulle koppla en DS1820 till min Renesas MCU hitta jag färdig C kod på nätet. Koden var iofs skriven för AVR men kunde med minimala förändringar användas på Renesas. Garanterat hittar du motsvarande kod för PIC i assembler. Att läsa av en DS1820 är inte triviellt så du sparar nog en massa tid på att låna färdig kod.