ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:798KB ,
资源ID:4320814      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-4320814.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(国旗升降自动控制系统.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

国旗升降自动控制系统.doc

1、 Protues电路设计与仿真 结课论文 姓 名 吕雪锋 学 号 5011212204 学 院 信息工程学院 专 业 计算机科学与技术 班 级 计算机16-2班 指导老师 孟洪兵 国旗升降自动控制系统目 录设计任务2摘要4第 1 节 系统方案论证与比较51.1 设计思路51.2 方案选择与论证51.2.1、电机的选择与论证51.2.2、电机驱动方案的选择与论证51.2.3、显示部分方案的选择与论证6第 2 节 电路框图设计 82.1 总体框图设计82.2 整体程序流程图9第 3 节 系统的具体设计103.1 系统的硬件设计103.1.1、电机驱动模块103.1.2、键盘与显示模块113.2 系

2、统的软件设计123.2.1、主体电路图12第 4 节 结论13第 5 节 心得14参考文献14附录15 国旗升降系统控制设计报告设计任务设计一个国旗升降旗系统,该系统能够控制升旗和降旗,升旗时,在到固定时间时自动停止;降旗时,在到达固定时间自动停止。旗帜的升降由电动机驱动,该系统有三个控制按键,一个是上升键,一个是下降键,一个是复位按键。基本功能1按下上升按键后,电机随着时间匀速顺时针转动;上升到固定时间时自动停止上升,电机停止转动;按下下降按键后,电机随着时间匀速逆时针下降,下降到固定时间时电机停止转动。2能在上升到最大时间后复位,动态时间清零。3为避免误动作,国旗在上升到固定时间时,按上升

3、键不起作用;国旗在下降到时,按下降键不起作用。4升降旗的时间均为43秒,升国旗时,电机顺时针转动到时间最大值;降国旗时,电机逆时针转动到最大值5数字即时显示电机转动的时间,以秒为单位,误差不大于1秒。摘要本系统采用单片机AT89C51作为自动控制升降旗系统的检测和控制核心,采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。该电路主要分为电机驱动控制模块、键盘与显示模块、语音模块及无线遥控电路模块等几个部分。电机驱动控制模块采用集成驱动芯片L298,控制与显示部分分别采用键盘作为控制和液晶RT1602C作为显示。基于这些完备而可靠的硬件设计,使用了一套完善的软件编程,实现了自动升

4、降旗的基本功能及发挥部分的一些功能。关键字:步进电机 自动控制 液晶显示 接近开关具体设计第 1 节 系统方案论证与比较1.1 思路题目要求设计一自动控制升降旗系统,该系统能够自动升降旗和自动升降半旗,能够在指定位置停止,升降旗的时间可在30120秒的范围内自行调整,标准的升降旗时间与国歌演奏时间相等,即为43秒,且具有数字即时显示旗帜所在的高度和无线遥控升、降旗及停止功能。根据题目要求由一个步进电机来控制旗帜的升降情况,由接近开关来防止旗帜在最高点或最低点停止时出现的误动作,由液晶来显示旗帜所在的高度及升降旗所用的时间,无线遥控电路使用无线发射接收模块SP,语音模块采用集成语音芯片ISD25

5、60。1.2 方案选择与论证1.2.1、电机的选择与论证方案一:采用普通的直流电机。普通直流电动机具有优良的调速特性,调速平滑、方便,调整范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转。方案二:采用步进电机。步进电机的一个显著特点是具有快速的启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。另一个显著特点是转换精度高,正转反转控制灵活。因为在本系统中需要精确的转换速度和转换时间且启停要迅速,所以在本设计中我们选择方案二1.2.2、电机驱动方案的选择与论证方案一:采用继电器对电动机的开或关进行控制,通过控制开关的切换速度实现对电

6、机的运行速度进行调整。这个电路的优点是电路结构简单,其缺点是继电器的响应时间长,易损环,寿命短,可靠性不是很高。方案二:采用由达林顿管组成的H桥型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,可精确调整电动机的运动状态(前进,后退,左转,右转)。这种电路由于工作在管子的饱和截至模式下,效率很高。H桥电路保证了可以简单的实现转速和方向的控制,但不能很精确的控制步距和速度。方案三:采用集成ULN2003A。在自动化密集的场合会有很多被控元件如继电器,风机,空调等,这些设备通常由CPU集中控制,由于控制系统不能直接驱动被控元件,这与要有功率来扩展输出电流以满足被控元件的电流与电压。

7、而ULN2003A功能性强、应用范围广。所以综上所述我们采用方案三。1.2.3、显示部分方案的选择与论证方案一:采用LED数码管显示旗帜所在的高度以及升降旗所用的时间。在本系统中需要用到6只LED数码管进行动态显示才可以达到要求。采用LED的优点是亮度高,醒目,价格便宜,寿命长;缺点是只能显示09的数字和一些简单的字符,电路复杂,占用资源较多且信息量小。方案二:用LCD AMPIRE12864液晶显示,其优点是能显示更多的字符,工作电流比LED小几个数量级,故其功耗低,且有着良好的人机界面,体积小,功耗极低。基于上述考虑,所以我们选择方案二第 2 节 电路框图设计2.1 总体框图设计根据设计要

8、求,本系统可由图所示的几个部分组成: 电源电路单片机LCD显示方向驱动电机按键输入根据设计要求,可得本系统的程序主流程图如图2-2-1所示:本系统的控制器采用ATMEL公司的AT89C52。2.2 整体程序流程图第 3 节 系统的具体设计3.1 系统的硬件设计本系统由单片机AT89C52作为升降旗系统的控制核心,实现键盘控制、液晶显示以及无线遥控等几个部分,即该系统主要包括电机驱动模块、键盘与显示模块及晶振电路模块等几个部分。现分别对各模块进行分析。3.1.1、电机驱动模块在本设计中采用ULN2003A来驱动电机。其电路原理图如图所示。 电机驱动电路其步进电机的控制原理为:为了准确实现可调节的

9、时间和高度控制的匀速升降,需要精确计算在人眼不能识别的时间内的步进电机的脉冲数。在此我们选用步距角0.9度,则走一圈所需的步数为400步,因为用于固定绳子的轴的直径为2.5cm,则平均每步拉出的线长便可计算出来约为L=0.0234cm,在整个上升或下降过程中,high为总高度,可通过公式计算出在此段距离中步进电机需走的步数,即为,步进电机要转动的总步数:总步数=高度(high)/0.0234, 在此,时间可调时间间隔为1s。3.1.2、键盘与显示模块在本设计中使用了四个按键,分别用来控制升降旗和随意停止及其复位,时间的调节,其键盘摸板如图,显示部分采用液晶LCD AMPIRE12864,因为在

10、本设计中只要求显示时间与汉子字符,其键盘与显示模块的电路原理图如图所示。图3-1-2 键盘摸板 键盘与显示电路3.2 系统的软件设计整个系统的主要任务是执行升降旗、时间调整两种运动。主体软件电路图: 此电路包括按键控制部分、单片机控制部分、步进电机驱动控制电路部分。电路采用AT89C52单片机作为控制系统的核心。单片机通过对按键的扫描,识别出外部命令,并通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过驱动电路来驱动步进电机运转。当按上升键时,步进电机正转;当按下降键时,步进电机反转;按停止键时,步进电机停转第 4 节 结论 本系统的特色:本设计在硬件上,使用了步进电机控制和利用

11、接近开关实现停止的双重保险,在软件上,利用C语言的简单精练特点,实现起来更加简单,现将题目要求指标及系统实际性能列表如下: 基本要求 发挥要求 实际性能 升旗时,匀速上升 同 时电机顺时针转动,到达顶端时能自动停止。降旗时,电机逆时针转动,到达低端时自动停止。当时间设定为43S、时,电机匀速转动并且开始计时,到达指定时间停止转动。能在随意的时间上手动停止当到达任意时间,都可以选择停止,并且保持此位置,知道下一个动作。LCD AMPIRE12864显示汉字字符,且显示升旗需要的时间,及此刻升旗的动态时间通过LCD12864来显示设置的时间、此时的设置的时间、此时运行的时间。由开关控制是否需要电机

12、停止转动。通过一个按键来实现是否需要电机停止转动,当达到需要的时间即可选择停止,或者继续。具有按键控制升、降旗及停止功能通过按键来实现升旗、降旗及停止。但效果不是很好。在旗杆的最顶端与最低端安装了接近开关,防止电机失控。 第 5 节 心得 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。作为二十一世纪的大学来说单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到

13、实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了许多在书本上所学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是重要要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 这次设计也让我发现自己的知识严重不足,所以一定要不断充实自己的知识。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有

14、同学和各位指导老师再次表示忠心的感谢! 参考文献:1 扬 立,微型计算机原理与接口技术M.北京.中国铁道出版社.20082 陈伯时,电力拖动自动控制系统M.北京.机械工业出版社.20093 莫正康,电力电子应用技术M.北京.机械工业出版社.20074 赵瑞林,单片机原理与应用教程M.北京.北京大学出版社.200515 张旭涛,单片机原理与应用M.北京.北京理工大学出版社.20086 赵建领,51单片机开发与应用技术详解M.北京.电子工业出版社.20097 康维新,MCS-51单片机原理与应用M.北京.中国轻工业出版社.20098 Yokogawa.Models UT550/UT520 Digi

15、tal Indicating Controllers Users Manunal.Tokyo.Yokogawa.20039 陈爱萍,何智勇,羊四清,电子显示屏的单片机控制系统M北京.自动化与仪表.1999(7):545710 楼然苗,李光飞,51系列单片机设计实例M.北京.北京航空航天大学出版社.200311 卢艳君,单片机原理与应用M.北京.机械工业出版社.200812 Kavanagh R C. Improved Digital Tachometer with Reduced Sensitivity to Sensor Nonideality. IEEE Trans.Ind. Elect

16、ron. , 2000 ,47 (4) : 890 89713 Prokin M. Ext remely Wide range Speed Measurement Using a Double2buffered Method. IEEE Trans. Ind. Electron. , 1994 ,41 (5) :550 55914 吴丙申,卞祖富,模拟电路基础M.北京.北京理工大学出版社.200715 李响初, 数字电路基础与应用M.北京.机械工业出版社.2008附录材料清单LCD AMPIRE12864AT89C52BUTTONCAPCAP-ELECCRYSTALMOTOR-STEPPERP

17、OT-HG(主要用于调节液晶屏的背光)RESRESPACK-8UNL2003A部分程序#include#include#include#include#define uchar unsigned char#define uint unsigned intsbit KEY2=P30;sbit KEY3=P31;/三个按键控制口 char min,sec,tt=0,flag=0;int num=0;/相序存放处bit dir=1;/方向标志(默认为顺时针)uchar code forward=0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06;/正转uchar code

18、 reveser=0x0e,0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c;/反转void delay(uint i)while(-i);void key_scan(void)if(KEY2=0)/按键2按下,升旗delay(5000);if(KEY2=0)while(!KEY2);ClearScreen(0);flag=1;sec=0;min=0;dir=1; TR0=1; TR1=1; /启动定时器Display_HZ(1,0,3,sheng);Display_HZ(2,0,0,qi);Display_SZ(1,4,32,0);Display_SZ(1,4,40,0)

19、;Display_HZ(1,4,3,fen);Display_SZ(2,4,0,4); / 屏(1左2右) 页(0 2 4 8) 列(0 1 2 3)Display_SZ(2,4,8,3);Display_HZ(2,4,1,miao);if(KEY3=0)/按键3按下,降旗delay(5000);if(KEY3=0)while(!KEY3);ClearScreen(0);flag=2;sec=0;min=0;dir=0; TR0=1; TR1=1; /启动定时器Display_HZ(1,0,3,jiang);Display_HZ(2,0,0,qi);Display_SZ(1,4,32,0);D

20、isplay_SZ(1,4,40,0);Display_HZ(1,4,3,fen);Display_SZ(2,4,0,4); / 屏(1左2右) 页(0 2 4 8) 列(0 1 2 3)Display_SZ(2,4,8,3);Display_HZ(2,4,1,miao);void main() init_LCD();/初始12864 ClearScreen(0);/清屏 Set_line(0);/显示开始行 EA=1; /开启总中断IT0=1;EX0=1;ET0=1; /允许定时器0中断ET1=1;TMOD=0x11; /设置定时器工作方式1 16位计数TH0=(65536-50000)/2

21、56;TL0=(65536-50000)%256;TH1=(65536-60000)/256;TL1=(65536-60000)%256;TR0=0; /启动定时器TR1=0; Display_HZ(1,0,2,kai);Display_HZ(1,0,3,shi);Display_HZ(2,0,0,sheng);Display_HZ(2,0,1,qi); /上电显示:“开始升旗”Display_SZ(1,4,32,0);Display_SZ(1,4,40,0);Display_HZ(1,4,3,fen);Display_SZ(2,4,0,4); / 屏(1左2右) 页(0 2 4 8) 列(0

22、 1 2 3)Display_SZ(2,4,8,3);Display_HZ(2,4,1,miao); while(1)if(tt=20) /1秒时间到 tt=0; /把重新赋值为0 等待下一秒(tt=20) sec+; /if(sec=60) min+; sec=0; if(min=0&sec=43) TR0=0;TR1=0;Display_HZ(1,0,2,yi);Display_HZ(1,0,3,shii);Display_HZ(2,0,0,wan);Display_HZ(2,0,1,bi); /上电显示:“开始升旗”if(flag=1) /升旗计时显示 Display_SZ(1,6,32

23、,min/10);Display_SZ(1,6,40,min%10);Display_HZ(1,6,3,fen);Display_SZ(2,6,0,sec/10); / 屏(1左2右) 页(0 2 4 8) 列(0 1 2 3)Display_SZ(2,6,8,sec%10);Display_HZ(2,6,1,miao); if(flag=2) /降旗计时显示 Display_SZ(1,6,32,min/10);Display_SZ(1,6,40,min%10);Display_HZ(1,6,3,fen);Display_SZ(2,6,0,sec/10); / 屏(1左2右) 页(0 2 4

24、8) 列(0 1 2 3)Display_SZ(2,6,8,sec%10);Display_HZ(2,6,1,miao); key_scan();void key() interrupt 0 /定时器0中断服务程序 TR0=!TR0;TR1=!TR1;void timer0() interrupt 1 /定时器0中断服务程序TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;void timer1() interrupt 3/定时器1中断服务程序 TH0=(65536-60000)/256;TH0=(65536-60000)/256;if(num=8) num=0; if(dir=1) P1=forwardnum+; /正转 else P1=revesernum+; /反转

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。