các bác ai có cho em sơm sớm tí nha
Thông báo
Collapse
No announcement yet.
cho mình xin chương trinh bám vạch kẻ đường dạng robocon viết cho 8951
Collapse
X
-
Nguyên văn bởi navyofficer Xem bài viếtbác nào có thì cho em nhé. Viết bằng ASM thi quá tốt
Dẫu có người cho, bạn lấy về cũng chẳng giải quyết được vấn đề gì !
Comment
-
Mình chỉ có code C cho Pic thôi..bạn tham khảo nhé? ( hoặc chuyển qua dùng pic luôn cho tiện đi )
http://www.dientuvietnam.net/forums/...ic-full-43496/
/*
Chuong trinh do duong gap vat
Dem 3 vach thi dung lai va gap vat
Ngay viet 22/5/2011
*/
#include <16f877A.h>
#include <def_877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock = 20000000Hz)
//#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#use fast_io (a)
#use fast_io (B)
#use fast_io (c)
#use fast_io (d)
#use fast_io (e)
/****************************************
* CONSTANTS - HANG SO*/
//#define SENSOR PORTD //Cam bien o port D
#define MOTOR_LEFT_DIR RC0 //Cho phep dong co trai
#define MOTOR_LEFT_PWM RC1 //PWM DONG CO TRAI
#define MOTOR_RIGHT_PWM RC2 // PWM DONG CO PHAI
#define MOTOR_RIGHT_DIR RC3 // CHO PHP DONG CO PHAI
#define PIW_NANG_HA RC4 // NANG HA VAT
#define PIW_KEP_NHA RC6 //KEP NHA VAT
#define DIR_NANG_HA RC5 // DAO CHIEU QUAY MOTOR NANG HA
#define DIR_KEP_NHA RC7 // DAO CHIEU QUAY MOTOR KEP NHA
char dem_vach=0;
int8 j=0, k= 0b01100110;
int8 SENSOR;
//- CAC HAM SU DUNG TRONG CHUONG TRINH
void left_motor_forward(); //DONG CO TRAI QUAY THUAN
void right_motor_forward(); //DONG CO PHAI QUAY THUAN
void left_motor_reverse(); // DONG CO TRAI QUAY NGUOC
void right_motor_reverse(); //DONG CO PHAI QUAY NGUOC
void left_motor_stop(); //DONG CO TRAI DUNG
void right_motor_stop(); //DONG CO PHAI DUNG
void motor_stop(); //DUNG TOAN BO
void speed (signed int left_motor_speed, signed int right_motor_speed);
void DO_DUONG(); //CHUONG TRINH CON DO DUONG
VOID RE_TRAI(); // CHUONG TRINH RE TRAI
VOID RE_PHAI(); //CHUONG TRINH RE PHAI
void NANG_HA_VAT(); //CHUONG TRINH NANG HA VAT
void KEP_NHA_VAT(); //CHUONG TRINH KEP NHA VAT
///////////////////////////////////////////////////////////
// KHAI BAO NGAT/////////////////////////
//NGAT NGOAI KHI GAP VAT THI QUAY DAU LAI (DI TIM DUONG KHAC
////////////////////////////////////////////////////////////
//CAC HAM DIEU KHIEN TOC DO DONG CO
void left_motor_forward(int value)
{
MOTOR_LEFT_DIR=1;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp1(CCP_PWM);
set_pwm1_duty(value);
}
void right_motor_forward(int value)
{
MOTOR_RIGHT_DIR=1;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp2(CCP_PWM);
set_pwm2_duty(value);
}
void left_motor_reverse(int value)
{
MOTOR_LEFT_DIR=0;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp1(CCP_PWM);
set_pwm1_duty(value);
}
void right_motor_reverse(int value)
{
MOTOR_RIGHT_DIR=0;
setup_timer_2(T2_DIV_BY_4,124,1); // Dieu xung 10kHz
setup_ccp2(CCP_PWM);
set_pwm2_duty(value);
}
void left_motor_stop()
{
setup_ccp1(CCP_OFF);
}
void right_motor_stop()
{
setup_ccp2(CCP_OFF);
}
void motor_stop()
{
left_motor_stop();
right_motor_stop();
}
//HAM XUAT TOC DO 2 DONG CO: Left motor: -100 - 100 , Right motor: -100 - 100
// 0:Stop,100:FORWARD 100%,-100:Reverse 100%
//--------------CAC HAM HO TRO SPEED------------------------------------------
void speed (signed int left_motor_speed, signed int right_motor_speed)
{
int left_pwm_value=0,right_pwm_value=0;
/* Left motor */
if( left_motor_speed >= 0 )
{
left_pwm_value = 1.25*left_motor_speed; // (125*left_motor_speed/100)
left_motor_forward(left_pwm_value);
}
else
{
left_motor_speed = -left_motor_speed;
left_pwm_value = 1.25*left_motor_speed; // (125*left_motor_speed/100)
left_motor_reverse(left_pwm_value);
}
/* Right motor */
if( right_motor_speed >= 0 )
{
right_pwm_value = 1.25*right_motor_speed; // (125*left_motor_speed/100)
right_motor_forward(right_pwm_value);
}
else
{
right_motor_speed = -right_motor_speed;
right_pwm_value = 1.25*right_motor_speed; // (125*left_motor_speed/100)
right_motor_reverse(right_pwm_value);
}
}
//------------------------------------------------------------------------------
//RE TRAI VA RE PHAI//////////////////
VOID RE_TRAI(right_motor_forward,left_motor_stop)
{
speed (100,0);
}
VOID RE_PHAI(right_motor_forward,left_motor_stop)
{
speed (0,100);
}
///////////////////////////////////////////////////////////////
// NANG HA VAT VA KEP NHA/////////////////////////////
VOID NANG_VAT()
{
DIR_NANG_HA = 1;
PIW_NANG_HA =0;
Delay_ms(5000000);
PIW_NANG_HA = 1;//ket thuc nang vat
DIR_NANG_HA = 1;
}
VOID HA_VAT()
{
DIR_NANG_HA =0;
PIW_NANG_HA =0;
Delay_ms(5000000);
PIW_NANG_HA = 1;//ket thuc ha vat
DIR_NANG_HA =1;
}
VOID KEP_VAT()
{
DIR_KEP_NHA=1;
PIW_KEP_NHA=0; // cho phep kep vat
Delay_ms(1000000);
PIW_KEP_NHA=1; // ket thuc kep vat
}
VOID NHA_VAT()
{
DIR_KEP_NHA=0;
PIW_KEP_NHA=0; //cho phep nha vat
Delay_ms(1000000);
PIW_KEP_NHA=1;// ket thuc nha vat
DIR_KEP_NHA=1;
}
////////////////////////////
//CHUONG TRINH DO DUONG
void DO_DUONG(SENSOR)
{
SWITCH (SENSOR)
{
case 0b11100111:
speed(100,100);
break;
case 0b11110011:
speed(90,80);
break;
case 0b11111001:
speed(70,80);
break;
case 0b11111100:
speed(60,70);
break;
case 0b11111110:
speed(50,60);
break;
case 0b11001111:
speed(80,90);
break;
case 0b10011111:
speed(70,80);
break;
case 0b00111111:
speed(60,70);
break;
case 0b01111111:
speed(50,60);
break;
case 0b11111111:
speed(0,0);
break;
}
}
//-------------------------Chuong trinh dem vach------------------///////////
VOID DEM_VACH()
{
SENSOR = input_d();
if( SENSOR!=k)//vi D3 va D4 dang bi noi dat==>xem lai mach ve
{
k=SENSOR;
if(k==0b01100110)
{
j++;
if(j>8) j=0;
}
}
}
/*
#INT_ext
Void ngat()
{
KEP_VAT();
NANG_VAT();
HA_VAT();
NHA_VAT();
speed(0,100);
}
//--------------------------------------------------------------------------
//MAN FUNCTION - CHUONG TRINH CHINH
/* CHUONG TRÌNH CHÍNH */
void main ()
{
SENSOR = input_d();
TRISC=0x00; // PORTC là ngõ ra ( dong co)
TRISD=0xff; // PORTD là ngõ vào (cam bien quang)
trisb=0xff;//xac lap dau vao
trise=0;//xac lap dau ra
trisa=0;//xac lap dau ra
portb = 0xff;
Output_bit(Pin_C4,1);
Output_bit(Pin_C5,1);
Output_bit(Pin_C6,1);
Output_bit(Pin_C7,1);
enable_interrupts(int_ext);
Ext_int_edge(H_to_L);
enable_interrupts(global);
while(true)
{
IF (J==3)
{
KEP_VAT();
NANG_VAT();
HA_VAT();
NHA_VAT();
j=0;
}
else
DEM_VACH();
DO_DUONG(SENSOR);
if (j==3)
{
KEP_VAT();
NANG_VAT();
HA_VAT();
NHA_VAT();
j=0;
}
else
DEM_VACH();
DO_DUONG(SENSOR);
}
}Quang Nhat
---------------------------------------
Yahoo :quangnhat85ls
Mail :
Nhận thiết kế và ép nhựa cho đồ điện tử
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tiếng Anh cho người Việtbởi tuyennhanCái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .-
Channel: Tâm tình dân kỹ thuật
hôm nay, 07:44 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamCám ơn những lời chúc tốt đẹp của em.
Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.
Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....-
Channel: Tâm tình dân kỹ thuật
hôm nay, 02:00 -
-
Trả lời cho Tiếng Anh cho người Việtbởi nhathung1101Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.
Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.
Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 22:18 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.
Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:51 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.
Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:39 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.
Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:28 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietĐúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 20:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi mèomướpDạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 12:32 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamNhững lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 21:31 -
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi bqvietThiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.20-02-2025, 17:22
Comment