PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

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
Prev Previous Post   Next Post Next
Old 08-05-2013, 09:44 AM   #1
anhvip37
Nhập môn đệ tử
 
Tham gia ngày: May 2013
Bài gửi: 1
:
Exclamation 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

thay đổi nội dung bởi: anhvip37, 08-05-2013 lúc 09:51 AM. Lý do: thiếu teptin
anhvip37 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Tags
123456

Ðiều Chỉnh
Xếp Bài

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à 08:05 PM.


Đượ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