Bộ nhớ flash của MSP430 có một vùng nhớ có chức năng giống bộ nhớ EEPROM của các dòng VĐK khác, tức là không bị mất khi mất điện. Điểm khác biệt duy nhất cũng là đặc điểm của bộ nhớ flash là nó không thể ghi riêng lẻ từng ô nhớ mà phải ghi toàn bộ một khối.Vì vậy người ta chia bộ nhớ Flash ra các Segment.Trong MSP430 thông thường có 4 Segment (mỗi Segment có 64 ô nhớ 8bit) được dùng như EEPROM.
Sunday, July 20, 2014
Wednesday, July 16, 2014
Thư viện ADC10 của MSP430x2xx
ADC 10bit là module rất phổ biến và cơ bản trong hệ thống vào ra của MSP430.Để sử dụng module này trước tiên chúng ta cần khởi tạo các thanh ghi cho module bằng hàm ADC10_Init(Vref); Cài đặt thông số Vref phù hợp với điện áp tham chiếu mà bạn sử dụng.Một số điểm cần chú ý khi sử dụng
- Cài đặt lại thông số biến PORT_ADC phù hợp với các cổng ADC mà bạn sử dụng.Ví dụ dùng cổng ADC A1,A2 A4 thì PORT_ADC=(BIT1+BIT2+BIT4);
- Có hai chế độ hoạt động được sử dụng trong thư viện này là chuyển đổi từng kênh và chuyển đổi liên tục.Không thể sử dụng đồng thời cả hai chế độ.
- Với chế độ chuyển đổi từng kênh,mỗi khi muốn đọc giá trị ADC,chúng ta gọi hàm ADC10_Read_Channel( ... ).Khi đó hàm này sẽ thực hiện lấy mẫu,và lấy dữ liệu ADC mới nhất ra.Việc này sẽ mất vài chục uS .
- Cài đặt lại thông số biến PORT_ADC phù hợp với các cổng ADC mà bạn sử dụng.Ví dụ dùng cổng ADC A1,A2 A4 thì PORT_ADC=(BIT1+BIT2+BIT4);
- Có hai chế độ hoạt động được sử dụng trong thư viện này là chuyển đổi từng kênh và chuyển đổi liên tục.Không thể sử dụng đồng thời cả hai chế độ.
- Với chế độ chuyển đổi từng kênh,mỗi khi muốn đọc giá trị ADC,chúng ta gọi hàm ADC10_Read_Channel( ... ).Khi đó hàm này sẽ thực hiện lấy mẫu,và lấy dữ liệu ADC mới nhất ra.Việc này sẽ mất vài chục uS .
Thư viện UART của MSP430x2xx
Đây là thư viện khởi tạo vào sử dụng module UART của MSP430.Việc sử dụng giao tiếp UART khá đơn giản và hữu ích trong nhiều ứng dụng.Cách sử dụng thư viện như sau:
- Đầu tiên để sử dụng được giao tiếp UART,khai báo hàm khởi tạo module : UART_Init();
- Để gởi dữ liệu từ MSP ra ngoài,chúng ra dựa vào kiểu dữ liệu mà có thể dùng các hàm UART_Write_ .
+ Nếu là 1 ký tự thì có thể dùng UART_Write_Char(unsigned char).Với hàm này ngoài chức năng gởi ký tự,chúng ta còn có thể gởi các mã trong bảng ASCII ,ví dụ như ký tự xuống dòng(10), tab(7,9,11), xóa ngược(8).
+ Nếu gởi chuỗi thì dùng UART_Write_String(*str); Các bạn có thể kết hợp với hàm sprintf trong C để chuyển mọi kiểu dữ liệu về string,tuy nhiên chú ý là kiểu số nguyên có giới hạn 2 byte(65535) ,nên nếu muốn truyền số lớn thì phải dùng hàm UART_Write_Int( ... ); Ngoài ra nếu muốn truyền số thực thì dùng UART_Write_Float(x,coma) với coma là số chữ số sau dấu phẩy.
- Đầu tiên để sử dụng được giao tiếp UART,khai báo hàm khởi tạo module : UART_Init();
- Để gởi dữ liệu từ MSP ra ngoài,chúng ra dựa vào kiểu dữ liệu mà có thể dùng các hàm UART_Write_ .
+ Nếu là 1 ký tự thì có thể dùng UART_Write_Char(unsigned char).Với hàm này ngoài chức năng gởi ký tự,chúng ta còn có thể gởi các mã trong bảng ASCII ,ví dụ như ký tự xuống dòng(10), tab(7,9,11), xóa ngược(8).
+ Nếu gởi chuỗi thì dùng UART_Write_String(*str); Các bạn có thể kết hợp với hàm sprintf trong C để chuyển mọi kiểu dữ liệu về string,tuy nhiên chú ý là kiểu số nguyên có giới hạn 2 byte(65535) ,nên nếu muốn truyền số lớn thì phải dùng hàm UART_Write_Int( ... ); Ngoài ra nếu muốn truyền số thực thì dùng UART_Write_Float(x,coma) với coma là số chữ số sau dấu phẩy.
Thursday, June 26, 2014
Bài 3.(Học MSP430 qua ví dụ)Đồng hồ số - I2C ,Hiển thị giờ
1. Hiển thị giờ
1.1. Đọc ghi IC BQ32000
BQ32000 là 1 IC thời gian thực tương tự DS1307,để sử dụng được IC này chúng ta phải đọc Datasheet của nó.Về cơ bản IC này có chức năng giống như DS1307.Khi bắt đầu chương trình chúng ta cần tạo xung 1Hz xuất ra trên chân IRQ của BQ32000.Dùng xung này cho vào chân ngắt P1.0,chúng ta sẽ không phải liên tục đọc các thanh ghi của BQ32000 để xem sự thay đổi thời gian nữa,cứ mỗi ngắt của P1.1 thì tăng biến giây thêm,biến phút và giờ cũng vậy.Cứ sau 1 tiếng thì lại đọc lại các thông số thời gian để kiểm tra đề phòng trường hợp có nhiễu.
Friday, June 20, 2014
Bài 2.(Học MSP430 qua ví dụ)Đồng hồ số - Trình tự lập trình,UART,LED
1. Trình tự lập trình
Trước khi bước
vào phần này thì có nghĩa là các bạn đã thi công mạch xong.Bắt đầu chúng ta sẽ
xác định tuần tự các bước lập trình:
-
Tạo Project ,chọn chip lập trình,ở đây là
MSP430G2553
-
Thiết lập giao tiếp UART ,xung Clock (Clock,UART)
-
Quét Led (GPIO)
-
Đọc IC thời gian thực BQ32000,hiển thị giờ ,ngày
(Ngắt , I2C)
-
Quét bàn phím , đọc nhiệt độ dùng ADC (ADC)
-
Tạo menu chương trình,viết hàm chỉnh giờ,ngày
(I2C)
-
Chỉnh độ tương phản led ,hẹn giờ,đồng hồ đếm ngược(Flash)
Bây giờ thì có thể bắt tay vào lập trình được rồi.
Subscribe to:
Posts (Atom)