Mạch phát triển PIC16F877A - vuson.tk
Số trang: 15
Loại file: pdf
Dung lượng: 349.52 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trang cá nhân : http://vn.360plus.yahoo.com/vuvanson_bk/ or vuson.tkĐã làm việc với VĐK và cụ thể là PIC chúng ta không thể không biết đến chuẩn I2C, đã có rất nhiểu bài viết nói vè cái này, nhưng một cách chi tiết cụ thể mình chưa thấy. Nhân ngày chủ nhật rỗi rãi xin trình bày với các bạn về chuẩn I2C Viết tắt của Inter-Intergrated Circuit – là một bus nối tiếp...
Nội dung trích xuất từ tài liệu:
Mạch phát triển PIC16F877A - vuson.tkNgười báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 1/15 Tutorial no 04.02Gửi đến: picvietnam@googlegroups.comNội dung: Mạch phát triển PIC16F877A MICROSOFT WORDTóm tắt: Giới thiệu chuẩn I2C1. Giới thiệu về chuẩn I2C Đã làm việc với VĐK và cụ thể là PIC chúng ta không thể không biết đến chuẩn I2C, đã có rất nhiểu bài viết nói vè cái này, nhưng một cách chi tiết cụ thể mình chưa thấy. Nhân ngày chủ nhật rỗi rãi xin trình bày với các bạn về chuẩn I2C Viết tắt của Inter-Intergrated Circuit – là một bus nối tiếp do Philip phát triển. Trước đây I2C chủ yếu được dùng trong việc chế tạo các hệ thống điện tử sử dụng chip của Philip. Ngày nay I2C được sử dụng rộng rãi trong việc kết nối các thiết bị ngoại vi tốc độ thấp vào các mạch tích hợp. I2C sử dụng 2 đường truyền tín hiệu 2 chiều (một đường clock và một đường data), sử dụng hiệu điện thế 5V và cùng được kéo lên cao(pull-ups) bằng điện trở. I2C hoạt động theo nhiều mode: mode chuẩn (standard mode) hoạt động ở tốc độ 100kbit/s, mode tốc độ thấp (low-speed mode) hoạt động ở tốc độ 10kbit/s. Tần số clock có thể cho xuống 0. I2C có sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể có 112 nút (16 địa chỉ được sử dụng vào mục đích riêng). Điểm mạnh của I2C là ở chỗ, một vi điều khiển có thể dùng để điều khiển cả một mạng thiết bị mà chỉ tốn 2 chân của vi điều khiển. Chính vì nguyên nhân đó mà I2C và SPI là hai chuẩn giao tiếp được sử dụng nhiều nhất trong các IC đặc biệt là các VĐK 8 bít.2. I2C trong VĐK PIC Ở Việt Nam Pic16x được sử dụng và đề cập nhiều nhất là 16F84, 16F628, 16F88, 16F87x. Trong đó: - 16F84, 16F628 ko tích hợp chuẩn I2C - 16F88 tích hợp I2C nhưng chỉ hỗ trợ chế độ Slave, ko dùng đựoc chế độ Master - 16F87x tích hợp I2C cả chế độ Master và Slave Do đó nếu muốn sử dụng chế độ Master với các chíp 16F84, 16F628, 16F88 chúng ta phải gây dựng bằng phần mềm, và đã có rất nhiều tài liệu đề cập đến cái này điển hình 1Người báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 2/15 nhất là Tutorial6 của ngài Nigel, các bạn hoàn toàn có thể tham khảo, hay copy paste code về I2C vào trong chương trình của mình, ( cũng ko nên tự gây dựng nấy vì nếu tự làm sẽ mất rất nhiều thời gian, và ko tối ưu ) Còn với 16F87x để sử dụng chuẩn giao tiếp I2C ta có thể dùng Hardware đã được tích hợp sẵn. Cái này dùng đơn giản hơn, code ngắn hơn và tối ưu hơn so với việc sử dụng Software. Do đó trong Project này tôi chỉ xin đề cập đến việc dùng I2C trong 16F87x3. Cách sử dụng I2C chế độ Master trong 16F87x 3.1. Các thanh ghi sử dụng trong PIC16F877A Trong Pic 16F87x có 3 thanh ghi điều khiẻn quá trình truyền và nhận dữ liệu: đó là SSPSTAT ( 94h bank 1), SSPCON1 ( 14H bank 0) và SSPCON2 ( 91H bank 1 ). Trong đó thì: SSPSTAT: - SMP chọn Speed chuẩn ( =1: 100kHz, 1MHz, =0 400KHz) - CKE - R/W báo rằng quá trình truyền vẫn đang diễn ra - BF báo rằng SSPBUF vẫn đang đầy ( trong cả hai trường hợp transmit, Receive ) SSPCON1 - WCOL : báo rằng có sự xếp chông dữ liệu - SSPEN enable chế độ I2C - SSPM3:SSPM0: chọn chế độ với chế độ I2C master: là 1000 2Người báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 3/15 SSPCON2 - ACKSTAT: Bít ACK được nhận từ Slave ( =0, chỉ dùng trong Transmit ) - ACKDT, ACKEN: dùng để phát bít ACK hay NACK từ Master ( trong chế độ Receive ACKDT =0 là ACK, =1 là NACK ) - RCEN : tín hiêu báo hiệu quá trình nhân ( chỉ dùng trong Receive: khi RCEN = 1, Master nhận tín hiệu từ Slave ) - PEN, RSEN, SEN: bit khởi tạo quá trình truyền Stop, Restart, Start Để điều khiển tốc độ baud của chế độ, người ta sử dụng thanh ghi SSPADD. I2C làm việc ở 3 chế độ chuẩn ( tất nhiên chỉ tương đối ) : 100Kb, 400Kb, 1Mb. Nếu ta dùng thạch anh 4M, và cần sử dụng tốc độ 100Kb ta phải nạp giá trì vào thanh ghi SSPADD là: 28H với tốc độ 400Kb ta cần giá trị là 0AH. Còn để lưu và nhận dữ liệu người ta dùng thanh ghi SSPBUF Như vây tổng cộng có cả t ...
Nội dung trích xuất từ tài liệu:
Mạch phát triển PIC16F877A - vuson.tkNgười báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 1/15 Tutorial no 04.02Gửi đến: picvietnam@googlegroups.comNội dung: Mạch phát triển PIC16F877A MICROSOFT WORDTóm tắt: Giới thiệu chuẩn I2C1. Giới thiệu về chuẩn I2C Đã làm việc với VĐK và cụ thể là PIC chúng ta không thể không biết đến chuẩn I2C, đã có rất nhiểu bài viết nói vè cái này, nhưng một cách chi tiết cụ thể mình chưa thấy. Nhân ngày chủ nhật rỗi rãi xin trình bày với các bạn về chuẩn I2C Viết tắt của Inter-Intergrated Circuit – là một bus nối tiếp do Philip phát triển. Trước đây I2C chủ yếu được dùng trong việc chế tạo các hệ thống điện tử sử dụng chip của Philip. Ngày nay I2C được sử dụng rộng rãi trong việc kết nối các thiết bị ngoại vi tốc độ thấp vào các mạch tích hợp. I2C sử dụng 2 đường truyền tín hiệu 2 chiều (một đường clock và một đường data), sử dụng hiệu điện thế 5V và cùng được kéo lên cao(pull-ups) bằng điện trở. I2C hoạt động theo nhiều mode: mode chuẩn (standard mode) hoạt động ở tốc độ 100kbit/s, mode tốc độ thấp (low-speed mode) hoạt động ở tốc độ 10kbit/s. Tần số clock có thể cho xuống 0. I2C có sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể có 112 nút (16 địa chỉ được sử dụng vào mục đích riêng). Điểm mạnh của I2C là ở chỗ, một vi điều khiển có thể dùng để điều khiển cả một mạng thiết bị mà chỉ tốn 2 chân của vi điều khiển. Chính vì nguyên nhân đó mà I2C và SPI là hai chuẩn giao tiếp được sử dụng nhiều nhất trong các IC đặc biệt là các VĐK 8 bít.2. I2C trong VĐK PIC Ở Việt Nam Pic16x được sử dụng và đề cập nhiều nhất là 16F84, 16F628, 16F88, 16F87x. Trong đó: - 16F84, 16F628 ko tích hợp chuẩn I2C - 16F88 tích hợp I2C nhưng chỉ hỗ trợ chế độ Slave, ko dùng đựoc chế độ Master - 16F87x tích hợp I2C cả chế độ Master và Slave Do đó nếu muốn sử dụng chế độ Master với các chíp 16F84, 16F628, 16F88 chúng ta phải gây dựng bằng phần mềm, và đã có rất nhiều tài liệu đề cập đến cái này điển hình 1Người báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 2/15 nhất là Tutorial6 của ngài Nigel, các bạn hoàn toàn có thể tham khảo, hay copy paste code về I2C vào trong chương trình của mình, ( cũng ko nên tự gây dựng nấy vì nếu tự làm sẽ mất rất nhiều thời gian, và ko tối ưu ) Còn với 16F87x để sử dụng chuẩn giao tiếp I2C ta có thể dùng Hardware đã được tích hợp sẵn. Cái này dùng đơn giản hơn, code ngắn hơn và tối ưu hơn so với việc sử dụng Software. Do đó trong Project này tôi chỉ xin đề cập đến việc dùng I2C trong 16F87x3. Cách sử dụng I2C chế độ Master trong 16F87x 3.1. Các thanh ghi sử dụng trong PIC16F877A Trong Pic 16F87x có 3 thanh ghi điều khiẻn quá trình truyền và nhận dữ liệu: đó là SSPSTAT ( 94h bank 1), SSPCON1 ( 14H bank 0) và SSPCON2 ( 91H bank 1 ). Trong đó thì: SSPSTAT: - SMP chọn Speed chuẩn ( =1: 100kHz, 1MHz, =0 400KHz) - CKE - R/W báo rằng quá trình truyền vẫn đang diễn ra - BF báo rằng SSPBUF vẫn đang đầy ( trong cả hai trường hợp transmit, Receive ) SSPCON1 - WCOL : báo rằng có sự xếp chông dữ liệu - SSPEN enable chế độ I2C - SSPM3:SSPM0: chọn chế độ với chế độ I2C master: là 1000 2Người báo cáo: Phạm Đức Mạnh Tài liệu: TUT04.02Ngày: 2/17/2006 Trang: 3/15 SSPCON2 - ACKSTAT: Bít ACK được nhận từ Slave ( =0, chỉ dùng trong Transmit ) - ACKDT, ACKEN: dùng để phát bít ACK hay NACK từ Master ( trong chế độ Receive ACKDT =0 là ACK, =1 là NACK ) - RCEN : tín hiêu báo hiệu quá trình nhân ( chỉ dùng trong Receive: khi RCEN = 1, Master nhận tín hiệu từ Slave ) - PEN, RSEN, SEN: bit khởi tạo quá trình truyền Stop, Restart, Start Để điều khiển tốc độ baud của chế độ, người ta sử dụng thanh ghi SSPADD. I2C làm việc ở 3 chế độ chuẩn ( tất nhiên chỉ tương đối ) : 100Kb, 400Kb, 1Mb. Nếu ta dùng thạch anh 4M, và cần sử dụng tốc độ 100Kb ta phải nạp giá trì vào thanh ghi SSPADD là: 28H với tốc độ 400Kb ta cần giá trị là 0AH. Còn để lưu và nhận dữ liệu người ta dùng thanh ghi SSPBUF Như vây tổng cộng có cả t ...
Tìm kiếm theo từ khóa liên quan:
tài liệu PIC microsoft word Mạch phát triển PIC16F877A Giới thiệu về chuẩn I2C I2C trong VĐK PIC Cách sử dụng I2CGợi ý tài liệu liên quan:
-
Giáo Trình tin học căn bản - ĐH Marketing
166 trang 197 0 0 -
Giáo trình Tin học văn phòng (Ngành: Quản trị mạng) - CĐ Công nghiệp Hải Phòng
49 trang 159 0 0 -
73 trang 95 2 0
-
Giáo trình Office 2013 cơ bản: Phần 1
149 trang 73 0 0 -
72 trang 57 0 0
-
50 trang 54 0 0
-
Giáo trình : Thực hành tin học căn bản
68 trang 45 0 0 -
131 trang 42 0 0
-
Đề thi sát hạch ứng dụng Công nghệ thông tin - Trường Đại học Quy Nhơn
2 trang 39 0 0 -
Giáo trình Tin học văn phòng (Nghề: Lập trình máy tính) - CĐ Cơ Giới Ninh Bình
93 trang 37 0 0