基于单片机的简易小直流电机的测速系统 课程设计.docx

上传人:b****4 文档编号:24195329 上传时间:2023-05-25 格式:DOCX 页数:11 大小:74.63KB
下载 相关 举报
基于单片机的简易小直流电机的测速系统 课程设计.docx_第1页
第1页 / 共11页
基于单片机的简易小直流电机的测速系统 课程设计.docx_第2页
第2页 / 共11页
基于单片机的简易小直流电机的测速系统 课程设计.docx_第3页
第3页 / 共11页
基于单片机的简易小直流电机的测速系统 课程设计.docx_第4页
第4页 / 共11页
基于单片机的简易小直流电机的测速系统 课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于单片机的简易小直流电机的测速系统 课程设计.docx

《基于单片机的简易小直流电机的测速系统 课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的简易小直流电机的测速系统 课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

基于单片机的简易小直流电机的测速系统 课程设计.docx

基于单片机的简易小直流电机的测速系统课程设计

信息与电气工程学院

课程设计说明书

(2012/2013学年第二学期)

 

课程名称:

单片机应用

题目:

简易小直流电机测速

专业班级:

自动化10-02

学生姓名:

XX

学号:

XX

指导教师:

XX等

设计周数:

2周

设计成绩:

2013年6月26日

 

一、单片机课程设计目的

1.设计并制作出一个以单片机为核心的简易小直流电机测速系统。

2.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

3.通过学生实际操作焊接电路板,提高学生的动手能力。

4.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应的工作打下基础。

2、课程设计正文

2.1设计内容和要求

2.1.1查阅资料,了解单片机的中断系统,键盘扫描,数码管动态扫描显示,定时器计数器的应用。

2.1.2了解步进电机的工作原理

2.1.3通过显示电路显示电机速度

2.1.4按钮可控制是否显示速度

2.2硬件设计方案

实现原理:

本次设计用到单片机的定时器,计数器,数码管动态扫描,键盘扫描,中断服务。

单片机上电,初始化完成后,先让定时器T0产生一秒的定时。

计数器T1开始计数,计数脉冲由电机本身提供。

一秒定时到后,保存电机转速,当按键按下时,让数码管动态扫描显示电机转速。

所需器件:

单片机最小系统、直流电机一个、四个共阳极数码管、三极管PNP三个、

电阻330共8个、1k四个。

 

2.2.1按键控制,一号键按下,在数码管上显示电机转速。

 

2.2.2由电机本身输入脉冲信号,每转输出334个脉冲

2.2.3单片机最小系统,包括复位电路和时钟电路。

2.2.4数码管显示电路,动态扫描,显示电机转速,共阳数码管。

2.3软件设计方案

包括以下几个模块

2.3.1头文件,主程序,数码管显示,延时程序,定时器中断模块,按键扫描,计数器计数

2.3.2编程思路:

用定时器T0产生产生一秒定时:

每100毫秒产生一次中断。

系统时钟为6兆,编写定时器T0产生1s定时。

机器周期等于12个震荡周期。

6兆机器周期为2us

方式1最长定时2^16*2us=131ms

选方式1每隔100ms中断一次,中断十次,TMOD=0x01,

65536-X)*2us=0.1

x=15536

TH0=15536/256;

TL0=15536%256;

2.3.3

直流电机输出脉冲计数器T1计数

T1工作在计数器模式方式一TMOD=0X50

初值为0,TL0=0,TH0=0

2.3.4

使用kill编程如下:

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelayms(unsignedcharms);

charaa,bb,cc,dd;

ucharnum;/*定时次数每次100ms*/

sbitP30=P3^0;//按键1

sbitP31=P3^1;//按键2

sbitgw=P2^0;

sbitsw=P2^1;

sbitbw=P2^2;

sbitqw=P2^3;

/*******************控制位定义*************/

ucharsmg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};//,1,2,3,4....的段码

uintx;//数码管显示的值

uinty;

display();

uintread();

key();//按键扫描

/****************主函数********************/

voidmain()

{

gw=0;

sw=0;

bw=0;

qw=0;//数码管初始化

P1=0xc0;

P2=0x00;

num=0;

//选方式1每隔100ms中断一次,中断十次,TMOD=0x51

TMOD=0x51;/*定时器T0工作于方式1,计数器T1工作于方式1*/

TH0=15536/256;/*定时器T0初值*//**/

TL0=15536%256;

TH1=0;/*计数器T0初值*/

TH0=0;

EA=1;/*开总中断*/

ET0=1;

TR0=1;/*启动T0*/

ET1=1;

TR1=1;/*启动T1*/

while

(1);//无限循环,等待中断

}

/*{

display();//数码管显示

//key();

 

}

}

/***********数码管显示**************/

display()

{

while

(1)

{aa=x/1000;//求速度千位,送到千位缓冲区保存

P1=smg[aa];

gw=0;

delayms

(1);

gw=1;

bb=(x/100)%10;//求速度百位,送到百位缓冲区保存

P1=smg[bb];

sw=0;

delayms

(1);

sw=1;

cc=(x/10)%10;//求速度十位,送到十位缓冲区保存

P1=smg[cc];

bw=0;

delayms

(1);

bw=1;

dd=x%10;//求速度个位,送到个位缓冲区保存

P1=smg[dd];

qw=0;

delayms

(1);

qw=1;

}if(P31==0)

{delayms

(1);

while(!

P31)

x=0;}

}

/*********延时函数**********/

voiddelayms(uintt)

{uinti,j;

for(i=0;i

for(j=0;j<20;j++);}

 

/*******定时器T1中断函数*********/

voidT0_time()interrupt1

{TH0=(15536)/256;//重装T1

TL0=(15536)%256;

TH1=0;

TL1=0;

num++;

if(num==10)

{num=0;

key();

}

}

/********按键扫描*********/

key()

{

if(P30==0)

{delayms

(1);

while(!

P30)//去抖动

x=984;

display();

}

/*if(P31==0)

{delayms

(1);

while(!

P31)//去抖动

x=984;*/

display();}

}

 

三、课程设计总结

两周的单片机课程设计终于顺利完成了,其中包含着快乐,也有辛酸。

我们的设计题目是“简易直流电机测速”,大家都觉得这个题目是比较简单的。

其实不然,做了之后,发现设计电路虽然简单,但我们认为它真正困难的地方是程序设计,不过在我们同心努力下最终完成了。

我们刚选该题目时,真的是一头雾水,硬件电路不知如何下手,更何谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。

不过,我们三人也没偷下懒,迅速分工去查阅和收集资料。

我们去了图书馆借一些参考书,上网找一些相关资料,并且请教指导老师。

不断地跟苗老师交流,苗老师很耐心的给我改程序。

通过不断努力,终于把proteus仿真做好了,并开始分一个人去焊接硬件电路,剩下的去整理和修改程序。

通过一番整理和修改后,在电脑上进行仿真,仿真成功后准备焊接电路板。

在焊接电路板中,我们首先对硬件电路进行布局,然后确认无误后,在电路板上进行焊接,这个过程我们觉得是做得比较快的,焊接电路板完工,细心检查后,进行通电测试。

结果数码管没有显示,通过检查,终于能显示正确数值。

当时我们的心情都是无比兴奋和快乐的,因为我们两周的辛苦没有白费。

在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。

但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。

从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。

 

4、参考文献:

[1]张毅刚.单片机原理及应用[M].北京:

高等教育出版社,2003/12/1.

[2]赵珂.电子技术实践3[M].高等教育出版社

[3]闫石.数字电路技术基础

 

附录:

proteus仿真图

课程设计

评语

课程设计

成绩

指导教师

(签字)

年月日

注:

此表必须在同一页面,不能随意更改表格的大小!

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

当前位置:首页 > 工程科技 > 机械仪表

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

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