Mám dotaz na teplotní čidlo ds 18b20 a to následující, měřím teplotu s tímto čidlem s pomocí PIC 16F630.Pro snížení spotřeby měřím teplotu jednou za minutu, použil jsem na to příkaz sleep a v druhém případě i časovou smyčku ,ale problém je stejný a to takový že když čidlo zahřívám rukou tak teplota roste, potom je ta minutová pauza po niž by teplota měla už klesnout ale ona ještě vzroste a začne klesat až po dalším minutovém intervalu. Prosím nevíte co s tím?Ze začátku jsem si myslel že je to tím probuzením než se procesor znovu rozjede, ale dneska jsem použil jenom minutovou časovou smyčku a dělá to taky, Použil jsem program teplomerds.asm z diskuze http://www.ebastlirna.cz/modules.php?na ... ight=18b20.
já jsem to asi špatně napsal když dám ruku pryč tak teplota by po minutě měla jít dolů ale ona ještě jde nahoru a po další minutě jde teprve dolů.
Mělo by to být: měř, zobraz, čekej(1min),...... měř, zobraz, čekej(1min)
Myslím, že je problém ve sledu akcí tak, jak píše VIPALI. Musí se zadat převod teploty, počkat čas potřebný pro převod a nově převedenou hodnotu teprve načíst a zobrazit. Taky mě to připadá, že máš: načíst teplotu, zobrazit a pak teprve převést. Zkontroluj posloupnost příkazů. Kdyžtak sem dej přímo ten *.asm. Jukneme na to
Ahoj, tak jsem našel dvě věci. Jednak na řádku cca 424 je skok na neexistující návěstí (goto DS_KOM_1) a jednak máš špatně nastavené config word. Místo tvého 0x3FA1= VYPNUTÝ WATCHDOG musíš mít 3FA9 = zapnutý WATCHDOG. Jinak by to mohlo fungovat.
děkuji za radu ale nepomohlo to udělal jsem to tak ,že mezera mezi měřením je jenom než přeteče watchdog (asi 2,3 S) a už to neřeším chci se už věnovat dalším konstrukcím
mám interní oscilátor 4Mhz i kalibrační konstantu, zajímavé je že používám jenom jedenkrát přetečení WATCHDOGU což je s předděličkou tech 2,3S a funguje to ale když dám ještě smyčku aby čidlo měřilo každých 23S tak už to nejde! Nevadí přišly mi tlakové čidla od freescale tak zkusím udělat barometr (A/D převodník jsem ještě nezkoušel)s dvouřádkovým displejem pořád jsem ještě začátečník.
neříkám že mě to neštve, ale do budoucna bych chtěl dát měření teploty, tlaku ,vlhkosti do jednoho zařízení s dvouřádkovým displejem taková malá meteostanice takže to doladím až pak , program bude stejně jiný. Ještě jednou děkuji za odpovědi
Nebudu tedy do toho rýpat, ale něco mi tu nehraje. Config slovo je na externí krystal XT, takže by to asi fungovat nemělo (pokud ho nepřepíšeš v porgamátoru). jo a ještě se doporučuje po SLEEP dát jako první NOP instrukci ... tak čau
konfigurační slovo je na INTERNI OSC, nahraju program do programu WIN PIC a vidím konfigurační slovo 3F9C nic už v prográmátoru nenastavuju ta poznámka (__CONFIG 0x3FA1)na řádku 69 je špatně asi to vzniklo tím že jsem zkopíroval program a pak upravoval a nepřepsal poznámky. Instrukce nop jsem taky zkoušel a nepomuže to