แผนภาพวงจรของการควบคุมความเร็วมอเตอร์กระแสตรงแบบ PWM โดยใช้ไมโครคอนโทรลเลอร์

ส่วนประกอบวงจร
8051 ไมโครคอนโทรลเลอร์
11.0592 MHz Crystal
ตัวเก็บประจุ - 33pF x 2, 10µF
ตัวต้านทาน - 1KΩ x 4, 10KΩ x 2
มอเตอร์ 12V DC
L298N ขับมอเตอร์
กดปุ่ม x 5
1KΩ x 8 ตัวต้านทานแบบดึงขึ้น
สายเคเบิลอนุกรม
แบตเตอรี่หรืออะแดปเตอร์ 12V
สายเชื่อมต่อ

Code
#include<reg51.h>

sbit PWM_Pin = P0^0;  
sbit low = P0^4;
sbit medium = P0^5;
sbit high = P0^6;
sbit off = P0^7;

void InitPWM_timer(void);

unsigned char PWM = 0;  
unsigned int temp = 0;   
char a=1;


int main(void)
{
low=1;
medium=1;
high=1;
off=1;
PWM_Pin=0;

InitPWM_timer();           

 

   while(1)               
   {
   if(low==0)
{
PWM=102;
a=0;
}
else if(medium==0)
{
PWM=153;
a=0;
}
else if(high==0)
{
PWM=255;
a=0;
}
else if(off==0)
{
a=1;
PWM_Pin=0;
}
}
}

ความคิดเห็น