Náhodné spínání??

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

Moderátor: Moderátoři

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

Náhodné spínání??

#1 Příspěvek od jirka89 »

Zdravím! Mohl by mi někdo helpnout? Potřeboval bych program, který by generoval náhodný stav (1 nebo 0) na výstupu AT89C2051, pomocí assembleru. Půjde to?
Uživatelský avatar
caven
Příspěvky: 417
Registrován: 15 srp 2006, 00:00

#2 Příspěvek od caven »

generátor pseudořady ;)
Uživatelský avatar
jirka89
Příspěvky: 271
Registrován: 24 úno 2006, 00:00
Bydliště: Zlín

#3 Příspěvek od jirka89 »

A ten generátor je co? Nikdy jsem o tom nic neslyšel.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#4 Příspěvek od ZdenekHQ »

Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
caven
Příspěvky: 417
Registrován: 15 srp 2006, 00:00

#5 Příspěvek od caven »

tady jsem něco vyhrabal něco co jsemdělla ve škole, je to sice pro pic, ale to se dá jednoduše přepsat

Kód: Vybrat vše

;pseudorada
indf     equ     0x00   
tmr0     equ     0x01
pcl      equ     0x02
status   equ     0x03
fsr      equ     0x04
porta    equ     0x05
portb    equ     0x06
eedata   equ     0x08
eeadr    equ     0x09
pclath   equ     0x0A
intcon   equ     0x0B
optireg  equ     0x81   
trisa    equ     0x85
trisb    equ     0x86
eecon1   equ     0x88
eecon2   equ     0x89
buffer0  equ     0x4E
jedn     equ     0x4F
pseudo   equ     0x20
jedna    equ     0x24
nula     equ     0x25
i        equ     0x23
cjed     equ     0x21
cnul    equ    0x22
djed     equ     0x26
dnul    equ    0x27
tjed     equ     0x28
tnul    equ    0x29
sjed     equ     0x2A
snul    equ    0x2B
pjed     equ     0x2C
pnul    equ    0x2D
xjed     equ     0x2E
xnul    equ    0x2F
w        equ     0       
f        equ     1       
#define carry   status,0
#define dcarry  status,1
#define zero    status,2


;Nastaveni podminek
      movlw   B'00000111'
      movwf   pseudo
      clrf   jedna
      clrf   nula
      clrf   cjed
      clrf   cnul
      clrf   djed
      clrf   dnul
      clrf   tjed
      clrf   tnul
      clrf   sjed
      clrf   snul
      clrf   pjed
      clrf   pnul
      clrf   xjed
      clrf   xnul
   ;   movlw   H'FF'
   ;   movwf   i


;Hlavni program   
start   movf   pseudo,w
      movwf     buffer0
        clrf    jedn
        bcf      carry
        btfsc   buffer0,1
        incf    jedn,f
        btfsc   buffer0,2
        incf    jedn,f
        btfsc   buffer0,3
        incf    jedn,f
        btfsc   buffer0,7
        incf    jedn,f         
        movf   jedn,w
      call   dek
      movwf   buffer0
        btfsc   buffer0,0
        bsf      carry
        btfss   buffer0,0
        bcf      carry
        rlf      pseudo,f         
      decf   i,f
      btfss   zero
      goto   start
      goto   konec
   
dek      addwf   pcl,f
      retlw   b'0'
        retlw   b'1'
        retlw   b'0'
        retlw   b'1'
        retlw   b'0'
       
konec   nop
        goto   konec
       
   END



dej vědět jak to dopadlo

jo jak tak koukám, tak nahoře zůstalo nadefinování proměných které nejsou potřeba, ale na to přijdeš
Uživatelský avatar
caven
Příspěvky: 417
Registrován: 15 srp 2006, 00:00

#6 Příspěvek od caven »

tak jsem ti to přepsal pro AVR, 8051 moc neumím ;) ale máš dva stejné zdrojáky tak přepsat si to snad už dokážeš ne ?

Pokud ten zdroják chceš tak si napiš na SZ


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

#7 Příspěvek od jirka89 »

Dík moc! To už bych mohl zvládnout!
Odpovědět

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