Gast
#1947872
Hallo,
Ich habe ein Problem und zwar empfangen der Daten über die Serielle
Schnittstelle, UART mit µController. Senden von Mikrokontroller zu PC
klappt aber nicht andersherum. Ich hoffe der Assemblercode ist
verständlich:
--------------------------------------------------------
CPU 8051
INCLUDE REG_8252.INC ;
INCLUDE HWS52_02.LIB ;allgemeine Hilfsprogramme
;INCLUDE HWSADDA.LIB ;AD/DA Wandler Hilfsprogramme
ORG 0
Ljmp start
org 23h
mov sp,#2Fh; Specialfunktion Register auf die Adresse..
start:
ioinit: anl pcon,#01111111b ;Bit SMOD=0 bei 9600 Baud
mov th1,#253 ;Reloadwert ins Timer-HByte
mov tl1,#253 ;Anfangswert Timer
anl tmod,#00001111b ;8-Bit-Timer1 mit Reload
orl tmod,#00100000b ;
setb tr1 ;Start Timer1
mov scon,#01010000b ;8-Bit-UART, Empfang zulassen
clr es ;kein serieller Interrupt
clr et1 ;kein Timer-Interupt
loop:
JNB RI,EMIT_IT ; testen ob es empfang gibt
CLR RI ; für nächsten empfang den Bit löschen
MOV A,SBUF ; Lese Data von Uart
MOV SBUF,A ; schreibe nach Uart
LJMP END_IT
EMIT_IT:
CLR TI
END_IT:
mov P2, A ; Daten an Port 2 (LED)
sjmp loop
------------------------------------------------
kann mir jemand sagen was ich falsch gemacht habe. Hab schon alles
mögliche versucht aber der Port gibt immer das gleiche aus(Binär:
00001101)
Ich hoffe ihr könnt mir weiterhelfen...
MfG
Alex