1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >

Giới thiệu phần mềm CCS C

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.55 MB, 79 trang )


bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình điều

khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sử dụng ngôn

ngữ lạp trình cấp cao – Ngôn ngữ C

Tài liệu hướng dẫn sử dụng có rất nhiều, nhưng chi tiết nhất chính là bản Help đi kèm

theo phần mềm (tài liệu Tiếng Anh). Trong bản trợ giúp nhà sản xuất đã mô tả rất nhiều

về hằng, biến, chỉ thị tiền xủa lý, cấu trúc các câu lệnh trong chương trình, các hàm tạo

sẵn cho người sử dụng… Ngoài ra về Tiếng Việt cũng có bản dịch của tác giả Trần Xuân

Trường, SV K2001 DH BK HCM. Tài liệu này dịch trên cơ sở bản Help của CCS, tuy

rằng chưa đầy đủ nhưng đây là một tài liệu hay, nếu bạn tìm hiểu về PIC và CCS thì nên

tìm tài liệu này về đọc tại địa chỉ web www.picvietnam.com . đây là đàn học, trao đổi về

PIC

Để lập trình và biên dịch CCS C, dùng chương trình PIC C Complier,sau khi soạn thảo

các bạn ấn F9, để dịch,nếu thành công sẽ có thông báo như sau :



Hình 76: Giao diện phần mềm CCS

Ngoài ra, để xem code ASM như thế nào,sau khi dịch bạn chọn mục C/ASM List như

hình dưới đây:



Hình 77: Xem chương trình dạng asembly

Ví dụ về cấu trúc 1 chương trình CCS

#include < 16F877 .h >

#device PIC6f877 *=16 ADC=10

#use delay(clock=20000000)

....

Int16 a,b;

....

Void xu_ly_ADC ( )

{...

...

}

#INT_TIMER1

Void xu_ly_ngat_timer ( )

{...

...



}

Main ( )

{...}



2. Các hàm cơ bản trong CCS C

a. Khai báo các thư viện,phần cứng



- #include <16f877a.h > : khai báo về thư viện pic sử dụng dùng cho việc cấu hình

cho PIC , ví dụ pic16f877a



-



#include def_877a.h: Files do người lập trình tạo ra, chứa khai báo về các thanh

ghi . trong PIC giúp cho viêc lập trình được dễ dang hơn ví dụ ta co thể gán

PORTB = 0xff; sử dụng tên các thanh ghi trong pic



-



#device *=16 ADC = 10: Khai báo dùng con trỏ 8 hay 16 bit, bộ ADC là 8 hay 10

bit



-



#FUSES NOWDT, HS,NOPROTECT ,…: Khai báo về cấu hình cho PIC

HS: sử dụng thạch anh tần số cao >4MHz

NOWDT: không sử dụng watch dog timer

NOPROTECT: không bảo vệ code



-



#use delay(clock=20000000): Tần số thạch anh sử dụng



-



#use rs232 (baud=9600,…): Khai báo cho giao tiếp nối tiếp RS232



-



#use i2c(master, SDA=PIN_C4,…): Khai báo dùng I2C, chế độ hoạt động



-



#include :Khai báo các files thư viện được sử dụng

ví dụ LCD_lib_4bit.c



b. Các hàm xuất nhập I/O input/output



- set_tris_x (value) : hàm thiết lập port x là input hay output. Value có thể là số

hexa hoặc bit. Mỗi bit tương ứng với mỗi pin của port là bit 1 là pin input và là 0

tương ứng với pin output

-



output_high (pinx) : thiết lập pin x ở múc cao 1 vd: output_high(PIN_A1);



-



output_low (pinx) : thiết lập pin x ở múc thấp 0 vd: output_low(PIN_A1);



-



output_a (value): xuất ra port a , value là hexa 0x23 or bit 0b00001111, tương

ứng mỗi bit là 0 hay 1thì



mỗi pin của port a là low hay high vd:



OUTPUT_B(0xf0);

c. các hàm ngắt

-



enable_interrupts (level) : cho phép ngắt level hoạt động

vd: enable_interrupts(GLOBAL);

enable_interrupts(INT_TIMER0);



// cho phép ngắt toàn cục

// cho phép ngắt timer0



enable_interrupts(INT_TIMER1);

-



ext_int_edge (source, edge) : chọn cạnh xung tín hiệu ngắt là từ thấp lên cao

(L_TO_H) hay từ cao xuống thấp (H_TO_L) vd: ext_int_edge( 2, L_TO_H); //

Set up PIC18 EXT2



-



disable_interrupts (level) : không cho phép ngắt hoạt dộng

vd: disable_interrupts(INT_RDA); // RS232 OFF



d. các hàm sử dụng bộ định thời timer

-



setup_timer_0 (mode) : thiết lập lựa chọn xung clock đưa vào bộ timer 0



mode: RTCC_INTERNAL, RTCC_EXT_L_TO_H or RTCC_EXT_H_TO_L ,

RTCC_DIV_2, RTCC_DIV_4, RTCC_DIV_8, RTCC_DIV_16, RTCC_DIV_32,

RTCC_DIV_64, RTCC_DIV_128, RTCC_DIV_256

vd: setup_timer_0 (RTCC_DIV_2|RTCC_EXT_L_TO_H);

-



set_timer0( ) : thiết lập giá trị cho bộ timer 0



Xem Thêm
Tải bản đầy đủ (.docx) (79 trang)

×