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
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