基于51单片机的设计:含脉宽可调脉冲及多模块功能介绍
- 时间:
- 浏览:69
- 来源:中国微特电机网
咱这次要说的可是基于51单片机的超有特色的设计,这里面用Proteus8.6及以上版本来仿真,Keil5 C51进行程序编译,还用上了C语言!这么多强大元素结合在一起,能不吸引人,咱一起深入瞧瞧!
设计核心亮点
咱这个设计单片机 电机正反控制,那核心就是AT89C51单片机。它起着大作用,能产生脉宽可调的脉冲信号,然后把这信号输入到由三极管组成的上下桥里去从而就能控制直流电机好好工作!而且调速系统包含命令输入模块、LED灯显示模块以及电机驱动模块这几个部分,就像一个紧密相连的小团体。它用带中断的独立式键盘作为输入接口,单片机在程序的严格控制下,还会定时地给驱动模块发送PWM波形,那个H型驱动电路也能完成电机正转、反转和急停控制,想想就很厉害是不!
主要功能探秘
对于这个设计的主要功能,咱可得好好说道说道。它支持按键设置,你可以通过按按键轻松设置电机正转、反转和停止操作,能满足不同时候的各种需求还有,它的LED灯可有用,能指示当前运行状态,让你一看就明白电机当下是怎么个情况。我觉得,这样的设计实在是太贴心!在使用的时候,不用费脑筋再去推测电机的运行状态,一目了然多好。
源程序解析
此次设计是采用keil5 C51软件来实现程序设计的,而且里面还附着安装包。要是你想用keil4打开这个程序也不难,你可以自己通过.c和.h文件新建一个工程就能搞定。这软件版本之间还能有这样灵活的处理办法,感觉真挺人性化的。但大家在使用软件的时候,可能也会碰到各种小麻烦,不过只要按照这个方式来,或许能让你轻松一点。话说这keil5 C51软件在这设计里到底还得有什么巧妙的用处着实让人期待。
#include
#include
#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;
}
}
仿真版本玄机
我们用proteus8.6软件来做仿真设计,还带着安装包。但这里有个事情得提醒大伙,proteus软件通常存在高低版本兼容方面的问题。这次的仿真就是通过proteus8.6导出的文件,所以,你最好用proteus8.6打开文件才行。要是用低于proteus8.6的版本,可没法正常使用这个仿真文件;高于proteus8.6的版本,除了proteus8.8/8.9外理论上都是能正常使用的。这就像一群小伙伴,如果不按照合适的规则聚集在一起,可能就没办法愉快玩耍。你说这仿真版本之间咋就这么多事!
设计报告真相
设计报告涵盖的内容也蛮多的,有硬件电路、软件设计、仿真调试等等哩,不过这报告也只是给咱们参考用的。硬件电路可能很精妙,里面的元件组合估计十分复杂;软件设计里面的各种编程语言编写出的程序语句,说不定都满是智慧。但参考报告只是给我们提供一个可以借鉴的方向,真到实际操作的时候,那每个步骤可是一点也马虎不得,毕竟每个细节都可能影响到结果。我有点好奇,这个报告在实际应用里到底能起到多大的作用?
资料获取指引
关于这个设计,设计资料可丰富,有C程序,能让你清楚软件编程里的奥秘;有仿真文件单片机 电机正反控制,让你通过软件直观地看到运行效果;还有设计报告、使用说明、元件清单和操作视频等等。这个资料获取链接是百度网盘下载链接,而且还有更多单片机仿真设计合集可参考。这等于是打开了一个宝库,里面装着好多跟设计有关的宝贝。要是能好好去挖掘这些资料里的各种知识,说不定能学到不少新奇的东西。
大家有没有在单片机设计里遇到过什么特别的麻烦事?
猜你喜欢