大连理工大学电子工程训练报告.docx

上传人:b****3 文档编号:2816092 上传时间:2022-11-15 格式:DOCX 页数:18 大小:1.62MB
下载 相关 举报
大连理工大学电子工程训练报告.docx_第1页
第1页 / 共18页
大连理工大学电子工程训练报告.docx_第2页
第2页 / 共18页
大连理工大学电子工程训练报告.docx_第3页
第3页 / 共18页
大连理工大学电子工程训练报告.docx_第4页
第4页 / 共18页
大连理工大学电子工程训练报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

大连理工大学电子工程训练报告.docx

《大连理工大学电子工程训练报告.docx》由会员分享,可在线阅读,更多相关《大连理工大学电子工程训练报告.docx(18页珍藏版)》请在冰豆网上搜索。

大连理工大学电子工程训练报告.docx

大连理工大学电子工程训练报告

大连理工大学本科实验报告

 

题目:

基于51单片机的直流电机调速系统

 

课程名称:

电子工程训练

学院(系):

电子信息与电气工程学部

专业:

电子信息工程

班级:

学号:

序号:

学生姓名:

成绩:

 

2015年11月1日

成绩评定

项目

各项总分

得分

焊接

30

最小系统与电源

10

功能实现

功能1:

15

功能2:

15

功能3:

15

实验报告

10

出勤

5

总分

电子安装实验室安全守则

1、每次实验前,认真预习准备,仔细阅读实验安全守则,严格按照安全规范进行实验,确保实验安全;

2、桌面要保持整洁,不允许有杂物,禁止将水杯、瓶装水放在桌面;

3、电烙铁在使用前,必须检查电源线有无烫损漏线情况,一经发现,立即找老师进行安全处理;

4、电烙铁长时间不使用,应将电源线拔掉;电烙铁使用后,应放回烙铁架中,以免烫伤物品;

5、实验结束后,必须拔掉电烙铁的电源线;已经加热的电烙铁,必须冷却后再放入抽屉中;

6、焊锡中含铅,不要含在口中,实验结束后要洗手;

7、稳压电源在使用前,应先调好要使用的电压,再进行线路连接,并确保连接的极性正确;

8、抢救触电人员时,应首先切断电源或用绝缘物体挑开电源线,使触电者脱离电源,千万不要用手拖拉触电人员,以免连环触电;

9、实验结束后,必须关闭桌面电源开关,将桌面收拾干净,工具物品整理好。

 

题目:

1设计要求

以51单片机为核心,设计、焊接并调试一个实际单片机控制系统,实现四位一体数码管显示直流电机转向、转速,并利用遥控控制直流电机的转速。

系统设计具体要求:

1)电源电路(9VAC-5VDC)。

2)51单片机最小系统。

3)红外接收系统,利用遥控控制电机转速。

4)四位一体数码管显示(三极管8550驱动)。

5)直流电机驱动电路。

2设计分析及系统方案设计

1)直流电机:

直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的(PWM调速)。

电机的驱动电流是比较大的,所以需要用三极管来放大电流。

程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。

2)红外接收:

通过红外接收电路进行遥控的接收。

3)数码管显示:

当遥控器输入数据即输入对电机的控制指令时,数码管上会显示相应的转速、转向。

4)总体设计:

显示数码管用P1.1~P1.4进行位选,P0口控制显示数字;直流电机用P2.4和P2.5输出PWM波形,通过三极管进行驱动;通过红外接收电路和遥控,控制电机加速,减速,启动,停止,其中P3.2口作为遥控接收的输入端。

3各功能模块硬件电路设计

1)电源电路:

2)最小系统:

包括电源,接地,晶振,复位,上拉电阻。

3)数码管显示:

四位数码管是一种半导体发光器件,其基本单元是发光二极管。

能显示4个数码管叫四位数码管。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

4)直流电机驱动:

基于三极管的使用机理和特性,在驱动电机中采用H桥功率驱动电路,H桥功率驱动电路可应用于步进电机、交流电机及直流电机等的驱动.永磁步进电机或混合式步进电机的励磁绕组都必须用双极性电源供电,也就是说绕组有时需正向电流,有时需反向电流,这样绕组电源需用H桥驱动。

直流电机控制使用H桥驱动电路,当PWM1为低电平,通过对PWM2输出占空比不同的矩形波使三极管Q1、Q6同时导通Q5截止,从而实现电机正向转动以及转速的控制;同理,当PWM2为高电平,通过对PWM1输出占空比不同的矩形波使三极管Q1、Q6同时导通,Q6截止,从而实现电机反向转动以及转速的控制。

 

4系统软件设计

1)源代码:

#define_TEST1_C_

#include"reg51.h"

#include"intrins.h"

#defineucharunsignedchar

#defineuintunsignedint

#defineDataPortP0

ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管码值

ucharcodedispbit[]={0xfd,0xfb,0xf7,0xef};//位选控制,4位数码管,对应P1^1-P1^4

ucharYKDatas[3];//遥控码(一帧14位),YKDatas[0]:

0,1为startbits,2为controlbit,//YKtype=0

//YKDatas[1]:

3~7为systembits,YKtype=1

//YKDatas[2]:

8~13为commandbits,YKtype=2

ucharYK_flag;

sbitYKIn=P3^2;//数据输入位

ucharYKcount,YKtype;//遥控已接收位数,一帧的各段标志

bitYK_ok=0;//红外值储存完成标志位

bitflag=0;//电机正反转标志

sbitPWM1=P2^5;//定义直流电机的控制端口1

sbitPWM2=P2^4;//定义直流电机的控制端口2

ucharCYCLE=12;//定义周期

ucharPWM_L;//定义低电平时间

ucharPWM_Num=1;//定义档位

ucharkey=1;//存储键值

bitqt=1;//启动和停止的标志位//定时器1的初始化

voidinitT1()

{

TMOD=0x11;//定时器设置1msin11.0592Mcrystal

TH1=0xFC;

TL1=0x66;//定时1mS

ET1=1;

EA=1;

TR1=1;//定时器打开

}

//定时器1处理程序

voidtime1()interrupt3

{

staticucharcount=0;

TH1=0xFC;

TL1=0x66;//定时1mS

switch(PWM_Num)

{

case1:

PWM_L=4;break;

case2:

PWM_L=5;break;

case3:

PWM_L=6;break;

case4:

PWM_L=7;break;

case5:

PWM_L=8;break;

case6:

PWM_L=9;break;

case7:

PWM_L=10;break;

case8:

PWM_L=11;break;

case9:

PWM_L=12;break;

default:

break;

}

if(qt)

{

if(count<=PWM_L)

{

if(flag==1)

{

PWM1=1;

PWM2=0;

}

else

{

PWM1=0;

PWM2=1;

}

}

else

{

PWM1=0;

PWM2=0;//直流电机不转

}

count++;

if(count==CYCLE)

{

count=0;

}

}

else

{

PWM1=0;

PWM2=0;

}

}

//延时a*1ms

voiddelayMs(uinta)

{

uinti,j;

for(i=a;i>0;i--)

for(j=100;j>0;j--);

}

//延迟,百微秒级

voiddelay_us(uchartime)

{

uchari=0;

while(time--)

{

i=10;

while(i--);

}

}

//重置所有数据

voidYKReset()

{

delayMs(200);//去重复

YKDatas[0]=YKDatas[1]=YKDatas[2]=0;

YKcount=0;

YKtype=0;

EX0=1;//开外部中断0,检测是否有数据输入

PX0=1;

PT0=1;

}

//遥控接收初始化

voidYKInit()

{

TMOD=0x01;//T0选用方式1(16位定时)

IE=0x82;

ET0=1;//开总中断,开定时器0中断

YKIn=1;

YKReset();

}

voidex0()interrupt0

{

EX0=0;//关闭外部中断0

//模式1:

TH0=(2^16-(413/1.085))/2^8=(65536-381)///256=254;

//TL0=(65536-381)%256=131

TH0=254;

TL0=131;

TR0=1;//启动定时器0,定时1/4位周期

}

voidtime0()interrupt1

{

//第一次进入中断前,定时1/4位的时间:

445us,以后则定时一位时间1.778ms

//即在3/4位时间时,判断该位是1还是0/实际测试中,位时间只在1.651ms(+-1ms),定//时1/4位的时间:

413us

bitin=~YKIn;//一体化解码后,有载频部分变为低电平,即低电平实际为1,高电平//实际为0

//设置定时器初值

//模式1:

TH0=(2^16-(1651/1.085))/2^8=(65536-1651/1.085)/256=249;

//TL0=(65536-1651/1.085)%256=141

TH0=249;

TL0=141;

YKDatas[YKtype]=YKDatas[YKtype]|in;//将数据放入最低位

YKcount++;

if(YKcount==1||YKcount==2)

{

if(in==0)//起始两位必须都为1,否则关计时器0,开中//断0

{

TR0=0;

YKReset();

return;

}

}

if(YKcount==3)//获取完Start

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1