Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

February 20, 2013

Bài 5:Điều khiển động cơ dùng L298


CODE C
Code này là của 1 bạn trên mạng,Chip có viết lại code nhưng chạy không ổn lắm..nên post các bạn dùng code của bạn ấy. Code Chip sẽ post sau:

/* Dieu khien toc do dong co DC : Quay thuan, quay nghich, tang toc, giam toc

*/
// 2 Chan dieu khien dong co la : P2_0 va P2_1
// 5 chan de dieu khien : Quay thuan, quay nghich, Dung, Tang toc, giam toc
// 3 chan bao hieu dong co dang o che do nao.


#include <REGX51.H>

/* Dinh nghia cac nut nhan*/
#define stop P1_0
#define thuan P1_1
#define nghich P1_2
#define tang P1_3
#define giam P1_4

bit PWM;
unsigned char dem=0;
unsigned int phantram_PWM=10;

/* Ham tao thoi gian tre*/

void delay(unsigned int t)
{
unsigned int i,j;
for(i=0;i<100;i++)
for(j=0;j<t;j++);
}

/* Hien thi gia tri tang giam toc*/
unsigned char LED[10]={0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0xf8,0x80,0x10};
void hienthi(unsigned char digit1, unsigned char digit2)
{
/*Hien thi so thu nhat*/
P3=LED[digit1];
P0_0=1;
delay(2);
P0_0=0;
/*Hien thi so 2*/
P3=LED[digit2];
P0_1=1;
delay(2);
P0_1=0;
}
/* Khoi tao Timer 100us*/

void khoitaohethong()
{
//ES=1;
EA=0;
TMOD=0x02; // che do 8 bit tu nap
TH0=0x9b; // nap gia tri 155 ma hex
TL0=0x9b;
EA=1;
TR0=1;
ET0=1;
}
/* Ngat tao ra PWM*/

void ngat_timer0(void) interrupt 1
{
TR0=0;
TF0=0;
dem++;
if(dem>=phantram_PWM)
{
PWM=1;
}
else
{
PWM=0;
}
if(dem==20) dem=0;
TR0=1;

}
/* Ham dung dong co*/
void stopdc(void)
{
P2_0=0;
P2_1=0;
P2_2=0;
P2_3=1;
P2_4=1;
}

/* Ham quay thuan dong co*/
void quaythuan(void)
{
P2_1=0;
P2_0=PWM;
P2_3=0; //hien thi trang thai led xanh
P2_2=1;
P2_4=1;

}

/* Ham quay nghich dong co*/

void quaynghich(void)
{
P2_0=0;
P2_1=PWM;
P2_4=0;
P2_3=1;
P2_2=1;

}
/* Ham dieu khien tang toc*/
unsigned char tangtoc(void)
{
if(tang==0)
{
while(tang==0)
{;}
phantram_PWM--;
delay(100);
if(phantram_PWM<1)
{
phantram_PWM=1;

} }
return (phantram_PWM);
}
/* Ham dieu khien giam toc*/
unsigned char giamtoc(void)
{
if(giam==0)
{
while(giam==0)
{;}
phantram_PWM++;
delay(100);
if(phantram_PWM>20)
phantram_PWM=20;
}
return (phantram_PWM);
}
/* Lua chon che do cua dong co*/

unsigned char n;
unsigned char chonchedo(void)
{
if(stop==0) n=1;
if(thuan==0) n=2;
if(nghich==0) n=3;
switch(n)
{
case 0: {break;}
case 1: {stopdc();break;}
case 2: {quaythuan();break;}
case 3: {quaynghich();break;}
}
return (n);
}
/* Chuong trinh chinh*/
void main()
{
khoitaohethong();
while(1)
{
tangtoc();
giamtoc();
chonchedo();
hienthi((20-phantram_PWM)/10,(20-phantram_PWM)%10);
}
}


(Empty)

Blog Điện Tử | Tin Học - Chia sẻ kiến thức - Kết nối đam mê điện tử

8 comments:

Tien tran said...
21/4/13

hihi có gì chip lên gmail di mình backup toàn bọ mạch của mình cho có thể mo phỏng thì không chạy nhưng thực tế mình lắp đã chạy ak. phần mạch in orcad thì thêm trở 10k chân 21 22 23 nhe'

Chip Kool said...
21/4/13

Bạn gửi vào hòm thư admin nhé..New.moon9xone@gmail.com=D>

ngoc cao said...
23/4/13

bạn ơi có thể gửi cho mình xin mạch đc ko. mình cảm ơn. gmail mình là:ngocnha7492@gmail.com

thành đức said...
4/8/13

cho e xin mach nguyen ly voi code dc ko ạ
ducthanhk6dt1@gmail.com

Chip Kool said...
5/8/13

@thành đứcChẳng phải mạch nguyên lý và code mình đăng lên rồi sao..Nguyên lý vẽ lại mạch Mô Phỏng..code copy về biên dịch keil c là xong..

the maidinh said...
28/12/13

tải ở đâu vậy hihi

the maidinh said...
28/12/13

tải ở đâu vậy ad

Chip Kool said...
28/12/13

@the maidinh Bạn chịu khó ngồi copy code biên dịch lại là được rất đơn giản..

Post a Comment

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P