电子创新设计实验报告_第1页
电子创新设计实验报告_第2页
电子创新设计实验报告_第3页
电子创新设计实验报告_第4页
电子创新设计实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国海洋大学课程设计报告设计制作一台微型程控搅拌器专业年级:2014级通信工程指导教师:谷健设计人:张志修计日期:2017年8月23日摘要本设计是制作一台微型程控搅拌器,采用AT89S52单片机来控制电机的正转、反转、加速转、减速转,以及与红黄绿三种颜色的LED灯的交替变亮、闪烁相互配合。采用PWM进行调速,全部通过单片机控制,达到智能操控的效果。关键字:AT89S52;PWM;单片机控制目录1设计题目 41.1任务 41.2设计要求 41.3说明 41.4设计提示 52系统方案选择 52.1单片机选择 52.2电机制动 52.3电机正反转 53系统原理框图 63.1LED灯指示电路 63.2电机运转电路 63.3AT89S52单片机 64软件流程 75总结 10附录: 101设计题目1.1任务设计和制作一个由程序控制的微型搅拌器,它按照一定的搅拌程序控制电机作正向和反向的转动。定时器采用单片机设计制作,来控制微型搅拌器做如下运转:打开电源1s后:电机高速正传5s,暂停1s,电机高速反转5s,暂停1s电机低速正传10s,暂停1s,电机低速反转10s,暂停1s电机高速正传5s,暂停1s,电机高速反转5s,电机停转,搅拌结束。1.2设计要求搅拌器打开电源开始1秒内,所有灯亮。搅拌器电机高速正转时绿指示灯亮,其它灯灭。搅拌器电机高速反转时红指示灯亮,其它灯灭。搅拌器电机低速正转时绿指示灯闪烁,闪烁频率1Hz,其它灯灭。搅拌器电机低速反转时红指示灯闪烁,闪烁频率1Hz,其它灯灭。搅拌器电机暂停时黄色指示灯闪烁,闪烁频率1Hz,其它灯灭。搅拌器电机停转时所有灯灭。1.3说明搅拌器电机采用3V小型直流电机。三色指示灯采用红黄绿三种颜色的发光二极管。电机和指示灯驱动电压不要超过3V。搅拌头可采用塑料圆珠笔芯插上折叠90度制作。1.4设计提示 可以利用51单片机最小系统加驱动控制单元来实现。电机驱动控制单元和指示灯可选用继电器控制或者H桥电路控制。高低电平变换控制可选用三极管控制。调速可采用PWM调速。2系统方案选择2.1单片机选择选择AT89S52单片机,该芯片I/O口较多,能够达到调速、控制LED灯的亮灭和正反转的要求,价格相对便宜,在此非常合适。2.2电机制动根据单片机的端口输出电平来决定,当单片机输出为低电平的时候,利用电磁继电器的开关功能来控制电机的导通和截止2.3电机正反转根据单片机的端口输出电平来决定,根据输出的高低电平来控制电机的正转和反转。3系统原理框图红黄绿LED的交替电机调速红黄绿LED的交替电机调速AT89S52电机电机正转、反转对于电路的搭建,我们采用两组电路来实现功能,分别为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进行电路仿真,观察仿真结果并进行调整。开始开始定义定义端口,初始化低速正转函数低速正转函数高速正转函数暂停函数复位函数低速暂停函数复位函数低速反转函数高速反转函数Protues电路图:仿真软件截图:电路板实物图5总结本系统以单片机AT89S52芯片为核心部件,利用其输出的高低电平来操控LED的亮灭转换以及电机的正转、反转、减速转、暂停,最终完成微型程控搅拌器的任务。在软件设计的过程中,力争使用程序的模块化,自上而下进行程序设计,使得程序尽量简洁易懂,易修改。在电路板的焊接之前,我们先使用Proteus进行软件仿真,在仿真的过程当中,我们发现了诸多问题,比如LED灯的亮灭时间与实际不符,电机无法实现反转等等,但在最后我们都将此问题一一解决。在电路板焊接完成后,在调试的过程中,我们也发现并遇到了许多问题,比如接地端没有共地,单片机电流输出不足,无法驱动电路等等。通过这次的实验课,我们真正做到了理论与实践相结合,对单片机的知识又了解了许多,对单片机的硬件结构的研究和软件的编程的兴趣增加了很多,培养了团队合作意识,提升了自己的素质,锻炼了自己,结识了其他班的同学,熟悉了对一项课题研究、设计和实验的过程。这将会在我们今后的学习和工作中起到很大的帮助。附录:程序设计:思路:采用延时函数,以及51单片机的5个I/O口输出的信号来提供高低电平信号,操控外部电路,来实现灯的亮灭以及电机的正反转和延时。代码部分:#include<reg52.h>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; YELLOW=1; GREEN=1; for(i=0;i<=6;i++) { delay(1); }}voidlowRUNpostive() //低速正转{ unsignedintj=0; GREEN=0; RED=1; YELLOW=1; RUN=1; for(j=0;j<19;j++) { GREEN=!GREEN; RUN=1; delayms(800); PAUSE=1; delayms(200); PAUSE=!PAUSE; }}voidlowRUNnegative() //低速反转{ unsignedintj=0; unsignedintk=0; RED=0; GREEN=1; YELLOW=1; RUN=0; for(j=0;j<19;j++) { RED=!RED; RUN=0; delayms(800); PAUSE=1; delayms(200); PAUSE=!PAUSE; }}voidreset() //重置函数{ RED=1; YELLOW=1; GREEN=1; RUN=0; PAUSE=0;}voidpause() //电机暂停{ unsignedintj=0; YELLOW=0; GREEN=1; RED=1; RUN=0; PAUSE=1; delayms(500); YELLOW=1;}voidmain(){ unsignedinti=0; RED=0; YELLOW=0; GREEN=0; RUN=0; for(i=0;i<1;i++) { delayms(1); PAUSE=1; delayms(9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论