PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 11-11-2010, 10:42 PM   #15
robotpic
Đệ tử 4 túi
 
Tham gia ngày: Jun 2010
Bài gửi: 79
:
uh nó chạy rồi. nhưng vẫn không tốt. mình đang tìm hiểu, cái chính là mình xóa cờ ngắt sau mõi lần gọi chương trình ngắt. nhưng 3 ngắt mình thấy chu kỳ khác nhau.

vì sao ngăt ext2 lại số vong quay nhiều hơn.
#include <18f4331.h>
#INCLUDE <def_4331.h>

#FUSES HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT,NOCPD,NO DEBUG,NOFCMEN,NOCPB,STVREN,NOPWMPIN,HPOL_LOW
#FUSES MCLR,NOIESO,NOWRTC,NOWRTB,NOWRTD,NOEBTR,NOWRT,NOEB TRB,EXCLKD0,T1STANDARD,NOWINEN

#use delay(clock=20000000)

#use fast_io(a)
#use fast_io(d)
#use fast_io(c)
#use fast_io(e)


#DEFINE GIAI_MA1 RE0
#DEFINE GIAI_MA2 RE1
#DEFINE GIAI_MA3 RE2

#DEFINE NUT_AN RA0
#DEFINE CT_HT RA4

long XUNG,XUNG1,XUNG2;
int1 nut1,nut2,nut3,nut4,nut5,nut6,nut7,nut8;
int1 CT_HT1,CT_HT2,CT_HT3,CT_HT4,CT_HT5,CT_HT6,CT_HT7,C T_HT8;
#INT_EXT //RC3
VOID DEM_NGAT()
{
XUNG++;
INT0IF=0;
return ;
}

#INT_EXT1 //RC4
VOID DEM_NGAT_1()
{

XUNG1++;
INT1IF=0;
return ;
}

#INT_EXT2 //RC5

VOID DEM_NGAT_2()
{
XUNG2++;
INT2IF=0;
return;
}

VOID CT_PWM_POWER()
{
SET_POWER_PWM0_DUTY(100);

SET_POWER_PWM2_DUTY(500);

SET_POWER_PWM4_DUTY(200);

SET_POWER_PWM6_DUTY(500);

}
VOID CT_PWM_CCP ()
{

SET_PWM2_DUTY(250);
SET_PWM1_DUTY(500);
}
void main()
{
trisa=0x00;
porta=0xff;

trisb=0x00;
portb=0x00;

trisc=0b00111000;
//portC=0b00111000;

trisd=0x00;
portd=0xff;

trise=0x00;
porte=0xff;



setup_power_pwm_pins( PWM_ODD_ON,PWM_ODD_ON,PWM_ODD_ON,PWM_ODD_ON);
setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,1 24,0,1,0);
set_power_pwm_override(1, false, 0);
set_power_pwm_override(3, false, 0);
set_power_pwm_override(5, false, 0);
set_power_pwm_override(7, false, 0);

SETUP_CCP1(CCP_PWM);
SETUP_CCP2(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,124,1);

enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
ext_int_edge(0, L_TO_H );
ext_int_edge(1, L_TO_H );
ext_int_edge(2, L_TO_H );


xung=0;
xung1=0;
xung2=0;


while(TRUE)
{
IF(xung2==100) RA0=0;
else IF(XUNG2==1200) RA1=0;
else IF(XUNG2==1300) RA2=0;
else IF(xung2==1400) RA3=0;
else IF(xung2==1500) RA4=0;
else IF(xung2==1600) RA5=0;
else IF(xung2==2000) CT_PWM_POWER();
else IF(xung2==3000) CT_PWM_CCP ();
else IF(xung2>4000)
{
RD0=0;
DELAY_MS(500);
RD1=0;
DELAY_MS(500);
RD2=0;
DELAY_MS(500);
RD3=0;
DELAY_MS(500);
RD4=0;
DELAY_MS(500);
RD5=0;
DELAY_MS(500);
RD6=0;
DELAY_MS(500);

}
}

}
robotpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:09 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam