Giao tiếp máy tính
lượt xem 159
download
Tài liệu tham khảo khối Usart, ứng dụng giao tiếp vi điều khiển với máy tính
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giao tiếp máy tính
- Bài 6: Giao tiếp máy tính Nội dung Khối USART Ứng dụng giao tiếp vi điều khiển với máy tính
- USART Universal Synchronous Asynchronous Receiver Transmitter Synchronous: giao tiếp với các thiết bị ngoại vi như các IC A/D, D/A, EEPROMs Asynchronous: giao tiếp với máy tính PC
- USART trong PIC16F877A 5 thanh ghi quan trọng: 2 thanh ghi chức năng TXSTA, RCSTA 2 thanh ghi dữ liệu RCREG, TXREG Thanh ghi tốc độ Baud: SPBRG
- TXSTA CSRC: Clock Source Select bit Chế độ bất đồng bộ: không quan tâm Chế độ đồng bộ: 1->chế độ Master( clock từ BRG) 0->chế độ Slave( clock từ bên ngoài) TX9 : 9-bit Transmit Enable bit: chọn chế độ truyền 9 bit: ( =1: 9 bit, =0: 8 bit ) TXEN : Transmit Enable bit =1: cho phép truyền , =0: cấm SYNC : USART Mode Select bit Chọn chế độ truyền đồng bộ hay không đồng bộ( =1: đồng bộ, =0: không đồng bộ ) BRGH : High Baud Rate Select bit Chỉ hoạt động ở chế độ bất đồng bộ: chọn tốc độ cao hay thấp ( =1 HIGH, =0: LOW ) TRMT : Transmit Shift Register Status bit bít báo trạng thái của bộ đệm: =1: TSR rỗng( dữ liệu đã được truyền xong ), =0: TSR đầy ( dữ liệu còn trong bộ đệm của UART ) TX9D : 9th bit of Transmit Data, can be Parity bit giá trị của bít thứ 9 trong chế độ truyền 9 bit.
- RCSTA Bit 7 SPEN Serial Port Enable bit( = 1 Cho phép cổng giao tiếp USART ) Bit 6 RX9 9-bit Receive Enable bit( = 1 nhận 9 bit dữ liệu, = 0 nhận 8 bit dữ liệu) Bit 5 SREN Single Receive Enable bit Ỡ chế độ USART bất đồng bộ: bit này không cần quan tâm. Ở chế độ USART Master đồng bộ:( = 1 cho phép chức năng nhận 1 byte dữ liệu (8 bit hoặc 9 bit)) Bit 4 CREN Continous Receive Enable bit Ở chế độ bất đồng bộ:( = 1 cho phép nhận 1 chuỗi dữ liệu liên tục) Ở chế độ đồng bộ:(= 1 cho phép nhận dữ liệu cho tới khi xóa bit CREN, = 0 không cho phép nhận chuỗi dữ liệu) Bit 3 ADDEN Address Detect Enable bit Ở chế độ USART bất đồng bộ 9 bit ADDEN = 1 cho phép xác nhận địa chỉ, khi bit RSR được set thì ngắt được cho phép thực thi và giá trị trong buffer được nhận vào. ADDEN = 0 không cho phép xác nhận địa chỉ, các byte dữ liệu được nhận vào và bit thứ 9 có thể được sử dụng như là bit parity. Bit 2 FERR Framing Eror bit( = 1 xuất hiện lỗi “Framing- sai bit Stop” trong quá trình truyền nhận dữ liệu Bit 1 OERR Overrun Error bit(= 1 xuất hiện lỗi “Overrun- tràn”) Bit 0 RX9D Bit này chứa bit dữ liệu thứ 9 của dữ liệu truyền nhận
- TXREG , RCREG , SPBRG TXREG: chứa dữ liệu truyền đi trong quá trình truyền RCREG: lưu dữ liệu từ ngoài vào trong quá trình nhận SPBRG: thiết lập tốc độ baud (BRGH=0) ( BRGH=1 )
- Quá trình truyền và nhận Quá trình nhận dữ liệu : Nhận biết lúc nào có dữ liệu truyền tới: Kiểu Polling: liên tục kiểm tra cờ RCIF( thanh ghi PIR1) nếu =1 thì đọc dữ liệu Kiểu dùng ngắt: được thiết lập bằng cách cho RCIE= 1 để cho phép ngắt. Tức là mỗi khi có dữ liệu truyền tới RCREG thì sinh ra một ngắt
- 1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG. 2. Cho phép quá trình truyền không đồng bộ bắng cách thiết lập SPEN = 1, SYNC= 0 3. Cho phép ngắt quá trình nhận dữ liệu: RCIE=1 4. Cho phép nhận dữ liệu : CREN = 1 5. Cho phép ngắt toàn cục băng việc GIE =1, PEIE = 1 ( GIE, PEIE trong thanh ghi INTCON ) 6. Xử lý các phần khác chương trình khi có ngắt xảy ra thì xử lý dữ liệu
- Quá trình truyền và nhận Quá trình truyền dữ liệu 1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG 2. Cho phép quá trình truyền không đồng bộ bắng cách thiết lập SPEN = 1, SYNC= 0 3. Cho phép truyền dữ liệu bằng cách thiết lập bít TXEN = 1 4. Khi cần truyền dữ liệu chỉ cần Load dữ liệu đó lên TXREG
- CCS
- #use rs232 (options) options được tách nhau bởi dấu phẩy, và có thể là: BAUD=x// Đặt baud rate parity=N// Đặt parity XMIT=pin// Đặt chân truyền RCV=pin// Đặt chân nhận Bits=x// Số bit Ví dụ: #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
- - value = getc() value = fgetc(stream) value=getch() value=getchar() Hàm này trả về 1 giá trị kí tự 8 bit. Hàm này có tác dụng nhận về 1 kí tự từ chân nhận - putc (cdata) putchar (cdata) fputc(cdata, stream) Hàm này không trả về giá trị,nó có tác dụng đặt 1 kí tự lên chân truyền
- - gets (string) value = fgets (string, stream) Nó có tác dụng nhận 1 xâu từ chân nhận - puts (string) value = fputs (string, stream) Đặt 1 xâu lên chân truyền - printf (string) printf (cstring, values...) printf (fname, cstring, values...) fprintf (stream, cstring, values...) chức năng như hàm puts()
- - value = kbhit() value = kbhit (stream) Hàm naỳ trả về 1 (hoặc TRUE) nếu 1 kí tự đã được nhận. - setup_uart(baud, stream) setup_uart(baud) set_uart_speed (baud, [stream, clock]) perror(string);
- Bài toán
- Chương trình chính S Kbhit() Đ Đọc giá trị từ cổng Com Đẩy ra PORTD Đẩy data lên máy tính
- #include #include #device *=16 ADC=8 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) char h_thi; void main() {trisd=0x00;//dau ra portd=0x00;//ban dau led tat while(true) { if(kbhit()){ h_thi=getc(); portd=h_thi; putc(h_thi); }; } }
- Bài toán Truyền 1 số có 3 chữ số ( < 256) từ máy tính xuống. Vi điều khiển nhận và hiển thị giá trị nhận được lên các led ở portd. Chẳng hạn: Ta truyền số 255 thì tất cả các led ở portd đều sáng
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giao tiếp máy tính qua cổng COM
3 p | 1817 | 399
-
Hướng dẫn giao tiếp máy tính từ A đến Z
42 p | 440 | 158
-
CHƯƠNG 9 LẬP TRÌNH GIAO TIẾP MÁY TÍNH VÀ THIẾT BỊ
20 p | 354 | 102
-
BÁO CÁO “QUANG BÁO DÙNG VI ĐIỀU KHIỂN GIAO TIẾP VỚI MÁY TÍNH ”
17 p | 305 | 89
-
Lập trình máy tính - giao tiếp giữa PC và vi điều khiển
78 p | 480 | 56
-
10. Giao tiep may tinh
8 p | 233 | 55
-
Kiến trúc máy tính - Chương 1
44 p | 222 | 50
-
C Giao tiếp máy tính
15 p | 153 | 33
-
card giao tiếp máy tính
21 p | 112 | 20
-
10 phút học máy tính mỗi ngày - Bộ nhớ và ổ đĩa DVD part 6
8 p | 98 | 18
-
Ghi chép sơ lược về giao tiếp với máy tính qua cổng COM với VĐK PIC
7 p | 140 | 14
-
Quản lý thiết bị từ xa
4 p | 64 | 8
-
Bài giảng Kỹ thuật giao tiếp máy tính - ThS Nguyễn Tấn Phúc
42 p | 34 | 8
-
Giáo trình Máy tính điện tử: Phần 2
137 p | 90 | 7
-
Giáo trình Máy tính và mạng máy tính: Phần 2
67 p | 21 | 7
-
Giáo trình Phần cứng máy tính (Ngành: Lập trình máy tính - Trình độ: Trung cấp) - Trường Trung cấp Kinh tế - Kỹ thuật Bình Thuận
77 p | 2 | 2
-
Giáo trình Sửa chữa máy tính (Ngành: Quản trị mạng máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc
182 p | 4 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn