#include //Khởi tạo chức năng cơ bản //Khai báo biến toàn cục //Khai báo chương trình con void main { //Khai báo biến cục bộ // Khai báo phần cứng ngoại vi cho VDKwhile1 { //Code} } Cấu
Trang 1GPIO - CLOCK
Trang 3#include <….>
//Khởi tạo chức năng cơ bản
//Khai báo biến toàn cục
//Khai báo chương trình con
void main()
{
//Khai báo biến cục bộ
// Khai báo phần cứng (ngoại vi) cho VDKwhile(1)
{
//Code}
}
Cấu Trúc 1 Chương Trình C
Trang 5 Kiểu biến:
Biến và Hằng
(Variable And Constant)
Trang 61 Khai báo biến
Tên biến: ‘A’ ‘Z’,’a’,’0’’9’
VD: char ReciveData; int n9;
float Nhiet_do; bit flag;
Biến và Hằng
(Variable And Constant)
Cách khai báo: <Kiểu biến> <Tên biến>;
Trang 72 Biến cục bộ và biến toàn cục
Biến toàn cục: Sử dụng được sử dụng trong toàn bộ chương trình
Biến cục bộ: chỉ sử dụng trong phạm vi 1 chương trình, 1 hàm
Ví dụ: (Xem chương trình cụ thể)
Biến và Hằng
(Variable And Constant)
Trang 83 Hằng: là 1 kiểu biến nhưng có 1 giá trị cố định
2 loai:
Hằng số: const char a=0xff; const int b=6500;
const char c=0b00001001;
Hằng kí tự: const char bien=‘a’; // Hằng kí tự
const char gt[4]=“abcd”;// Hằng chuỗi
Biến và Hằng
(Variable And Constant)
Khai báo: const <kiểu biến> <tên biến>;
Trang 94 Ép kiểu: chuyển từ 1 kiểu sang kiểu mà người lập trình muốn
Ví dụ: char a=50;int x;
x=(a*10)+60;//x=304 x=( (int)(a)*10 )+60;//x=560 x=(int) (a*10)+60;//x=304
Biến và Hằng
(Variable And Constant)
Cách ép kiểu: (kiểu ép) <biến>;
Trang 10 Mảng: là 1 tập hợp các biến có cùng 1 kiểu biến
Trang 133 Toán tử quan hệ: là toán tử logic
Trang 145 Biểu thức điều kiện
Trang 151 While
while(<DK1>) {
//code; }
Vd: char i=5, a=0;
while(i>0){
a=a+i;
i ;
}
Vòng lặp
Trang 162 do….while
do {
//code;
} while(<điều kiện>)
Vd: char i=5, a=0;
Do{
a=a+i;
i ;
}while(i>0)
Vòng lặp
Trang 173 For
for(<dk1>;<dk2>;<dk3>) {
//code;
}
char a=0,i;for(i=0;i<5;i++)
{a=a+i;}
Vòng lặp
Trang 18(General purpose I/O)
Trang 19 MSP430 có các Port xuất/ nhập dữ liệu gọi là các Port I/O
Mỗi Port có 8 chân I/O, số lượng Port tùy thuộc vào từng họ MSP430.
Mỗi chân I/O được thiết lập các chức năng vào/ra một cách riêng rẽ, và các chân I/O này cũng dùng
để đọc hoặc ghi dữ liệu mộtcách độc lập.
GPIO
(General purpose I/O)
Trang 20 P1 và P2 có thể dùng để ngắt Mỗi chân I/O của P1, P2 có tác dụng ngắt độc lập và có thể thiết lập ngắt cạnh lên
hoặc cạnh xuống của tín hiệu vào
Các ngõ vào/ra số được mô tả như sau:
+ Những chân I/O riêng rẽ có thể được lập trình một cách độc lập
+ P1 và P2 có thể thiết lập làm những ngắt riêng rẽ
+ Những thanh ghi dữ liệu vào/ra độc lập
+ Có thể thiết lập tăng lên hoặc giảm xuống của điện trở một cách độc lập
GPIO
(General purpose I/O)
Trang 21 Trong board MSP430G2 GPIO được quản lý trong mục GPIO(tô đỏ)
GPIO
(General purpose I/O)
Trang 22 Cách khai báo GPIO(dùng công cụ Grace)
B1:Chọn mục GPIO
GPIO
(General purpose I/O)
Trang 23Sẽ thấy xuất hiện hình như sau:
GPIO
(General purpose I/O)
Trang 26 Chọn PinOut 20-TSSOP/ 20-PDIP
Trang 29Clock(xung clock):là khối cung cấp xung để
vi điều khiển hoạt động
CLOCK
MSP430 chi là nhiều bộ cấp xung clock
MCLK sử dụng cho CPU và những kết nối ngoại vi tốcđộ cao
xung nhịp phụ tần số thấp ( ACLK) được sử dụng như là một Real-time Clock
Bộ định thời chính ( Master Clock) tốc độ cao: Hoạt động xử lý tín hiệu hiệu suất cao
Trang 30 Cần phân biệt các khái niệm: Clock source
Trang 31 Khai báo xung clock
Chọn khối Oscilator basic clock system
Có thể tùy chỉnh xung clock(nên để mặc định)
CLOCK
Trang 32 Ví dụ về sự ảnh hưởng của clock
So sánh sự chóp tắt của led khi thay đổi clock
CLOCK
Trang 33 Tìm hiểu khái niệm Timer
Timer là gì?
Các chế độ timer của MSP430 (xem trước datasheet hoặc User’s Guide)
Chức năng khác của timer (counter)
Tìm hiểu khái niệm PWM
PWM là gì?
Ứng dụng của PWM
Chuẩn bị cho buổi Training sau
Trang 34THE END