Cảm biến áp suất MS5535 cũng là cảm biến số nối tiếp. Nó cũng có cùng nguyên tắc làm việc như cảm biến số nối tiếp đã giới thiệu ở trên. Tuy nhiên nó cũng có sự khác biệt. Đó là chân dữ liệu DATA có 2 chân là DIN và DOUT, đồng thời có thêm 1 chân Master Clock (MCLK) để làm xung nhịp cho MS5535. Sơ đồ giao tiếp giữa vi điều khiển CC1010 và MS5535 như sau:
Trong đó:
MCLK: Master Clock của MS5535 DIN: chân dữ liệu vào cho MS5535 DOUT: chân dữ liệu ra cho MS5535
MS-5535 MCLK MCLK DIN DOUT SCLK GND VDD VDD P3.4 GND P1.1 P0.3 P1.0 CC1010EM
Hình 3.5. Sơ đồ giao tiếp giữa MS-5535 và CC1010
SCLK: Serial Clock, đồng bộ quá trình đọc ghi dữ liệu cho MS5535
Trong sơ đồ trên hình 3.5, các cổng P0.3 được định nghĩa làm cổng vào dữ liệu, P1.0, P1.1, và P3.4 làm cổng ra dữ liệu. Để xử lý tình huống này, sử dụng các lệnh chương trình như sau:
clr P1DIR.0 ;for SCLK MS5535 clr P1DIR.0 ;for DIN MS5535 setb P0DIR.3 ;for DOUT MS5535 clr P2DIR.3 ;for MSCLK MS5535
Trong đó ghi mức “1” ra cổng P0.0 các lệnh được hiểu như sau: clr P0DIR.0 ; đặt bit hướng là ghi ra
setb P0.0 ; xuất dữ liệu
Giá trị dữ liệu và tín hiệu trên các cổng vào ra này được xác định nhờ sử dụng các bộ định thời/đếm và chế độ ngắt của vi mạch CC1010.
Các bộ định thời, các ngắt, tín hiệu SCLK, MCLK và đầu đo MS-5535.
CC1010 có 4 timer/counter trong đó có 2 timer/counter theo chuẩn 8051, 2 Timer còn lại là timer 3 và timer 4, hoạt động ở chế độ timer hoặc chế độ điều chế độ rộng xung PWM (Pulse Width Modultion). Timer 2 /Timer 3 làm việc ở chế độ PWM khi thiết lập bit TCON2.M2/TCON2.M3. Các cổng P3.4 / P3.5 lúc này là các lối ra, thông qua việc lập các bit hướng P3DIR.4 / P3DIR.5. Chu kỳ PWM
TnPWM đối với timer n được tính là:
fsystem e Tn
TnPWM= 255.( Pr +1)
Trong đó thời gian ở trạng thái cao Tnh là:
fsystem e Tn Tn
TnhPWM= .( Pr +1)
Điều này có nghĩa là trong chế độ PWM, nếu Tn = 0 thì có mức thấp ở đầu ra và nếu Tn = 255 thì có mức cao. Trong sơ đồ hình 3.6, Timer2 ở chế độ PWM tạo
xung Master clock. cho MS-5535, tần số 29kHz. Tần số này phát trên cổng P3.4 bằng các lệnh:
orl TCON2,#0x01 ;đặt Timer 2 ở chế độ PWM mov T2Pre,#1 ;đặt chu kỳ PWM bằng 29kHz
mov T2,#128 ;xung vuông đối xứng setb TR2 ;bắt đầu phát xung
Làm tương tự như vậy cũng thu được chuỗi xung SCLK phát trên cổng P1.0.
Chương trình thực hiện
Chương trình làm việc với MS5535 theo các bước sau:
Bước 1: Khởi tạo MS5535.
- Đặt bit hướng P3.4, P1.1, P1.0 là hướng xuất dữ liệu ra (output) tương ứng là các chân MCLK, DIN và SCLK của MS5535.
- Đặt bit hướng P0.3 là hướng đọc dữ liệu vào tương ứng (input) là chân DOUT của MS5535.
- Phát xung tần số 29 kHz ra cổng P3.4 để làm Master Clock cho MS5535. - Đọc các hệ số bù nhiệt của MS5535.
Bước 2: Đọc các tham số áp suất và nhiệt độ của MS5535. - Reset MS5535.
- Phát lệnh cho MS5535. Lệnh ở đây có thể là đọc nhiệt độ hay áp suất. - Đọc giá trị trả về từ MS5535.
- Dựa trên giá trị trả về và các hệ số đọc được ở bước 1, tính giá trị nhiệt độ và áp suất tương ứng.
Chi tiết về làm việc với đầu đo áp suất MS5535 xin xem thêm phần tham khảo [13] và chương trình ở phần phụ lục.