컨트롤러"8051에

N

nerdspot

Guest
내가 좀 dunfield 사이트에서 코드를 온라인으로 두드리는, 그렇다고 그것을 수정한있어 내 AT89C51을 위해 사용.내가 3.5795Mhz 클럭 300 보오 전송 속도를 사용하고있습니다.어떤 하나의 유효한 비트 코드를 깨는 나 좀 도와 줄래?그것은 숫자 9를 전송하고 다른 8051에 대한 수신 및 port0에 대한 결과가 표시 8 개 LED가있어.이제 문제는, 내가, 모든 LED가 빛을 때로는, 그들이 불빛을 무작위로 연결됩니다.제발 도와주세요 ..
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
귀하의 코드 :
코드 :

; Rx 다른 AT89C51에서

보내기 EQU P1.0;이 핀에 전송

Recv EQU P1.1;이 핀에 받기

; 직렬 전송 속도의 프로세서 크리스탈에 의해 결정됩니다

;이 상수가 계산됩니다 : (((크리스탈 / 보오) / 12) - 5) / 2

BITTIM EQU 494; (((300분의 3,579,545) / 12) - 5) / 2

;

getc :

루프 :

JB에요 Recv, 루프; 시작 비트를 기다려

MOV R0, # BITTIM / 2; 잠깐, 1 / 2 비트 시간

loop1 :

DJNZ R0, loop1; 중간에 샘플

JB에요 Recv, getc; 유효한 보험

MOV R1, # 8; 읽기 8 비트

getc1 :

MOV R0, # BITTIM; 잠깐의 전체 비트 시간

loop2 :

DJNZ R0, loop2; 데이터 비트에 대한

MOV C를 Recv; 읽기 비트

RRC; ACC로 전환

DJNZ R1, getc1; 8 비트 읽기

MOV P0,끝
 
그럼 내가 어떻게 모든 데이터를 표시합니까?마 전 루프 TXD와 RxD 지침은?bitbanging 코드 내 수정 맞습니까?올린날짜 6 분 후 :그래서 달러를, 그것거야 루프를 돌아 첫 번째 주소에 ..맞죠?하지만 난 송신기가 그렇게 할 필요도, 아니면 모든 데이터, 올바른받을 수 들먹여?

 
is equivalent to :

SJMP $하는
것과 같습니다 :
코드 :

자 :

여기 SJMP
 
멋지다 ..들으 사람이 ..내일 게시물을 .. 그것을 시도합니다

for the transmitting too?

난 너무 SJMP
전송 달러를
넣어야만 하나요?

 
인용구 :

난 너무 SJMP 전송 달러를 넣어야만 하나요?
 
언제 내가 코드를 수정 코드 ()를 실행하는 모두는 송신과 수신 uc, 아니 LED가 발광.
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
송신기 :
코드 :

; Tx는 한 AT89C51

보내기 EQU P1.0;이 핀에 전송

Recv EQU P1.1;이 핀에 받기

; 직렬 전송 속도의 프로세서 크리스탈에 의해 결정됩니다

;이 상수가 계산됩니다 : (((크리스탈 / 보오) / 12) - 5) / 2

BITTIM EQU 494; (((300분의 3,579,545) / 12) - 5) / 2

;

; TXD 라인을 통해 전송 문자putc :

MOV, 9

CLR을 보낼 때 시작 비트에 대한 드롭 라인

ACALL bittime; 시작 비트

MOV R1, # 8; 8 비트 보내기

putc1 :

RRC; 수행에 다음 비트 이동

MOV 보내려는 C; 다음 비트 쓰기

ACALL bittime; 데이터 비트

DJNZ R1, putc1; 8 비트를 작성

SETB을 보낼 때 라인을 하이로 설정

ACALL bittime; 비트 그만

SJMP putcbittime :

MOV R0, # BITTIM; 잠깐의 전체 비트 시간

DJNZ R0, $

RET끝
 
안녕,

budhy 썼습니다 :

수신기 공급 장치를 켜고, 송신기에서 설정 후 첫
 

Welcome to EDABoard.com

Sponsor

Back
Top