题目:用单片机控制直流电动机并测量转速姓名:徐银浩学号:1110702225专业:电子信息工程指导老师:沈兆军设计时间:2014年11月信息工程学院单片机原理及应用课程设计报告书目录1.引言.......................................................................................................................11.1设计意义..........................................................................................................11.2系统功能要求..................................................................................................12.方案设计.................................................................................................................13.硬件设计.................................................................................................................33.1AT89C51最小系统..........................................................................................33.2按键电路..........................................................................................................43.3A/D转换模块...................................................................................................43.4.D/A转换模块..................................................................................................63.5电机转速测量电路..........................................................................................73.6显示电路........................................................................................................83.7总电路图......................................................................................................104.软件设计.............................................................................................................1114.1系统主程序设计............................................................................................124.2按键扫描程序设计........................................................................................124.3显示子程序....................................................................................................124.4定时中断处理程序......................................................................................124.5A/D转换程序..............................................................................................135.系统调试...............................................................................................................146.设计总结...............................................................................................................167.参考文献...............................................................................................................178.附录A;源程序.................................................................................................189.附录B;电路原理总图、作品实物图片.........................................................23用单片机控制直流电动机并测量转速单片机原理及应用课程设计1用单片机控制直流电动机并测量转速1引言1.1.设计意义电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化,本系统利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。1.2.系统功能要求单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电动机的转速。手动扩展。在键盘上设置两个按键——直流电动机加速键和直流电动机减速减。在手动状态下,每按一次键,电动机的转速按照约定的速率改变。用显示器LED或LCD显示数码移动的速度,及时形象地跟踪直流电动机转速的变化情况。2方案设计为了使用单片机对电动机进行控制,对单片机的基本要求应有足够快点速度;有捕捉功能。总体设计方案如图所示用单片机控制直流电动机并测量转速单片机原理及应用课程设计2图2.1总体设计方案(1)键盘向单片机输入相应控制指令,由单片机通过P3.0口输出信号,该编码通过DAC0832译成相应的模拟电压,经过信号放大实现电动机转向与转速的控制。(2)可变电阻接ADC0808转变成相应电压的数字信号,单片机通过P1口读取,再由P2口输出与转速相应的8位BCD编码与DAC0832相接。电动机的运转状态则通过四位数码管显示出来。(3)电机的测速显示,采用光电传感器测量电机的转速,在设计中,在电机转轴末梢上安装纸卡,在纸卡上留出两个孔。电机转轴每转一圈,发射二极管发出的光便通过纸卡的孔到达接受二极管,就可在接受二极管上产生相应的脉冲信号。计算下1s内输出的脉冲信号的个数,把计数的结果取一半,就可得到电动机的转动速度。(4)通过Max7219驱动器驱动4位共阴极LED灯,这样节省了许多I/O口。单片机DAC0832数码驱动按键控制ADC0808电压信号信号放大驱动电机数码显示光电管脉冲计数用单片机控制直流电动机并测量转速单片机原理及应用课程设计33硬件设计3.1AT89C51最小系统AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图3.1单片机最小系统的设计用单片机控制直流电动机并测量转速单片机原理及应用课程设计4AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.2按键电路单片机的P3.6和P3。7口分别接一个按键用于控制电机。当按下“叫”键时,电机转速提高,进入加速状态;当按下“减”键时,电机转速减慢,进入减速状态。通过“加”“减”两个按键可以达到键盘控制电机的作用。3.3A/D转换模块(1)ADC0808ADC0808是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。主要特性1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)4)单个+5V电源供电。5)模拟输入电压范围0~+5V,不需零点和满刻度校准。6)工作温度范围为-40~+85摄氏度。7)低功耗,约15mW。ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿用单片机控制直流电动机并测量转速单片机原理及应用课程设计5启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设