14-12-2012, 01:52 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Dec 2012
Bài gửi: 6
: |
Code ccs
anh chị giúp em đoạn code này với ạ. em mới tìm hiểu nên chưa được rõ lắm ah.
#include <18F4431.h> //KHAI BAO SU DUNG VDK 18F4431 #FUSES HS,NOWDT,NOPROTECT,NOLVP //THIET LAP CHE DO HOAT DONG CHO VDK #USE DELAY(CLOCK=12000000) //SU DUNG BO DAO DONG THACH ANH 12Mhz INT16 COUNT,VAROUTB=0B0000000011111111;//kHAI BAO BIEN 16 BIT #INT_TIMER0 // CHUONG TRINH NGAT TIMER0 VOID NGATTIME0() { SET_TIMER0(6); // DAT GIA TRI DAU TIME0 LA 6 ++COUNT; IF(COUNT>=6000) //6000*(500/3)us=1s { COUNT=0; VAROUTB=(VAROUTB<<8)|(VAROUTB>>8); OUTPUT_B((INT8)VAROUTB); } } VOID MAIN() { set_tris_b(0b00000000); output_b((int8)VAROUTB); ENABLE_INTERRUPTS(INT_TIMER0); SETUP_TIMER_0(RTCC_INTERNAL|RTCC_DIV_2|RTCC_8_BIT) ; ENABLE_INTERRUPTS(GLOBAL); SET_TIMER0(6); //T_dinhthi=delay=2*(256-6)*(1/3)us=500/3us WHILE(1) { } } đây là bài tập sử dụng timer0 làm 8 led nhấp nháy theo chu kì 2s //6000*(500/3)us=1s //T_dinhthi=delay=2*(256-6)*(1/3)us=500/3us em không hiểu chỗ này, mong mọi người chỉ giúp và chương trình em mô phỏng trên protues không đúng 2s các bác ạ |
|
|