PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   giúp em sữa lỗi này với (http://www.picvietnam.com/forum/showthread.php?t=32220)

anhvip37 08-05-2013 09:44 AM

giúp em sữa lỗi này với
 
em mới tìm hiểu về piic ,code này khi dịch thì nó báo lỗi,mong các anh chị xem giúp t
lỗi ơ đây em k úp bàng hình ảnh đc mong mấy anh dowload vè xem dùm em.code em có đưa kem theo luôn ak.em dùng píc để điều khiển RF với giao tieps máy tinh
#include <16F877A.h>
#include <DEFS_16F877A.h>
#include <stdlib.h>
#device *=16
#fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP, NOCPD,NOWRT //khai bao cac thiet dat cho PIC
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
signed int8 y;
#bit rc0 = 0x07.0 //khai bao su dung thach anh 20MHz de su dung ham delay cua chuong trinh
#define DC1 RC0
#define DC2 RC1 // CCP2
#define DC3 RC2 // CCP1
#define DC4 RC3
#define RELAY1 RD0
#define RELAY2 RD1
#define RELAY3 RD2
#define RELAY4 RD3
//rb4 : A
//rb5 : C
//rb2 : D
//rb3 : B
/************************************************** ***********************************/
#INT_RDA
VOID RECEVICE()
{
y=getc();
}
void main()
{
INT8 X;
X = 500;
enable_interrupts(global);
enable_interrupts(INT_RDA);
set_tris_c(0xf0);
set_tris_d(0x00);
set_tris_b(0b00111100);
//unsigned char x;
//set_tris_c(0xf9); //dat 2chan ccp_pwm la output con cac chan con lai la input
//output_c(127);
//rc0 = 0;
//output_d(0);//portd = 0
//output_bit(pin_c0,0);// pin c0 =0set_tris_c(0xf0);
set_tris_b(0b00111100);
setup_timer_2(t2_div_by_16,255,16);//t2_div_by_16:bo chia tan cho 16 => moi lan dem se mat thoi gian la (4/f*16)
//tang den 255 thi reset=>timer 2 se tran` sau 255*4/f*16
//sau 16 lan tran timer 2 thi xay ra ngat=>sau 16*255*4/f*16 se xay ra ngat timer 2
//tong cong thoi gian~13ms
setup_ccp1(ccp_pwm);
setup_ccp2(ccp_pwm);
while(true)
{
dc1 = 1;
set_pwm1_duty(1023);
set_pwm2_duty(1023);
dc4 = 1;
relay3 = 1;
relay4 = 1;
relay2 = 1;
relay1 = 1;
//********************************** DIEU KHIEN BANG MAY TINH ************************************************** ******

//////////////// ROBOT TIEN /////////////////////////////////////////////////////////////////////////

if(y==1)
{
// output_bit(pin_c1,0);
set_pwm1_duty(550);
set_pwm2_duty(550);
}

///////////////ROBOT LUI //////////////////////////////////////////////////////////////////////

if(y==2)
{
relay2 = 0;
relay3 = 0;
set_pwm1_duty(800);
set_pwm2_duty(800);
}

/////////////// ROBOT RE TRAI /////////////////////////////////////////////////////////////////////

if (y==3)
{
relay2 = 0;
set_pwm1_duty(800);
set_pwm2_duty(800);
}

///////////////// ROBOT RE PHAI /////////////////////////////////////////////////////////////////////////

if (y==4)
{
relay3 = 0;
set_pwm1_duty(800);
set_pwm2_duty(800);
}

//////////////// DUNG ROBOT ////////////////////////////////////////////////////////////////////////////

if(y==5) // phim D
{
set_pwm1_duty(1023);
set_pwm2_duty(1023);
}

///////////////// QUAY TRAI CAMERA ////////////////////////////////////////////////////////////////////

if(y==7)
{
output_d(0x90);
delay_ms(50);
output_d(0xC0);
delay_ms(50);
output_d(0x60);
delay_ms(50);
output_d(0x30);
delay_ms(50);
}

////////////////// QUAY PHAI CAMERA ///////////////////////////////////////////////////////////////////

if(y==6)
{
output_d(0x30);
delay_ms(50);
output_d(0x60);
delay_ms(50);
output_d(0xC0);
delay_ms(50);
output_d(0x90);
delay_ms(50);
}

//***********************DIEU KHIEN BANG TAY *******************************************

////////// robot tien///////////////////////////////////////////////////

while(rb3 == 1)// phim B
{
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_ms(200);
}

////////////robot lui/////////////////////////////////////////////////////

while(rb4 == 1) // phim A
{
relay2 = 0;
relay3 = 0;
delay_ms(200);
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_ms(200);

}

//////////////// robot re trai//////////////////////////////////////////

while(rb5 == 1) // phim C
{
relay2 = 0;
delay_ms(200);
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_ms(200);

}

////////////////////robot re phai/////////////////////////////

while(rb2 == 1) // phim D
{
relay3 = 0;
delay_ms(200);
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_ms(200);
}

/*while(x!=1023){
x++;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_us(2500);}
delay_ms(500);
while(x>0){
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_us(2500);}*/
}
}
link lỗi đây ak,mong các anh chi giúp em
http://www.mediafire.com/#myfiles

trantue 08-05-2013 08:51 PM

anhvip37 đã khắc phúc đc rồi

phamquocgia 09-05-2013 07:42 PM

sửa lại #include <DEF_877a.h>
xóa dòng #device *=16


Múi giờ GMT. Hiện tại là 02:57 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