基于单片机的无线匿名投票装置设计
2017-11-21
中国石油大学(华东)理学院,山东青岛 266580
一、前言
投票表决是人类社会中的一项重要社会活动。无论是在民主选举、电视选秀节目还是在数字教学、民意调查中,都需要参与者进行投票表决[1]。大部分投票制度以少数服从多数的理念为基础,通常是某一方案若获逾半数选民支持则会通过。
为满足投票规则,实现民主投票,现如今绝大多数投票都实行纸质投票,然而这样投票,效率低下,浪费大量时间、资源,效果很不理想,因此,需要一套能够重复利用、无污染、便捷高效的投票装置,一些基于 Wi-Fi、蓝牙等无线技术的无线投票表决系统[2-3]陆续开发出来。
本文设计了一套基于单片机的小型的匿名无线投票装置,适于在小型团体组织中,就某一问题的正反两方观点实行表决。在投票过程中实行少数服从多数原则,最终实现民主决议。系统有助于在不改变投票规则的前提下,更加便捷的实现民主投票。
二、系统总体设计方案
针对某一问题的正反两方观点,投票者在投票区域分别单独行使投票权,经单片机汇总控制,在另一端以LED亮暗分别代替双方观点的形式实现结果输出。
多位投票人分别按下投票开关,单片机M1接收信号,记录同意和不同意票数,然后通过无线发送模块发送数据,由无线接收模块接收数据,进而输入到单片机M2当中,由单片机M2控制LED随机亮起。采用单片机控制,无需人为干预,具有操作性强、稳定性好、保密性突出等优点。
三、系统硬件电路设计
1、投票模块
投票模块是网络开发中最常用的功能模块之一,通常用于调查公众对新闻事件的意见。根据问题类型的不同,投票会出现多选和单选两种方式,本文介绍的是单选的方式[4]。
投票模块由若干共阴极开关(本系统针对小型团体组织,目前以8人投票为上限)和若干与之对应的上拉电阻构成。开关的开闭代表投票人的同意与不同意。如图2所示,单片机的P1.0~P1.7分别接开关1~8,使用起来方便简单,可以实时的接收存储数据,此装置具有体积小,灵敏度高,价格低廉,便于操作等优点。
2、无线发送接收模块
HC-12无线串口通信模块是多通道嵌入式无线数据传输模块[5]。无线工作频率为433.4~473.0MHz,可设置多个频道,步进是400kHz,总共100个。模块最大发射功率为100mW(20dBm), 5000bps空中波特率下接受灵敏度-116dBm,开阔地1000m的通信距离。
无线接收与发送模块均由HC-12构成,如图3所示。HC-12模块用于代替半双工通信时的物理连线。AT89C51-M1向HC-12-A模块发送串口数据,HC-12-A的RXD端口收到串口数据后,自动将数据以无线电波的方式发送到空中,HC-12-B模块能自动接收到,并从TXD还原出AT89C51-M1所发的串口数据,发送给AT89C51-M2。
3、控制芯片AT89C51
由美国ATMEL公司生产的AT89C51单片机作为控制模块,该单片机是一种自带4K字节FLASH存储器的低电压、高性能COMS 8位微处理器,采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[6]。由于将多功能8位CPU和闪速存储器组合在单个芯片中,其工作效率非常高,并且可实现反复擦除1000次。它的工作电压范围为直流4.5~5.5V,全静态操作0~24MHz,通过RST实现重启和复位[6]。
4、显示模块
由若干与之前开关同等数量的LED和对应电阻构成,每个灯的亮灭受单片机控制,如图4所示,单片机M2的P1.0~7分别连接8个共阳极LED灯,当n个投票人投下赞成票,单片机通过软件设计随机选择n个灯亮起。
四、系统软件设计
1、系统主程序流程
系统主程序流程图如图5所示。
(4)在学习过程中培养学生能力。通过探究性学习,中职生的思维探究能力、语言表达能力、自主学习能力、小组合作能力、计算机应用能力得到锻炼和培养。
2、计票发送程序设计
首先,对定时计时器控制计数器进行初始化,选择方式1,对定时器T1的高八位和低八位附初值。以此来产生所需要的时序。然后对串行口控制寄存器与方式寄存器附初值,并对P1口置1,进行写入。我们设立了一个接受标志位,进行前后的比较输入。
部分程序设计如下:
3、接收控制程序设计
在接受端机设置与发射端机相同的时序,并进行接收,使得相应LED指示灯闪烁三次后常亮,进行显示,以达到匿名投票的目的。
部分程序设计如下
2.5.2 感官质量 从表 7 看出,不同处理烤后烟叶感官评吸综合得分较为接近,为74.5~75.6分。其中, 以T2得分最高,为75.6分;T4其次,为74.7分;T1和T3得分最低,均为74.5分;CK得分为74.6。烤后烟叶不同处理各评价指标间香气质、香气量、杂气、刺激性和余味等方面存在一定的差异,但差异均不大;劲头、燃烧性、浓度和灰色等方面无明显差异;各处理烟叶质量档次均在“中等+”范围内。
五、系统仿真
利用Proteus软件验证电路设计的正确性。
如图6所示,模拟投票过程时,开关DSW1的开断控制单片机M1P1.0~P1.7的电位高低。开关关闭时,其所对应的管脚电位为高。开关打开,电路导通,则其对应的管脚电位变低,计票一次,相应地,单片机M2会控制LED随机亮起一盏。
以上仿真结果表明,无线匿名投票装置设计正确,且达到预期要求。
六、结论及意义
本文所述是针对现阶段投票方式非常浪费资源问题的一种尝试。该装置是由开关、无线接收和发送模块以及单片机构成的智能投票装置。该装置所采用的无线传输方式成熟稳定,可靠性高,检测灵敏,系统整体高度智能化,能够真正实现有效的无线匿名投票。若其广泛使用,将大量节约资源,提高效率,起到非常积极作用。