làm thế nào để gửi dữ liệu đến Vi điều khiển?

N

nofnof

Guest
làm thế nào tôi có thể gửi dữ liệu để sử dụng HyperTerminal ATmega8515, tôi đã kết nối các vi điều khiển cho một MAX232 và các pc với max232 sử dụng cáp nối tiếp RS232
Tôi đã kết nối chúng như là các đồ thị trong attachmnt, và tôi đã lập trình bộ vi điều khiển bằng chương trình này trước khi nó conneting với max232 và hyperteminal

chương trình:

;************************************************* **************************
; * File Name: uart.asm
; * Tiêu đề: UART dựa trên giao tiếp RS232
; * Target MCU: AT90S8515
; *
; * DESCRIPTION
; * Kiểm tra các UART dựa trên giao tiếp RS232
;************************************************* **************************

;***** Chỉ thị
thiết bị atmega8515.
. nolist
bao gồm ". m8515def.inc"
. danh sách

def temp = R16.;***** Interrupt vector table

rjmp RESET; Đặt lại xử lý
Reti; ngoài Interrupt0 xử lý
Reti; ngoài Interrupt1 xử lý
Reti; T/C1 Capture Interrupt xử lý các sự kiện
Reti; T/C1 CompareA Gián đoạn xử lý
Reti; T/C1 CompareB Gián đoạn xử lý
Reti; T/C1 Overflow Interrupt xử lý
Reti; T/C0 Overflow Interrupt xử lý
Reti; SPI Transfer Complete Interrupt xử lý
Reti; UART Rx Complete Interrupt xử lý
Reti; UART liệu đăng ký rỗng Gián đoạn xử lý
Reti; UART Tx Complete Interrupt xử lý
Reti; Analog sánh Gián đoạn xử lý;***** Subroutines

uart_init:
SBI UCSRB, RXEN; Rx Enable
Ldi R18, $ 80
OUT UCSRC, R18
Ldi R18, $ 86
OUT UCSRC, R18
Ldi R18, $ 06
OUT UCSRC, R18
ldi temp, 51; Baudrate 9.600 @ 8MHz clock
ra UBRRL, temp
ldi r18, $ 00
ra UBRRH, R18
ret

getc:TRONG TEMP, UDR
OUT PORTA, TEMP
ret

;***** ChínhRESET:
ldi temp, LOW (RAMEND)
out SPL, temp; khởi SPL
ldi temp, HIGH (RAMEND)
out SPH, temp; khởi SPH

rcall uart_init; Initialize UARTloop: sbis UCSRA RXC;, Chờ cho nhân vật
rjmp loop
rcall getc; Đọc ký tự từ RS232rjmp loop; Lặp lại bất tậnđiều này là đúng?ive gửi dữ liệu và theres không có phản ứng!

Xin lỗi, nhưng bạn cần phải đăng nhập để xem tập tin đính kèm này

 
Sử dụng ngôn ngữ C, có thể giúp bạn tiết kiệm được rất nhiều từ khó khăn.Btw, cho chúng ta cũng thật giản đồ của bạn.

 
Ở đây bạn đang có một tập tin để gửi dữ liệu đến AT90S8515, mặc dù chip là defferent, tôi nghĩ rằng nó có thể giúp đỡ.Đây là mã in đậm.
-------------------------------------------------- ------------------------bao gồm ". 8515def.inc"def temp = R16.org $. 000rjmp bắt đầuorg $. 009rjmp nhận
bắt đầu:CLIldi temp, $ 5Fout spl, templdi temp, $ 02out SPH, templdi temp, $ 90ra ucr, templdi temp, $ 40ra usr, templdi temp, $ 33ra ubrr, temptrong temp, udrldi temp, $ ffra temp DDRC,ldi temp, $ ffra temp portc,sei
main_loop:rjmp main_loop
tiếp nhận:trong temp, udrcom tempra temp portc,Reti-------------------------------------------------- -------------

 
glenjoy đã viết:

Sử dụng ngôn ngữ C, có thể giúp bạn tiết kiệm được rất nhiều từ khó khăn.
Btw, cho chúng ta cũng thật giản đồ của bạn.
 
Hãy thử này và nếu nó hoạt động, sau đó bạn có thể phát triển nó.

 

Welcome to EDABoard.com

Sponsor

Back
Top