Chƣơng 3– GIỚI THIỆU PHẦN MỀM VIẾT CODE VÀ CÁC VÍ DỤ MÔ PHỎNG
3.2.3 Viế t1 chươngtrình trong CCS
- Sau đây là ví dụ về cấu trúc 1 chương trình trong CCS: #include < 16F877 A.h >
#device PIC6f877 A*=16 ADC=10 #use delay(clock=20000000) . . . .
Int16 a,b; . . . .
Void xu- ly- ADC ( ) { . . .
. . . }
#INT- TIMER1
Void xu- ly- ngat- timer ( ) { . . . . . . } Main ( ) { . . . . . . }
- Đầu tiên là các chỉ thị tiền xử lý: # . . . có nhiệm vụ báo cho CCS cần sử dụng những gì trong chương trình C như dùng VXL gì, có dùng giao tiếp PC qua cổng COM không, có dùng ADC không, có dùng DELAY không, có biên dịch kèm các file hay không . . .
- Các khai báo biến.
- Các hàm con do ta viết: xu- ly- ADC (), . . .
- Các hàm phục vụ ngắt theo sau bởi 1 chỉ thị tiền xử lý cho biết dùng ngắt nào. - Chương trình chính.
- Một chương trình C có thể được viết luôn tuồn trong hàm main (), nếu chúng rất ngắn và đơn giản. Nhưng khi chương trình bắt đầu dài ra, phức tạp lên 1 chút thì phải phân chia trong các hàm con.
Các hàm này có thể là: + Hàm không trả về trị Ví dụ:
Void xu- ly( )
z= x+y;
}
Hàm trên chỉ thực hiện các lệnh trong thân hàm, khi gọi hàm này chỉ đơn giản viết: Xu- ly( );
+ Hàm có trả về trị. Ví dụ:
int xu_ly( int a, int b) {. . .
Return (a+b); }
Hàm trên sẽ trả về tổng (a+b). khi sử dụng, ví dụ tính tổng 2 biến e, f, chương trình như sau( trong hàm main ()):
Main() {
Int e, f, g; e=7;
f= 4;g = xu- ly(e ,f ); // giá trị g=28 }
- Mỗi hàm con nên được viết để thực hiện 1 chức năng chuyên biệt nào đó. Bên trong 1 hàm con có thể gọi 1 hay nhiều hàm khác. Cách thức hoạt động như viết 1 chương trình C trên máy tính.
- Nếu chương trình lớn hơn nữa có thể làm file C rất dài và do đó rất khó kiểm soát, nên sẽ cần phân chia ra các file C. trong đó file chính chứa hàm main sẽ được biên dịch. Các file C khác chứa các hàm phục vụ chuyên biệt như: cho LCD, . . .Trong file chính chỉ cần thêm dòng #include < filex.c > là tất cả hàm cần dùng chứa trong file x sẽ được biên dịch vào file hex chung. Các ví dụ trong thư mục của CCS nếu có sử dụng LCD sẽ chèn 1 dòng #include < lcd.c> và do đó sẽ gọi được các hàm trong file này mà không cần phải viết lại. điều này có nghĩa là ta có
thể viết các file c chứa mã tổng quát có thể dùng chung cho nhiều project, tức là tái sử dụng mã, thay vì phải viết lại chuyên biệt cho từng project. Đây là cách làm chuyên nghiệp cho những project lớn.