Czy możecie pomóc mi wyjaśnić tego zjawiska z 89C51

P

p

Guest
Szanowny Panie,

I'm stojących jakieś problemy, że nie mogę wyjaśnić i potrzebujemy Twojej pomocy.

I połączyć moje AT89C51, jak opisano poniżej:

- 40 (vcc) do 5 V (L7805)
- 20 (GND): aby Ground
- 31 (EA / Vpp) do vcc
- 8 Rezystory 10K są połączone między vcc i pin 39 do 32 (Port 0)
- Oscylator 30p kondensator jest podłączony jako typowy schemat.
- Reset (Power - o) jest podłączony jako typowy schemat

Ten program jest pobierany w dniu chip-ROM
Kod:

ORG 00h

MOV P0, # 0FFH

MOV P1, # 0FFH

MOV P2, # 0FFH

MOV P3, # 0FFH

MOV P0, # 11110000B

MOV P2, # 01010101B

MOV P1, # 10101010B

MOV P3, # 01010101B

KONIEC
 
Należy dodać nieskończonej pętli na końcu programu:

SPORZĄDZONO: JMP SPORZĄDZONO

Inaczej będzie po prostu uruchomić dziko poprzez kod niewykorzystane miejsca i zacząć
w ciągu 00h ponownie - szybciej, niż można mierzyć z woltomierz.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />/ Rambo

 
Aby Debug Mirocontrollers zawsze lepsze wykorzystanie narzędzi niż MULTIMETER ..
A zakres jest lepszym wyborem.

 
Półprzewodnikowych Hi!

Plz podjąć eltonjohn porad (użyć osciloscope lub symulator)

Anyway, jeśli nalegać na stosowanie Multimetr jest jeszcze posible!

Chodzi o "togle" logiczny poziom portów z bardzo niskie tempo (1-2 sekundy), aby Twoje Multimetr mogą śledzić zmiany.

Przykład:

Kod:

ORG 00hMOV P0, # 0FFH

MOV P1, # 0FFH

MOV P2, # 0FFH

MOV P3, # 0FFHponownie:MOV P0, # 11110000B

połączenia czekać

MOV P2, # 01010101B

połączenia czekać

MOV P1, # 10101010B

cal czekać

MOV P3, # 01010101B

połączenia czekaćJMP ponownie; w nieskończonej pętli, to XNOX_Rambo poradywait:nop; zrobić cokolwiek chcesz tu tylko tracić czas (1-2 sekundy) przed powrotem

nop

...

nop

retKONIEC
 
hi;

jako pierwsza odpowiedź mówi ci, jest twój problem "nie jest używany aloop na końcu programu, patrz na port1 na przykład, w pierwszym poruszasz 0ffH do portu 1 i po przetworzeniu wszystkich instrukcji procesora, to jest do końca swój peogram a następnie powrócić do pierwszego,
rozumieniu 0FFH można przenieść do p1 a następnie 01010101b do p1 i ponownie 0FFH do p1 i .....

Oznacza to, dają squer sygnał p1 więc woltomierz zawierał avereage z obecnie wprowadzane!

tylko po prostu korzystać z tej instrukcji na końcu programu (przed końcem słowo), JMP $

wszystko jest gotowe.

 
Cześć,

Moim zdaniem, twój mikrokontrolerem idzie w dalszym ciągu jest wyzerowany, ponieważ programy kończy się po Twojej ostatniej instrukcji wykonać instrukcje pętli, a także, aby można było zauważyć portu wartości utworzyć zwłoki.

 

Welcome to EDABoard.com

Sponsor

Back
Top