8051 kódování problém

R

Rockyvud

Guest
Byl jsem se snaží kontrolovat žárovky přes rozhraní počítače a usign 8051 microcontroller.I myslíš, že jsem špatně někde v mikrokontroléru programování, může někdo mi říct, kde?Následující program

org 00h
MOV P2, # 00H
mov tmod, # 20H
mov scon, # 50H
MOV TH1, #
setb TR1
scan:
JNB ri, $
mov p2, sbuf
CLR ri
ŽMP scan
konce roku,

 
Jaký je váš přenosové rychlosti ..
MOV TH1, # co?

Code:

1 $ NOPAGING

2 $ MOD252

3

0000 4 org 00h

5

0000 75A000 6 MOV P2, # 00H

0003 7404 7 MOV A, # 04h; 9600bps ..

0005 120012 8 LCALL Ser_Setup

9

0008 10 scan:

0008 3098FD 11 JNB ri, $

000B 8599A0 12 mov p2, sbuf

000E C298 13 clr ri

0010 80F6 14 jmp scan

15

16; ================================================ =====================

17; Inicializovat Sériová komunikace = přenosovou rychlost

18, S cristal oscilátor z 11.059.200 hodnoty pro auto-reloded Timer1 je vypočítán pomocí

19; následujícího vzorce: 256-57600/BaudRate = TH1

20; Úplné vzorce: 256 - [2pwrSMOD/32] * [SC / (12 * přenosová rychlost)]

21

0012 22 Ser_Setup:

0012 758780 23 MOV PCON, # 80h

0015 759852 24 MOV SCON, # 52H

0018 758920 25 MOV TMOD, # 20h

001B 900.024 26 SetNewBaud: MOV DPTR, # přenosová rychlost

001E 93 27 MOVC, @ A DPTR

001F F58D 28 MOV TH1,

0021 D28E 29 SETB TR1

0023 22 30 RET

31

0024 FF 32 Rychlost: DB 0FFh; 57600 0

0025 FE 33 dB 0FEh; 28800 1

0026 FD 34 dB 0FDh; 19200 2

0027 FC 35 dB 0FCh; 14400 3

0028 FA 36 dB 0FAh; 9600 4

0029 F4 37 dB 0F4h, 4800 5

002A E8 38 dB 0E8h; 2400 6

002B D0 39 dB 0D0h; 1200 7

002C A0 40 dB 0A0h; 600 8

002D 40 41 DB 040h, 300 9

42

43

44; ================================================ ====================

45

46 konecVERZE 1.2h MONTÁŽ COMPLETE, 0 nalezených chyb

Přenosové rychlosti.
.
.
.
.
.
.
.
.
.
.
. C ADDR 0024H

P2.
.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 00A0H předdefinované

PCON.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 0087H předdefinované

RI.
.
.
.
.
.
.
.
.
.
.
.
.
.
. B ADDR 0098H předdefinované

SBUF.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 0099H předdefinované

SCAN.
.
.
.
.
.
.
.
.
.
.
.
.
. C ADDR 0008H

SCON.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 0098H předdefinované

SER_SETUP.
.
.
.
.
.
.
.
.
.
.
. C ADDR 0012H

SETNEWBAUD.
.
.
.
.
.
.
.
.
.
. C ADDR 001BH NEPOUŽITÉ

TH1.
.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 008DH předdefinované

TMOD.
.
.
.
.
.
.
.
.
.
.
.
.
. D ADDR 0089H předdefinované

TR1.
.
.
.
.
.
.
.
.
.
.
.
.
.
. B ADDR 008EH předdefinované
 
Přenosová rychlost je 9600 bps.
MOV TH1, # -3
Je toto právo na získání 9600 baudů?

 
Rockyvud napsal:Citace:

MOV TH1, # -3

Je toto právo na získání 9600 baudů?
 
Zkuste tyto,

MOV SCON, # 50H
MOV TMOD, # 20H
MOV TH1, # 0FDH, za 9600 přenosová rychlost n 11.0592MHZ
SETB TR1Přidáno po 1 minuta:Také jsem použít k CALL určitým zpožděním Rutinní PŘED SBUF (je-li smyčka)

 
Základní '51 UART problémů:
http://www.8052.com/users/jonled/RS232gd.pdf

wek

 

Welcome to EDABoard.com

Sponsor

Back
Top