minh dang can gap? goi hung nhe
Thông báo
Collapse
No announcement yet.
gui cho minh so dô mạch nap 89s52
Collapse
X
-
-
có ai giúp em vói, em đang lạp trình cho động cơ DC bàng 89c51,
em sủ dụng 6 nut nhấn , start, stop, quay thuan, quay nghich , tang , giam,
em đã lập trình được start , stop ,thuận, nghich.
còn phần thay đổi tốc độ DC thì em vẫn chưa lam được
mong anh chị chỉ giùm em
em là người mới nên chưa nắm rõ lắm
#include <REGX51.H>
/* Dinh nghia cac nut nhan*/
#define start P2_0
#define stop P2_1
#define thuan P2_2
#define nghich P2_3
#define tang P2_4
#define giam P2_5
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++);
}
/* 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;// Chay timer 0 bat dau dem so chu ki may
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==10) dem=0;
TR0=1;
}
/* Ham dung dong co*/
void startdc(void)
{
if(start==0)
P1_2=PWM;
}
void stopdc(void)
{
if(stop==0)
P1_2=1;
}
/* Ham quay thuan dong co*/
void quaythuan(void)
{
if(thuan==0)
P1_3=1;
}
/* Ham quay nghich dong co*/
void quaynghich(void)
{
if(nghich==0)
P1_3=0;
}
/* 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>40)
phantram_PWM=40;
}
return (phantram_PWM);
}
/* Lua chon che do cua dong co*/
unsigned char n;
unsigned char chonchedo(void)
{
if(start==0)n=1;
if(stop==0) n=2;
if(thuan==0) n=3;
if(nghich==0) n=4;
if(tang==0)n=5;
if(giam==0)n=6;
switch(n)
{
case 0: {break;}
case 1: {startdc();break;}
case 2: {stopdc();break;}
case 3: {quaythuan();break;}
case 4: {quaynghich();break;}
case 5: {tangtoc();break;}
case 6: {giamtoc();break;}
}
return (n);
}
/* Chuong trinh chinh*/
void main()
{
khoitaohethong();
while(1)
{
startdc();
stopdc();
quaythuan();
quaynghich();
tangtoc();
giamtoc();
chonchedo();
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
hôm nay, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
hôm nay, 11:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhNó không phải cái loa rời. Chả nhẽ đèo thêm 2 con loa tép ngoài thì kỳ lắm....
-
Channel: Điện thanh
hôm nay, 09:45 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ chú mua thêm loa tép nối tiếp qua con tụ rồi mắc vào cùng loa trung là được ạ...
-
Channel: Điện thanh
Hôm qua, 19:53 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi mèomướpDạ cháu hỏi bạn cháu thì bạn ấy trả lời như thế này ạ. Cháu cũng hông bít có đúng hông nữa ạ
Linh kiện điện tử với mã "943BA" và "W58BAL" là một loại cầu chì tự động (circuit breaker) do TE Connectivity sản...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 19:50 -
-
bởi viettinhChuyện là mình mới đập hộp con loa kéo Sony SRS-XV900. Do khu vực mình k có sẵn hàng để trải nghiệm thực tế nên chỉ tham khảo các kênh revew online.
Mua về sử dụng thì thấy hơi buồn về chất âm, Mở max k to bằng cái loa kéo china, bass...-
Channel: Điện thanh
Hôm qua, 17:18 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi yeurap7em tra google cũng ko có...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 16:37 -
-
Trả lời cho Trình điều khiển bước rời rạcbởi mèomướpDạ nếu chú đã viết được chương trình cho vđk thì thêm 1 chương trình con chạy động cơ bước chỉ đơn giản là copy phát. Về phần cứng thì vài con cách ly quang, vài con mosfet thôi ạ. thực sự là dễ dàng như bài tập bình thường của sinh viên thôi ạ...
-
Channel: Máy công cụ
06-01-2025, 12:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi Minhdai95vâng mình cảm ơn mn đã góp ý
-
Channel: Điện tử công suất
06-01-2025, 11:30 -
-
bởi tom22Xin chào
Tôi có một dự án trong đó một động cơ bước tích hợp được điều khiển bởi một bộ vi điều khiển.
Nhưng tôi thực sự không thích trả tiền cho trình điều khiển bước, khi tôi có một bộ vi điều khiển có khả năng thực...-
Channel: Máy công cụ
06-01-2025, 10:54 -
Comment