![]() |
|
|
|
|
#1 |
|
Đệ tử 2 túi
Tham gia ngày: Jan 2011
Bài gửi: 36
: |
Đếm xung encoder cho 2 động cơ
Chào các anh ! em đang tìm hiểu điều khiển động cơ .... đọc tài liệu cũng nhiều .... Em có thắc mắc thế này : nhiều người sử dụng ngắt ngoài để đếm xung từ 1 encoder của 1 động cơ .... mà trong PIC16F877a thì chỉ có 1 chân B0 ... vậy khi sử dụng từ 2 động cơ muốn đọc xung từ 2 động cơ thì phải làm thế nào ???
|
|
|
|
|
|
#2 | |
|
Nhập môn đệ tử
Tham gia ngày: Dec 2011
Bài gửi: 2
: |
Trích:
chúc bạn thành công ! |
|
|
|
|
|
|
#3 | |
|
Đệ tử 2 túi
Tham gia ngày: Jan 2011
Bài gửi: 36
: |
Trích:
Code:
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int ec1=0; int ec2=0;// Chuong trinh ngat
#int_RB void ngat_RB()
{ if((RBIF)&&(RBIE))
{
{
if(RB4==1)
// // doc ec1
{
if(ec1==255)
ec1=0;
ec1 ++;
}
}
{
if(RB5==1)
///// doc ec2
{
if(ec2==255)
ec2=0;
ec2 ++;
}
RBIF=0; //Xoa co ngat RB
}
}
Em vẫn chưa hiểu về T với T/2 ..... em nghĩ ngắt ngoài thì khi nào có tác động ngoài thì ngắt mới hoặt động chứ nhỉ ??? thay đổi nội dung bởi: ElecTel, 29-12-2011 lúc 03:57 AM. |
|
|
|
|
![]() |
|
|