单片机课程设计实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理与接口技术

直流电机测速系统

课程设计报告

学院:

专业:

学生姓名:

学号:

指导教师:

时间:

一、前言

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

为了使大学生更好的将理论学习与实践相结合,同时增加大学生对所学知识的感性认识,提升大学生的动手能力,在每学期末各高校(特别是工科专业)均开设了“课程设计”。

在数控系统中,检测是不可或缺的一个重要环节。最关键的检测环节之一便是电动机的测速。测速的方法多种多样,并且与选择的传感器类型有关。本设计利用旋转编码器实现电动机的测速。

二、设计要求与设计方案

设计要求:(1)设计驱动电路,实现对直流电机控制,可实现电机的启动、加减速、

匀速、制动停机及正、反转等功能。

(2)采用旋转编码器测量电机的转速,以十进制数电机显示转速(转/分钟),用数码管或其他类型的显示器。

(3)实验测试时,采用改变直流永磁电机电枢两端电压的形式改变转速及切换其极性改变电机转动方向,测量系统能够实时测量和显示电机的转速和转向。

(4)当测速系统不测量转速期间,测量显示测试现场温度。

(5)每次测量完成后,把测量时间、测量值等信息通过串口传递到监控器上。信息提示模式“××时××分××秒:转速:××”(可用字符或编码)。

扩充功能:

(1)转速超限报警,通过LED显示器和蜂鸣器报警。可把报警信息通过串口传递到监视器上。

(2)温度超限报警,通过LED显示器和蜂鸣器报警。可把报警信息通过串口传递到监视器上。

(3)当测速系统不测量转速时,可作为钟表和温度计使用,分时显示时间和温度。

方案:通过单片机实现电机启动、停止、正转、反转的控制,调速利用与电机串联

在一起的电位器控制。正反转由H桥电路实现。电路图如下:

图1-1

本设计中采用的旋转编码器,电机每转动一周,输出1024个脉冲。通过统计脉冲个数,经过一系列计算,得出电机转速,并显示在LED数码管上。

本设计中,基准时间为1ms,记脉冲周期为7ms,T0为计数器工作模式,TH0、TL0内存储脉冲个数N。转速n与脉冲N转换公式为:

n=(N*1000*60)/(7*1024)=8.37*N

注:记脉冲周期7ms实现过程为调用七次基准时间,单片机执行程序也会消耗一部分时间,经折中后,n约等于8N,误差在允许的范围内。

显示过程,现将TH0、TL0中数暂存,转换为BCD码,调用显示程序显示BCD码。电机在24V全电压下运行,转速为800r/min。所以显示过程中,只需利用LED数码管后三位。第6位显示正负,以表示正反转。

改变转速利用电位器,改变电机转动方向利用H桥,见图1-1.

实现实时显示是利用:经过转速的处理程序,转速存储在特定单元,判断键盘输入值,当按下四键值时,使程序跳到转速显示模块,显示特定单元的值,从而显示实时转速。

不测量转速时,调用DS18B20测温程序,将温度显示到LED数码管上。

判断键值,如果按下五键,则调用串口显示程序,经过SBUF将数值按字符形式显示在显示器上。

设置上限转速800r/min,将T0中记出的数与上限相比,没有超出上限时,系统正常工作,超出上限,蜂鸣器报警,并调用串口程序,将“OVER SPD!”传递到显示器上。

设置下限温度2度及上限温度35度,当温度超限时,蜂鸣器报警,并将”OVER T TMP!”传递到显示器上。

设计方案:

单片机控制电机启动、停止。利用H桥实现电机正反转控制。利用旋转编码器实现电动机转速测量。单片机、LED、按键等部分原理见图1-2。电机控制图见图1-1。实物图见图1-3

1-2

图1-3

三、框图及程序介绍

1、整体框图

程序 R5

2、键值处理程序

3、测温程序

4、中断计时

5、测速程序

程序代码:

FLAG1 BIT 00H

SIGN BIT P3.7

SIGN0 BIT P3.3

DQ BIT P1.3

TPH DATA 3AH

TPL DATA 3BH

FUHAO EQU 20H

WAN EQU 21H

QIAN EQU 22H

BAI EQU 23H

SHI EQU 24H

GEI EQU 25H ;转速存储单元

MIAO EQU 26H

FEN EQU 27H

HOUR EQU 28H ;时间存储单元

MIAO1 EQU 29H

MIAO2 EQU 2AH

FEN1 EQU 2BH

FEN2 EQU 2CH

HOUR1 EQU 2DH

HOUR2 EQU 2EH ;时间调整字符

ORG 0000H

LJMP START

ORG 0003H

LJMP JI_SHI

ORG 001BH

LJMP P_T1 ;基准时间1ms中断

ORG 0030H

START: MOV SP ,#70H

MOV TMOD,#00010101B ;计时初始化

MOV TH1,#0FCH

MOV TL1,#18H ;1ms初值

MOV 33H,#20

MOV 34H,#50

SETB EA

SETB ET1

SETB TR1

SETB PT1

SETB IT0

CLR EX0

SETB EA

相关文档
最新文档