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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

无线遥控升降旗系统.docx

1、无线遥控升降旗系统HEFEI UNIVERSITY“爱默尔”杯合肥学院第六届电子设计大赛设计报告题 目 无线遥控升降旗系统(C题) 成 员 张辉 自动化1班 0705073002成 员 徐善龙 电子信息工程1班 0705072019 成 员 徐建建 自动化1班 0705072036 2010 年 5 月 10日无线遥控升降旗系统(C题)摘 要基于80C51单片机为控制器,设计并实现了一个无线遥控升降旗系统,。本系统实现升国旗与唱国歌的同步进行,通过无线遥控可以实现红旗的准确升降和高度以及升旗速度的设置。同时升降国旗的各种状态由12864同步显示。实现了升降国旗的无线自动化。各项指标完全满足题设

2、要求。关键词:无线遥控 自动化 80C511引言随着自动化技术的发展,自动化的程度越来越高,人们对生活的自动化的要求。本系统通过80C51单片机实现升旗、降旗的无线遥控,进而实现升旗,降旗自动化。本次设计完成的无线遥控升降旗满足如下要求:(1)、按下上升按键后,国旗匀速上升,同时流畅地演奏国歌;上升到最高端时自动停止上升,国歌演奏停止;按下下降按键后,国旗匀速下降,降旗的时间不放国歌,下降到最低端时自动停止。(2)、为避免误动作,国旗在最高端时,按上升键不起作用;国旗在最低端时,按下降键不起作用。(3)、升降国旗的时间均为43秒钟,与国歌的演奏时间相等,同时,旗从旗杆的最下端上升到顶端。降旗不

3、演奏国歌,同时,旗从旗杆的最上端下降到底端。(4)、对于一般旗帜升旗高度可以自己设定,能在指定的位置上自动停止,此种工作方式下不放国歌。(5)、半旗状态,升旗时,按上升键,奏国歌,国旗从最低端上升到最高端之后,国歌停奏,然后自动下降到总高度的2/3高度处停止;降旗时,国歌停奏,按下降键,国旗先从2/3高度处上升到最高端,再自动从最高端下降到底之后自动停止。(6)、不论旗帜是处于什么位置,关断电源之后重新合上电源,旗帜所在的高度数据显示不变,并且恢复断电之前的动作继续运行。(7)、要求升降旗的速度可调整,旗杆高度不变的情况下,升降旗时间的调整范围是30120秒钟,步进1秒,调整速度后升旗状态国歌

4、停奏。2方案设计2.1设计思路本设计实现无线遥控控制红旗升降,主要是通过无线红外与单片机的通信和单片机对步进电机精确的控制。完成各种逻辑状态的判断,这是本设计的重点所在。2.2方案比较与选择通过以上的分析我们拟定以下方案:方案一:运用无线发射模块,实现单片机与单片机的通信,然后通过被控单片机控制步进电机的动作和语音模块,以及12864液晶屏的显示。最终实现单片机准确控制红旗的升降。图1:无线模块方案二:运用红外对管实现主单片机与从单片机的无线通信,进而控制步进电机和其他的一些外围电路。图2:串口通信方案三:运用红外遥控器通过解码来直接控制单片机,然后单片机再对下面的各个模块进行相应的控制。图3

5、:红外遥控方案一中无线发射模块价格很贵,并且实现起来较为复杂,增加系统的设计难度。方案二中的红外对管,由于受到发光管的发送功率限制,只能实现短距离的无线通信,并且以上两者是单片机与单片机之间的通信,操作起来较为复杂。在方案三中使用普通的万能遥控器,通过解码电路实现对单片机的控制,实现起来较为简单。所以通过比较选择方案三来实现本系统。2.3硬件模块设计2.3.1语音电路语音电路采用的是华邦公司的语音芯片ISD1700,该芯片内部包含有自动增益控制,麦克风前置扩大器,扬声器驱动线路,振荡器与内存等全方位整合系统功能。ISD1700的独立按键工作模式录放电路很简单,不仅有录,放功能,还有快进,擦除,

6、音量控制,直放录音和复位等功能。在按键模式工作时,芯片可以通过/LED管脚给出信号开提示芯片的工作状态,并且伴随提示音,用户也可自定义4种提示音效。录音操作:按下REC,/REC管脚点评变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完的那段语音地址。放音操作:放音操作有两种模式,分别是边沿触发和电平触发,都由/PLAY管脚触发。本电路采用的是边沿触发。擦除操作:擦除操作有单个擦出和全体擦出,这本电路录音好后就限制使用该项操作。防止擦出芯片内部的语音片段。在下图语音电路中R24的大小决定着语音芯片内部存储语音的大小。语

7、音电路录好音接入本系统,在PLAY下降沿到来时,开始放音。当再次下降沿到来时停止放音。在本系统中43秒的国歌通过录音电路已经录入芯片内部。图4:ISD17602.3.2 EEPROM-24C02存储电路在本系统中,其中的要求:不论旗帜是处于什么位置,关断电源之后重新合上电源,旗帜所在的高度数据显示不变,并且恢复断电之前的动作继续运行。这就要求在断电之前把单片机的一些状态值和参数保存起来,在上电时把各个状态参数读出来,恢复到掉电之前的状态。其中24C02是IIC总线器件,内存是2k,完全可以完成掉电存储的功能。SDA为串行数据,SCL为串行时钟,WP为写保护。A0,A1,A2用于器件地址选择。只

8、有一个24C02被总线寻址时,A0,A1,A2接高电平或者悬空。IIC总线协议定义如下: (1) 只有在总线空闲时才允许启动数据传送 。(2) 在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态 不允许有跳变时,钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号 。起始信号: 时钟线保持高电平期间,数据线电平从高到低的跳变作为IIC 总线的起始信号。停止信号: 时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C 总线的停止信号 。 图5 总线时序图6 写周期时序图图7 起始/停止时序本系统的存储电路:图8:24C022.3.3红外-发射接收电路红外发射采用的是普通

9、遥控器,通过遥控器发出来的一系列脉冲,每一个信号由前导码,地址码,数据码组成。前导码表示开始发送数据,地址码用于识别。数据码表示遥控器按键的全部信息。图9:红外波码从上图可以看出,红外发射出的码通过38K载波,一体化接收头信号端输出的码同伙内部电路解调并调整,输出的是数据波形。利用这种性能可以做红外遥控解码。图10:红外发射接收电路2.3.4 驱动电路驱动电路采用的是LM297,LM298来驱动步进电机。电路图如下:图11:驱动电路2.3.5 电源模块本系统步进电机采用12V开关电源供电,单片机、液晶屏,语音电路的5V电源由12V电源通过三端稳压芯片2940得到。100uf电解电容、0.01u

10、f瓷片电容起滤除纹波作用.图12:电源电路2.3.6 显示模块方案一:采用LED数码管显示,由于要求显示设定值和测量值,需要显示的值比较多,采用LED数码管需要用动态扫描,占用资源比较多。整个显示界面不太友好。方案二:采用LCD液晶显示器显示,采用128*64点阵LCD液晶显示,可视面积大,画面效果好,抗干扰能力强,调用方便简单,而且可以节省了软件中断资源。其缺点在于显示内容需要存储字模信息,需要一定存储空间。由于作为控制器的单片机SPCE061A有32K字的Flash,有足够的存储空间,存储字模数据绰绰有余。 鉴于上面分析,本设计采用方案二。2.4 系统软件设计软件方框图如下:图13:软件流

11、程图3设计实现1、 无线遥控器控制单片机红外遥控器主要是发射红外波码,而红外波码是一系列的脉冲组合,触发单片机的外部中断口,单片机接收到红外波码后,通过定时器记录红外波码的电平宽度对其进行分辨,本次设计采用的是8位红外解码程序,所以单片机总共可以解出255个编码,对于本次控制来说绰绰有余,对于不同的红外编码,单片机记录其码值后进行相应的散转控制,从而达到红外遥控器作为控制工具的自动化系统。2、单片机对步进电机的控制本次步进电机驱动采用是常用的L297,L298组合电路,此种电路非常实用和简单,给驱动电路供电后,只需接单片机两个控制端口就可电机实行控制,两个端口分别是CW、CLOCK,CW主要是

12、控制电机转向,而CLOCK主要是给电机脉冲,控制电机运行,对于不同频率的脉冲,电机的转速是不同的,所以本次设计中,开启的单片机的定时器0,用于给电机脉冲,实现对脉冲频率的可调。4 系统测试4.1测试条件和测试仪器设备序号名称、型号、规格数量备注1直尺1无2秒表1无4.2测试结果(1)、按下上升按键后,国旗匀速上升,同时流畅地演奏国歌;上升到最高端时自动停止上升,国歌演奏停止;按下下降按键后,国旗匀速下降,降旗的时间不放国歌,下降到最低端时自动停止。(2)、升降国旗的时间均为43秒钟,与国歌的演奏时间相等,同时,旗从旗杆的最下端上升到顶端。降旗不演奏国歌,同时,旗从旗杆的最上端下降到底端。(3)

13、、旗帜升旗高度可以自己设定,能在指定的位置上自动停止,此种工作方式下不放国歌。(4)、半旗状态,升旗时,按上升键,奏国歌,国旗从最低端上升到最高端之后,国歌停奏,然后自动下降到总高度的2/3高度处停止;降旗时,国歌停奏,按下降键,国旗先从2/3高度处上升到最高端,再自动从最高端下降到底之后自动停止。(5)、不论旗帜是处于什么位置,关断电源之后重新合上电源,旗帜所在的高度数据显示不变,并且恢复断电之前的动作继续运行。(6)、升降旗的速度可调整,旗杆高度不变的情况下,升降旗时间的调整范围是30120秒钟,步进1秒,调整速度后升旗状态国歌停奏。5 结论经过四天三夜的努力,我们成功的设计并制作完成了无

14、线遥控升降旗系统。综合测试证明,本系统能完成赛题要求的所有任务。并且我们对无线遥控进行了扩展。通过红外对管实现单片机与单片机单向通信实现了无线的控制,但是由于红外发光管的发射功率的限制,只能完成短距离的无线控制。利用激光对管可以提高无线的控制距离。通过参加此次合肥学院电子设计竞赛,我们学到了很多知识,明白了团队合作的重要性。更重要的是,本次参赛经历让我们明白了基础理论知识的重要性,这为我们今后的努力指明了方向。参考文献1张毅刚,彭喜元.单片机原理与应用设计.北京:电子工业出版社,2008年.2谢自美.电子线路设计-实验测试武汉:华中科技大学出版社,2008年.3彭伟,单片机C语言程序设计实训1

15、00例基于8051+Protues仿真.北京:电子工业出版社,2009年.4赵亮,侯国锐.单片机C语言编程与实例.北京:人民邮电出版社,2004年.5黄智伟,王彦.全国大学生电子设计竞赛训练教程北京:电子工业出版社,2005年.附录1:单片机最小系统原理图附录2:液晶屏显示 附录3:实物总体图附录4:系统部分主程序清单无线红外遥控程序#include #include #include 24c02.c#include 12864.c#include Hongwai.csbit KeyUp=P13; /顶端标志sbit KeyDown=P14;/底端标志sbit Song=P15;/ 音乐播放

16、sbit Clock=P16;/电机脉冲sbit Cw=P17;/Cw=1升旗 Cw=0降旗sbit Key=P22;/模式切换sbit Led=P23;/指示灯显示sbit Motor=P24;sbit light=P27;float Height;/实际高度unsigned char Setheignt,Step=1,Second,b;bit Halfadd,HalfSub;/Halfadd是上升过程显示Height加减状态 HalfSub是下降过程显示Height加减状态bit Halfflag=0;/半旗标志unsigned char UpDowanFlag=0;/上下标志unsign

17、ed char HalfUpDowanFlag=0;/ 半旗状态上下标志bit HalfSignalFlag;bit HalfDown;/半旗状态下用来判断遇到顶部开关时上升还是下降bit Up,Down;/用来判断上升到顶部或者底部 无法再上升或下降bit ConfigFlag; unsigned int Configsignal,Signal,HalfSignal,a;/设置脉冲与实际脉冲bit Heigntconfig;/手动上下标志bit SpeedFlag;bit TimeFlag; /设置时间标志unsigned char Numrow5;unsigned char tr0,cw;

18、unsigned char StepTime=43;/步进时间unsigned Dingshi=38;void main() Lcd_Init(); Ir_Init(); n=0; flag=0; RdFromROM(Numrow,10,5); /读ROM里的数据 Height=Numrow0*100+Numrow1*10+Numrow2; tr0=Numrow3; cw=Numrow4; TR0=tr0; Cw=cw; /ConfigFlag=Numrow5; /Signal=Numrow6; /Configsignal=Numrow7; Lcd_DisplayString(0,0,欢迎进入

19、无线); Delay(50000); Lcd_DisplayString(2,1,遥控升降旗系统); Delay(50000);Delay(50000);Delay(50000);Delay(50000); Lcd_Clear(0);Delay(5000);Lcd_Clear(1);Delay(5000);Lcd_Clear(2);Delay(5000);Lcd_Clear(3); Lcd_DisplayString(0,2,一般模式); Delay(40000); Lcd_DisplayString(1,0,请选择控制方式); Delay(40000); Lcd_DisplayString(

20、2,0,1:自动); Lcd_DisplayString(2,4,2:手动); Lcd_DisplayString(3,0,历史高度:); Lcd_DisplayOneChar(3,5,(int)Height/100+0x30); Lcd_DisplayOneChar(3,6,(int)Height%100/10+0x30); Lcd_DisplayOneChar(3,7,(int)Height%10+0x30); while(1) if(irok) switch(Im2) /按键功能显示 case 01:TimeFlag=0; Lcd_Clear(0);Delay(5000);Lcd_Cle

21、ar(1);Delay(5000);Lcd_Clear(2);Delay(5000);Lcd_Clear(3); Lcd_DisplayString(0,0,3:上升); /自动模式 Lcd_DisplayString(0,4,4:下降); Lcd_DisplayString(1,0,当前高度:); Lcd_DisplayString(2,0,时间:); Lcd_DisplayString(2,5,S); break; case 02:TimeFlag=0; Lcd_Clear(0);Delay(5000);Lcd_Clear(1);Delay(5000);Lcd_Clear(2);Delay

22、(5000);Lcd_Clear(3); Lcd_DisplayString(0,0,请设置升降高度); /手动模式 Lcd_DisplayString(1,6,CM); Lcd_DisplayString(2,0,步进:); Setheignt=0;Step=0; break; case 03:Height=0;Second=0;UpDowanFlag=1;/一般模式 上升 Song=1;Delay(10000);Song=0;Delay(10000);Song=1; Cw=1;TR0=1; Lcd_Clear(3); if(Up=1)TR0=0;Lcd_DisplayString(3,0,

23、已上升到顶部.); Delay(10000); Lcd_DisplayOneChar(1,5,(int)Height/100+0x30); Lcd_DisplayOneChar(1,6,(int)Height%100/10+0x30); Lcd_DisplayOneChar(1,7,(int)Height%10+0x30); Lcd_DisplayOneChar(2,3,Second/10+0x30); Lcd_DisplayOneChar(2,4,Second%10+0x30); break; case 04:Height=180;Second=43;UpDowanFlag=2; / 一般模

24、式 下降 Cw=0;TR0=1; Lcd_Clear(3); if(Down=1)TR0=0;Lcd_DisplayString(3,0,已下降到底部.); Delay(10000); Lcd_DisplayOneChar(1,5,(int)Height/100+0x30); Lcd_DisplayOneChar(1,6,(int)Height%100/10+0x30); Lcd_DisplayOneChar(1,7,(int)Height%10+0x30); Lcd_DisplayOneChar(2,3,Second/10+0x30); Lcd_DisplayOneChar(2,4,Seco

25、nd%10+0x30); break; case 05:Height=0;Second=0;HalfUpDowanFlag=1;/半旗状态上升 Song=1;Delay(10000);Song=0;Delay(10000);Song=1; Cw=1;TR0=1;Delay(10000); Halfadd=0;HalfDown=0; Lcd_DisplayOneChar(2,5,(int)Height/100+0x30); Lcd_DisplayOneChar(2,6,(int)Height%100/10+0x30); Lcd_DisplayOneChar(2,7,(int)Height%10+0x30); Lcd_DisplayOneChar(3,3,Second/10+0x30); Lcd_DisplayOneChar(3,4,Second%10+0x30);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2