




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上直流电机速度控制1设计内容及要求1.1设计目的设计制作和调试一个由MCS51单片机组成的直流测控系统。通过这个过程学习熟悉键盘控制和七段数码管的使用,掌握直流电机的速度控制和测试方法。12预习和参考MCS51单片机汇编程序语言、计算机控制技术、自动控制原理、1.3 设计(设计)要求设计指标1在显示器上显示任意四位十进制数2将8个键定义键值为07,按任意键在显示器上显示对应键值3实现功能:(1)定义键盘按键:5个为数字键04;3个功能键:设置SET、清零 CLR、开始START;(2)显示器上的四位可显示每分钟的速度;(3)通过键盘的按键,设置直流电机每分钟的速度值;(
2、4)按START键启动电机开始转动,按SET键停止;按CLR键清零。2控制芯片选择根据实验要求选择80C31芯片。选择该芯片可以根据控制开关按钮的开关状态,控制数码管的数字显示以及变频直流电动机的转速。80C31单片机,是8位高性能单片机,具有40根引脚。属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。 80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。40根引脚按其功能可分
3、为四类: 1. 电源线2根 VCC:编程和正常操作时的电源电压,接+5V。 VSS:地电平。 2. 晶振:2根 XTAL1:振荡器的反相放大器输入。使用外部震荡器是必须接地。 XTAL2:振荡器的反相放大器输出和内部时钟发生器的输入。当使用外部振荡器时用于输入外部振荡信号。 3. I/O口有p0、p1、p2、p3共四个8位口,32根I/O线,其功能如下: P0.0P0.7 (AD0AD7) 是I/O端口O的引脚,端口O是一个8位漏极开路的双向I/O端口。在存取外部存储器时,该端口分时地用作低8位的地址线和8位双向的数据端口(在此时内部上拉电阻有效)。P1.0P1.7 端口1的引脚,是一个内部上
4、拉电阻的8位双向I/O通道,专供用户使用。 P2.0P2.7 (A8A15) 端口2的引脚。端口2是一个带内部上拉电阻的8位双向I/O口,在访问外部存储器时,它输出高8位地址A8A15 P3.0P3.7 端口3的引脚。端口3是一个带内部上拉电阻的8位双向I/O端口,该口的每一位均可独立地定义第一I/O口功能或第二I/O口功能。作为第一功能使用时,口的结构和操作和P1口完全相同,第二功能如下示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断) P3.3 (外部中断) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 (外部数
5、据存储器写选通) P3.7 (外部数据存储器读选通) 图2-1 8031管脚图3方案选择和结构设计3.1矩阵式键盘 3.1.1矩阵式键盘设计 根据实验要求通过按键开关可以控制数码管的显示,并且可以通过80C31芯片控制变频直流电动机的转速,所以设计一种键盘式的按钮开关矩阵。 矩阵式键盘的按键识别方法 ,确定矩阵式键盘上何键被按下介绍一种“行扫描法”。 行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。1、判断键盘中有无键按下 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线和行线相交叉的按键之
6、中。若所有列线均为高电平,则键盘中无键按下。 2、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线和置为低电平的行线交叉处的按键就是闭合的按键。在这次课程设计中要求有8个按键,其中包过0-4这5个数字按键,以及3个功能键:设置SET、清零 CLR、开始START。所以我们将这些键按照两行 三列来排列。其中的数字键我们可以按照基本的逐行扫描查询法经行按键识别。 其中的0-3数字键的一端和80C51 的P1.0,其余的另一端分
7、别连接80C51单片机的P1.4,P1.5,P1.6,P1.7相连。设置SET功能键分别连接P1.2和P1.6,开始START功能键分别连接P1.3,P1.4,而剩下的功能键CLR则分别连接P1.2,P1.7,这样就可以利用按钮开关和80C51芯片构成简单的矩阵式键盘。3210 SETCLRSTART4图3-1 矩阵式键盘3.1.2矩阵式键盘程序及程序流程图开始在80C51单片机的程序编写上,采用C语言的程序编写方法。键盘设计部分的程序流程图如下:行值<-0,列值<-0EFH输出行码和列码扫描行行码循环扫描列码加4RET有第i列为0调用显示程序A<-i-1扫描列码,并且全为1
8、列扫面 C语言编写的使用于80C31控制数字键盘使其实现功能的程序如下:void key()uchar i,temp,lie,hang,shu;for(i=0;i<4;i+) /求出按键值P1=chosei;temp=P1;temp=temp&0xf0;if(temp!=0xf0)hang=i;if(temp=0xe0)lie=1;else if(temp=0xd0)lie=2;else if(temp=0xb0)lie=3;else if(temp=0x70)lie=4;break; shu=hang*4+lie;/数为对应的按键switch(shu)case 1: if(!f
9、lag)yishu(0);break;case 2: if(!flag) yishu(1);break;case 3: if(!flag) yishu(2);break;case 4: if(!flag) yishu(3);break;case 5: if(!flag) yishu(4);break;case 6: flag+;flag1+; break;case 7: sv=0;miaoshu=0;flag=0;flag1=0;break;case8: flag1+; break;default: break;while(temp!=0xf0)/放键检测temp=P1;temp=temp&a
10、mp;0xf0;for(i=0;i<10;i+)display(sv,miaoshu);/按键检测程序void keyscan()uchar temp;P1=0xf0;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);/消除抖动P1=0xf0;temp=P1;temp=temp&0xf0;if(temp!=0xf0)key();void pid(void) /PID 计算输出量ek=sv-miaoshu;uk=uk_1+q0*ek+q1*ek_1+q2*ek_2;ek_2=ek_1;ek_1=ek;uk_1=uk;if(uk>
11、;501)uk=501; /限定输出上限if(uk<1):uk=1; /限定输出下限3.2数码管转速显示LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。图3-2数码管数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮
12、度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际使用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 数码管动态显示接口是单片机中使用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制
13、,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 在本次课程设计中需要用到4个数码管在静态显示的工作状态下工作,用80C31来驱动数码管正常工作。为了使数码管显示数据的时候稳定准确,一般是接在80C3
14、1单片机的P0口上接一个RESPACK-8排阻,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。排阻就是好多电阻连载一起,他们有一个公共端 。 在用80C31控制4个7位数码管的时候后我们还要用到74HC240。74 HC240是一款高速CMOS器件,引脚兼容低功耗双八线反响缓冲线路驱动器,具有三态输出,该三台输出有时能断控制,任意NOE上的高电平将使输出端呈现高阻态。74HC240在电路中起缓冲保护作用。数码管显示流程图:返回关所有显示位显示4位数字取得显示数据关闭所有显示位初始化显示参数开始数码管显示子程序:void display(uint a,uint b)char i;
15、shu0=a/100;shu1=a%100/10;shu2=a%10;shu3=b/100;for(i=0;i<4;i+)P2=chosei;P0=tableshui;delay(3);33电动机驱动电路设计 直流电动机调速的驱动电路部分,选择采用基于L298的直流电动机PWM调速方法。PWM调速装置是利用大功率晶体管的开关特性来调制固定电压的直流电源,按一个固定的频率来接通和断开 ,并根据需要来调节一个周期内接通和断开的时间的长短,通过改变直流电动机上电枢电压的占空比来改变平均电压的大小,从而控制电动机的转速。在整个PWM调速器中,CPU既是运算处理中心,又是控制中心,是最关键的器件。
16、本系统中选用和MCS一5l系列完全兼容的80C31单片机,它是一种低功耗、高性能、CMOS八位微处理器。3.3.1驱动电路程序流程图开始流程图如下 :返回占空值-1>0输出低电平计数器-1=0占空值赋初值计数器赋初值输出高电平启动AD3.3.2驱动电路子程序void t0(void) interrupt 1 using 0 /定时T0中断服务函数tcnt+; /每过250ust tcnt 加一if(tcnt=40) /计满40 次(1/100 秒)时tcnt=0; /重新再计sec+;if(sec=10) /定时0.1 秒,在从零开始计时sec=0;TH0=0x06; /对TH0 TL0
17、 赋值TL0=0x06;miaoshu=count;count=0;void sdf(void) interrupt 2 using 0 /计数T1中断服务函数 count=count+1;/左移一位void yishu(uchar num)uchar bai,shi,ge;bai=sv%100/10;shi=sv%10;ge=num;sv=bai*100+shi*10+ge;3.4芯片80C31在电路中的控制 80C31芯片是整个电路中最重要的部分,它需要读取矩阵式键盘按钮开关的信息,并通过编码程序进行一定的数字编码,然后输出控制直流电动机和八位数码管显示,达到完整控制直流电动机调速。控制编
18、码部分子程序:main()q0=Kp*(1+T/Ti+Td/T);/先算出PID的计算参数q1=-Kp*(1+2*Td/T);q2=Kp*Td/T;p30=0;EX0=1;IT1=1;TMOD=0x02; /定时器T0工作在方式2 自动重装方式,计数器T1工作在方式2 自动重装方式TH0=0x06; /对TH0 TL0 赋值TL0=0x06;TR0=1; /开始定时ET0=1; /允许T0 产生中断EA=1;EX1=1;EA=1;sec=0;SCON=0x90; /MODER1,REN=1;PCON=0x00;miaoshu=0;tcnt=0;count=0;sv=0;flag=0;while
19、(1) eleyscan();if(flag=2)p30=0;if(flag1=2)uint i;pid();if(ek>100)p30=1;else if(ek>=0)p30=1;display(sv,miaoshu);p30=0;delay(50-uk/10);else if(ek<0)p30=0;display(sv,miaoshu); 4直流电动机调速控制电路仿真本次课程设计采用proteus7.7软件进行仿真电路的设计和制作。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单
20、片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。此次课程设计主要用到proteus软件的原理图布局和电器电路仿真。4.1原理图布局 此次设计的完整电路图包括矩阵式键盘部分,数码管数字显示,电动机的PWM调速控制以及整个电路设计中的核心芯片80C31芯片。图4-1直流电动机速度控制原理图布局图4-2 直流电动机速度控制仿真效果5结束语通过本次课程设计,加深了对计算机控制技术中的51系列单片机的认识和理解,对其使用有了更深沉的了解,特别是在51系列单片机的编程和数字控制方面的学习。在对电路进行原理图布局和仿真的过程中,了解并学会使用了仿真软件proteus,对其基本用法和一些扩展功能有所了解。在以后的电路仿真中或用到此次课程设计所积累的经验。其次就是在对电路进行连接的过程中,加强了实际动手操作能力,和应对突发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语教学课件Unit 5 There is a big bed 复习课件词组+句型+语音+语法+写作指导
- 2025年工程项目管理考试必考知识试题及答案
- 疫情消防安全培训课件
- 英语教学课件Unit 5 Let's eat!A Letters and sounds 课件
- 工程经济测算题目试题及答案
- 行政管理中公众参与对公共关系的影响试题及答案
- 语文课堂教学研讨课件
- 行政管理对公共关系学的支持试题及答案
- 目标达成2025年公共关系学考试试题总结
- 2025年工程项目评估指标的选择试题及答案
- 入团考试试题及答案大学
- 2025年北京高考语文三轮复习之微写作
- 阿片类药物不良反应和处置
- 贵港离婚协议书模板
- 2025年公安机关人民警察基本级执法资格备考题库
- 2025保密在线教育培训题库(含答案)
- 2.1 充分发挥市场在资源配置中的决定性作用 课件-高中政治统编版必修二经济与社会
- 《临床免疫学检测技术》课件
- 2024年河南郑州航空港投资集团招聘真题
- 2024年宝应县公安局招聘警务辅助人员真题
- 《芙蓉楼送辛渐》教学课件
评论
0/150
提交评论