• 方案介绍
    • 1.  简介
    • 2.  主要功能
    • 3.  源程序(Keil5)
    • 4.  仿真proteus8.6
    • 5.  设计报告
    • 6.  资料清单
    • 7.  资料获取链接
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于51单片机的正反转可控的直流电机!!!

04/07 08:39
475
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

单片机仿真设计合集资料获取.pdf

共1个文件

[相关器件] RZ/V2L

64-Bit 1.2GHz Dual-Core Arm(R) Cortex(R)-A55 MPU, LFBGA551-pin

资料清单:C程序+仿真+设计报告+使用说明+元件清单+操作视频

仿真版本:Proteus8.6及以上版本

程序编译:Keil5 C51

编程语言:C语言

设计编号:【C01】

1.  简介

  本文提出了一种基于51单片机直流电机PWM控制系统。该设计通过AT89C51单片机产生脉宽可调的脉冲信号并输入到三极管组成的上下桥来控制直流电机工作,调速系统由命令输入模块、LED灯显示模块及电机驱动模块组成,采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给驱动模块发送PWM波形,H型驱动电路完成电机正、反转和急停控制。

2.  主要功能

a.支持按键设置正转、反转、停止。

b.支持LED灯指示当前运行状态。

3.  源程序(Keil5)

  本设计采用keil5 C51软件(内附安装包)实现程序设计。如需用keil4打开程序,可自行通过.c和.h文件新建工程即可。

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit K1   = P3^0;
sbit K2   = P3^1;
sbit K3   = P3^2;
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit MA   = P2^0;
sbit MB   = P2^1;

void main(void)
{
	LED1 = 1;
	LED2 = 1;
	LED3 = 0;
	while(1)
	{
	 	if(K1 == 0)
		{
		 	while(K1 == 0);
			LED1 = 0;
			LED2 = 1;
			LED3 = 1;
			MA   = 0;
			MB   = 1;
		}
		if(K2 == 0)
		{
		 	while(K1 == 0);
			LED1 = 1;
			LED2 = 0;
			LED3 = 1;
			MA   = 1;
			MB   = 0;
		}
		if(K3 == 0)
		{
		 	while(K1 == 0);
			LED1 = 1;
			LED2 = 1;
			LED3 = 0;
			MA   = 0;
			MB   = 0;
		}
	}

4.  仿真proteus8.6

  本设计采用proteus8.6软件(内附安装包)实现仿真设计,如下图所示。proteus软件一般存在高低版本兼容问题,该仿真是通过proteus8.6导出的,所以请尽量使用proteus8.6打开文件,低于proteus8.6的版本不能够正常使用,高于proteus8.6的版本除了proteus8.8/8.9理论上可以正常使用。

正转:

反转:

停止:

5.  设计报告

  设计报告主要包括硬件电路、软件设计、仿真调试等等,仅供参考。

6.  资料清单

  设计资料主要包括C程序+仿真+设计报告+使用说明+元件清单+操作视频等。

7.  资料获取链接

百度网盘下载链接:【C01】百度网盘下载链接

更多单片机仿真设计合集:单片机仿真设计合集

  • 单片机仿真设计合集资料获取.pdf
    下载
[相关器件] PN7362AUHN/C300Y

无线系统芯片,NFC Cortex-M0 microcontroller with 160kB Flash

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!