[Part2] Liệt kê các lệnh, các hàm của CCS và Ý nghĩa


v Định nghĩa các hàm
Các hàm được định nghĩa gồm các phát biểu để thực hiện các giải thuật phục vụ cho dự án. Cấu
trúc của hàm như sau:
Từ khoá của hàm tên hàm (các biến mà hàm sử dụng)
Khai báo các biến cần thiết và các kiểu dữ liệu cho hàm
{
Các phát biểu trong hàm
}
+ Từ khoá của hàm gồm các thành phần: void, #separate , #inline, #int_…hoặc có thể bỏ trống.
+ Tên hàm được đặt tùy ý
+ Các biến sử dụng trong hàm sẽ được phân cách nhau bởi dấu ‘,’. Nếu không sử dụng biết trong hàm thì các biến trong hàm bỏ trống.

·        Phát biểu điều kiện if - else
Phát biểu điều kiện if – else được dùng để rẽ nhánh chương trình, phát biểu if else có dạng như sau:

If (điều kiện)
{
Các lệnh trong chương trình
}
else
{
Các lệnh trong chương trình
}

Cắp từ khóa {} được dùng nếu các lệnh trong chương trình gồm nhiều lệnh. Trong trường hợp chỉ có một lệnh thì không cần dùng cắp từ khoá {}.

·       Vòng lặp WHILE
Vòng lặp while được dùng để lặp chương trình. Cấu trúc của vòng lặp while như sau:

while (biểu thức điều kiện)
{
Các lệnh trong chương trình
}

Hoạt động của vòng lặp while là sẽ thực hiện các lệnh trong cặp từ khoá {} khi mà biểu thức điều kiện là đúng.

·       Vòng lặp do – while
Vòng lặp do – while được sử dụng tương tự như vòng lặp while tuy nhiên, vòng lặp while kiểm tra điều kiện trước khi thực hiện các lệnh còn vòng lặp do – while sẽ kiểm tra điều kiện sau khi thực hiện các lệnh. Cấu trúc của vòng lặp do– while như sau:

do
{
Các lệnh trong chương trình
}
while (biểu thức điều kiện);

·       Vòng lặp for

Vòng lặp for được dùng để lặp lại chương trình theo một biến đếm. Cấu trúc của vòng lặp for như
sau:
For (biểu thức 1; biểu thức 2; biểu thức 3)
{
Các lệnh trong chương trình
}
Trong đó biểu thức 1 là giá trị khởi đầu của biến đếm, biểu thức 2 là giá trị cuối của biến đếm,
biểu thức 3 là biểu thức đếm.

·       Phát biểu SWITCH – CASE

Phát biểu switch – case được dùng để rẽ nhánh chương trình. Cấu trúc của phát biểu này như sau:
Switch (biểu thứcđiều kiện)
{
case điều kiện 1:
Các lệnh trong chương trình;
Break;
Case điều kiện 2:
Các lệnh trong chương trình;
Break;
default:
Các lệnh trong chương trình;
Break;
}
·       Phát biểu return

Phát biểu return được dùng để trả về trị của hàm. Phát biể return như sau:
Return (giá trị);

·       Phát biểu goto

Phát biểu goto được dùng để nhảy tới một nhãn trong chương trình. Phát biểu goto có dạng như
sau:
goto nhãn;

·       Phát biểu break

Phát biểu break dùng để kết thúc một nhóm lệnh trong cặp từ khóa {}. Phát biểu break như sau:
break;

·       Phát biểu continue

Phát biểu continue dùng để tiếp tục thực hiện một nhóm lệnh trong cặp từ khóa {}. Phát biểu
continue như sau:
continue;     

v Nhóm Hàm Vào/Ra Số

·       OUTPUT_LOW()

Hàm này dùng để reset các chân của MCU về mức logic 0
+ Cú pháp: output_low (pin)
+ Tham số: các chân (pin) phải được định nghĩa trong file tiêu đề devices .h. Giá trị hoạt động là bit địa chỉ. Ví dụ, cần port A (byte 5) bit 3 tương ứng với giá trị 5*8+3 or 43 thì sẽ định nghĩa như sau: #define PIN_A3 43
+ Trị trả về: không
+ Yêu cầu: Chân IC phải được định nghĩa trong tập tin tiêu đề devices .h
·       OUTPUT_HIGH()
Hàm này dùng để set các chân của MCU lên mức logic 1.
+ Cú pháp: output_high(pin)
+ Tham số: các chân (pin) phải được định nghĩa trong file tiêu đề devices .h. Giá trị hoạt động là bit địa chỉ. Ví dụ, cần port A (byte 5) bit 3 tương ứng với giá trị 5*8+3 or 43 thì sẽ định nghĩa như sau: #define PIN_A3 43
+ Trị trả về: không
+ Yêu cầu: Chân IC phải được định nghĩa trong tập tin tiêu đề devices .h
·       OUTPUT_FLOAT()
Hàm này dùng để Set mode input cho các chân. Hàm này cho phép pin ở mức cao với mục đích như là một cực collector thu hở.

+ Cú pháp: output_float(pin)
+ Tham số: các chân (pin) phải được định nghĩa trong file tiêu đề devices .h. Giá trị hoạt động là bit địa chỉ. Ví dụ, cần port A (byte 5) bit 3 tương ứng với giá trị 5*8+3 or 43 thì sẽ định nghĩa như sau: #define PIN_A3 43
+ Trị trả về: không
+ Yêu cầu:
Chân IC phải được định nghĩa trong tập tin tiêu đề devices .h
·       OUTPUT_BIT()

Hàm này được dùng để xuất giá trị 0 hoặc 1 trên các ngõ ra.
+ Cú pháp: output_bit (pin, value)
+ Tham số: tương tự output_low(pin) và output_high(pin)
+ Trị trả về: không
+ Yêu cầu: chân IC phải được định nghĩa trên các tập tin tiêu đề devices .h
Ví dụ:
output_bit( PIN_B0, 0);               // Giống như output_low(pin_B0);
output_bit( PIN_B0,input( PIN_B1 ) ); // Đặt chân B0 giống chân B1
output_bit( PIN_B0,shift_left(&data,1,input(PIN_B1)));

·       INPUT()
Hàm này trả về trạng thái các chân. Phương thức I/O phụ thuộc vào USE *_IO điều khiển trước đó.
+ Cú pháp: value = input (pin)
+ Tham số: các chân của device phải được khai báo trong tập tin tiêu đề device.h và sẽ được đọc sau lệnh input(). Giá trị là các bit địa chỉ.
+ Trị trả về: 0 (or FALSE) nếu giá trị trên chân IC là 0
1 (or TRUE) nếu giá trị trên chân IC là 1
Ví dụ:
while ( !input(PIN_B1) ); // waits for B1 to go high
if( input(PIN_A0) )
printf("A0 is now high\r\n");
·       OUTPUT_X()
Hàm này được dùng để xuất một byte ra cổng. Cổng điều khiển phụ thuộc vào khai báo điều khiển #USE *_IO trước đó
+ Cú pháp  :    
output_a (value)
output_b (value)
output_c (value)
output_d (value)
output_e (value)

+ Tham số
 value là một số nguyên 8 bit
+ Trị trả về :     không
+ Yêu cầu   :     không
Ví dụ:
OUTPUT_B(0xf0); // Xuất 11110000b ra port B
·       INPUT_X()
Hàm này được dùng để nhập một byte từ Port. Port điều khiển phụ thuộc vào khai báo điều khiển #USE*_IO trước đó.
+ Cú pháp:
value = input_a()
value = input_b()
value = input_c()
value = input_d()
value = input_e()

+ Tham số: không
+ Trị trả về: số nguyên 8 bit.
+ Yêu cầu : không
Ví dụ:
data = input_b();

·        PORT_B_PULL-UPS()
Hàm này được dùng để Sets cổng vào B pullup. TRUE sẽ hoạt động, và FALSE sẽ ngừng.
+ Cú pháp: port_b_pull-ups (value)
+ Tham số: value là biến bool logic ( TRUE hoặc FALSE)
+ Trị trả về: không
Lưu ý: Chỉ có trên các thiết bị 14 và 16 bit (PCM and PCH). (Note: use SETUP_COUNTERS trong PCB phần).
Ví dụ:
port_b_pullups(FALSE);

·        SET_TRIS_X()
Những hàm này định nghĩa chân I/O cho một port. Điều này chỉ thực hiện được khi sử dụng FAST_IO và khi cổng xuất nhập được truy cập. Mỗi bit đại diện cho một chân. số 1 chỉ chân nhập và 0 chỉ chân xuất
+ Cú pháp:  set_tris_a (value)
set_tris_b (value)
set_tris_c (value)
set_tris_d (value)
set_tris_e (value)
+ Tham số: value là số nguyên 8 bit với mỗi bit đại diện cho một cổng xuất nhập.
+ Yêu cầu: không
Ví dụ:
SET_TRIS_B( 0x0F );    // B7,B6,B5,B4 là xuất, B3,B2,B1,B0 là nhập
·       BIT_SET()
Hàm này được dùng để Sets bit cho một biến. Hàm này tương đương:
var |=(1<<bit);
+ Cú pháp: bit_set(var,bit)
Tham số:   var là biến 8,16 or 32 bit, bit là một số từ 0-31 thể hiện số bit, 0 là bit có trọng số thấp nhất.
+ Trị trả về: không
+ Yêu cầu  :  không
Ví dụ:
int x; 
x=5;
bit_set(x,3); // x is now 13

bit_set(*6,1);      // A crude way to set pin B1 high

. . .
~> Còn nữa . . . 

Từ khóa :

Không có nhận xét nào:

Đăng nhận xét