韩鸿雨 章洪博 刘振安 王晓燕
引言
传统的国旗升降存在国歌的播放与国旗上升步调不一致,易受环境因素影响等弊端。为了消除国旗升降中的众多问题提高升旗质量和效率,如何实现国旗升降完全自动化已日益迫切。
本设计以弘扬爱国精神为初衷,围绕五星红旗功能进行展开,解决了即使在人力所不能及的地方,五星红旗也能飘荡在蔚蓝的天空的问题,为祖国70周年献礼。该项目是基于51单片机设计的国旗升降系统,单片机与蓝牙模块和电机驱动模块连接,用手机app通过蓝牙连接单片机的蓝牙模块,向单片机发送数据来控制电机驱动模块,从而达成升降国旗的目的。
1. 国旗自动升降装置基本功能
该系统能够自动控制升旗和降旗,升旗时,在旗杆的最高端自动停止;
国旗的升降用的是精确控制的步进电机,拥有蓝牙控制和语音播放的功能,可以自由的控制国旗的升降,以及自由选择并显示国旗的上升(或者下降)的高度以及时间,国歌转换为数字量预先存入单片机,具有蓝牙遥控升、降旗及停止功能。
半旗状态(根据《国旗法》)。升旗时,按上升键,奏国歌,国旗从最低端上升到最高端之后,国歌停奏,然后自动下降到总高度的2/3高度处停止;降旗时,按下降键,国旗先从2/3高度处上升到最高端,再自动从最高端下降到底之后自动停止,国歌停奏。升降旗的时间均为43秒钟,与国歌的演奏时间相等,同时,旗从旗杆的最下端上升到顶端。降旗不演奏国歌,同时,旗从旗杆的最上端下降到底端。
不论旗帜是在顶端还是在底端,关断电源之后重新合上电源,旗帜所在的高度数据显示不变。
2. 本设计的系统主要由单片机STC89C52作为升降旗系统的控制核心,实现键盘控制、液晶显示、语音以及蓝牙控制等几个部分,即该系统主要包括电机驱动模块、LED指示灯、键盘与显示模块、语音模块及蓝牙模块等几个部分。本问设计的系统的控制器采用STC公司的STC89C52,因为考虑到编写的繁简程度,所以在此使用C语言进行软件编写,这样可以大大提高程序编写时的效率。
3. 基本模块的选择
(1) 单片机模块:STC89C52单片机,有40个引脚,4个 8位并行I/O口,1个全双工异步串行口,同时内含5 个中断源,2个优先级,2个 16位定时/ 计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和 128B的数据存储器(RAM)组成。
(2) 電机驱动模块:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003采用DIP—16或SOP—16塑料封装。
(3) 升降旗按键与指示灯电路设计:在本设计中使用了2 个按键分别控制国旗的升降,相对应有两个升降旗的指示灯。当按下升旗按键时,红色LED灯亮,当按下降旗按键时,绿色LED指示灯亮。
(4) 显示模块:液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各种小系统中得到了更广泛的应用。本设计中使用的液晶显示模块是LCD1602。LCD1602是一种用5x7点阵图形来显示字符的液晶显示器模块,它显示的容量为2 行16字。
(5) 语音模块电路设计:因为本设计要求演奏国歌,其时间为43秒钟,所以选用的语音芯片其录放时间应大于43秒钟,即在此选用语音芯片ISD400408,其录放时间为60秒,完全符合本设计的要求,我们把国歌音乐录制在ISD400408语音芯片中,然后用它的单次播放功能播放国歌。
(6) 蓝牙模块:BT06蓝牙模块是专为智能无线数据传输而打造,遵循V3.0蓝牙规范。
本模块支持UART接口,并支持SPP蓝牙串口协议,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能。
4. 系统软件设计
单片机系统是整个自动控制升降旗系统的核心部分,它主要用于键盘按键、步进电机控制国旗的升降以及与国歌的同步、升降旗时间调整等。主要包括STC89C52单片机、步进电机、步进电机驱动器、液晶显示芯片LCD1602与集成语音芯片、HC-06蓝牙芯片等器件组成。软件编程在Keil uVision4环境下,采用C语言进行编写。
软件主要包括:系统主程序、降旗子程序、升旗子程序。开始启动主程序,当按下按键后,对升旗或者降旗指令做出电机旋转方向会做出相应的反应,语言芯片选择是否播放,LCD实时显示国旗的高度。
总结
在本次设计中,以STC89C52为控制核心,设计并制作了一套国旗升降装置,实现了国旗升降的自动化,有效减小了人工升旗时出现故障或者误操作等尴尬局面的产生。该装置通过按键控制国旗的升降,升旗的同时伴随国歌演奏,实现了对升旗与国歌同步的精准控制,避免了人工升旗时与国歌不同步的难题,在升降国旗时分别对应不同的指示灯,同时还能在LCD显示屏上显示国旗升的实时高度。应用蓝牙技术,可通过手机app对系统进行操作。该装置具有体积小、维护方便、控制精准、成本低等优点。
参考文献:
[1] 张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:高等教育出版社,2013.
[2] 吴金戌.8051单片机实践与应用[M].北京:清华大学出版社.2002.
[3] 张立科.单片机典型模块设计实例导航[M].北京:人民邮电出版社.2004.
[4] 李光飞.单片机C程序设计实例指导[M].北京:航空航天大学出版社.2005.
[5] 侯振鹏.嵌入式C语言程序设计[M].北京:人民邮电出版社.2006.
[6] 戴佳.51单片机C 语言应用程序设计[M].北京:电子工业出版社.2006.
[7] 余永权.单片机在控制系统中的应用[M].北京:电子工业出版社.2004.
[8] 王松武.电子创新设计与实践[M].北京国:防工业出版社.2005.
[9] 李银华.电子线路设计指导[M].北京:航空航天大学出版社.2005.
[10] 楼然苗.51系列单片机设计实例[M].北京:航空航天大学出版社,2005.
[11] 吴兴波,刘长升等.基于MSP430F449升降旗系统的设计[J].吉林化工学院学报,2011,28(3):62-66.
[12] 刘守义.单片机应用技术[M].西安电子科技大学出版社.2003.
[13] Samsung Electronics.Users Manual S3C2410X32-Bit RISC Micro-processor[Z].2003.372-413.
[14] 赵芝龄,刘涛,陆军等.自动控制升降旗系统[J].硅谷,2009(14):17-18.
基金项目:西北民族大学电气工程学院“双E”大学生科研创新项目,项目编号:20191912