邢矯健
在MCS-51單片機已經被廣泛使用的時候,還沒有I2C協(xié)議標準。但今天,I2C已經作為IC之間的標準數(shù)據交換協(xié)議被廣泛采用。沒有I2C接口的MCS-51單片機也常會涉及和標準I2C器件交換數(shù)據,所以MCS-51模擬I2C接口的文章也常見諸報端。最近,筆者為了設計一個基于I2C時鐘的電子打鈴器的方案,先進行了一次MCS-51模擬I2C接口操作的實戰(zhàn)編程。原以為憑著手頭的各種資料,可以輕松完成,沒想到頗費了一番周折,所以特將自己獲得的經驗作個小結。
1. I2C器件的硬件結構
I2C總線由SDA和SCL兩條信號線組成,其中SDA為數(shù)據線,SCL為時鐘信號線。I2C總線上可以掛接SRAM、E2PROM、ADC/DAC、RTC、I/O口、DTMF、時鐘芯片、溫度芯片等有標準I2C接口的芯片,形成一個完備的數(shù)字化處理系統(tǒng)。上電時,SDA和SCL都由各自線上接的上拉電阻拉到高電平狀態(tài)。