电子创新设计实验报告

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

电子创新设计实验报告标准化管理部编码-[99968T-6889628-J68568-1689N]

中国海洋大学课程设计报告设计制作一台微型程控搅拌器

专业年级:2014级通信工程

指导教师:谷健

设计人:张志诚

左修洋

设计日期:2017年8月23日

摘要

本设计是制作一台微型程控搅拌器,采用AT89S52单片机来控制电机的正转、反转、加速转、减速转,以及与红黄绿三种颜色的LED 灯的交替变亮、闪烁相互配合。采用PWM进行调速,全部通过单片机控制,达到智能操控的效果。

关键字:AT89S52;PWM;单片机控制

目录

1设计题目

1.1任务

设计和制作一个由程序控制的微型搅拌器,它按照一定的搅拌程序控制电机作正向和反向的转动。定时器采用单片机设计制作,来控制微型搅拌器做如下运转:

打开电源1s后:

电机高速正传5s,

暂停1s,

电机高速反转5s,

暂停1s

电机低速正传10s,

暂停1s,

电机低速反转10s,

暂停1s

电机高速正传5s,

暂停1s,

电机高速反转5s,

电机停转,搅拌结束。

1.2设计要求

(1)搅拌器打开电源开始1秒内,所有灯亮。

(2)搅拌器电机高速正转时绿指示灯亮,其它灯灭。

(3)搅拌器电机高速反转时红指示灯亮,其它灯灭。

(4)搅拌器电机低速正转时绿指示灯闪烁,闪烁频率1Hz,其它灯灭。

(5)搅拌器电机低速反转时红指示灯闪烁,闪烁频率1Hz,其它灯灭。

(6)搅拌器电机暂停时黄色指示灯闪烁,闪烁频率1Hz,其它灯灭。

(7)搅拌器电机停转时所有灯灭。

1.3说明

(1)搅拌器电机采用3V小型直流电机。

(2)三色指示灯采用红黄绿三种颜色的发光二极管。

(3)电机和指示灯驱动电压不要超过3V。

(4)搅拌头可采用塑料圆珠笔芯插上折叠90度制作。

1.4设计提示

可以利用51单片机最小系统加驱动控制单元来实现。电机驱动控制单元和指示灯可选用继电器控制或者H桥电路控制。高低电平变换控制可选用三极管控制。调速可采用PWM调速。

2系统方案选择

2.1单片机选择

选择AT89S52单片机,该芯片I/O口较多,能够达到调速、控制LED灯的亮灭和正反转的要求,价格相对便宜,在此非常合适。

2.2电机制动

根据单片机的端口输出电平来决定,当单片机输出为低电平的时候,利用电磁继电器的开关功能来控制电机的导通和截止

2.3电机正反转

根据单片机的端口输出电平来决定,根据输出的高低电平来控制电机的正转和反转。

3系统原理框图

LED 达运转电路。

3.1LED 灯指示电路

单片机左端为LED 灯指示电路,每个LED 灯都串接一个

100Ω电阻,用来对5V 电源进进行分压,保证LED 灯正常工作。每个LED

灯接单片机的输出信号。灯光指示原理为:当单片机输出高电平时,LED 灯两端电压不足,为熄灭状态;当单片机输出低电平时,LED

灯正常工作,为常亮状态。

3.2电机运转电路

由于单片机输出信号的电流较小,所以采用晶体管对其进行放大,然后使用一

个继电器构成H 桥电路对电机实现正转和反转;用另一个继电器对电机实现开和关。

3.3AT89S52单片机

AT89S52是一种低功耗、高性能CMOS8

位微控制器,具有8K 系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash ,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

4软件流程

系统的软件设计采用C 语言编程实现各项功能,采用keil 编写C 语言代码,然后运用proteus 进行电路仿真,观察仿真结果并进行调整。

本系统以单片机AT89S52芯片为核心部件,利用其输出的高低电平来操控LED 的亮灭转换以及电机的正转、反转、减速转、暂停,最终完成微型程控搅拌器的任务。在软件设计的过程中,力争使用程序的模块化,自上而下进行程序设计,使得程序尽量简洁易懂,易修改。在电路板的焊接之前,我们先使用Proteus 进行软件仿真,在仿真的过程当中,我们发现了诸多问题,比如LED 灯的亮灭时间与实际不符,电机无法实现反转等等,但在最后我们都将此问题一一解决。在电路板焊接完成后,在调试的过程中,我们也发现并遇到了许多问题,比如接地端没有共地,单片机电流输出不足,无法驱动电路等等。

通过这次的实验课,我们真正做到了理论与实践相结合,对单片机的知识又了解了许多,对单片机的硬件结构的研究和软件的编程的兴趣增加了很多,培养了团队合作意识,提升了自己的素质,锻炼了自己,结识了其他班的同学,熟

悉了对一项课题研究、设计和实验的过程。这将会在我们今后的学习和工作中起到很大的帮助。

附录:

程序设计:

思路:采用延时函数,以及51单片机的5个I/O口输出的信号来提供高低电平信号,操控外部电路,来实现灯的亮灭以及电机的正反转和延时。

代码部分:

#include

sbitRED=P1^0; //定义输出口

sbitYELLOW=P1^1;

sbitGREEN=P1^2;

sbitRUN=P1^3;

sbitPAUSE=P1^4;

voiddelay(unsignedintnum) //延时1s

{

unsignedinti;

for(i=num*110*1000;i>0;i--)

{

}

}

voiddelayms(unsignedintnum) //延时1ms

{

unsignedinti;

for(i=num*110;i>0;i--)

{

}

}

voidhighRUNpostive() //高速正转

{

unsignedinti;

RUN=1;

RED=1;

YELLOW=1;

GREEN=0;

for(i=0;i<=5;i++)

{

delay(1);

}

}

voidhighRUNnegative() //高速反转

{

unsignedinti;

RUN=0;

RED=0;

相关文档
最新文档