![]() |
|
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 |
|
![]() |
#1 | |
Đệ tử 2 túi
Tham gia ngày: Feb 2009
Bài gửi: 35
: |
Trích:
//===Khởi tạo ngắt RB0===============================// void init_ngat()//Cấu hình ngắt RB0 //XEM DATASHEET TRANG 128 { PEIE = 1;//cho phep ngat ngoai vi GIE = 1;//cho phep ngat toan cuc INTEDG = 0;//ngat RB0 khi co xung xuong INTF = 0;//xoa co báo ngat RB0 ANS12 = 0;//Chon chuc nang cua chan RB0 la I/O digital TRISB0 = 1;//Cho chan RB0 nhan xung tu encoder WPUB = 0xff;//Bat chuc nang danh thuc MCU } /=====CHUONG TRINH DEM XUNG ENCODER====================// void interrupt ISR() { if(INTF && INTE)//INTE=1 khi có tín hiệu tác động vào RB0, INTF=1 khi có xung cạnh xuống. {xung++; INTF =0;}//xóa cờ báo ngắt. } //===Khoi tao timer 1====================================// void init_timer1() { // TMR1CS: Timer 1 clock source select bit // TMR1CS = 1 : External clock form pin RC0 // TMR1CS = 0 : Internal clock Fosc/4 TMR1CS=0; // T1OSCEN: Timer1 oscillator enable control bit // T1OSCEN = 0 : Enable // T1OSCEN = 1 : Shut-off T1OSCEN=0; // T1CKPS1:T1CKPS0 Prescale clock select bit // 11 : 1/8; 10 : 1/4; 01 : 1/2; 00 : 1/1 T1CKPS1 = T1CKPS0 = 1; //presclaer = 1:8 TMR1GE=0;//Not used Gate Control T1SYNC=0;//khong dong bo TMR1IF=0;//CLEAR TIMER1 INTERRUPT FLAG TMR1ON=0;//chưa cho Timer1 hoạt động } Bạn tham khảo thêm ỏ bên link này http://www.picvietnam.com/forum/showthread.php?t=30520 |
|
![]() |
![]() |
![]() |
Tags |
pic16f877 mplab |
|
|