Serial komunikasi.

T

tumee

Guest
Harap dapat satu membantu saya?
Aku menulis di bawah ini kode sederhana di asm.Tetapi tidak berhasil.
Jadi aku telah menggunakan simulasi Keil compiler.Itu bekerja.
Tapi itu tidak bekerja pada perangkat keras.Aku diatur baundrate ke 9600, kristal untuk 11.0592MHz.Mengapa hal ini tidak bekerja?

ORG 00h
START:
; Aktifkan port transmisi.
; MOV SP, # 050H
MOV SCON, # 050H; Mode 1, 8-bit UART, memungkinkan penerima
MOV TMOD, # 020H; Timer 1, mode 2, 8-bit reload
MOV TH1, # 0FdH; Reload nilai 9.700 baud
SETB TR1; Buat timer
SETB TI; Hapus buffer
SETB EA; Aktifkan interupsi

MOV P2, # 0FFH
MOV A, P2
CLR C
SUBB A, # 0FFH
JZ HERE

MOV P2, A
CLR TI
MOV SBUF, A
JNB TI, $
HERE: CLR TI
MOV SBUF, # 054H
JNB TI, $
CLR TI
MOV SBUF, # 075H
JNB TI, $
CLR TI
MOV SBUF, # 06DH
JNB TI, $
CLR TI
MOV SBUF, # 065H
JNB TI, $
CLR TI
MOV SBUF, # 065H
JNB TI, $
CLR TI
MOV SBUF, # 021H
JNB TI, $

CALL DELAY
LJMP START

DELAY:
MOV R6, # 100
Loops: MOV R7, # 100
DJNZ R7, $
DJNZ R6, Loops
RET

ENDPlease help me.

 
tumee
meningkatkan untuk freq 20MHz mencobanya dan mengatakan kepada kita nilai-nilai

 
CODE ANDA SANGAT -----------??

Aku UPLOAD KODE YANG BEKERJA UNTUK SAYA 9600B / S DENGAN XTAL 11.0592MHz

Quote:;------------------------------------------------- ---------------------

ORG 0000H;

LJMP 0030H;

;------------------------------------------------- ---------------------

ORG 0023H;

LJMP SERIAL;

;------------------------------------------------- ---------------------

ORG 0030H

; SERIAL ------------------------------------------------ ----------------MOV SP, # 050H

CLR TR1;

MOV TH1, # 0FAH;

MOV TL1, # 0FAH;

ANL TMOD, # 0FH;

ORL TMOD, # 20H;

SETB TR1;

MOV SCON, # 50H;

SETB TI;

ORL PCON, # 080H;

MOV IE, # 090H;

;------------------------------------------------- ---------------------; MENULIS KODE ANDA DI SINI UTAMA LINE =================

;------------------------------------------------- -------------------

; SERIAL VEKTOR LOKASI

TRANS: CLR TI;

Réti;SERIAL: JB TI, TRANS;

CLR RI;; MENULIS KODE ANDA DI SINI SERIAL MENERIMA =================Réti

;------------------------------------------------- ---------------------;------------------------------------------------- ---------------------

DELAY:

MOV R7, # 0BH;

Y1: MOV R6, # 0BH;

Y0: DJNZ R6, Y0;

DJNZ R7, Y1;

RET;;------------------------------------------------- -------------

END

;------------------------------------------------- -------------

 
cek link ini untuk komunikasi serial
http://www.dnatechindia.com/index.php/Code-Library/8051_ASSEMBLY/Serial-Communication.html
Kode di sana adalah kerja

 
Aku melakukan penembakan elektron sasaran.89c52 dapat menerima data dari sensor?
Apa pendapat Anda tentang kecepatan 89c52?Help me please.

 
pengontrol tidak dapat secara langsung menerima data dari sensor.
menggunakan senjata laser di akhir dan memodulasi sinyal yang ditransmisikan, pada akhir penerima menggunakan foto dioda dan foto dioda memberikan sinyal untuk LM567 yang merupakan PLL, mengatur frekuensi PLL pusat sama dengan Laser termodulasi frekuensi, sehingga setiap kali foto dioda menerima sinyal yang sama dengan pusat frekuensi PLL yang o / p dari perubahan PLL, hal ini dapat langsung dihubungkan ke 8.952

 
Silakan baca bab 10

8.051 Microcontroller buku oleh Muhammad Ali Mazadi

 
Bagaimana saya dapat menghitung komunikasi serial baudrate dari 89c52.
Saya ingin menetapkan 57.600 oleh 11059200Hz.
Please help me.
Dan kalau ada yang tahu keyboard PS2 port.Tolong beritahu saya bagaimana bisa mengirim data ke port PS2 dari 89c52.

 
Anda tidak dapat mengatur baud rate dari 57.600 menggunakan 11.0592Mhz, Anda dapat menghasilkan maksimum sebesar 9600, yang dapat dua kali lipat menjadi 19.200.Di atas ini, Anda tidak dapat mendapatkan baudrate dengan kristal yang ada yang Anda gunakan.

 
tnk's
Jika menggunakan kristal 20MHz itu dapat mengatur baudrate 57.600.
Jika dapat mengatur bagaimana saya bisa menghitung dan menulis kode asm please help me

 
menggunakan formula ini untuk menghitung nilai-nilai Timer atau MAX baud rate yang dapat dihasilkan
TH1 = 256 - ((OSC freq./32) / Baud rate) jika PCON.7 = 0TH1 = 256 - ((OSC freq./16) / Baud rate) jika PCON.7 = 1

cek link ini untuk informasi lebih lanjut:
http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Serial-Communication.html

 
# include <AT89X51.H>unsigned int del, i, x, temp;

char getCharacter (void)
(
char chr; / / variabel untuk memegang karakter baru
sementara (RI! = 1) (;)
chr = SBUF;
RI = 0;
return (chr);
)
void send (char a)
(
SBUF = a;
sementara (TI! = 1);
TI = 0;
)

void main (void) (
char chr;
int i = 0, j = 0, count = 0, inc = 47; / / inc = 47
int index = 0;
P1 = 0x00;
P2 = 0x00;

SCON = 0x50; / / mode 1, 8-bit UART, memungkinkan penerima
TMOD = 0x20; / / timer 1, mode 2, 8-bit reload
TH1 = 0XE6; / / 1200
TL1 = 0XE6;
TR1 = 1;
TI = 0;
SBUF = 0;

while (1) (kode

)
)

 

Welcome to EDABoard.com

Sponsor

Back
Top