![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#2 |
Đệ tử 1 túi
Tham gia ngày: Jan 2007
Bài gửi: 22
: |
BÀI SỐ 2
2) BAI1-cổng- nháy led //VAO RA CONG VA NHAY LED CONG D BANG TRE THOI GIAN #include<pic.h> __CONFIG(HS & PWRTEN & BOREN & LVPDIS); //---------Cac dinh nghia va Ngat---------- void init(void); void delay(void); //---------Chuong trinh chinh------------------ void main() { CLRWDT(); init(); while(1) { PORTD = 0b11111111; delay(); PORTD = 0b00000000;//0x00; delay(); } CLRWDT(); } //------DINH NGHIA CONG VAF CAC NGAT------------------- void init(void) { TRISD = 0b00000000; //=1 laf IN, =0 la OUT PORTD = 0b00000000; TRISB = 0b11111111; TRISC = 0b11111111; TRISA = 0b11111111; //CONG ALAGOC TRISE = 0b00000111; // SO ADCON1 = 0b00000010; // ANi là c?ng s? } //---------LAM TRE THOI GIAN------------ void delay (void) { unsigned int i; for(i=0;i<65535;i++) { NOP(); // khoang 30 lenh, CLRWDT(); } } //=========THE END========= 3) Bai 2-Nhay led-TMTO #include<pic.h> __CONFIG(UNPROTECT & WDTEN & HS & PWRTEN & BOREN & LVPDIS & DUNPROT & DEBUGDIS); //========Cac dinh nghia dung moi loi========= void init(void); // su bat dau bit bNewTMR0; // bit la dieu kien tat mo ..... //===========HAM NGAT================ #define T0 100 unsigned int uiClk0; //la ki tu dem den bao nhieu thi chan void interrupt MyInt(void) { //--------ngat TMRO-------------------- if(TMR0IF) { TMR0 = 256-T0; //Thoi gian co mot ngat= (0.2µs)*(128)*((256-TMR0)=T0) (µs)=2560 µs =2.56ms if((uiClk0++)==390) //tao thoi gian tre TMR0=1s { uiClk0 = 0; bNewTMR0 = 1; //dieu kien bat tat?, } TMR0IF = 0; //xao co ngat, } } //==========Chuong trinh chinh'================= void main() //chuong trinh trinh { init(); //bat dau chuong trinh while(1) { if(bNewTMR0 == 1) //khi =1 thi dung thuc hien { RD0 = !(RD0); //dung dao RD2 = !(RD2); //de dao thi viet tung bit RD4 = !(RD4); RD6 = !(RD6); bNewTMR0 = 0; //soa = 0 } NOP(); CLRWDT(); } CLRWDT(); } //==========THE END MAIN==================== void init(void) { //---------Dinh nghi cac cong------------------ TRISD = 0b00000000; //cong X la ra PORTD = 0b11111111; //CONG RA MUC 0 HAY 1 //----------Khoi tao TMRO-------------- OPTION = 0b00000110; //bA bit cuoi ty le chia 128 TMR0IE = 1; //cho phep ngat TMRO //-----------Co ngat toan cuc-------------- //PEIE = 1; //cho phép các ng?t ngoài làm vi?c GIE = 1; //choi phep ngat toan cuc } //====THE END==================
__________________
Chuyên sửa các thiết bị công nghiệp-Phân loại Sacmi-Lò nung-máy ép... Sách hướng dãn PIC 16F877A -DĐ 0972.404.298 |
![]() |
![]() |
|
|