当前位置: 首页 > news >正文

基于单片机直流电机PWM调速闭环控制系统Proteus仿真(含全部资料)

全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等

资料下载:

通过网盘分享的文件:资料分享
链接: 百度网盘 请输入提取码 提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

闭环直流PWM调速电机
1.仿真电路引脚说明
采用AT89C51单片机,晶振为12MHz,2个四位的共阴数码管,一个显示速度设定值,一个显示速度测量值,单位r/min;
P1.0用于产生PWM,用于直流电机调速;
P1.1~P1.4接4个独立按键,分别实现按下速度设定值加10,加1,减10,减1;
P2.0~P2.7接共阴数码管的段选,连接见仿真图;
P0.0~P0.7用于数码管位选,P0.3~P0.0对应实时速度的显示位选;P1.7~P1.4对应速度设定值的显示位选;
P3.2/INT0用于采集测速传感器的秒冲;
2.程序要求
四个按键(加10,加1,减10,减1)设置速度初定值,并送4位共阴数码管显示;测量实时速度,送另一个4位共阴数码管显示。能利用产生占空比可调的PWM控制速度到达设定值,由此形成闭环PWM调速直流电机。


项目文件:

一、Proteus仿真源文件

​​

二、AD原理图文件

二、报告说明书

三、系统流程图

​​

四、器件清单

DesignatorFootprintLibRef
7805D2PAK_NVolt Reg
B1RB5-10.5Motor
C1, C4, C6RB7.6-15Cap Pol1
C2, C3, C5, C7RAD-0.3Cap
DS1, DS2数码管4
P1HDR1X2Header 2
P2HDR1X2Header 2
R1AXIAL-0.4Res2
RP1RESP
S1, S2, S3, S4, S5SPST-2SW-PB
U18051
U2L298N
Y1R38XTAL

五、Keil c语言程序源代码(部分)

#include "reg51.h"			 //此文件中定义了单片机的一些特殊功能寄存器#define uint unsigned int	  //对数据类型进行声明定义
#define uchar unsigned charsbit pwm=P1^0;//PWMsbit key1=P1^1;
sbit key2=P1^2;
sbit key3=P1^3;
sbit key4=P1^4;
//===============================
uint speed=0;
uint time=0,sec=0;//计时
uint sudu=200;//速度设定
uint pwm_time=500;//占空比0-1000
uint k;
//===================================================显示相关
uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点
uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//显示0~9,有小数点uchar see[8]={0x3f,0x06,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};//显存,设定速度+当前速度sbit smg1=P2^0;
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit smg5=P2^4;
sbit smg6=P2^5;
sbit smg7=P2^6;
sbit smg8=P2^7;void delay(uint i)//延时
{
while(i--)
{if(sec<1000)sec++;elsesec=0;if(sec<pwm_time)pwm=1;elsepwm=0;
}
}void display()//显示
{uchar i;for(i=0;i<8;i++){P0=0;P2=~(1<<i);P0=see[i];delay(100);}
}
//============================================================
/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	//设置INT0TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。TH0=(65536-50000)/256;	//给定时器赋初值TL0=(65536-50000)%256;	ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器delay(50000);while(1){display();//显示if((k<sudu)&&(sudu-k>10)&&(pwm_time<1000)){			pwm_time++;}if((k>sudu)&&(k-sudu>10)&&(pwm_time>1))pwm_time--;	if(!key1) //按键检测{if(sudu<1000)sudu+=10;while(!key1);}if(!key2){if(sudu<1000)sudu++;while(!key2);}if(!key3){if(sudu>1)sudu-=10;while(!key3);}if(!key4){if(sudu>1)sudu--;while(!key4);}}				
}void Int0()	interrupt 0		//外部中断0的中断函数
{
speed++;//速度计数	
}void Timer0() interrupt 1
{		//=========================速度测量if(time<20)time++;else{time=0;		  //计算速度k=speed;speed=0;see[0]=smgduan0[sudu/1000];see[1]=smgduan0[sudu%1000/100];see[2]=smgduan0[sudu%100/10];see[3]=smgduan0[sudu%10];see[4]=smgduan0[k/1000];see[5]=smgduan0[k%1000/100];see[6]=smgduan0[k%100/10];see[7]=smgduan0[k%10];//调速,微调if((k<sudu)&&(sudu-k<11)&&(pwm_time<1000)){			pwm_time++;}if((k>sudu)&&(k-sudu<11)&&(pwm_time>1))pwm_time--;	}TH0=(65536-50000)/256;	//给定时器赋初值TL0=(65536-50000)%256;
}

六、全套资料包含

​​

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复“资料”!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

http://www.dtcms.com/a/482117.html

相关文章:

  • WHAT - 前端性能指标(加载性能指标)
  • 网站外包要注意什么wordpress 布局编辑器
  • 人工智能课程:课程目录介绍 总纲
  • 1、机器学习与深度学习
  • 深入解析 kube-proxy:Kubernetes 服务发现的网络基石
  • Bestseller验厂核心解读
  • 1. cuda配置代码提示
  • Docker 构建教程:学习上下文、架构和性能优化技术
  • mysql数据库高级特性(一)
  • 做网站读什么专业个人网站备案内容不合格
  • 如何实现一个线程安全的容器:从同步机制到异常安全的设计实践
  • 网站建设与运营课程建筑行业官网
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的互联网运营体系化研究
  • 线上教学小程序:构建高效互动的云端学习空间
  • JAVA校园跑腿校园外卖源码校园外卖小程序校园代买帮忙外卖源码社区外卖源码小程序+公众号+h5
  • 神经网络之链式法则的推导
  • 打印室预约系统|基于java和小程序的打印室预约系统设计与实现(源码+数据库+文档)
  • 东莞市网站建设制作设计平台wordpress顶部导航栏怎么创建
  • 理解 Git 命令 `git reset --hard origin/pre`:版本回退的“利刃”与使用禁忌
  • Git 10 ,使用 SSH 提升 Git 操作速度的实践指南( Git 拉取推送响应慢 )
  • 【C++】使用MSBuild命令行编译ACE、TAO、DDS
  • 郑州市建设投资集团公司网站网站开发私活
  • ⽹络原理-HTTP/HTTPS
  • 58同城哈尔滨网站建设宁波网络公司网站建s
  • windows系统实操Flutter鸿蒙环境搭建
  • Epimedin-B 通过靶向 MCOLN1/TRPML1 通道阻断自噬流
  • HUD-汽车图标内容
  • 使用Vela编译器开发Ethos-U NPU流程导引
  • 西城区网站建设推广seo网站技术团队
  • 泛型学习——看透通配符?与PECS 法则