资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
精选优质文档-倾情为你奉上大连理工大学本科实验报告题目:基于AT89S52单片机直流电机设计课程名称: 电子工程训练 学院(系): 电信学部 专 业: 通信工程 班 级: 电子1102班 学 号: 学生姓名: 陈柯锦 成 绩: 2014年 11月 12日电子安装实验室安全守则(请在下一页手抄一份安全守则)1、 每次实验前,认真预习准备,仔细阅读实验安全守则,严格按照安全规范进行实验,确保实验安全;2、 桌面要保持整洁,不允许有杂物,禁止将水杯、瓶装水放在桌面;3、 电烙铁在使用前,必须检查电源线有无烫损漏线情况,一经发现,立即找老 师进行安全处理;4、 电烙铁长时间不使用,应将电源线拔掉;电烙铁使用后,应放回烙铁架中,以免烫伤物品;5、 实验结束后,必须拔掉电烙铁的电源线;已经加热的电烙铁,必须冷却后再放入抽屉中;6、 焊锡中含铅,不要含在口中,实验结束后要洗手;7、 稳压电源在使用前,应先调好要使用的电压,再进行线路连接,并确保连接的极性正确;8、 抢救触电人员时,应首先切断电源或用绝缘物体挑开电源线,使触电者脱离电源,千万不要用手拖拉触电人员,以免连环触电;9、 实验结束后,必须关闭桌面电源开关,将桌面收拾干净,工具物品整理好。题目:基于AT89S52单片机直流电机设计1 设计要求a) 实现直流9V电源到5V输出的转换。b) 设计单片机最小系统。c)用单片机控制直流电机启动、加速、减速、正反转和停止。d)利用数码管输出显示电机转动的档位和正反转标志。2 设计分析及系统方案设计1)方案设计:首先对电压的转换可以使用整流桥和7805芯片来设计,直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,利用PWM控制占空比从而达到改变电机速度,因此可以通过调整占空比从而能实现调速的目的。直流电机的驱动电路要有过流保护作用,可用二极管来实现,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。程序可以通过对51单片机定时器重装初值进行改变,从而改变时间。数码管的显示采用四位一体数码,管利用四个选通端来控制不同位置的数码管输出显示,公用一组数据线。选用单片机四个引脚控制选通端,利用一个八位口来实现数据输出显示。图2-1 总电路设计图3 各功能模块硬件电路设计1)电源电路利用7805来实现电压的转换。在输入端由于输入直流电压存在极性不确定的情况,选用桥式整流避免输入电压的极性不同队之后电路的影响。7805两侧加入两个电容用于滤波,避免杂波对之后单片机系统的影响。当输出电压不足5V时,可在输入端并联一个大电容,利用其储能的作用抬升输入电压,从而使得7805输出达到5V。图3-1 电源电路2)H桥驱动电路基于三极管的使用机理和特性,在驱动电机中采用H桥功率驱动电路,H桥功率驱动电路可应用于步进电机、交流电机及直流电机等的驱动直流电机控制使用H桥驱动电路(下图所示),当P10输出1,P11输出0时,控制1输出的占空比可以实现电机的调速;P10输出0,P11输出1时,电机转动方向改变,利用输出1的引脚变化来实现电机的正反转。图3-2 H桥的电机驱动电路3)51最小系统单片机CPU部分采用STC89C52芯片,封装DIP-40。40个引脚,用40个排针引出,40脚接VCC,20脚接GND,P0,P1,P2,P3做IO接口。9脚接RST(复位电路)。18,19脚接晶振,(这次实验用晶振为12M)。31脚接EA,使能单片机。 晶振部分采用12M晶振,接电容30P(可以用更小点的电容,小点的电容理论上效果会好点),用于滤波。在焊接电路的时候,晶振部分加了一个晶振插座,这样,可以更换升级晶振,以便适应不同的系统。复位电路部分电复位和手动复位,电复位就是接一个10uF的电容,手动复位就是接一个开关,这个开关选用点触开关比较方便。开关按下之后RET引脚为高,单片机复位。P20引脚接一个LED灯,用于调试最小系统是否正常工作。P0口由于不输出高电平,不用拉动外部负载,所以未接上拉电阻,直接与之后的四位一体数码管的数据线相连,输出低电平有效。图3-3 51最小系统4)LCD显示模块四位是一种半导体发光器件,其基本单元是。能显示4个数码管叫四位数码管。数码管按段数分为和八段数码管,八段数码管比七段数码管多一个发光单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。图3-4-1四位一体共阳极数码管ARK SR41028图3-4-2 LCD显示电路4 系统软件设计1)软件流程图专心-专注-专业图4-1 程序流程图2)程序代码#define _1_C_#include reg51.h#include 1.h#include absacc.h#include intrins.h#define uchar unsigned char #define uint unsigned int/*变量定义*/uchar code smg12=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xB8,0x8E;/定义共阳数码管表char data led4=0xfd,0xfb,0xf7,0xef;/数码管选择char g; /个uint x; /数码管显示的数值 uchar k; /正反转标志位int t=0; /档位调节位int m=0; /译码器选择位bit stop=1; /终止标志uchar f=9; /供电周期sbit P30=P10; /正向供电sbit P31=P11; /反向供电sbit P10=P12; /正反转sbit P11=P13; /加速sbit P12=P14; /减速sbit P13=P15; /停止/sbit P14=P16; /启动sbit P15=P17; /外部中断控制位/*延时函数*/void delay ()uchar i;for(i=4608;i0;i-);/*定时器0背景程序*/void time0 ()if(k=0)if(ft) P30=1; else P30=0; P31=0;else if(ft)P31=1;else P31=0;P30=0; if(f=0)f=9;/*数码管显示*/void display ()uchar i,n;if(stop=0)x=t;g=x%10; /求速度个位值,送到个位显示缓冲区for(i=0;i4;)P2=ledi;if(i=0) /显示个位P0=smgg; delay();else if(i=1) /显示十位P0=0xB7; delay();else if(i=2) /显示百位P0=0xC1;delay();else if(i=3) /显示千位if(k=0)/正转不显示 P0=0xFF; delay();else P0=0xBF;/反转时显示- delay(); P0=0xFF;/去重影i+; elsefor(n=0;n4;)P2=ledn;if(n=0)P0=0x8C;delay();else if(n=1)P0=0xC0;delay();else if(n=2)P0=0x87;delay();else if(n=3)P0=0x92; delay();P0=0xFF;/去重影n+;/*按键扫描*/void key ()if(P10=0) /如果按下 while(!P10) /去抖动 display(); k=k; if(P13=0) /启动while(P13=0);IE |= 0x80; /EA置1TH0=-(18433/256); /给定时器0装入初值TL0=-(18433%256);TR0=1; /定时器0开始计数EX0=1; /开外部中断0stop=0; if(P11=0)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号