Proč to ukazuje "7<" ????

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#16 Příspěvek od jirka89 »

Tak po nějakých úpravách mě vyšlo, že mám jak v bajtu1/2 stejné číslo a to A0

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#17 Příspěvek od Andrea »

jirka89 píše:Blbý dotaz, ale to číslo musím rozbít, abych ho mohl zobrazit že? nejde nějak udělat, abych ho poslal najednou! (Celý "bajt")??? Aby mi zobrazil rovnou třeba "5D", že??
Umí to ten displej? Neumí, tak nepůjde. Ono to "rozbíjení" je děsně složitý. :roll:

Kód: Vybrat vše

        mov B,A
        swap A
        anl A,#0Fh
        add A,#30h
        cjne A,#3Ah,loc_1
loc_1:  jc loc_2
         add A,#07h
loc_2:  ----- zobraz A

        mov A,B
        anl A,#0Fh
        add A,#30h
        cjne A,#3Ah,loc_3
loc_3:  jc loc_4
        add A,#07h
loc_4:  ----- zobraz A

Uživatelský avatar
Mendor
Příspěvky: 223
Registrován: 16 dub 2008, 02:00
Bydliště: Kladno

#18 Příspěvek od Mendor »

Z obsahu dvou byte které dostaneš z čidla vypočteš teplotu na jedno desetinné místo, tu následně rozdělíš na stovky, desítky, jednotky a ke každé přičteš 48 (30H). Na displej pak pošleš stovky, desítky, desetinou čárku a nakonec jednotky.

Např. 21,4°C

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#19 Příspěvek od jirka89 »

Dobře při pokojové teplotě mi posílá bajt1 (LS Byte) 0A0H, a bajt2 (MS Byte) také 0A0H. Tak kolik to je potom stupňů?? Kdybys mohl mi napsat kolik to je stupňů, abych věděl, jestli ten převod co mám v programu je blbě.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#20 Příspěvek od Andrea »

Mendor píše:Z obsahu dvou byte které dostaneš z čidla vypočteš teplotu na jedno desetinné místo, tu následně rozdělíš na stovky, desítky, jednotky a ke každé přičteš 48 (30H). Na displej pak pošleš stovky, desítky, desetinou čárku a nakonec jednotky.

Např. 21,4°C
To je sice krásná rada, ale jemu to nejspíš vůbec neměří.

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#21 Příspěvek od jirka89 »

No neměří! Já nevím! Když to vyhřívám zapalovačel (ne kontaktně) jen abych ho ohřál, tak se mi ty dva bajty mění. I ta teplota. Ale jsou to čísla mimo mísu.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#22 Příspěvek od Andrea »

jirka89 píše:No neměří! Já nevím! Když to vyhřívám zapalovačel (ne kontaktně) jen abych ho ohřál, tak se mi ty dva bajty mění. I ta teplota. Ale jsou to čísla mimo mísu.
A ta funkce na zobrazování hexa čísel ti funguje správně? Zkusil jsi jí podstrčit nějaká čísla, jestli je to zobrazí správně? Třeba 1F, FF, A5, 01, 88...

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#23 Příspěvek od jirka89 »

no ot jsem nezkoušel. hned to zkusím! to mě nenapadlo!

Uživatelský avatar
Mendor
Příspěvky: 223
Registrován: 16 dub 2008, 02:00
Bydliště: Kladno

#24 Příspěvek od Mendor »

jirka89 píše:Dobře při pokojové teplotě mi posílá bajt1 (LS Byte) 0A0H, a bajt2 (MS Byte) také 0A0H. Tak kolik to je potom stupňů?? Kdybys mohl mi napsat kolik to je stupňů, abych věděl, jestli ten převod co mám v programu je blbě.
Udělej si jednoduchý test.

Po zapnutí napájení k DS18B20 je v registrech teploty LSB a MSB hodnota 85.0°C.
Proto v celém programu zruš funkci 44H tj. převod teploty.
Při správné komunikaci s čidlem a správném výpočtu teploty ti musí na displeji po zapnutí napájení ukazovat hodnotu teploty 85.0°C. Pokud ukazuje něco jiného máš chybu v programu nebo je špatná komunikace nebo inicializace čidla.

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#25 Příspěvek od jirka89 »

Tak! Už jsem si na 100% jistý, že mám v těch dvou bajtech FF

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#26 Příspěvek od jirka89 »

tak jsem vyrušil 044H, a v bajtech mám stále FF. Takže bude chyba někde v komunikaci! Nejspíš.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#27 Příspěvek od Andrea »

jirka89 píše:Tak! Už jsem si na 100% jistý, že mám v těch dvou bajtech FF
To já vím od začátku, proto jsem ti psala ať si je zobrazíš, ale pak jsi psal že se ti to s teplotou mění, tak mění nebo nemění?

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#28 Příspěvek od jirka89 »

No právě. Ale ta teplota musí vzrůst tak o 20 stupňů, aby se něco změnilo! Zkusím to ještě jednou, když ty bajty mám teda funkční.

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#29 Příspěvek od jirka89 »

Jo tak se mění! Ale potom zase ty bajty spadnou na FFH

Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 01:00
Bydliště: Zlín

#30 Příspěvek od jirka89 »

A je ta komunikace s tím čidlem
RESET > 0ccH > 044 > prodleva (cca 0,5s) > RESET >0ccH > 0BEH> 2x cteni

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“