×
单片机 > 单片机程序设计 > 详情

51单片机在表决系统中的应用

发布时间:2020-06-24 发布时间:
|

0 引言
    随着我国社会主义民主的提高,表决器作为一种公正,迅速准确的表决工具,应用日益广泛。通过表决器,与会代表只需根据会议议程轻按表决器按钮,即可轻松地完成从签到到各类议案的电子表决工作。在不记名模式下,系统特有的保密功能使得代表按键能最大限度地反映其真实意愿,而不用担心被人窥视或记录追查。表决结果可自动统计产生,并根据会议要求以图文或报表方式来显示和打印。

1 设计方案
    系统包括PC机:用于文件的编辑储存、打印、显示表决结果。大屏监视器显示表决结果及其它文件。表决采集网络:采集各代表的表决结果并做处理。经对系统功能要求的分析,认为单片机80C51最为适合多点分散,每单点功能相对简单的系统。从而组成主-从型“单片机网”。表决系统见图1。

2 硬件设计
    单片机表决系统以一片主80C51及若干片从80C51组网,采用串行通讯方式。并由主80C51为PC机上报表决结果。
2.1 分机硬件
    如图2终端(分机)设计为单人单机模式。系统为每位表决人各配一台分机,上限为255台。分机选用80C51为核心,利用单片机自有资源,通过锁存器373扩展外部程序存贮器。根据现有程序量,选用EPROM 27C64,作为程序存储器。80C51内置128B RAM能够满足数据处理要求,省去了外部扩展RAM而使分机简洁可靠。分机801251的P0口,P2口用于外部扩展EPROM的地址、数据线。键盘占用P1口的P1.0、P1.1、P1,2、P1.3、P1.4。对应“报到”、“同意”、“反对”、“弃权”及“发言”五个功能按键。P3口的P3.2、P3.3、P3.4、P3.5、P3.6、驱动LED发光分别显示“报到”、“同意”、“反对”、“弃权”、“发言”的状态。以便表决人确认。当本机发言请求被允许时P3.7高有效,接通麦克风。[page]


    输入输出部分:P3口中的P3.0、P3.1分别为第二功能的串行口接受(RXD)、发送(TXD)端,对应连接RS232集成电路MC1488、MC1489做串行通讯用。
    全网络采用±10 V两路供电,以满足RS232工作需求。80C51及其辅助电路的+5 V电源由+10 V经7805稳压获得,以减少电源品种。以上方案为典型的单片机最小系统,充分发挥了单片机的性能。
2.2 主单片机硬件
    主单片机任务之一是与各分机联系并采集分机表决结果,统计汇总,经串行口送PC机显示、打印。任务之二用于查询及仲裁各分机的讲话请求。按讲话的优先级发出“通”、“断”串行指令,解决发言竞争问题。与分机相似,主单片机硬件较为简单,P3.0、P3.1做为串行发送、接收口。其它分机及PC机都作为其从机。联为主-从网络。

3 软件设计
3.1 分机主程序及中断服务程序(见图3)


    分机主程序初始化串行口为模式3,SM2=1,允许接收,波特率1.2 kHz。循环查询P1.0~P1.4按键状态,当某键按下后先延时12ms去除抖动及干扰,再检查按键,确认后进入相应按键处理程序。将其特征值记入内部RAM,再由P3口驱动对应的LED发光以便操作者确认。

[page]

    为防止表决结果各项票数总合超出报到人数,程序规定:如未按报到键其它键操作无效。即表决前先行报到。程序设定若“发言”键按下(机械自锁)分机上报主机,经主机查询无“正在”发言状态的分机,则回复分机允许发言。分机收到命令后置P3.7高有效接通麦克风。
    分机中断服务程序:当主机经串口发出一地址帧后,各分机进入中断服务程序,首先判断是否为本机地址,不是则返回主程序。是则继续接收命令帧(数据帧)。针对命令做如下回应:分机报到、表决结果特征值;有无讲话请求,开或关麦克风。返回主程序。另外子程序中还针对错误信号做了相应对策,以提高抗干扰能力。
3.2 主机程序(见图4)


    系统加电复位后,先执行串口初始化程序,按编号顺序查询分机,并接收分机状态字,放入内存。分机访问完后,对结果分类、统计,并转换为ASCII码。按报到、同意、反对、弃权、未按键的顺序发给PC机,PC机以中断响应方式接收数据。
    系统讲话控制策略:分两级“主持”,“成员”。如果“成员”正在发言,“主持”可以中断“成员”发言。同级中先请求发言者优先。
    为防止系统启动加电后,分机没完成复位,主机先行查询致使通讯失败。主机在上电复位后软件程序延时20 ms以确保分机进入工作状态后,主机再访问。
3.3 串行通讯的约定
    所有分机的SM2(SCON5)位置1,使它们置于接收地址帧状态;主机发送一帧地址信息,包含8位地址,第9位置1表示发送的是地址;分机接收到地址帧,各自中断响应,比较收到地址是否是本机。被寻址的分机清除SM2,以接收主机发来的后续命令。未被寻址的分机仍保持SM2= 1,直至收到新的地址帧。主机发送命令帧0AAH(第9位为0)给被寻址的分机。分机接收到命令帧,判是否为0AAH?是发分机结果及讲话请求状态,否调用调麦克风控制程序。分机地址编号可从0至FEH,本例为0到15H。共21位表决人。指定PC机地址为FFH。

4 结论
    本系统采用成熟可靠的软硬件技术方案。经实际工作表明操作简单,抗电磁干扰能力强。统计结果准确可靠。显示、打印快捷迅速。是各种国家机器及社会团体,企事业单位行使民主权利的必备工具。

 

 

关键字:表决器  80C51  串行通讯 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析