MCS-51单片机电机转速控制及测速显示系统_第1页
MCS-51单片机电机转速控制及测速显示系统_第2页
MCS-51单片机电机转速控制及测速显示系统_第3页
MCS-51单片机电机转速控制及测速显示系统_第4页
MCS-51单片机电机转速控制及测速显示系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MCS-51单片机电机转速控制及测速显示系统一、 系统总体方案选择与说明本课题要求设计一个单片机电机转速控制系统。给定信号经A/D转换输入到单片机(MCS-51)并显示,单片机根据给定从D/A输出相应的信号控制直流电机的转速,并能对电机的转速进行测量。1设计要求要求以MCS-51系列单片机为核心设计一个直流电机调速系统,该系统具有显示电动机转速、输入模拟量的功能。用6位LED 显示。前两位显示AD,后两位显示输入模拟量,最后两位显示电动机转速,单位为转/s, 电动机最大转速为5000转/min。其转速由D/A转换的模拟量控制。2设计思路1) 由地址琐存器74LS273芯片实现动态显示模块,74LS273输出端为段控,用于输出所显示的数值,P1.0-P1.5口位控,控制哪一位LED管亮,LED采用共阴极的接法;2) 选用89C51单片机,其内部有4K的寄存器,无需扩展外部存储单元,还具有2个16位定时器/计数器,可以通过CPU内部定时,进行数据采集;3).ADC0809可将模拟量转换为数字量,并将数字量送单片机;DAC0832可将从单片机输出的数字量转换为模拟量,并用模拟量控制直流电机;4) 用霍尔元件测电动机转速。转速的测量方法有两种:频率法:利用单片机内部定时器定时(定时时间1秒),再用一计数器对被测脉冲计数,所测脉冲个数即转速值(转/S)周期法:测量脉冲的周期,即利用定时期累计在被测脉冲的一个周期内机器周期的个数n。被测信号周期T=n*机器周期,被测信号频率f=1/T。考虑到要用定时采样的方法,同时又要将两位转速显示出来,所以本设计中采用频率法。一、 系统结构框图与工作原理1系统结构框图单片机89C51P0 INT0MD/A转换A/D转换+5VI/O测量2工作原理通过调节可变电阻,将模拟量送入AD转换器,经AD转换后通过P0口,将数字量送入单片机,单片机将数字量送I/O,并经74LS273锁存,送数码管显示,同时将数字量送给DA,DA将数字量转换为模拟量,用于控制直流电机的转速。通过霍尔元件将测的电动机转速脉冲信号接单片机的中断INT0, 用工作寄存器R6对脉冲数进行即测量转速值,又通过单片机将转速值数码管送显示。三、各单元硬件设计及说明1.A/D转换模块设计与说明由于外界的模拟量不能直接被单片机8051直接识别,所以设置一个A/D转换电路,将外来的模拟信号转换成能被8051识别的数字信号进行处理。转换电路由模数转换器ADC0809来实现。 ADC0809是最常用的8位模数转换器,属于逐次逼近。ADC0809采用单一+5V供电,片内有带锁存功能的8路模拟开关,可对0+5V、8路模拟信号分时进行转换,完成一次转换的时间约需100s,数字输出信号具有TTL三态锁存器。 ADC0809功能简述如下: 1) IN0IN7:8通道模拟量输入信号; 2) D0D7:8位二进制数据输出端,三态输出; 3) ADDC、ADDB、ADDA:通道号选择信号。用于选择8路输入之一进行A/D转换。 4) START:启动A/D转换信号,正脉冲有效,当给出一个START信号后,转换开始。脉冲宽度要求在200ns以上。5) EOC:转换结束信号,START的上升沿使EOC变为低电平,A/D转换完成,EOC变为高电平。6) OE:输出使能信号,高电平有效,当此信号有效时,打开输出三态门,将转换后的结果送至数据总线。 图1.A/D转换模块接线图2、89C51单片机芯片89C51是一个40引脚的集成电路,引脚如图3:1、主电源引脚VCC和VSS VCC(40脚)接+5V电压; VSS(20脚)接地。 2、外接晶体引脚XTAL1和XTAL2 3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP 4、输入/输出(I/O)引脚P0、P1、P2、P3(共32根) P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。 P2口(21脚至28脚):是准双向8位I/O口。在设计时用到P2.0作查询口,检测AD转换是否结束。 P3口(10脚至17脚) 设计系统时用到的P3口线的第二功能定义如下:P3.2 12 INT0(外部中断0) P3.4 14 T0(定时器0外部输入) P3.6 16 WR(外部数据存储器写脉冲) P3.7 17 RD(外部数据存储器读脉冲) 图2.8051模块接线图3、 D/A转换模块设计与说明DAC0832是CMOS工艺制造的8位单片模拟/数字(D/A)转换器.DAC0832各引脚的功能如下: DI0DI7: 数据输入线. ILE : 数据允许锁存信号,高电平有效;CS: 输入寄存器选择信号,低电平有效.XFER: 数据传送信号,低电平有效.VREF : 基准电源输入引脚 . Rfb : 反馈信号输入引脚,反馈电阻在芯片内部. IOUT1、IOUT2 : 电流输出引脚.电流IOUT1、IOUT2 的和为常数,IOUT1、 IOUT2 随DAC寄存器的内容线性变化. VCC: 电源输入引脚.AGND: 模拟信号地. DGND: 数字地.图3. D/A转换模块接线图4、 LED数码管动态显示模块 LED数码管动态显示器是1种由LED发光二极管组合显示字符的显示器件.它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器.LED数码显示器有两种连接方法:(1)共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连. (2)共阴极接法: 把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地.每个发光二极管的阳极通过电阻与输入端相连.图4. LED数码管动态显示模块接线图5、 电机转速测定模块 用霍尔元件测电动机转速:霍尔元件工作原理是磁感应原理即电动机每转一圈,霍尔元件检测到一个磁感应信号,同时对外输出一个负脉冲. 将此负脉冲送单片机,采用定时采样法,对负脉冲进行计数,所得的计数值即电机每秒的转速。图5. 反馈模块模块接线图6实验平台硬件总体接线:1).74LS273的O0O7接LED-ALED-DP,P1P5接LED6 LED1,74LS273的片选端CS273接CS2。2).ADC0809的片选端接CS0,AD转换结束信号端EOC接P2.0,输入端IN0接可变电阻。3).DAC0832的的片选端接CS1,输出端DAOUT接DRU,转速脉冲信号端SINGAL接INT0端。四、 软件设计与说明(包括流程图)1.程序流程图启动采样定时启动A/D测试A/D转换结束 P3.7=1启动D/A转换D/A转换结束启动M霍尔元件初始化NYN开始显示转速值1).A/D转换及D/A转换部分A/D转换有两种方法;中断法和查询法。在设计中采用了查询法,但查询法会占用CUP的运行时间,只要在不影响动态显示的情况下,也可以用查询法。D/A转换有三种工作方式:单缓冲、双缓冲、直通方式。在设计中采用了双缓冲方式,因为双缓冲方式对数据接收和启动转换可以异步进行,即在对某数据转换的同时,能进行下一数据的接收,以提高转换速率。2).转速的测量部分转速测量的方法有两种:频率法:利用单片机内部定时器定时(定时时间1秒),再用一计数器对被测脉冲计数,所测脉冲个数即转速值(转/S)周期法:测量脉冲的周期,即利用定时期累计在被测脉冲的一个周期内机器周期的个数n。在设计中采用了频率法,即定时采样法。因为在设计过程中先用了周期法,但周期法是对负脉冲进行查询,占用了CPU的运行时间,影响了动态显示。所以改用定时采样法,此方法是采用CPU内部定时,不占用CPU运行时间,在定时时间到时,对转速进行采集。注:.定时器的计算定时器要求定时1秒,晶振频率12MHz。晶振的一个工作周期12/12MHz=1us。启用工作方式为1(16位的方式)。最大计数21665536。所有最大计数65.5ms。我们就取整数50ms。.定时1S的计算:500000C350H, 所以0FFFFH 0C350H0001H3CB0H。即TH0=3CH,TL0=0B0H。定时器TMOD =(01H),即选择T0的1方式。3).动态显示部分采用了74LS273芯片,因为参考书上有采用了74LS273进行动态显示的内容。2.源程序各部分清单:;*;*主程序和中断程序入口*;* ORG 0000HAJMP MAINORG 0003HLJMP INT0SORG 000BHJMP DVT0ORG 0030H;*;*初始化程序中的各变量,及定时初值*;* MAIN:SETB EX0 ;开INT0中断 SETB ET0 ;开T0中断 SETB EA ;开放CPU总中断 SETB TR0 ;启动T0 SETB IT0 ;INTO为边沿触发方式 MOV R6,#00H ;记数清零 MOV R2,#20 ;软件计数器,减法计数DINGSHI:MOV TMOD,#01H ;定时器T0工作于方式1,定时50ms MOV TH0,#3CH ;写入计数初值 MOV TL0,#0B0H ;*;* AD转换 *;*LOOP:MOV DPTR,#0CFA0H ;ADC0809的入口地址 MOV A,#00H ;启动AD MOVX DPTR,A WAIT:JNB P2.0,INT1S ;P2.0=0则转INT1S JMP WAIT INT1S:MOVX A,DPTR ;读取AD转换值 MOV R3,A ;将AD转换值存入R3;*;* DA转换 *;*DACH:MOV DPTR,#0CFA8H ;写入DA的入口地址 MOVX DPTR,A ;向0832输出数据并开始转换 INC DPTR ;开启二级缓冲 MOVX DPTR,A ;启动DA ACALL DEL;*;* 显示部分的程序 *;*XS:MOV DPTR,#0CFB0H ;CS273的入口地址 MOV R1,#60H MOV R4,#06H ;六个数码管 MOV R5,#0FEH ;显示数码管位 MOV P1,#0FFH ;初始数码管全灭 MOV 64H,#0DH ;写入AD MOV 65H,#0AH CR: MOV A,R0 ;取转速值低位 ANL A,#0FH ;清高四位 MOV 60H,A MOV A,R0 ;取转速值高位 ANL A,#0F0H SWAP A ;交换高低四位 MOV 61H,A MOV A,R3 ;AD转换值低位 ANL A,#0FH ;清高四位 MOV 62H,A MOV A,R3 ;AD转换值高位 ANL A,#0F0H SWAP A ;交换高低四位 MOV 63H,A MOV R1,#65HLP:MOV A,R1 ;偏移地址 MOV DPTR,#TAB ;TAB的首地址 MOVC A,A+DPTR MOV DPTR,#0CFB0H ;选通74LS273 MOVX DPTR,A ;送出段码 MOV A,R5 MOV P1,A JNB ACC.5,LOOP ;ACC.5=0则转NEXT:RL A ;A逐位左循环一位 MOV P1,#0FFH MOV R5,A DEC R1 DJNZ R4,LP ;不等R4则转到LP LJMP LOOP;*;* T0的中断服务程序 *;* DVT0:MOV TH0,#3CH ;重装初值 MOV TL0,#0B0H DJNZ R2,RTN ;判断是否完成一秒定时 MOV R2,#20 MOV A,R6 ;取测得的转速值 MOV R0,A ;将转速值保存 MOV R6,#00HRTN: RETI;*;*INT0的中断服务程序*;*INT0S:INC R6 RETI;*;* 定义TAB的数表 *;*TAB:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71H,40H;*;* 延时子程序 *;*DEL:MOV R7,#06HDEL1:DJNZ R7,DEL1 RET1. 五、 调试步骤与结果说明1.在整个调试过程中,我们将整个系统分模块分别调试。1).A/D转换,及转换值的显示: 按设计方法接好接口电路线 启动伟福硬件仿真器,装载程序 单步执行模/数转换测量程序 观察CPU、数据和输入输出窗口 按设计方法接好接口电路线 调节可变电阻,判断AD转换量的显示结果是否有变化 单步执行显示程序 判断显示是否正确 能正确显示A/D转换值,即此部分运行正确。2).D/A转换,及将转换值用于控制直流电机: 按设计方法接好接口电路线 启动伟富硬件仿真器,装载程序 单步执行数/模转换测量程序 观察CPU、数据和输入输出窗口 按设计方法接好接口电路线 调节可变电阻,判断DA转换量的结果是否有变化 同时观察被控电机是否运转 能正确控制电机,即此部分运行正确3).霍尔元件测转速,及将转速显用于显示: 按设计方法接好接口电路线 启动伟富硬件仿真器,装载程序 单步执行定时采用程序 观察CPU、数据和输入输出窗口 按设计方法接好接口电路线 单步执行显示程序 判断显示是否正确 改变电机转速,判断显示的转速是否改变 如果能正确改变显示转速,说明测速程序正确,即此部分运行也正确2.结果说明:将整体硬件接线接好,启动伟富硬件仿真器,装载程序。数码管显示前两位为AD,后四位分别为两位AD转换值和转速值,调节可变电阻,显示的两位AD转换值发生变化,同时转速值也随之发生变化。六、 总结单片微型计算机即单片微机,是现代控制系统的核心器件之一,20多年来一直应用在各种自动化、智能化、机电一体化以及光机电一体化仪器设备上,已成为当代机械电子工程、自动控制等相关专业知识结构中必不可少的一部分.尽管大家都知道掌握单片机知识的意义很大,但许多人在学习过程中会感到困难重重,不易入门,实际应用更不易.这是由于在学习单片机是必须机器语言学习关,其难点是必须将硬件与软件结合起来考虑.比如每用一条指令就要联想到在单片机硬件电路中相应的工作情况,做到用软件控制或掌握硬件工作的全过程,显然这与以往学习电子电路或学习高级计算机语言的情况是完全不同的.随着微型计算机应用的日益广泛和深入,接口技术有了迅速的发展,并已成为直接影响微机系统和推广应用的关键,从硬件的角度来看,微机的开发与应用,在很大程度上就是微机接口电路的开发与应用,因而,微机接口技术涉及本专业的大学生和科技人员必不可少的基本技能.本次课程设计我们需要设计一个能用键盘调节温度的空调的温度控制系统.在这次设计中我们应用了单片机仿真系统,空调的温度显示要求有四位温度显示,能正确的显示设定温度和室内温度,并能用键盘来设定温度.这次课程设计我们用了74LS273、A/D0807、DAC0832、8051单片机、直流电动机、霍尔传感. 通过两周的设计和调试,在老师和同学的帮助下,我们顺利的完成了任务.通过本次课程设计使我对单片机应用系统的使用和设计有了更多的了解和进一步的掌握.对单片机应用程序的编写方法也掌握了一些技巧.我想在以后的学习中,如果碰到复杂系统的程序编写,就不会感到害怕和陌生了. 在程序的调试和仿真过程中我们也遇到了很多的困难,比如说显示器LED不能显示速度或者所显示的速度的不正确.有时候还会出现乱码.尤其是在程序编写时不知道芯片的地址,无法使芯片工作起来.在单片机指令上我也遇到很多的麻烦,有时候会不知道要使用什么指令或者所使用的指令是错误的,使程序无法按照所设想的来完成.在设计定时采样程序时,没能正确理解中断服务程序是如何调用的,在李老师的帮助,对中断服务程序是如何调用的,有了清楚的认识。对子程序的调用时,有时候会改变一些变量的值,而我在设计时没有考虑到,这样又会使程序的运行出错.在调试时我对这些方面特别的留意,也对程序进行反复的分析,最后在同学及老师的大力帮助下,我把上面的问题一一克服,达到了老师对我提出的设计要求,非常成功的完成了任务.对任务的完成我真的感到非常的高兴,也真心的感谢我的同学和老师对我的帮助。 这次设计我也学习到了很多的实用技巧,我想这对我以后的工作是非常的有价值的,虽然只有短短的两周,但我真的学到了很多,虽然我的设计不能被制成产品,但我相信只要我继续的努力,总会有那么一天的.我也要感谢学校给了我这样一次机会.在现代社会中这方面的人才是非常的重要的,而我们的努力对这个社会的发展也有着重要的作用,所以我会在以后的工作和学习中艰苦奋斗,做一个对社会和国家有用的人,不辜负老师和家长对我的期待.最后我要再次谢谢那些帮助过我的老师和同学,是你们让我有了以上的想法,谢谢你们!7.参考文献1 许立梓.微型计算机原理及应用.机械工业出版社2李朝青.单片机学习辅导测验及解答讲义.北京航空航天大学业出版社3楼然苗、李光飞.51系列单片机设计实例. 北京航空航天大学业出版社4王迎旭.单片机原理与应用. 机械工业出版社8.附录附录A 系统原理图附录B 程序清单ORG 0000HAJMP MAINORG 0003HLJMP INT0SORG 000BHJMP DVT0ORG 0030HMAIN:SETB EX0 ;开INT0中断 SETB ET0 ;开T0中断 SETB EA ;开放CPU总中断 SETB TR0 ;启动T0 SETB IT0 ;INTO为边沿触发方式 MOV R6,#00H ;记数清零 MOV R2,#20 ;软件计数器,减法计数DINGSHI:MOV TMOD,#01H ;定时器T0工作于方式1,定时50ms MOV TH0,#3CH ;写入计数初值 MOV TL0,#0B0H LOOP:MOV DPTR,#0CFA0H ;ADC0809的入口地址 MOV A,#00H ;启动AD MOVX DPTR,A WAIT:JNB P2.0,INT1S ;P2.0=0则转INT1S JMP WAIT INT1S:MOVX A,DPTR ;读取AD转换值 MOV R3,A ;将AD转换值存入R3DACH:MOV DPTR,#0CFA8H ;写入DA的入口地址 MOVX DPTR,A ;向0832输出数据并开始转换 INC DPTR ;开启二级缓冲 MOVX DPTR,A ;启动D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论