一.仿真proteus图,可直接运行:
二. 51单片机源代码,keil开发环境:
#include
#define uchar unsigned char
#define uint unsigned int
sbit IN1 = P2^0;
sbit IN2 = P2^1;
sbit PWM = P2^2;
sbit Key1 = P1^7;
sbit Key2 = P1^6;
sbit Key3 = P1^5;
sbit Key4 = P1^4;
sbit Key5 = P1^3;
uint t = 46082;
void delay_ms(uchar t)
{
uchar x,y;
for(x = t;x > 0;x--)
for(y = 110;y > 0;y--);
}
void Timer0_Init()
{
TMOD = 0X01;
TH0 = (65536 - 46082)/256;
TL0 = (65536 - 46082)%6;
EA = 1 ;
ET0 = 1;
TR0 = 1;
}
void Positive_Rotation()
{
IN1 = 0;
IN2 = 1;
}
void Reverse_Rotation()
{
IN1 = 1;
IN2 = 0;
}
void Stop_Rotation()
{
IN1 = 1;
IN2 = 1;
}
void Key_Scan()
{
if(Key1 == 0)
{
delay_ms(20);
if(Key1 == 0)
{
Positive_Rotation();
}
}
else if(Key2 == 0)
{
delay_ms(20);
if(Key2 == 0)
{
Reverse_Rotation();
}
}
else if(Key3 == 0)
{
delay_ms(20);
if(Key3 == 0)
{
Stop_Rotation();
}
}
else if(Key4 == 0)
{
delay_ms(20);
if(Key4 == 0)
{
t = t + 100;
if(t > 65000)
t = 65000;
}
}
else if(Key5 == 0)
{
delay_ms(20);
if(Key5 == 0)
{
t = t - 100;
if(t < 500)
t = 500;
}
}
}
void main()
{
Timer0_Init();
while(1)
{
Key_Scan();
}
}
void timer0() interrupt 1
{
TH0 = t/256;
TL0 = t%6;
PWM = ~PWM;
}
直流电机控制的proteus仿真图及源代码 打包文件下载地址:
链接:https://pan.baidu.com/s/1dbb8EpFazh_FmQ7DWpOfxQ 密码:ooee
关键字:直流电机控制 proteus
引用地址:
直流电机控制的proteus仿真图及源代码
推荐阅读最新更新时间:2024-03-16 16:15
Proteus 入门教程之AVR 单片机的仿真实例
简介:本文为Proteus 的入门教程,AVR 单片机的仿真实例。 (一)、AVR单片机的仿真实例 本例是实现AVR驱动LCD1602,并用示波器监测数据线。 开始前先要准备好仿真文件,就是用编译器编译连接产生的调试或下载文件,不同编译器产生的文件格式是不同的,如ICC是COF、IAR是D90,GCC是COF、ELF。Proteus6.7sp3支持的有COF、D90、HEX等,ELF暂不支持。 本例用的是:lcd_C.hex。 开始了!!!!! 运行Proteus6Professional(ISIS6Professional)出现下面窗口: 1、添加元件到元件列表中:本例要用到的元件有:ATMEG
[单片机]
低成本无刷直流电机控制MCU
电机对能耗的贡献率在美国接近50%,因此降低电机能耗能有效地提高能源利用率,而采用先进的微控制器(MCU)技术来实现电机控制是一种有效的方法。本文介绍了的电机控制MCU技术发展及其应用。 降低能耗的一个主要对象是电机,它消耗了美国总能耗的大约50%。家庭里随便都可以找到超过50个电机,一般会有70到80个,在工业领域,工厂自动控制对电机的利用也很广泛。 今天,MCU技术的近发展允许电机能在更低的成本下更高效地运行。在某些市场上,这能加快从机电向电子控制的转变,从而能实现变速电机控制以优化电机的工作效率,并在器件的层面上降低所有应用的成本。 低成本无刷直流电机控制MCU 与经常应用在电机控制中的有刷电机相比,MCU控制的
[单片机]
基于CompactRIO的直流无刷电机控制系统
在工农业以及航空航天等领域,电机得到了广泛的应用。在实际应用时,电机的转速控制显得尤为重要。 直流电机具有优良的性能,调速方便、调速范围宽、低速性能好、运行平稳,可实现频繁的无级快速起动、制动和反转,被广泛应用于工业和民用领域。传统的直流电机采取电刷和换相器,以机械方式进行换相从面导致电机容量有限、噪声大、容易产生火花、无线电干扰、可靠性差等缺点。而直流无刷电机使用电子换相器取代了电刷和换相器,从而解决了上述问题,同时又保持了直流电机的优点。 随着电子技术的发展,电子系统朝着集成化的方向发展。NI公司推出的CompactRIO是一种小巧而坚固的工业化控制和采集系统,它是面向嵌入式控制应用的高性能和高可靠性可编
[嵌入式]
利用Proteus虚拟开发技术进行Arduino单片机系统开发
1.前言 Arduino是一款便捷灵活、方便上手的开源电子原型平台,具有接口丰富、编程环境简便、自由度大与可拓展性强等优点.它基于AVR平台,对AVR库进行了二次编译封装,将复杂的单片机底层代码封装成简单实用的函数,使使用者不用关心单片机编程繁琐的细节,如寄存器、地址指针等基本不用管,从而大大降低了单片机系统开发难度,特别适合老师、学生和一些业余爱好者使用。 由于Arduino使用者一般都是那些对电路知识、电子技术及单片机技术等了解不深入的初学者,如何在Arduino开发过程中快速有效的提高他们的单片机系统开发能力及电子电路设计能力是一个需要迫切解决的问题。 Proteus的引入较好的解决了存在的问题。 P
[单片机]
Proteus仿真与实际的差别
弄了几天的Proteus仿真,终于觉得自己想做的东西,已经全部用Proteus仿真过了,应该可以动手做了。于是先用Proteus画好原理图,再用ARES画好PCB板图——虽然我只是用洞洞板焊接,但是有个PCB板图做参照,连线会容易很多。花了两个小时,去中关村买了必要的原件,开始动手。 单片机用的是STC89C552RC,原因除了价廉物美之外,最大的原因是,STC的单片机可以直接使用串口往里面下程序,这样我可以直接焊接好板子,然后连接好串口,一边写一边调试,不用把单片机拿来拿去了。为了焊的好看些,把线基本都布在了反面,前前后后,修修改改,共焊了3天才弄好,搞得眼睛一闭上都是洞洞板的圈圈。 不过通过这次的实际制作,还真发现了不少Pro
[单片机]
PIC单片机的PWM波的简单调制+proteus仿真实现直流电机的启动
前言:该篇文章主要是给刚入门的新人看的,自己也是昨天通过PIC 16F877A调出的一的PWM波。关于什么是PWM波我就不在赘述,这个需要小伙伴自己去查资料了。 主要内容:在这里主要是讲利用PIC单片机自身集成的硬件模块去调PWM波,而不是通过I/O口的模拟。 需要的一些工具:MPLAB X IDE(编程软件) proteus(仿真软件) 芯片手册。 1.我们需要了解的下图的意思。 从图可以看出,在TMR2与CCPRxH比较时,是用来复位的,意思是在计数值等于CCPxH时复位,(用来确定脉冲的宽度)。 在TMR2与PR2比较时,是用来置位,意思是在计数等于PR2时置位,也是将TMR2计数寄存器清零,并且反转CC
[单片机]
基于DSP的直流无刷电机控制器的硬件设计
随着电力电子技术,新的永磁材料以及具有快速运算能力的 DSP (数字信号 处理器 )的发展,直流 无刷电机 应用日益普及。直流无刷电机具有和直流电机相似的优良调速性能,又克服了直流电机采用机械式换向装置所引起的换向火花、可靠性低等缺点,且具有体积小、重量轻、效率高、电机的形状和尺寸灵活等优点,因此广泛应用在伺服系统、数控机床、电动车辆和家用电器各领域,成为现代伺服技术的主方向。 本文的主要内容是基于DSP芯片MC56F8323的直流无刷电机控制器的硬件设计。主要包括电流环、速度位置环和IPM(智能功率模块)驱动电路的硬件设计。 2 控制器系统设计 2.1 系统硬件框架设计 MC56F832
[嵌入式]
基于LIN总线的车用无刷直流电机控制器设计
1、前言 随着汽车部件的电动化、自动化程度不断提高和对汽车电机的噪声、电磁兼容、效率的高要求,永磁无刷直流电机正在逐步替代有刷的永磁直流电机 。永磁无刷电机具有体积小、寿命长、效率高、结构简单、可靠性好等优点,利用它作为汽车部件的驱动执行元件可有效地提高汽车部件的性能。例如在Freightliner公司的M2系列商务车上,采用无刷电机驱动其空调系统的鼓风机,更好地调节了送风速度 。 由于汽车总线技术的日趋成熟,汽车内多个电机单元的控制方式正从传统的集中式线束控制向分布式总线控制转变。分布式总线控制可以减少线束,降低成本,便于各个电机控制单元和车内其它电控单元一起形成一个综合协调的控制系统,提高各控制单元的运行可靠
[汽车电子]