文章目录

  • 一、主要功能
  • 二、硬件资源
  • 三、软件设计
    • 1、主机程序
  • 四、实验现象
  • 联系作者

一、主要功能

本项目使用Proteus8仿真51单片机控制器,使用L298N电机模块、数码管模块、按键模块、LED指示灯模块等。

系统运行后,数码管显示电机当前运行档位和速度。
可通过按键K4启动与停止,按键K1加速、按键K2减速,按键K3换向;
档位可在1-5挡。
最终可实现:
按键功能:具有加速、减速、正转、反转、启动和停止;
显示功能:数码管显示档位、电机转速;
指示功能:LED指示电机正转、反转;
测速功能:使用霍尔传感器实现电机测速;
电机驱动:L298N驱动直流电机;


二、硬件资源

1、51单片机核心模块
2、L298N电机驱动模块
3、数码管显示模块
4、按键模块
5、LED电路


三、软件设计

1、主机程序

/*
作者:嗨小易(QQ:3443792007)
*///功能引脚定义
sbit ZZ_LED=P2^0;
sbit FZ_LED=P2^1;//定义结构体
_sys_ctrl sys_ctrl;//系统参数设定
void sys_parm_set(void)
{u8 key=0;key=key_scan(0);//开启/停止if(key==KEY4_PRESS)    {sys_ctrl.run=!sys_ctrl.run;if(sys_ctrl.run){TR1=1;EX0=1;if(sys_ctrl.dir==0){ZZ_LED=0;FZ_LED=1;}else {ZZ_LED=1;FZ_LED=0;}  }else { TR1=0;EX0=0;ZZ_LED=1;FZ_LED=1;  }dc_motor_dir_ctrl(sys_ctrl.dir);dc_motor_sta(sys_ctrl.run);}//当处于运行状态时才能调速、切换方向if(sys_ctrl.run==1){//加速if(key==KEY1_PRESS){sys_ctrl.gear++;if(sys_ctrl.gear>5)sys_ctrl.gear=1;pwm_set_duty_cycle(sys_ctrl.gear*20);              }//减速else if(key==KEY2_PRESS){sys_ctrl.gear--;if(sys_ctrl.gear<1)sys_ctrl.gear=5;pwm_set_duty_cycle(sys_ctrl.gear*20);                }//换向else if(key==KEY3_PRESS){sys_ctrl.dir=!sys_ctrl.dir;if(sys_ctrl.dir==0){ZZ_LED=0;FZ_LED=1;}else {ZZ_LED=1;FZ_LED=0;}dc_motor_dir_ctrl(sys_ctrl.dir);} }
}//采集数据显示
void sys_data_show(void)
{u8 buf[4];while(sys_ctrl.run==1){//测速完成if(sys_ctrl.sta==1){sys_ctrl.sta=0;sys_ctrl.cnt=0;EX0=1;//打开计数   }buf[0]=gsmg_code[sys_ctrl.gear%10]|0x80;
//      buf[1]=gsmg_code[sys_ctrl.speed/100];buf[1]=0;buf[2]=gsmg_code[sys_ctrl.speed%100/10];buf[3]=gsmg_code[sys_ctrl.speed%100%10];smg_display(buf,1);break;             }
}//应用控制系统
void appdemo_show(void)
{ENA=0;SMG_A_DP_PORT=0;sys_parm_init();//系统参数初始化exti0_init();time1_init();pwm_init(0XFF,0XD1,100,0);//初始时,PWM占空比为0dc_motor_dir_ctrl(sys_ctrl.dir);//默认正转pwm_set_duty_cycle(sys_ctrl.gear*20);//占空比40%while(1){sys_parm_set();sys_data_show();      }
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619


联系作者

B站演示视频:https://space.bilibili.com/444388619
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

【Proteus仿真】【51单片机】PWM电机调速系统设计相关推荐

  1. 51单片机 PWM 直流电机调速+Proteus仿真

    51单片机 PWM 电机调速+Proteus仿真 Proteus仿真 实例代码 /*用PWM控制电机脉冲频率应控制在25HZ-35HZ之间*//*定时1ms,1个周期30ms,脉冲频率为33HZ */ ...

  2. 基于51单片机PWM直流电机调速

    设计思路 由于51系列单片机没有硬件PWM,因此想使用PWM调速,使用定时器模拟PWM. 设计框图 直流电机驱动电路 程序源码 #include <reg52.h>sbit P20=P2^ ...

  3. 【51单片机学习】PWM电机调速

    简单的PWM电机调速--基于51单片机 (一)51单片机需要用到的寄存器 (二)PWM波的产生及调速原理 (三)电机调速的实现 (一)51单片机需要用到的寄存器 中断允许寄存器,详情可以看STC51单 ...

  4. 51红外控制电机调速

    本实验通过红外接收头接收数据,通过51单片机对接收到的数据处理,改变由定时器产生的pwm信号的占空比,来对电机进行调速. 单片机是如何接收红外信号 红外信号由发射装置产生,接收装置接收.红外发射装置又 ...

  5. STM32小车——PWM电机调速

    PWM电机调速(寄存器版) 我的上一篇博客已经写了如何用定时器产生PWM来实现LED灯的呼吸灯效果,当我想实现PWM来控制电机调速时,网上翻阅了很多的资料但是大多数是在呼吸灯的基础上改一下代码实现的, ...

  6. 树莓派Pico直流电机接口技术及PWM电机调速控制MicroPython编程

    内容目录: 一.树莓派Pico开发板直流电机接口技术 1.H桥驱动电路的基本工作原理 2.典型H桥驱动电路分析 3.DRV8833双H桥电机驱动模块介绍 4.Pico开发板与直流电机接口 二.Pico ...

  7. pwm电机调速的原理介绍与代码实现

    文章目录 1.pwm实现调速的原理与介绍 1)占空比 2)配置模式 2.pwm信号配置流程 1)设置自动重装载数值 2)设置捕获比较数值 3)设置pwm输出模式及对齐方式 4)配置信号输出极性并使能输 ...

  8. 基于51单片机的直流电机调速测速正反转控制(仿真+源程序+原理图+PCB)

    资料编号:206 1.本设计采用STC89C51/52(与AT89S51/52.AT89C51/52通用,可任选)51单片机作为主控制器 2.采用霍尔传感器非接触式测电机转速 3.LCD1602液晶显 ...

  9. Proteus仿真51单片机生日快乐音乐播放器

    实验名称:基于51单片机音乐播放器 实验目的: 声音的音调不同是因为声音的频率不同造成的.那么,就可以通过单片机发送不同频率的脉冲信号给蜂鸣器,来达到让蜂鸣器发出不同音调声音的目的.不同频率的脉冲信号 ...

最新文章

  1. java 静态方法重写_Java 类中可以覆盖静态方法吗?
  2. 纹理滤波(Texture Filter)
  3. html编辑器kindeditor我的使用方法 (转载)
  4. imf瞬时频率跳变问题
  5. Linux驱动设计——字符杂项设备
  6. Oracle备份时发现空间不够,存储空间比较紧张的情况下,如何提升Oracle备份的去重率?...
  7. 完成端口(Completion Port)详解----- By PiggyXP(小猪)
  8. mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值
  9. Python小白的数学建模课-05.0-1规划
  10. macOS Big Sur正式版发布!Big Sur安装失败?更新时卡住了怎么办?
  11. wxpython textctrl_wxPython TextCtrl类
  12. IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)
  13. Windows7下IIS7.5的伪静态URL Rewrite安装配置和案例综合
  14. win10录屏电流声_Win10自带录音录屏工具使用体验,值得一试
  15. 松翰单片机SN8P2711AD实现AD转换的C语言程序例子
  16. 高科技口罩可以5分钟内灭活新冠病毒;华伦天奴美妆全线产品将登陆中国市场 | 美通企业日报...
  17. 基于ZYNQ wifi方案实现与测试
  18. 去中心化金融体系初现,MIGO挖掘DeFi+NFT+DAO深层潜能
  19. jquery获取tr下第某个td的值
  20. 二十四进制 加法计数器 并用数码管显示

热门文章

  1. JIT编译和AOT编译
  2. Linux-----管理用户脚本(shell)
  3. dedecms建站教程
  4. 立创开源丨TDA1521/TDA2616_双声道HIFi功率放大器
  5. PVC 塑料片BS 476-6 火焰传播性能测定
  6. 计算机专业选什么笔记本cpu,小白别慌:笔记本电脑选购指南S01E01——CPU篇
  7. 华为手机便签日历怎么显示节假日休假信息
  8. html,htm,html5,shtml的区别
  9. 6.6 Mask RCNN
  10. ArrayList集合的常用方法