![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#5 | |
Đệ tử 5 túi
Tham gia ngày: Oct 2005
Bài gửi: 117
: |
![]() Trích:
main: - KHởi tạo cho các Port IN/OUT tương ứng - Khởi tạo Timer(chọn chế độ chạy clock) + ngắt Timer, thời gian timer chạy đến lúc ngắt chính là thời gian Led sáng. ví dụ 2ms - Khởi tạo các biến - Cho phép ngắt timer chạy - main loop: thực hiện các công việc khác theo yêu cầu lập trình Ngắt timer: - tắt Led - Gửi Data của Led kế tiếp - Cho Led sáng - Reset timer - Thoát Về cơ bản như vậy, còn đây là sample code: Code:
#int_RTCC void RTCC_isr() { Num_Timer0_INT++; // Printf("\nINT %d",Num_Timer0_INT); if (Num_Timer0_INT == 13) // 10*13.1ms ~ 500ms. Update Led { disable_interrupts(INT_RTCC); ClearLed(); // Tat Led Send_595(led7[DispBuffer[NextLed]]); // Gui data SelectLed(NextLed);// Cho Led sang Num_Timer0_INT = 0; set_timer0(0); // Reset timer enable_interrupts(INT_RTCC); } } Code:
void main() { // Khoi tao In/Out delay_ms(100); output_a(0xff); set_tris_a(0b011110001); set_tris_b(0x03); output_low(PIN_B7); // Setup Analog setup_adc_ports(sAN0); setup_adc(ADC_CLOCK_INTERNAL); // ADC_CLOCK_INTERNAL // Setup Timer setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); // Timer 0, overflow 204uS @ 20MHz setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); // Cho phép ngắt enable_interrupts(INT_RTCC); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); while (TRUE) { // Chương trình xử lý chính } // End of While }// En dof Main
__________________
CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet 0988006696 http://linhnc308.blogspot.com linhnc308@gmail.com |
|
![]() |
![]() |
|
|