CHƯƠNG 4 ỨNG DỤNG
4.5 Nhận dữ liệu qua UART
Truyền thông giữa VĐK với máy tính, cần có bộ chuẩn hóa dữ liệụ Tín hiệu điện áp từ PC tại cổng COM là từ ±12v đến ±3v, trong khi đó, VĐK có chuẩn TTL 0v/5v. Trong thực tế, bộ chuẩn hóa thường dùng MAX232 như “Hình 4-10. Ghép nối VĐK với máy tính”.
Ví dụ này cho thấy làm thế nào để nhận được thông điệp gửi từ PC. Timer T1 tạo tốc độ baud. Thạch anh 11,0592 MHz để tạo tốc độ baud là 9600 bps khơng có lỗị Mỗi dữ liệu nhận được ngay lập tức được chuyển ra P1.
Vi xử lý - Vi điều khiển Các hệ Vi điều khiển tiên tiến
Hình 4-10. Ghép nối VĐK với máy tính
Hình 4-11. Nhận dữ liệu nối tiếp – mô phỏng
;************************************************************* ;* PROGRAM NAME : UartR.ASM
;* DESCRIPTION:Nhận dữ liệu từ UART, truyền thẳng xuống P1 ;******************************************************* CSEG AT 0
JMP XRESET ; Reset vector
ORG 023H ; Vector ngắt nối tiếp JMP IR_SER
ORG 100H
XRESET: MOV IE,#00 ; All interrupts are disabled MOV TMOD,#20H ; Timer1 in mode2
MOV TH1,#0FDH ; 9600 baud rate at the frequency of ; 11.0592MHz
MOV SCON,#50H ; Receiving enabled, 8-bit UART
XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 CLOCK=11.0592MHz RXD RTS TXD CTS
Vi xử lý - Vi điều khiển Các hệ Vi điều khiển tiên tiến MOV IE,#10010000B ; UART interrupt enabled
CLR TI ; Clear transmit flag CLR RI ; Clear receive flag SETB TR1 ; Start Timer1
LOOP: SJMP LOOP ; Remain here
IR_SER: JNB RI,OUTPUT ; If any data is received, ; move it to the port MOV A,SBUF ; P1
MOV P1,A
CLR RI ; Clear receive flag OUTPUT: RETI
END ; End of program
Mã nguồn 4-10. Nhận dữ liệu nối tiếp