基于51单片机的三人表决器设计课程设计论文 下载本文

1. 绪论

电子表决系统是专门针对人大、政协、政府、企事业单位各类议案表决、民主评议、人事选举、测评打分、现场互动等需求而研制发布,系统采用无线通信技术,功能齐全,安全可靠,保密性强,操作简单,具有硬件设计高度可靠、按键投票保密性强、用户操作直观明了、产品功能多种多样等优点。

电子表决方式解决了以往举手表决所带来的弊端,使参会人员的意愿更加真实独立,即是对参会人员职权的尊重,又是对民主和法制的尊重。同时,电子表决结果自动生成,节省了会议时间和人力,提高了会议效率。与有线表决相比,无线电子表决系统在可靠性、安全性、以及易用性上更有优势,而且大幅度降低了会议成本,适合普及推广。

投票选择

若有选择问题的会议,某一问题有多个选项供大家选择,与会人员可按手持表决器的数字“1”至“9”,选择所支持的选项。与会人员选择后,计算机可统计出各选项的得票数及百分数。 数字评分

用于人员工作成绩评定、投标评表、项目最终成果评定、干部考核评定选拔、招聘人员评定、知识竞赛等。利用题库功能,根据具体要求首先输入相应需评定内容,然后与会人员对评定内容,进行打分评定。对评分结果有多种计算方式,客户可设定,例如:是否去掉最高分、最低分等。 民主评议

对工作人员的表现划分为:“优秀”,“好”,“一般”,“差”,“很差”,利用题库功能,首先输入评定内容,可对某人的多项表现分别进行评定,无线手持表决器有对应“优秀”,“好”,“一般”,“差”,“很差”,按键。

本方案采用单片机设计一个三人表决器,具体要求满足以下条件: 1. 要求采用51单片机作为微控制器; 2. 通过一个1602 LCD显示屏进行文字显示;

3. 支持两键常规表决方式:“赞成”、“反对”。

2.系统硬件电路的设计

硬件电路大致上可以分成单片机系统及外围电路、显示模块电路、系统控制电路三部分。

2.1单片机系统及外围电路

单片机采用MSC-51或其兼容系列芯片,采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显示更稳定。单片机的串口与列驱动器相连,用来显示数据。P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。

图2-1 AT89C51单片机最小系统

AT89C51单片机管脚说明如下:

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当

P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接

收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,

输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL

门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电

平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址

的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的

是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个

机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器

(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

2.2 1602字符液晶

1602是字符型液晶,它是16*2的显示的。工业字符型液晶,能够同时显示16x02即32个字符。通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。

图2-1是1602的16进制ASCII码表。