BAO CAO DE TAI MẠNG VI điều KHIỂN GIAO TIẾP i2c

110 204 0
BAO CAO DE TAI MẠNG VI điều KHIỂN GIAO TIẾP i2c

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân MỤC LỤC MỤC LỤC .4 Lời Cảm Ơn .5 SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân Lời Cảm Ơn Nhóm chúng em xin chân thành gửi lời cảm ơn đến thầy Tống Thanh Nhân cương vị Giáo viên hướng dẫn đề tài tận tình giúp đỡ suốt trình thực Đề tài tốt nghiệp Đồng thời xin bày tỏ lòng biết ơn đến thầy cô trường Cao Đẳng Kỹ Thuật Cao Thắng đặc biệt thầy cô Khoa Điện Tử-Tin Học tận tình dạy dỗ truyền thụ kinh nghiệm kiến thức quý báu suốt thời gian đào tạo trường Chân thành cảm ơn ! Sinh viên thực hiện: TRƯƠNG CÔNG NGHIỆP NGUYỄN DUY LINH SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân Lời Mở Đầu Trong thời đại khoa học ngày nay, lĩnh vực khoa học kỹ thuật phát triển nhanh ngày, đặc biệt lĩnh vực công nghệ điện tử trở nên cần thiết cho xã hội động lực để tạo nên xã hội tiên tiến - đại Hiện khoa học – kỹ thuật đất nước ta bước phát triển hòa chung vào phát triển chung toàn cầu Trên đà phát triển đó, vấn đề tự động hoá – khoa học điện tử ứng dụng cách rộng rãi trình sản xuất, đặc biệt vấn đề nghiên cứu trở thành nhu cầu cần thiết, với xuất cuả Chip vi xử lý máy tính với việc ứng dụng rộng rãi đẩy vấn đề tự động hoá lên bước cao để cải thiện lao động chân tay người … Chính Chip vi xử lý đặc biệt Họ Vi điều khiển PIC sử dụng rộng rãi việc giảng dạy đào tạo cho sinh viên nhằm tạo nguồn lao động có trình độ kỹ thuật cao phục vụ sản xuất Để hòa nhập vào cộng đồng cư dân điện tử thời đại ngày nay, nhóm chúng em định nghiên cứu lĩnh vực này, với kiến thức có phạm vi hiểu biết mình, chúng em tìm hiểu thực đề tài: “ Mạng Vi Điều Khiển Giao tiếp I2C ” SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân CHƯƠNG 1: NỘI DUNG YÊU CẦU ĐỀ TÀI Sử dụng chức giao tiếp vi điều khiển (pic 16f877a) mode i2c để giao tiếp với thiết bị slave chế độ one master – multislave Dữ liệu truyền từ thiết bị chủ (master) tới thiết bị tớ (slave) Khi nhận lệnh từ master slave hiển thị kết thông qua thiết bị ngoại vi (ICs) Yêu cầu: -Nắm kiến thức giao thưc, địa chỉ, cách thức truyền liệu -Lập trình cho vi điều khiển thông qua trình biên dịch CCS dùng ngôn ngữ lập trình C -Nắm vững kiến thức vi điều khiển thành phần chức đặc biệt chức giao tiếp với IC với thông qua bus i2c SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Pic gì? PIC viết tắt “Programable Intelligent Computer”, tạm dịch “máy tính thông minh khả trình” hãng Genenral Instrument đặt tên cho vi điều khiển họ PIC1650 thiết kế để dùng làm thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển sau nghiên cứu phát triển thêm từ hình thành nên dòng vi điều khiển PIC ngày 2.2 Tại dùng Pic? Họ vi điều khiển tìm mua dễ dàng thị trường Việt Nam Giá thành không đắt Có đầy đủ tính vi điều khiển hoạt động độc lập Là bổ sung tốt kiến thức ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051 Số lượng người sử dụng họ vi điều khiển PIC Hiện Việt Nam giới, họ vi điều khiển sử dụng rộng rãi Điều tạo nhiều thuận lợi trình tìm hiểu phát triển ứng dụng như: số lượng tài liệu, số lượng ứng dụng mở phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm dẫn gặp khó khăn, Sự hỗ trợ nhà sản xuất trình biên dịch, công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,… Các tính đa dạng vi điều khiển PIC, tính không ngừng phát triển 2.2 Các dòng Pic Và cách lựa chọn Vi điều khiển Pic Các kí hiệu vi điều khiển PIC: PIC12xxxx: độ dài lệnh 12 bit PIC16xxxx: độ dài lệnh 14 bit PIC18xxxx: độ dài lệnh 16 bit C: PIC có nhớ EPROM (chỉ có 16C84 EEPROM) SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân F: PIC có nhớ flash LF: PIC có nhớ flash hoạt động điện áp thấp LV: tương tự LF, kí hiệu cũ Bên cạnh số vi điệu khiển có kí hiệu xxFxxx EEPROM, có thêm chữ A cuối flash (ví dụ PIC16F877 EEPROM, PIC16F877A flash) Ở Việt Nam phổ biến họ vi điều khiển PIC hãng Microchip sản xuất Cách lựa chọn vi điều khiển PIC phù hợp: Trước hết cần ý đến số chân vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khác nhau, chí có vi điều khiển có chân,ngoài có vi điều khiển 28, 40, 44, … chân Cần chọn vi điều khiển PIC có nhớ flash để nạp xóa chương trình nhiều lần Tiếp theo cần ý đến khối chức tích hợp sẵn vi điều khiển, chuẩn giao tiếp bên Sau cần ý đến nhớ chương trình mà vi điều khiển cho phép 2.4 Ngôn ngữ lập trình cho Pic Ngôn ngữ lập trình cho PIC đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí nhà sản xuất Microchip), ngôn ngữ lập trình cấp cao bao gồm C, Basic, Pascal,… Ngoài có số ngôn ngữ lập trình phát triển dành riêng cho PIC PICBasic, MikroBasic,… 2.5 Mạch nạp Pic Đây dòng sản phẩm đa dạng dành cho vi điều khiển PIC Có thể sử dụng mạch nạp cung cấp nhà sản xuất hãng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng sản phẩm để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm thống có ưu nạp cho tất vi điều khiển PIC, nhiên giá thành cao thường gặp nhiều khó khăn trình mua sản phẩm SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân 2.6 VI ĐIỀU KHIỂN PIC 16F877A Hình : Pic 16F877A SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 10 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân 2.6.1.SƠ ĐỒ CHÂN VI ĐI ỀU KHIỂN PIC16F87X Hình : kiểu chân PIC16F877A SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 11 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân 2.6.2 MỘT VÀI THÔNG SỐ VỀ PIC 16F877A Đây vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh thực thi chu kì xung clock Tốc độ hoạt động tối đa cho phép 20 MHz với chu kì lệnh 200ns Bộ nhớ chương trình 8Kx14 bit, nhớ liệu 368 byte RAM nhớ liệu EEPROM với dung lượng 256 byte Số PORT I/O với 33 pin I/O Các đặc tính ngoại vi bao gồm khối chức sau: Timer0: đếm bit với chia tần số bit Timer1: đếm 16 bit với chia tần số, thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ sleep Timer2: đếm bit với chia tần số, postcaler Hai Capture/so sánh/điều chế độ rông xung Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI I2C Chuẩn giao tiếp nối tiếp USART với bit địa Cổng giao tiếp song song PSP (Parallel Slave Port) với chân điều khiển RD, WR, CS bên Các đặc tính Analog: kênh chuyển đổi ADC 10 bit Hai so sánh Bên cạnh vài đặc tính khác vi điều khiển như: Bộ nhớ flash với khả ghi xóa 100.000 lần Bộ nhớ EEPROM với khả ghi xóa 1.000.000 lần Dữ liệu nhớ EEPROM lưu trữ 40 năm SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 12 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân Khả tự nạp chương trình với điều khiển phần mềm Nạp chương trình mạch điện ICSP (In Circuit Serial Programming) thông qua chân Watchdog Timer với dao động Chức bảo mật mã chương trình Chế độ Sleep Có thể hoạt động với nhiều dạng Oscillator khác 2.6.3 SƠ ĐỒ KHỐI CỦA PIC 16f877A SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 13 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân display(so[count1],chips); } if(!input(down)){ while(!input(down))delay_ms(time_button); if(count1>1)count1 ; display(so[count1],chips); } if(!input(ok)){ while(!input(ok))delay_ms(time_button); Call_ctrinh(); } if(!input(esc)){count1=0; display(so[0],chips); break;} } } } } CODE SLAVE1 /************HIEN LED 7**********/ #define chon_led1 pin_a0 #define chon_led2 pin_a1 SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 99 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân #define chon_led3 pin_a2 #define chon_led4 pin_a3 unsigned char const digits[10] = {192,249,164,176,153,146,130,248,128,144}; void display_digit(int8 digit){ output_d(digits[digit]); output_a(0xff); delay_us(50); } /***************************main*************************/ #include #FUSES NOWDT #FUSES XT #FUSES PUT #FUSES NOPROTECT #FUSES NOLVP #use delay(clock=4000000) #use i2c(SLAVE, FORCE_HW) SDA=PIN_C4, SCL=PIN_C3, address=0xa0, SLOW, #include "driver_segment_led.c" int8 data = 0; SVTH: Nguyễn Duy Linh Trương Công Nghiệp Trang 100 MẠNG VI ĐIỀU KHIỂN GIAO TIẾP I2C GVHD: Tống Thanh Nhân #INT_SSP void i2c_isr(){ data = i2c_read(); } int16 Test_i2c(){ if(data==0xa0){ while(data==0xa0); if(data==1)return 1; if(data==2)return 2; if(data==3)return 3; //data = 0; } } void display_singel_led(){ int16 i; for(i=0;i

Ngày đăng: 07/09/2017, 15:32

Từ khóa liên quan

Mục lục

  • MỤC LỤC

    • Lời Cảm Ơn

Tài liệu cùng người dùng

Tài liệu liên quan