Bài trước: [Lập trình ARM-LPC2378] Ngắt Trong LPC23xx
Bài 5: Chuyển Đổi Tương Tự/Số - ADC, DAC
Nội dung
+ Tạo file Thư viện *.lib
+ Chuyển đổi Tương tự - Số: ADC
+ Chuyển đổi Số - Tương tự: DAC
Tạo file thư viện*.lib
+ Có 1 project định nghĩa các hàm.
+ Biên dịch project này ra file *.lib.
+ Một project khác add file .lib này vào và có thể gọi sử dụng các hàm trong file *.lib.
+ File gọi *.lib là file thư viện.
ADC
Giới thiệu
+ LPC2378 hỗ trợ 8 kênh chuyển đổi ADC
Các thanh ghi liên quan
+ AD0CR ( A/D Control Register ): Thanh ghi điều khiển AD - chọn chế độ xử lý cho qua trình chuyển đổi AD.
+ AD0GDR ( A/D Global Data Register ): Thanh ghi dữ liệu toàn cục - Chứa kết quả chuyển đổi AD gần nhất.
+ AD0STAT ( A/D Status Register ): Thanh ghi trạng thái - Cờ DONE và OVERRUN cho tất cả các kênh.
+ AD0INTEN (A/D Interrupt Enable Register): Thanh ghi bật / ngắt.
+ AD0DRn (A/D Channel n Data Register): Thanh ghi chứa dữ liệu tại kênh n– chứa kết quả chuyển đổi gần nhất trên kênh n.
Bật Power
Quản lý bởi Thanh ghi PCONP tại địa chỉ 0xE01FC0C4:
Cấu hình PINSEL
Đọc giá trị ADC
+ Kết quả chuyển đổi AD dược đọc tại thanh ghi AD0DR0 (từ bit thứ 6 đến bit thứ 15):
value = (AD0DR0 >> 6) & 0x3FF;
DAC
Giới thiệuBộ DAC chuyển đổi dữ liệu số thành tín hiệu bên ngoài (điển hình là âm thanh)
Các thanh ghi liên quan
+ DACR (D/A Control Register) : thanh ghi điều khiển AD –để đặt giá trị cần thay đổi tới.
Cấu hình PINSEL
PINSEL1 &= ~(0x03<<20); //enable DAC
PINSEL1 &= ~(0x02<<20); //enable DAC
(nguồn: ĐHKHTN TP.HCM)
0 nhận xét:
Đăng nhận xét