I2C là một chuẩn truyền thông k/c gần giữa các device, bản mạch.. được dùng càng ngày càng rộng rãi. Nó có 2 dây kết nối: SDA(serial data) và SCL(serial clock). Chân SDA là chân 2 hướng và được định nghĩa bởi thiết bị Master. Các thiết bị ngày nay như: NVRAM, LCD,KEYPAD, LED MATRIX,ADC,DAC... gần như tất cả đều hướng tới dùng chuẩn này. Tốc độ I2C ngày càng cao và có thể lên đến vào Mbit/s. Nhờ chuẩn này mà việc thiết kế trở nên gọn nhẹ hơn, giảm thiểu khối lượng công việc cho MCU master... khó mà nói hết được tác dụng của nó đưa lại.
Đối với các device ko support I2C như AT89C51 thì việc lập trình chuẩn I2C lấy phần mềm thay phần cứng tốn rất nhiều tài nguyên của MCU. Người ta thường lập trình kiểu từng bit nối tiếp để làm 1 thời lượng công việc này.
Hầu hết PIC có support I2C, em cũng có lần lập trình bằng CCS cho PIC, nhưng làm xong nó chạy nhưng ko hiêu được về chuẩn này bởi lẽ dùng thư viện có sẵn của CCS nên cứ thế mà làm. Vậy qua đây, mong các cao thủ đi trước chỉ giáo?
Đối với các device ko support I2C như AT89C51 thì việc lập trình chuẩn I2C lấy phần mềm thay phần cứng tốn rất nhiều tài nguyên của MCU. Người ta thường lập trình kiểu từng bit nối tiếp để làm 1 thời lượng công việc này.
Hầu hết PIC có support I2C, em cũng có lần lập trình bằng CCS cho PIC, nhưng làm xong nó chạy nhưng ko hiêu được về chuẩn này bởi lẽ dùng thư viện có sẵn của CCS nên cứ thế mà làm. Vậy qua đây, mong các cao thủ đi trước chỉ giáo?
Comment