![]() |
|
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 |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Jan 2007
Bài gửi: 22
: |
BÀI 3
4) Bài 3 Nháy Led TMR1 #include<pic.h> __CONFIG(UNPROTECT & WDTEN & HS & PWRTEN & BOREN & LVPDIS & DUNPROT & DEBUGDIS); //=========Cac dinh nghia====================== void init(void); //su bat dau //==========HAM NGAT================== #define T1 10000 void interrupt MyInt(void) //chuong trinh ngat { static unsigned int suiClk1; //Mang tinh nguyen , if(TMR1IF) { TMR1ON = 0; //Tat ko cho TMR1 khi chua khoi tao TMR1H = ((65535-T1)>>8); //nhap bai TMR1L = ((65535-T1) & 0x00ff);//nhap bai thap TMR1ON = 1; if( suiClk1++==62) // lap 62.5 la 1s { suiClk1= 0; RD0 = !(RD0); RD2 = !(RD2); //de dao thi viet tung bit RD4 = !(RD4); RD6 = !(RD6); } TMR1IF = 0; //xoá co tràn } } //==========Chuong trinh chinh'=============== void main() //chuong trinh trinh { init(); //bat dau chuong trinh while(1) { NOP(); //ko lam gi ca CLRWDT(); } CLRWDT(); } //=======E END MAIN========= void init (void) { TRISB = 0b11111110; TRISD = 0b00000000; PORTD = 0b10101010; //--------- khoi tao cho TMR1------------- T1CON = 0b00111101; //bit 7&6 =0, bit 5&4 ty le chia, bít1 là ty la chia Fosc/4 phai co; //bit0=1 la bat,bit0=0 la tat; ty le chia 8 TMR1IE = 1; //cho phep ngat TMR1 //---------ngat toan cuc ----------- PEIE = 1; //cho phép các ngat ngoài làm viec GIE = 1; } //==========THE END=============== 5) Bai 4- Nhay led TMR2 #include<pic.h> __CONFIG(UNPROTECT & WDTEN & HS & PWRTEN & BOREN & LVPDIS & DUNPROT & DEBUGDIS); //===========Cac dinh nghia============= void init(void); //su bat dau //========M NGAT============== #define T2 78 static int siClk2; void interrupt MyInt(void) //chuong trinh ngat { if(TMR2IF) //ngat TMR2 chia sau dúng ,chia chuoc thì chú ý { TMR2 = 256 - T2; TMR2IF = 0; //TGMNT2 = 0.2*256*78.125=4000µs=4ms if(siClk2++==1000) //tao 1s { siClk2= 0; RD0 = !(RD0); //dung dao RD2 = !(RD2); //de dao thi viet tung bit RD4 = !(RD4); RD6 = !(RD6); } } } //==========Chuong trinh chinh'=========== void main() //chuong trinh trinh { init(); //bat dau chuong trinh while(1) { NOP(); //ko lam gi ca CLRWDT(); } CLRWDT(); } //=========THE END MAIN======= void init (void) { TRISB = 0b11111110; TRISD = 0b00000000; PORTD = 0b10101010; //--------Khoi tao cho TMR2----------------- T2CON = 0b01000100; //Bít7=0;Bit(6-3) là ti le chia chuoc,Bít(1-0) ti le chia sau, //ti le chia chuac 16 chia sau là 16 tich là 256; CHÚ Ý TMR2IE=1; //cho phép ngat PEIE=1; GIE=1; } //=========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 |
![]() |
![]() |
|
|