Nguyên văn bởi luc_ky_luke
Xem bài viết
Thông báo
Collapse
No announcement yet.
Viết code cho robot dò đường
Collapse
X
-
đây là một bộ khung viết cho con dò đường dùng 89s52 bạn có thể tham khảo:
#include<REG52.H> // kb thu vien
sbit out_pwm1 = P2^0;
sbit out_pwm2 = P2^4;
sbit L1 = P2^2;
sbit L2 = P2^3;
sbit R1 = P2^6;
sbit R2 = P2^7;
sbit sw1 = P3^7;
unsigned char pwm1, pwm2;
int dem,xung,chieu;
void ngatngoai0 (void) interrupt 0
{
xung++;
}
void ngattimer0 (void) interrupt 1 // tao xung PWM
{
dem++;
if (dem ==256) dem =0;
if (dem < pwm1 )
out_pwm1=1;
else
out_pwm1=0;
if (dem < pwm2)
out_pwm2=1;
else
out_pwm2=0;
}
void quay_trai (void)
{
do
{
pwm1=20;
L1=R2=0;
pwm2=200;
L2=R1=1;
}
while(P2==0x81);
}
void quay_phai (void) // nguoc lai
{
do
{
pwm1=200;
L2=R1=0;
pwm2=20;
L1=R2=1;
}
while(P2==0x81);
pwm1=1;
pwm2=1;
}
void do_duong(void)
{
char temp;
temp=P2;
L1=R1=1; // tien
L2=R2=1; // tien
switch (temp)
{
case 12: // di thang
{
pwm1=250;
pwm2=250;
break;
}
case 8: // lech trai 1
{
pwm1=250;
pwm2=230;
break;
}
case 16: // lech trai 2
{
pwm1=250;
pwm2=200;
break;
}
case 32: // lech trai 3
{
pwm1=250;
pwm2=170;
break;
}
case 4: // lech trai 4
{
pwm1=250;
pwm2=230;
break;
}
default :
{
pwm1=100;
pwm2=100;
break;
}
case 2: //lech phai 1
{
pwm1=250;
pwm2=200;
break;
}
case 6: //lech phai2
{
pwm1=250;
pwm2=170;
break;
}
}
}
void chaythang(unsigned int quangduong)
{
xung=0;
do
{
do_duong();
}
while(xung<quangduong); // 1m
pwm1=1;
pwm2=1;
}
void main (void) // cct
{
// *** khoi tao ***
// khoi tao ngat
IE=0x83;
IT0=1;
// khoi tao ngat timer
TMOD=0x02;
TH0= 246;
TR0=1;
// chon do rong xung(chon toc doc cho motor)
pwm1=1;
pwm2=1;
while(sw1);
chaythang(500); //1m
while(1);
}
Comment
-
Nguyên văn bởi soc_con_haui Xem bài viếtđây là một bộ khung viết cho con dò đường dùng 89s52 bạn có thể tham khảo:
#incl
while(1);
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
Hôm qua, 16:07 -
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
Hôm qua, 16:01 -
-
bởi chinhnguyen9Hoạt động của thế hệ mạch cân bằng trước đây dựa trên nguyên lý so áp giữa 2 string liền kề. Hoạt động cân bằng chỉ kích hoạt khi sự chênh lệch vượt ngưỡng 100mV và ngưng hoạt động khi mức chênh lệch giảm xuống còn 30mV. Bản...
-
Channel: Điện tử dành cho người mới bắt đầu
27-04-2024, 05:07 -
-
bởi chinhnguyen9Xem hình minh họa có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ bay: Trong mạch đề cập chỉ...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 21:02 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của 8 mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích 12V. Nhưng Q1 và Q2 nằm cuối dãy, chân S cùa chúng có điện áp DC cao đến...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 20:37 -
-
bởi xuanthiettivi em bị mất remote lỡ vào chế độ usb giờ không chọn lại source được. ai có file nạp cho em xin với ạ. Model 32HD957T2
-
Channel: Điện tử truyền hình
26-04-2024, 10:53 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi chinhnguyen9Đa tạ lời cảm ơn của bạn. Mến!
-
Channel: Hướng dẫn sử dụng diễn đàn
26-04-2024, 05:06 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi thebinhzChắc là không được đâu bạn ơi
Quán ăn Vĩnh Yên-
Channel: Điện tử công suất
25-04-2024, 21:56 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi thebinhzCảm ơn bạn nhiều nha
Nhà hàng Vĩnh Yên-
Channel: Hướng dẫn sử dụng diễn đàn
25-04-2024, 21:50 -
-
bởi chinhnguyen9Vai viết này đã được chuyển sang chuyên mục phù hợp.
-
Channel: Hướng dẫn sử dụng diễn đàn
25-04-2024, 08:29 -
Comment