仿真控制电机Proteus8.9+Keil5

本文介绍如何使用Proteus8.9仿真工具配合Keil5 IDE,进行51单片机的电机控制实践。通过C语言编程,详细阐述了仿真过程及关键代码实现,帮助读者掌握单片机控制电机的基础技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<at89x52.h>  

typedef unsigned int  uint16_t;
typedef unsigned char uint8_t;

//sbit left_motor  = P1^0; 	 //×óµç»ú½Ó¿Ú
//sbit right_motor = P1^1;  //ÓÒµç»ú½Ó¿Ú
sbit left_motor  = P2^0;  //×óµç»ú½Ó¿Ú
sbit right_motor = P2^1;  //ÓÒµç»ú½Ó¿Ú

void delay_nus(uint16_t i)  //ÑÓʱ:i>=12 ,iµÄ×îСÑÓʱµ¥12 us
{ 
  i=i/10;
  while(--i);
}   

void delay_nms(uint16_t n)  //ÑÓʱn ms
{ 
  n=n+1;
  while(--n)  
  delay_nus(900);         //ÑÓʱ 1ms,ͬʱ½øÐв¹³¥
}   

void motor_motion(uint16_t left_val, uint16_t right_val, uint8_t count)
{
   uint8_t i;
   for(i=0; i<count; i++)
   {
   	left_motor = 1;
	  delay_nus(left_val);
	  left_motor = 0;
	  
	  right_motor = 1;
	  delay_nus( right_val );
	  right_motor = 0;
	  
	  delay_nms(20);   			     //Êä³öÒ»¶¨ÊýÁ¿µÄPWM²¨ÐÎ
   }  							 
}


int main()
{
	motor_motion(1700,1300,50);
  while(1)
   {
      
	 
	 while(1)
	 {
       left_motor 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Com_Zxl408

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值