ĐiệnTửAz.BlogSpot.Com Đặt Liên Kết Quảng Cáo!
Breaking News
Loading...
Thứ Năm, 26 tháng 3, 2015

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



v Nhóm Hàm Quản Lý CCP

·       SETUP_PWM1_DUTY(),SETUP_PWM1_DUTY()

Hàm này được dùng để xác định % thời gian trong 1 chu kỳ, PWM ở mức cao
+ Cú pháp: set_pwm1_duty(value)
set_pwm2_duty(value)
+ Tham số: value có thể là biến hay hằng số với 8 hay 16 bit
+ Trị trả về: không
+ Yêu cầu: không
Ví dụ:      set_pwm1_duty(512): đặt 50% mức cao (50% duty)

·       SETUP_CCP1(),SETUP_CCP2()

Hàm này được dùng để Khởi động CCP. Bộ đếm CCP có thể được thực hiện thông qua vịec sử dụng CCP_1 và CCP_2. CCP hoạt động ở 3 mode. Ở capture mode, CCP copy giá trị đếm timer 1 vào CCP_x khi cổng vào nhận xung. Ở compare mode, CCP thực hiện 1 tác vụ chỉ định trước khi timer 1 và CCP_x bằng nhau. Ở chế độ PWM, CCP tạo một xung vuông.
+ Cú pháp:             setup_ccp1(mode)
setup_ccp2(mode)


v Nhóm Hàm Quản Lý Ngắt

·       EXT_INT_EDGE()
Hàm này được dùng để qui định thời điểm ngắt tác động: cạnh lên hay xuống.
+ Cú pháp:: ext_int_edge(source,edge)
+ Tham số: source: source: giá trị mặc định là 0 cho PIC16F877
edge: H_TO_L cạnh xuống 5V → 0V
L_TO_H cạnh lên 0V → 5V
+ Trị trả về: không
+ Yêu cầu: các hằng số phải được định nghĩa trong device file PIC16F87x.h

·       #INT_xxx

Khai báo khởi tạo hàm ngắt. Hàm ngắt có thể không có bất kỳ tham số nào. Trình biên dịch tạo code để nhảy đến hàm ngắt khi lệnh ngắt thực hiện. Trình biên dịch cũng tạo nên code để lưu trữ trạng thái của CPU và xóa cờ ngắt. Dùng lệnh NOCLEAR sau #INT_xxx để không xóa cờ ngắt này. Trong chương trình , phải dùng lệnh ENABLE_INTERRUPTS(INT_xxxx) cùng với lệnh ENABLE_INTERRUPTS(GLOBAL) để khởi tạo ngắt.
+ Cú pháp: #INT_AD   Kết thúc biến đổi A/D
#INT_BUSCOL   Xung đột bus
#INT_CCP1 Capture or Compare on unit 1
#INT_CCP2 Capture or Compare on unit 2
#INT_EEPROM   Kết thúc viết vào EEPROM
#INT_EXT Ngắt ngoài
#INT_LOWVOLT Low voltage detected
#INT_PSP Parallel Slave Port data in
#INT_RB   Port B any change on B4-B7
#INT_RDA RS232 receive data available
#INT_RTCC Timer 0 (RTCC) overflow
#INT_SSP SPI or I2C activity
#INT_TBE RS232 transmit buffer empty
#INT_TIMER1    Timer 1 overflow
#INT_TIMER2    Timer 2 overflow

Hàm này được dùng để Tắt ngắt tại mức quy định bởi level. Mức toàn cục (GLOBAL level)
không tắt bất kỳ các ngắt trong chương trình nhưng ngăn cản bất kỳ ngắt nào trong chương trình,
đã được khởi tạo trước đó. Các mức ngắt hợp lệ giống như được dùng trong #int_xxx. GLOBAL
level không tắt các ngắt gioao diện (peripheral interrupt). Chú ý không cần thiết tắt ngắt bên trong
một ngắt khác vì các ngắt náy đã được tự động tắt.
+ Cú pháp:: disable_interrupts(level)
+ Tham số: một trong các hằng số sau
GLOBAL
INT_RTCC
INT_RB
INT_EXT
INT_AD
INT_TBE
INT_RDA
INT_TIMER1
INT_TIMER2
INT_CCP1
INT_CCP2
INT_SSP
INT_PSP
INT_BUSCOL
INT_LOWVOLT
INT_EEPROM
+ Trị trả về: không
+ Yêu cầu: phải dùng với #int_xxx

·       ENABLE_INTERRUPTS()

Hàm này được dùng để Khởi tạo ngắt tại mức quy định bởi level. Một thủ tục ngắt (interrupt procedure) cần được định nghĩa. Mức toàn cục (GLOBAL level) không khởi tạo bất kỳ ngắt chỉ định nào mà chỉ khởi tạo các biến ngắt đươc đã khởi tạo trước đó.
+ Cú pháp:: enable_interrupts(level)
+ Tham số: level - một trong các hằng số sau
GLOBAL
INT_RTCC
INT_RB
INT_EXT
INT_AD
INT_TBE
INT_RDA
INT_TIMER1
INT_TIMER2
INT_CCP1
INT_CCP2
INT_SSP
INT_PSP
INT_BUSCOL
INT_LOWVOLT
INT_EEPROM
+ Trị trả về: không
+ Yêu cầu: phải dùng với #int_xxx

v Các phép toán trong PIC C compiler





// Ngoài  ra  còn  có  Các Hàm Toán Học Chuẩn Và Nhóm Các Hàm Ký Tự Chuẩn Của C //

0 nhận xét:

Đăng nhận xét

 
Toggle Footer
BACK TO TOP