Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

převod pbp do hex
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: ne prosinec 12 2010, 11:12    Předmět: převod pbp do hex Citovat

Ahoj,
Chtěl jsem postavit teploměr s pic12f629 a lcd z nokie 3110 podle návodu na: http://www.ivica-novakovic.from.hr/Nokia%20Lcd%20Termometar.htm . Autor přiložil i zdrojový kod, ale s příponou *.pbp. Chtěl bych změnit vzhled displeje, ale v MPlab jej nedokážu přeložit. Zkusil jsem přepsat příponu na *.asm , ale nic. Poradíte v jakém programu by šel tenhle zdrojový kód přeložit do hex.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mety



Založen: Mar 06, 2005
Příspěvky: 634
Bydliště: Planeta Zem

PříspěvekZaslal: ne prosinec 12 2010, 11:49    Předmět: Citovat

Pravdepodobne to bude PICBASIC PRO Compiler , ale niesom si isty.
Skus ho niekde na nete stiahnuť a potom tie subory v tom otvoriť.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: ne prosinec 12 2010, 13:51    Předmět: Citovat

Tak jo. Stahnul jsem "MicroCode Studio" včetně "PicBasic Pro compiler". A vypadá to že by si s tímhle kódem poradil, jenže je to pouze demo a ta zvládne pouze 31řádků, navíc je to jen pro PIC16... Neznáte někdo odkaz na jiný program?
Díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
majsi



Založen: Jan 23, 2010
Příspěvky: 51

PříspěvekZaslal: ne prosinec 12 2010, 18:40    Předmět: Citovat

Este Ti ostava jedna moznost. Cele to prepisat do svojho jazyka. Co som pozeral tak ten kod je celkom zrozumitelne napisany Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: po prosinec 13 2010, 12:12    Předmět: Citovat

O to se teď snažím. V Basicu je to jednoducé. Došel jsem až k části:

PrintDataLcd: for x = 1 to 8 ' ispis na Lcd
SDIN = LcdReg.7
LcdReg = LcdReg << 1
SCK = 1
SCK = 0
next x
D_C = 1
return
Pomohl bys mi přložit do assembleru jak na pin SDIN vyvést 8bitů z proměnné LcdReg?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
majsi



Založen: Jan 23, 2010
Příspěvky: 51

PříspěvekZaslal: po prosinec 13 2010, 14:15    Předmět: Citovat

Fuu teraz si ma dostal Very Happy s asm pre pic som dlho nerobil. Ale urcite nato prides je to jednoduchy cyklus.

movlw 0
movwf x

cyc:
incf x, 1
btfsc x, 3
goto end
btfsc LcdReg, x
goto set_1
bcf PORTB, 4
goto pok

set_1:
bsf PORTB, 4
pok:
movlw 1
movwf SCK
movlw 0
movwf SCK
goto cyc

end:

No snad som to velmi nepokazil Wink
btfsc LcdReg, x toto si niesom isty ci je mozne to takto zapisat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: po prosinec 13 2010, 15:13    Předmět: Citovat

když vynecham cyklus, šlo by to i takhle?

bsf SCK
btfsc LcdReg,7
bsf SDIN
bcf SDIN
bcf SCK
bsf SCK
btfsc LcdReg,6
bsf SDIN
bcf SDIN
bcf SCK

a tak pro všech osm bitů 7,6,5...0 ??? sice žádná paráda, ale co.
Dík za tvůj čas.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: po prosinec 13 2010, 15:52    Předmět: Citovat

Dá se to přeložit pěkně příkaz po příkazu.

kód:
Ramstart  equ    0ch             ; začátek RAM pro PIC16F84
Lcdreg    equ    Ramstart+1      ;
Counter   equ    Lcdreg+1       ;
 
#define   SDIN   PORTB,0
#define   SCK    PORTB,1
#define   D_C    PORTB,2


PrintDataLcd:
;for x = 1 to 8   
      movlw    8
      movwf    Counter
loop:
;SDIN = LcdReg.7
      bcf      SDIN
      btfsc    Lcdreg,7
      bsf      SDIN
;LcdReg = LcdReg << 1
      rlf      Lcdreg,1
;SCK = 1     
      bsf      SCK
;SCK = 0
      bcf      SCK
;next x
      decfsz   Counter,1
      goto     loop
;D_C = 1
      bsf      D_C
      return
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
majsi



Založen: Jan 23, 2010
Příspěvky: 51

PříspěvekZaslal: po prosinec 13 2010, 16:02    Předmět: Citovat

fery25 napsal(a):
když vynecham cyklus, šlo by to i takhle?

bsf SCK
btfsc LcdReg,7
bsf SDIN
bcf SDIN
bcf SCK
bsf SCK
btfsc LcdReg,6
bsf SDIN
bcf SDIN
bcf SCK

a tak pro všech osm bitů 7,6,5...0 ??? sice žádná paráda, ale co.
Dík za tvůj čas.


bude to fungovat. nemas prehodene
bcf SCK
bsf SCK
???
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: po prosinec 13 2010, 17:45    Předmět: Citovat

kód:
  btfsc LcdReg,7
  bsf SDIN
  bcf SDIN

Takto to nejde, bit SDIN by byl vždy 0, protože
1. Pokud je LcdReg,7=0, skočí na řádek "bcf SDIN".
2. Pokud je LcdReg,7=1, jde na řádek "bsf SDIN" a pak na "bcf SDIN".
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: po prosinec 13 2010, 20:40    Předmět: Citovat

Zamýšlel jsem to tak, že:
SCK použiju jako hodinový signál pro lcd, tedy do času SCK=1 + SCK=0 se musí vejít 1.bit takže myslím, že přehozené nejsou, alespoň doufám.

AB1: "Takto to nejde, bit SDIN by byl vždy 0, protože
1. Pokud je LcdReg,7=0, skočí na řádek "bcf SDIN".
2. Pokud je LcdReg,7=1, jde na řádek "bsf SDIN" a pak na "bcf SDIN"

No ale na 1/4 taktu se na SDIN objeví log.1 Myslíš, že je to příliš krátká doba? Mám přidat NOP?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
majsi



Založen: Jan 23, 2010
Příspěvky: 51

PříspěvekZaslal: po prosinec 13 2010, 22:23    Předmět: Citovat

ono fungovat to moze. len to nieje dobry navyk. treba si pozriet datasheet a casy ktore display potrebuje. ide o to ze ak je ten display dost rychli tak ti pri nahodeni SCK precita SDIN ktory je ale vzdy 0. az po par cykloch sa nastavi na 1 a potom sa v zapati zhodi na 0. cize si display bude citat vzdy 00000000.

inak AB1 to napisal pekne Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: po prosinec 13 2010, 23:13    Předmět: Citovat

citace:
No ale na 1/4 taktu se na SDIN objeví log.1 Myslíš, že je to příliš krátká doba? Mám přidat NOP?

To je nesmysl.
Data se přenesou při sestupné hraně SCK. A v tom okamžiku mají hodnotu 0. Co bylo předtím, to už odnés čas.

Ostatně není zvykem měnit data během SCK pulsu.
Běžnější je způsob jako v originálním kódu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fery25



Založen: Dec 12, 2010
Příspěvky: 11

PříspěvekZaslal: út prosinec 14 2010, 7:45    Předmět: Citovat

Díky
To jsem nevěděl, myslel jsem, že stačí během taktu přivést log.1 a bit bude bán jako 1. Proto jsem se snažil před ukončením taktu změnit SDIN zase na 0, aby náhodou nepřesáhl do dalšího taktu. Předělám.
Ještě jednou dík.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JG



Založen: Nov 15, 2010
Příspěvky: 7

PříspěvekZaslal: pá leden 21 2011, 19:46    Předmět: Re: převod pbp do hex Citovat

Zdravim,
ak o to mas este zaujem, tak dekodovat HEX kod sa da v ktoromkolvek MPLAB-e.
Temp1Lcd12F675-Ds18B20.txt - takto to vyzera
Temp2Lcd12F675-Ds18B20.asm - takto to musis upravit aby ti to zobral MPLAB pre editaciu.
Ak este mas zaujem upravit displej, mozem strucne popisat kde to treba hladat. Zaciatok obrazcov je v druhej polovici EEPROM, pokracovanie v prikazoch RETLW ... . Niektore znaky sa menia cez systemove premenne podla teploty +, -, a nad, asi 50stupnov.
Sposob vykreslovania displeja je vzdy po 8 riadkoch vzdy stlpec 8 bit z hora dole. Treba si pozriet katalogovy list.
Prave na tom tiez pracujem, ale pre displej 96x64 bodov. Dufam ze to budem mat hotove do dvoch mesiacov. Chcem vacsi ciselny udaj, a pripadne 2 snimace. Potom to zverejnim.
Prajem vela zdaru.



Temp1Lcd12F675-Ds18B20.txt
 Komentář:

Stáhnout
 Soubor:  Temp1Lcd12F675-Ds18B20.txt
 Velikost:  32.03 kB
 Staženo:  104 krát


Temp2Lcd12F675-Ds18B20.asm
 Komentář:

Stáhnout
 Soubor:  Temp2Lcd12F675-Ds18B20.asm
 Velikost:  23 kB
 Staženo:  104 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund