PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Cần giúp đỡ PWM PIC18F4431 (http://www.picvietnam.com/forum/showthread.php?t=31560)

tien168bn 30-12-2012 03:01 PM

Cần giúp đỡ PWM PIC18F4431
 
1 Attachment(s)
Mình viết code này mà ko hiểu sao khi dùng hai modul pwm thì chạy ngon lành, dùng thêm một modul nữa thì cái modul dùng thêm đó luôn có xung ra. ví dụ như trong code dưới là dùng pwm2 và pwm6 chạy hai bánh, pwm4 điều khiển tay gắp. mà cứ bất nguồn mạch đk là tay gắp lại hoạt động luôn. Khẳng định là mạch công suất ko có vấn đề j, vì e dùng mạch đó chạy động cơ bnhs vẫn ngon lành.

tien168bn 03-01-2013 02:11 PM

Trích:

Nguyên văn bởi tien168bn (Post 80314)
Mình viết code này mà ko hiểu sao khi dùng hai modul pwm thì chạy ngon lành, dùng thêm một modul nữa thì cái modul dùng thêm đó luôn có xung ra. ví dụ như trong code dưới là dùng pwm2 và pwm6 chạy hai bánh, pwm4 điều khiển tay gắp. mà cứ bất nguồn mạch đk là tay gắp lại hoạt động luôn. Khẳng định là mạch công suất ko có vấn đề j, vì e dùng mạch đó chạy động cơ bnhs vẫn ngon lành.

Ai giúp mình với :((

dinhnambkhn 03-01-2013 06:48 PM

bạn đọc exemple của ccs í, trong đó nó có 1 số vd về power PWM

thucdontinhyeu_ 04-01-2013 09:40 PM

pro giúp mình sửa lỗi code đo chu kì xung píc6f877a
 
1 Attachment(s)
#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(d)
#use fast_io(e)
#BYTE portb=0x6
#BYTE portd=0x8
#BYTE porte=0x9
#bit b7=portb.7
int8 a[3]={0x01,0x38,0x0E};
int16 n,p;
int8 t,tam,i,k;
void xuatlcd();
void khoitao();
void ngat();
#INT_CCP1
void ngat()
{
k=1;
t=0;
}
void main()
{
enable_interrupts(int_CCP1);
enable_interrupts(GLOBAL);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
setup_ccp2(CCP_CAPTURE_RE);
setup_ccp1(CCP_CAPTURE_FE);
set_timer1(0);
SET_TRIS_c(0b01111111);
SET_TRIS_e(0);
SET_TRIS_d(0);
for (i=0;i<=2;i++)
{
tam=a[i];
khoitao();
}
while(1)
{
if(input(pin_c1)&&t==0)
{
set_timer1(0);
t++;
k=0;
}
if(k==1)
{
n=CCP_2;
p=(n*0.8)/58;
tam=0x80;
khoitao();
tam=(p/100)+48;
xuatlcd();
tam=(p%100)/10+48;
xuatlcd();
tam=(p%100)%10+48;
xuatlcd();
t=0;
}
}
}
void khoitao()
{
porte=0b100;
portd=tam;
porte=0b000;
delay_ms(20);
}

void xuatlcd()
{
porte=0b101;
portd=tam;
porte=0b001;
delay_ms(20);
}


Múi giờ GMT. Hiện tại là 06:44 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam