投票器设计报告

合集下载

三人表决器报告

三人表决器报告

三人表决器报告1. 摘要本文档是对三人表决器的详细报告,包括设计原理、功能特点以及使用场景等方面的介绍。

三人表决器是一种基于多人决策的工具,通过对多个人的表决结果进行统计和分析,以实现决策的公平和有效。

2. 引言在现实生活中,决策常常需要多个人共同参与。

然而,在多人参与的决策过程中,可能会出现意见不统一、讨论难以达成共识的情况。

三人表决器的出现能够帮助解决这类问题。

三人表决器是一种简单而又有效的工具,可以帮助多个人快速完成决策过程,并保证最终结果的公平和合理性。

3. 设计原理三人表决器的设计基于以下原理:3.1. 多数决原则三人表决器采用的是多数决原则。

也就是说,在决策过程中,只有获得多数人的支持才能最终采取行动。

这样做的好处是能够避免因为个别人的意见而导致决策失去公正性和有效性。

3.2. 匿名投票为了保证每个人能够真实地表达自己的意见,三人表决器采用匿名投票的方式,即投票参与者的身份不会被泄露。

这种设计可以有效地防止潜在的压力或影响对投票结果的干扰。

4. 功能特点三人表决器具有以下功能特点:4.1. 快速决策三人表决器的设计目标之一是能够快速进行决策。

参与者只需在规定的时间内投票,即可得出最终结果,避免无限的讨论和拖延。

4.2. 可视化结果三人表决器可以通过可视化方式展示投票结果。

这样可以让参与者直观地了解整体的投票情况,有助于各方更好地理解和接受最终结果。

4.3. 定制化选项三人表决器支持定制化选项,即参与者可以根据需要设定不同的选项。

这样能够更好地适应不同场景下的决策需求。

5. 使用场景三人表决器适用于以下场景:5.1. 团队决策在团队中,常常需要进行一些重要的决策,如项目方向、资源分配等。

使用三人表决器可以帮助团队成员快速达成共识,减少决策时间。

5.2. 会议投票在会议期间,可能会出现一些需要快速决策的问题,如提案通过与否、预算审批等。

通过使用三人表决器,可以高效地完成这些决策过程。

5.3. 民主决策在一些组织或社区中,民主决策是一种重要的决策方式。

七人表决器设计设计报告

七人表决器设计设计报告

七人表决器设计一.设计要求1. 能够完成七人表决的功能,并且直观的显示结果:决议通过显示字母P,否则显示字母E;2.能够选择显示表决双方的人数,有控制开关与显示指示灯,并且能够实时的显示反对与赞成的人数;3.能够选择是否记名,并有指示灯显示。

当选择记名时,与表决参与者相对应的指示灯亮起;4.不设置弃权的状况,超过三人同意则表示决议通过。

二.设计思路1.使用Altera的Cyclone II器件,FPGA型号为EP2C35F672C6N;开发平台为Quartus II 8.02.使用6个拨动开关用以进行表决,开关闭合时表示同意,断开时表示不同意;3.使用6个LED用以显示表决的个人结果,用以显示记名时的情况。

LED亮起表示表决人同意,否则表示不同意;4.使用一个七段数码管用以显示表决结果,通过显示P,否则显示E;另外使用两个数码管用以分别显示同意与不同意的人数;5.使用两个拨动开关控制是否记名,是否显示表决的人数结果;6.其他电路按需要搭建。

三.硬件系统组成框图注释:set:选择是否记名set1:选择是否显示投票人数及比例xin[0:6]:表决输入,分别是七个拨动开关sel:输出指示是否记名投票sel1:输出指示是否显示投票人数及比例xout[0:6]:译码用数码管输出表决是否通过xout0[0:6]:译码用数码管输出同意的人数(set1=1)xout1[0:6]:译码用数码管输出不同意同意的人数(set1=1)xout2[0:6]:译码用七个LED输出记名结果设计HDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity biao isport (set, set1: in std_logic ; ----控制按键xin: in std_logic_vector ( 6 downto 0 ); ----按键输入表决sel,sel2: out std_logic; -------控制指示灯xout,xout0,xout1,xout2 : out std_logic_vector ( 6 downto 0 )); ----xout显示结果,xout0显示否决的人数,xout1赞成的人数,xout2 LED输出end entity ;architecture bev of biao isbeginprocess ( xin ,set,set1)variable j: integer :=0;beginj:=0;for i in 0 to 6 loop ------统计同意的个数if xin(i)='1' thenj:=j+1;end if;end loop;if (set='1') then -------是否记名投票sel<='1';xout2<=xin; -------记名投票elsesel<='0';xout2<="0000000";end if;if j>3 then ------判决是否表决通过并输出结果xout<="0001100"; ----数码管显示Pelse xout<="0000110"; -----数码管显示Eend if;if set1='1' then ------是否显示表决比例sel2<='1'; ------显示指示灯亮并且译码输出同意与不同意的数目case j is ------显示赞成的人数when 0 =>xout1<="1000000";when 1 =>xout1<="1111001";when 2 =>xout1<="0100100";when 3 =>xout1<="0110000";when 4 =>xout1<="0011001";when 5 =>xout1<="0010010";when 6 =>xout1<="0000010";when 7 =>xout1<="1111000";when others =>xout1<="XXXXXXX";end case;case j is ------显示不赞成的人数when 7 =>xout0<="1000000";when 6 =>xout0<="1111001";when 5 =>xout0<="0100100";when 4 =>xout0<="0110000";when 3 =>xout0<="0011001";when 2 =>xout0<="0010010";when 1 =>xout0<="0000010";when 0 =>xout0<="1111000";when others =>xout0<="XXXXXXX";end case;else ------不显示表决比例sel2<='0';xout0<="1111111"; ----不显示数字xout1<="1111111";end if;end process;end architecture bev;四.DE2平台仿真1.在Quartus中打开已经建好的工程文件;2.按要求选择设备并且分配管脚,重新编译,连接实验板的电源线与下载线,下载程序文件3.分别拨动开关sw0到sw6,看是否能够满足基本要求;在分别拨动sw16,sw17,看是否能够按要求显示表决人数结果与对应的LED灯是否正常亮与灭。

学生电子投票平台方案报告

学生电子投票平台方案报告

天津职业技术师范大学TianjinUniversity of Technology and Education《面向对象程序设计》课程设计报告学生电子投票平台设计专业:计算机科学与技术班级学号:计科0814-32学生姓名:魏花指导教师:刘玲教授二〇一一年六月一、课程设计名称:学生电子投票平台设计二、课程设计概述:1、选题意义:学生电子投票平台设计是通过界面录入候选人的信息<姓名、编号、数学成绩、英语成绩、C++成绩),运行过后能够显示候选人的信息,并且统计总成绩和排名。

接下来进行投票,投票人为候选人投票,显示投票结果,且能在进行增加候选人信息和查询候选人信息及排名情况。

2、设计目的:(1>、运用C++面向对象的知识,解决学生电子投票平台设计。

(2>、利用结构体、类、继承、析构函数、构造函数及对以前积累知识来设计这一学生电子投票系统。

(3>、全面提高学生的程序设计能力和开发能力。

3、设计基本要求(1>、功能齐全:界面操作灵活方便,至少实现以下基本功能:●候选人为5名,投票人数最少为10人;●候选人信息包括:编号、姓名和本学期三门课程的成绩<英语、数学、C++语言);●程序运行时显示简单菜单,菜单内容包括:①录入数据:录入候选人信息;②显示数据:显示候选人信息并统计三门课程总成绩;③投票;④投票结果:显示票数统计结果,并按得票数排序;⑤查询:输入编号查询某候选人信息。

(2>、友好性:界面友好、输入有提示、尽量展示人性化。

(3>、可读性:源程序代码清晰、有层次、主要程序段有注释。

(4>、健壮性:用户输入非法数据时,系统应及时给出警告信息。

4、使用工具软件:Microsoft Visual Studio 10.0三、课程设计内容简介:1、流程图:2、打开Microsoft Visual Studio 10.0 ,新建“工程”,MFC下的“MFC应用程序”,输入名称“vode”,点击”确定“,选择”基于对话框“,点击”确定“。

网上投票系统实验报告

网上投票系统实验报告

《Web程序设计(一)课程设计》实验报告院系名称:专业班级:学生姓名:学号:2012年11 月一、实验目的本实验属于设计性实验,目的是使我们在学完《Web程序设计(一)》课程的基本知识之后,通过使用JSP+JavaBean制作一个简单的在线投票系统,进一步熟悉和领悟JSP、JavaBean和Java语言的语法结构和使用方法,通过实验学习Java Web系统的开发步骤与方法,任务是设计一个简单的线投票系统。

二、实验步骤1、对整个系统进行分析设计,设计整个系统的功能和所应有的页面。

2、对系统进行页面设计。

3、对系统进行功能设计。

4、对系统进行数据库设计和链接。

5、整个系统进行测试和调试。

三、系统设计1、界面设计首页注册页面:错误提示页面投票页面:投票结果页面:系统应该具有注册功能、登录功能、在线投票功能、票数统计功能、投票结果显示功能,其中注册功能应该包含的注册项如表1所示,在线投票功能应该包含的投票项如表2所示。

下图表1下图表23、数据库设计根据上述的功能要求,该系统数据库中包括的数据表有:用户基本信息表(表名:yonghu)、年龄信息表(表名:nianling)、收入信息表(表名:shouru)、文化程度信息表(表名:xueli)、娱乐方式信息表(表名:yule)、体育运动信息表(表名:tiyu)、电影类型信息表(表名:dianying)。

表3用户基本信息表表4年龄信息表表5收入信息表表6文化程度信息表表7娱乐方式信息表表8体育运动信息表表9电影类型信息表四、系统的核心代码1、index.jsp<body bgcolor="FF1493"><div align="center"><p>欢迎进入投票系统</p><hr><table><tr><td>已注册,点击登录按钮登录</td><td>未注册,点击注册按钮注册</td></tr><tr><td width="300px"align="center"><a href="denglu.html">登录</a></td><td width="300px"align="center"><a href="zhuce.html">注册</a></td></tr></table>2.zhuce.html<body bgcolor="FF1493"><div align="center"><p>欢迎用户注册!</p><form action="zhuce.jsp"method="post"><table><tr><td>&nbsp;&nbsp;用户名:</td><td><input type="text"name="username"/></td></tr> <tr><td>&nbsp;&nbsp;密&nbsp;&nbsp;&nbsp;&nbsp;码:</td><td><input type="text"name="password"/></td></tr><tr><td>真实姓名:</td><td><input type="text"name="realname"/></td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;性别:</td><td><inputtype="radio"name="sex"value="男"checked/>男<input type="radio"name="sex"value="女"/>女</td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;省份:</td><td><select name="shengfen"><OPTION value="安徽">安徽</OPTION>-------soso onon----<OPTION value="内蒙古"selected>内蒙古</OPTION><OPTION value="宁夏">宁夏</OPTION>------<OPTION value="西藏">西藏</OPTION><OPTION value="云南">云南</OPTION><OPTION value="浙江">浙江</OPTION>-----</select></td></tr><tr><td align="center"><input type="submit"value="注册"/></td><td align="center"><input type="reset"value="重置"/></td></tr></table></form>3.zhuce.jsp<% request.setCharacterEncoding("UTF-8");String username=request.getParameter("username");String password=request.getParameter("password");String realname=request.getParameter("realname");String sex=request.getParameter("sex");String shenfen=request.getParameter("shengfen");Stringstrsql1="'"+username+"'"+","+"'"+password+"'"+","+"'"+realname+"'"+","+"'"+sex+"'"+", "+"'"+shenfen+"'";String strsql="insert into yonghu(username,password,realname,sex,shengfen)"+"values("+strsql1+")";System.out.println(strsql);Access a=new Access();boolean isnot=a.executeUpdate(strsql);if(isnot==true){ session.setAttribute("username",username);response.sendRedirect("toupiao.jsp");}Else{response.sendRedirect("zhuce.html");}%>4.error.html<body bgcolor="FF1493"><p>您输入的用户名或密码错误</p><p>请重新输入</p><table><tr><td><a href="denglu.html">跳转到登录页面重新登录</a></td></tr></table></body>5.denglu.js p<body bgcolor="FF1493"><jsp:useBean id="user"class="com.mushu.Access.Access"></jsp:useBean><% String username=request.getParameter("username");String password=request.getParameter("password");String iscorrect="select * from yonghu where username="+"'"+username+"'"+" and password="+"'"+password+"'";System.out.println(iscorrect);ResultSet rs=user.execute(iscorrect);if(!rs.next()){ response.sendRedirect("error.html");}Else { session.setAttribute("username", rs.getString("username"));session.setAttribute("password", rs.getString("password"));rs.close();response.sendRedirect("toupiao.jsp");}%></body>6.toupiao.jsp<body bgcolor="FF1493"><% if(session.getAttribute("username")==null){ response.sendRedirect("denglu.html"); }%>尊敬的<%=session.getAttribute("username") %>,欢迎来到投票页面<form action="toupiao1.jsp"method="post"><table width="700"border="0"align="center"cellpadding="0" cellspacing="0"><tbody><tr><td height="45"valign="top"><table width="746"border="0" cellspacing="0"cellpadding="0"><tbody><tr><tbody><tr><td width="177"><div align="center"><div id="ValidationSummary2"style="color:Red;display:none;"></div></div></td><td width="76"><div align="center"></div></td></tr></tbody></table></td></tr></tbody></table><table width="600"align="center"><tbody><tr><td class="style1"><div><table class="GbText"cellspacing="1"cellpadding="3"rules="all" border="1"id="VoteView"style="border-color:SteelBlue;border-width:1px;bo rder-style:None;width:100%;"><tbody><tr class="GbText"style="color:Black;font-size:Large;font-weight:b old;"> <th scope="col">调查问卷</th></tr><tr><td align="left">1、您的年龄是多少?<div id="VoteView_ctl02_ItemPanel"class="GbText" dir="ltr"style="width:100%;"><table id="VoteView_ctl02_radioList"border="0"><tbody><tr><td><input id="VoteView_ctl02_radioList_0" type="radio"name="VoteView1"value="age1"><label for="VoteView_ctl02_radioList_0">20岁及以下</label></td><td><input id="VoteView_ctl02_radioList_1" type="radio"name="VoteView1"value="age2"><label for="VoteView_ctl02_radioList_1">21-35岁</label></td></tr><tr><td><input id="VoteView_ctl02_radioList_2" type="radio"name="VoteView1"value="age3"><label for="VoteView_ctl02_radioList_2">36-50岁</label></td><td><input id="VoteView_ctl02_radioList_3" type="radio"name="VoteView1"value="age4"><labelfor="VoteView_ctl02_radioList_3">50岁</label></td></tr></tbody></table></div></td></tr><table></body> 7.toupiao1.jsp<body bgcolor="FF1493"><%request.setCharacterEncoding("UTF-8");Access a=new Access();//年龄String age=request.getParameter("VoteView1");if(age!=null){String agesql="update nianling set "+age+"="+age+"+1";a.executeUpdate(agesql);//收入String shouru=request.getParameter("VoteView2");if(shouru!=null){String shourusql="update shouru set "+shouru+"="+shouru+"+1";a.executeUpdate(shourusql);}//学历String xueli=request.getParameter("VoteView3");if(xueli!=null){String xuelisql="update xueli set "+xueli+"="+xueli+"+1";a.executeUpdate(xuelisql);}//娱乐String yule[]=request.getParameterValues("VoteView4");if(yule!=null){for(int i=0; i<yule.length;i++){String yulesql="update yule set "+yule[i]+"="+yule[i]+"+1;";a.executeUpdate(yulesql);System.out.println(yulesql);}}//体育String tiyu[]=request.getParameterValues("VoteView5");if(tiyu!=null){for(int i=0; i<tiyu.length;i++){String tiyusql="update tiyu set "+tiyu[i]+"="+tiyu[i]+"+1;";a.executeUpdate(tiyusql);System.out.println(tiyusql);}}//电影String dianying[]=request.getParameterValues("VoteView6");if(dianying!=null){for(int i=0; i<dianying.length;i++){String dianyingsql="update dianying set"+dianying[i]+"="+dianying[i]+"+1;";a.executeUpdate(dianyingsql);System.out.println(dianyingsql);}}response.sendRedirect("result.jsp");%></body>五、实验总结通过本次实验,让自己进一步熟悉和领悟JSP、JavaBean和Java语言的语法结构和使用方法,让自己对javaweb程序设计有了更加深刻的认识,提高了自己的计算机操作能力,提高了自己的实践动手能力。

三人表决项目报告

三人表决项目报告

三人表决器项目报告系别:专业:姓名:指导老师:学号:摘要本次设计的三人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。

表决时,与会的有关人员只要按动各自表决器上“赞成”“反对”。

在三人表决器中三个人分别用开关SW1、SW2、SW3的状态来表示自己的意愿。

1、项目功能三个人分别用手指拨动开关SW1、SW2、SW3来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平,不同意就把自己的指拨开关拨到低电平。

表决结果用LED(高电平亮)显示,如果两个及其两个以上通过那么实验板上LED灯亮,如果没有人通过或者只有一人通过没通过则不亮。

2、项目目标1. 熟悉逻辑函数的表示方法与化简方法;2. 正确理解数字电路的要求,能知道与门、或门、非门的含义。

3. 了解要用到的每个芯片的引脚是什么门电路并且运用。

3、实验器材:输入输出模块,面包板,芯片74LS20、74LS00、74LS138、74LS153,导线四、实验步骤1、得出真值表和卡诺图设:A、B、C分别代表三个输入,同意为1,不同意为0;Y为输出,通过为1,不通过为0。

有真值表可得出卡诺图如下:由卡诺图可知化简后表达式如下:Y=BC+AC+AB2、设计电路,接入输入输出模块进行试验方案一:芯片74LS00与74LS2074 LS00是四-二输入与非门,它内部有四个与非门,每个与非门有两个输入端、一个输入端。

74 LS20是二-四输入与非门,它内部有两个与非门,每个与非门有四个输入端、一个输出端。

74 LS00、74 LS20引脚及内部电路图(1-1)图1-1: 74LS00 74 LS20 电路图接法如下:74LS00的VCC与74LS20的VCC接5V的直流电,两块芯片的7脚都接地;74LS00的1、13脚接输入端A;2、5脚接输入端B;4、12脚接输入端C。

74LS的11、3、6脚接在74LS20的1、2、4脚上;74LS20的6脚为输出Y。

电子投票系统课程设计报告 [文档在线提供]

电子投票系统课程设计报告 [文档在线提供]

一、课程设计的内容编程建立一个小型电子投票系统二、课程设计的要求与数据1.开发环境:Wintc2.需求分析:电子投票平台作为一个用来进行投票统计的应用软件1)编程建立一个小型电子投票系统,其中包含电子投票、票数统计功能,。

尽量做到提供一个简单的人机界面,系统界面友好,使用方便。

2)软件的使用者分为两类,一类为管理员,可以对候选人信息进行初始化和修改,还可浏览候选人信息介绍,可对候选人的票数进行排序以及对系统的用户进行管理,创建使用者用户名和密码,还可以对用户信息进行增加、删除、修改和查询操作等。

另一类为使用者—普通投票者,该类用户需要用管理员分配的用户名和密码正确登录系统,可以查询候选人介绍、投票等。

投票是只需做到输入自己想要投票的候选人编号即可完成投票。

3.功能需求描述电子投票系统是用来进行投票统计的系统软件,进入投票系统后应该需要先进行身份验证。

如果是投票人,就可以用浏览和查询的方式了解各个候选人的介绍信息,根据候选人的介绍信息决定将选票投向哪位候选人。

① 投票人的投票方式:输入要选举的候选人的编号,即可完成投票;②投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。

如果是管理人员就可以进以下操作:①初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。

管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。

②浏览候选人简介:为随时掌握候选人的信息,进行修改,管理员可以浏览候选人简介。

③修改候选人简介:当候选人信息有所变化时,输入候选人序号,对信息进行修改。

④查询投票情况:管理员有权查询当前各个候选人得票情况.⑤清除投票信息:当投票结束后,管理员可清除系统中所有候选人的票数,使之归零。

⑥安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。

管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。

课程设计报告---七人表决器设计

课程设计报告---七人表决器设计

电子综合设计题目七人抢答器设计学院计信学院专业电子信息工程班级学生姓名指导教师2012 年 6 月18 日一、设计原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于 4 时,则认为同意;反之,当否决的票数大于或者等于4 时,则认为不同意。

二、分析讨论七人表决器这一功能可以用C语言、汇编语言或VHDL编程后下载到单片机上实现,不过用VHDL编程不仅技术含量高而且能让我们更熟练的掌握和使用quartus软件的步骤和方法。

所以我们是采用VHDL编程来实现的。

三、设计准备根据七人表决器的原理,我们的准备过程如下:1、使用Altera的Cyclone II器件,所用的芯片为EP2C35F672C8,开发平台为quartus II。

2、使用七个拨动开关(K1~K7)作为输入变量来表示七个投票人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票。

3、使用一个七段数码管来显示同意的票数。

4、使用七个LED(LED2~LED8)用来分别记录投票人的个人投票结果,当LED亮起时就表示对应的投票人同意,否则就表示不同意。

5、使用一个LED(LED1)来表示最终的投票结果,当LED1亮起时表示表决通过,不亮时就表示表决不通过。

6、使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管的显示结果和LED的显示情况。

7、软件仿真成功后,通过专用的连接线再用硬件进行测试,并将硬件测试的结果以照片的形式做记录。

四、设计思路根据程序设计的一般步骤,我们首先设计出七人表决器的系统框图,也就是说先要确定一个大的设计方向;然后再根据设计要求并结合系统框图来设计程序流程图;由程序流程图来编写VHDL程序,并画出表决器的外围引脚图;再将程序用软件仿真,软件仿真成功后进行硬件测试。

多人表决器实验报告总结

多人表决器实验报告总结

多人表决器实验报告总结
本次多人表决器实验旨在探究多人间的民主决策机制和表决器的使用方法及其效果。

实验过程中,我们设计了一个简单的投票系统,并邀请了几个志愿者进行了测试。

实验结果表明,多人表决器可以较好地解决多人间的决策问题,能够提高集体决策的准确性和效率。

使用多人表决器可以规范化投票程序,避免了个别人员的干扰和影响,提高了集体达成共识的可能性。

同时,我们也发现了多人表决器的一些问题和不足,例如:对于一些争议性较大的议题,表决器可能无法完全反映每个人的意见,或者可能会存在部分群体的利益被忽略的情况。

因此,在实际使用表决器时,需要注意把握好权衡和平衡的度。

综上,多人表决器的使用可以带来一定的好处,但也需要结合实际情况进行权衡和考量,在适当的场合加以运用。

会议投票系统设计报告

会议投票系统设计报告

中南林业科技大学实训报告设计名称:会议投票系统专业班级:计算机科学与技术(对口)1班系(院):计算机与信息工程学院设计时间:11周——18周设计地点:电子信息楼609室指导教师评语:签名:年月日姓名学号成绩组长邓军武20094176组员周江华20094201组员唐专生20094188摘要会议是人们为了解决某个共同的问题或出于不同的目的聚集在一起进行讨论、交流的活动;而往往伴随会议举行的还有投票,选举出一等系列事项的结果;这些都需要一定规模的人员流动和消费。

在当今这个信息爆炸的社会,合理的利用空间、时间显的尤其重要。

对于一般性的中小型组织举行的通常性例会,在能满足会议质量的前提下,合理的节省、利用资源是一个值得深思的问题。

互联网的高速发展和计算机的普及性等,都有给我提供了一个有利的平台。

因此,一个能够解决诸多问题,并达到有效利用资源的设想便产生了——会议投票系统,它能管理用户,开展简单例会,进行投票选举并产生相应结果,保存会议记录与打印投票结果。

关键词:会议投票系统,局域网,SQL Server ,Microsoft Visual Studio 2010目录一、需求分析 (1)1.1 背景 (1)1.2 研究目的 (1)1.3 系统功能需求 (2)1.4 数据库需求 (3)二、相关知识 (4)2.1 TCP/IP简介 (4)2.2 TCP/IP的特点 (4)2.3 Winsock介绍 (4)2.4 MFC类CAsyncsocket和CSocket (4)2.5 利用CSocket进行有连接的通信 (5)2.6 服务器/客户端模式 (5)三、总体方案图表设计 (7)3.1 E-R图 (7)3.2 系统操作流程图 (8)四、详细方案设计 (10)4.1 软件开发工具 (10)4.2 设计思路 (10)4.3 服务器框架设计 (13)4.4 客户端框架设计 (17)4.5 用户模块 (19)4.5.1 建立数据库 (19)4.5.2 创建数据源类 (20)4.5.3 用户登陆 (20)4.5.4 会议群组注册 (27)4.5.5 用户注册 (32)4.5.6 查看资料(尚未完善) (38)4.5.7 信息修改(尚未完善) (38)4.5.8 注销(尚未完善) (38)4.6 会议模块 (39)4.6.1 一般成员 (39)4.6.2 管理员 (41)4.6.3 用户上下线 (45)4.6.4 文件上传、下载(尚未完善) (46)4.6.5 会议记录(尚未完善) (47)4.7 投票模块 (48)4.7.1 管理员 (48)4.7.2 一般成员 (54)4.7.3 投票 (57)4.7.4 投票结果 (63)五、运行结果图 (67)5.1 运行服务器 (67)5.2 运行客户端 (68)六、“错误”问题 (76)6.1 开发工具问题 (76)6.2 设计思路问题 (76)6.3 功能实现问题 (77)七、结束语 (80)参考文献 (81)一、需求分析1.1 背景当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效;与此同时,一个新型的Web应用程序应运而生——会议投票系统。

电子投票器实验报告

电子投票器实验报告

电子投票器实验报告
电子投票器实验报告是关于使用电子设备进行投票的一种技术手段的实验研究。

为了保证投票的安全、公正和透明,以下是一个典型的电子投票器实验报告的结构示例:
一、引言:
介绍电子投票器的背景和研究目的,解释为什么电子投票器对投票过程的改进是必要的。

二、方法:
描述实验中所使用的电子投票器系统的设计和原理,包括选民身份验证、投票过程、数据存储、计票和结果验证等方面的内容。

三、实验步骤:
详细描述实验中的具体步骤,包括选民的注册、登录、投票过程和结果验证等。

四、实验结果与分析:
列举实验中获得的数据和结果,对照传统投票方式进行比较分析,探讨电子投票器的优势和局限性。

五、安全与保密性讨论:
讨论实验中采取的安全措施,包括数据加密、选民身份认证、防止操纵等方面,以保证投票的安全和保密性。

六、讨论与结论:
对实验结果进行讨论,评估电子投票器的可行性和实用性,提出改进建议,并对未来研究方向进行展望。

七、参考文献:
列出实验报告中引用的参考文献,确保实验结果的可靠性和准确性。

以上是一个普遍的电子投票器实验报告的结构示例,具体结构可以根据实际情况和要求进行调整。

希望对你有所帮助!。

投票选举器电路设计实验

投票选举器电路设计实验

投票选举器电路设计实验一、实验目的1.进一步掌握组合逻辑电路和时序逻辑电路的分析设计方法,巩固课堂上学到的知识2.学习对原有电路进行改进的方法,使电路在设计上逻辑更合理,更人性化3.掌握一些常见的数字电路芯片的使用方法4.通过对电路进行改进的实践,培养创新意识二、实验电路图及电路原理1.最简单的投票选举电路设计最简单的投票选举器应实现如下功能:1)能控制投票的时间,即过了一段时间后投票无效。

2)对所投票数进行统计,并以一定的方式显示出来。

以此为目标,可以设计出以下的电路原理图:该电路的工作原理如下:先由工作人员按下CLR开关,计数器74LS160的CLR清零端接地,为低电平,计数器清零,七段显示器显示为0。

然后使CLR开关复位,即接到VCC上。

当开始投票时,EN开关接VCC高电平。

这里不同的投票者A1、A2、A3、A4分别按下各自的投票开关J1、J2、J3、J4,分别对应形成一脉冲。

在J1~J4脉冲及使能端高电平(开关EN控制)下,通过74LS54与或非门,就能对计数器的时钟脉冲端CLK形成一系列间断的时钟脉冲。

时钟脉冲由计数器计数后输出到DCD_HEX显示器显示,即可看出投票代表所投的票数。

当投票时间结束时,工作人员令EN开关复位(即接地,低电平),相当于与或非门的使能端关闭,投票的代表这里再进行投票无效。

显示器上的票数保持不变。

如果仔细观察以上电路,它的缺点是显然的:1)由于对开关J1~J4形成的脉冲的次数没有进行限制,因此一个投票的代表可能进行多次投票,这是不公平的。

例如上面只有4个代表,但是由显示器可知,一共投了5票。

2)如果某两个或多个代表同时进行投票,那么通过与或非门的作用,只能形成一个脉冲,这时投票的结果也是不真实的。

3)当某个代表长时间按下自己的开关时,他的输入就不是一个短脉冲,而是一个持续一段时间的高电平,由于74LS54中或非门的作用,这时输出将一直维持低电平,不能形成脉冲,从而影响其它代表的投票。

三人表决器实验报告

三人表决器实验报告

三人表决器实验报告实验目的,通过设计和制作一个三人表决器,探究在多人决策中,通过简单的投票方式来达成一致意见的可行性和有效性。

实验材料:1. Arduino控制板。

2. LED灯(红、黄、绿各一)。

3. 按钮开关(三个)。

4. 连线电缆。

5. 电池盒及干电池。

实验步骤:1. 将Arduino控制板与LED灯、按钮开关通过连线电缆连接起来,搭建出一个简单的电路系统。

2. 编写Arduino控制板的程序代码,使其能够根据按钮开关的状态来控制LED 灯的亮灭。

3. 测试并调试电路系统,确保按钮开关能够控制相应的LED灯亮灭。

4. 进行三人表决器的实际测试,让三名实验者分别按下自己的按钮,观察LED 灯的亮灭情况,以此来模拟三人投票的过程。

5. 分析实验结果,总结三人表决器在多人决策中的应用效果。

实验结果与分析:经过实际测试,我们发现三人表决器在多人决策中具有一定的可行性和有效性。

当三名实验者分别按下自己的按钮时,LED灯的亮灭情况清晰地反映了各个人的选择,便于大家对多人意见进行比较和统一。

而且,通过LED灯的明暗程度,还能够直观地反映出各个选项的得票情况,为多人决策提供了直观的参考依据。

结论:通过本次实验,我们验证了三人表决器在多人决策中的可行性和有效性,它能够简单、直观地帮助多人对不同意见进行比较和统一,为团队决策提供了一种新的思路和工具。

当然,三人表决器也存在一些局限性,比如只能适用于少数人的决策,对于大规模团队决策可能不太适用。

但总的来说,它为多人决策提供了一种简单、直观、有效的辅助工具,具有一定的实用价值。

实验中遇到的问题及改进方案:在实验过程中,我们发现三人表决器的电路系统比较简单,但在编写程序代码和调试电路时还是遇到了一些问题,需要花费一定的时间和精力。

为了提高实验效率,我们可以事先准备好一些常用的电路模块和程序代码,以便快速搭建和调试三人表决器。

另外,也可以考虑对三人表决器进行进一步的功能扩展,比如增加更多的选项和更复杂的控制方式,以满足不同场景下的多人决策需求。

投票系统程序设计报告

投票系统程序设计报告

程序设计技术课程设计报告题目:投票系统设计班级计算机姓名学号完成日期一、课题主要内容(内容简介,包括实现的功能)本设计目的在于实现使用在线投票加评论的方式调查网民对自己网站的满意度。

游客在打开投票页面,首先需要注册登录然后才可以进行投票和评论,还可以查看投票结果;管理员登录直接进入管理员界面,管理员的权限是查看投票结果,增删投票选项以及修改注册人的信息。

二、课题主要采用技术(列出所采用的技术,如、多层开发、MVC、Ajax、Linq,并分别简单介绍所用何处和主要应用方法)数据库开发:此技术是本系统的重点,几乎所有的功能都离不开SQL Server2005中的UserInfo表和Vote表。

用户注册需要将信息录入UserInfo表,登录时又要从这个表中调出姓名和密码进行判断,用户意见和评论也是后来插入此表的;V ote表主要用来储存投票选项和人数的,查看投票结果就是显示V ote 表中的数据。

实现这种功能的方法则是得力于控件与数据库的绑定,这样才实现了信息的同步。

2.Web控件:(1)Label控件:每个页面都用到了,通过设置Text属性来显示相关的文本内容。

(2)Button控件:每一个页面都用到了这个控件,投票、登录、注册等等都是通过此控件的Click事件来实现。

(3)TextBox控件:它为用户提供了一种向Web页面中输入信息,包括文本、数字和日期的方法。

例如,投票页面的评论框,登录、注册信息的输入都是通过TextBox控件完成的。

(4)RadioButtonList控件:它为用户提供了创建一组单选按钮的方法,这些按钮可以通过与数据绑定而动态生成。

在投票页面,投票选项就是用这个控件绑定V ote表实现动态显示。

(5)GridView控件:以表格的形式显示数据源中的数据,支持排序、更新和删除、分页、行选择等功能。

本程序主要用到了更新和删除功能,即在管理员页面添加了编辑列,对用户信息实现更新和删除。

投票器实验报告

投票器实验报告

一、实验目的1. 了解投票器的基本原理和结构;2. 掌握投票器的编程方法;3. 培养团队合作和动手实践能力;4. 体验计算机在现代社会中的重要作用。

二、实验背景随着科技的不断发展,计算机在各个领域的应用越来越广泛。

在选举过程中,计算机投票器作为一种新型的投票方式,具有方便、快捷、准确等优点。

本实验旨在通过编程实现一个简单的投票器,让学生了解计算机在投票过程中的应用。

三、实验原理投票器的基本原理是:通过编程实现投票功能,收集投票数据,并对数据进行统计和分析。

具体步骤如下:1. 设计投票界面,包括候选人信息、投票按钮等;2. 编写程序,实现投票功能;3. 收集投票数据,并存入数据库;4. 对投票数据进行统计和分析,得出投票结果。

四、实验器材1. 计算机;2. 编程软件(如Python、Java等);3. 投票器界面设计软件(如Photoshop、Fireworks等)。

五、实验步骤1. 设计投票界面使用Photoshop或Fireworks等软件设计投票界面,包括候选人信息、投票按钮等。

界面要求简洁明了,便于用户操作。

2. 编写程序选择一种编程语言(如Python、Java等),编写投票器程序。

程序主要实现以下功能:(1)显示候选人信息;(2)实现投票功能;(3)收集投票数据,并存入数据库;(4)对投票数据进行统计和分析。

以下是一个简单的Python投票器程序示例:```pythonimport tkinter as tkfrom tkinter import messagebox# 候选人信息candidates = {"候选人A": 0,"候选人B": 0,"候选人C": 0}# 投票函数def vote(candidate):candidates[candidate] += 1messagebox.showinfo("投票成功", "您已成功为{}投票!".format(candidate))# 统计投票结果def show_results():results = ""for candidate, votes in candidates.items():results += "{}: {}票\n".format(candidate, votes)messagebox.showinfo("投票结果", results)# 创建投票界面root = ()root.title("投票器")# 显示候选人信息for candidate in candidates:tk.Button(root, text=candidate, command=lambda c=candidate:vote(c)).pack()# 显示投票结果按钮tk.Button(root, text="查看投票结果", command=show_results).pack()root.mainloop()```3. 收集投票数据,并存入数据库将收集到的投票数据存入数据库,以便进行统计和分析。

基于单片机控制的投票器(分机)设计毕业设计(论文)word格式

基于单片机控制的投票器(分机)设计毕业设计(论文)word格式

单片机投票器(分机)设计摘要:近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

基于单片机串行通讯技术的投票器(分机)的设计制作过程,以MCS-51系列单片机为控制核心设计投票系统的分机控制器。

投票器(分机)由单片机、三个按键、两个指示灯和串行通信接口等组成.三个键分别表示赞成、反对和弃权,可由多台分机与一台主机构成一个投票系统,投票前由主持人按主机复位键对整个系统所有分机进行复位初始化,接着进行投票,到投票结果被主机接收完成投票。

本系统功率较小,操作简单,有较强的实用性等特点。

关键词:单片机;投票器:分机;接口电路:多机通讯原理目录1 选题意义、方案论证................................................... (3)2 系统组成原理与主要功能.................................................. . (3)3 硬件电路设计 (5)3.1 MCS-51单片机的选择及芯片参数 (5)3.2 RS-485芯片选择及其参数 (7)3.3 时钟电路及复位电路 (9)3.4 按键及指示灯设计 (9)3.5 串行通讯接口的电路设计........................................ ........... (9)4 软件程序设计 (9)4.1 基本原理........................................................ . (9)4.2 通讯协议 (10)5 软、硬件调试及性能分析......................................................... (13)6 结论 (13)课程设计体会................................................... (13)参考文献 (15)附录 (16)附录1 电路原理图 (16)附录2 程序清单 (17)1 选题意义、方案论证本设计要求利用MCS-51系列单片机为控制核心,设计投票系统的分机控制器,用于表决活动。

三人表决器实验报告

三人表决器实验报告

三人表决器实验报告
【摘要】
本实验通过构建一个三人表决器,探究了多数表决原则在实际生活中的应用。

实验结果表明,三人表决器具有快速、高效的特点,并可以在涉及决策的场景中发挥重要作用。

【引言】
多数表决原则是指在决策过程中,以表决结果中获得多数选项的意见为最终决策结果的指导方向。

多数表决器作为一种决策工具,被广泛应用于政府、团体和企业等组织中。

本实验旨在探究三人表决器在实际生活中的应用,并通过设计实验验证其效果。

【材料与方法】
实验材料包括三个投票器和一个计数器。

实验方法为三人同时投票,计数器记录投票结果,并根据多数表决原则确定最终结果。

实验对象为三名实验者,每个实验者有两个选项进行投票选择。

【实验结果】
经过多次实验,实验结果显示,三人表决器具有较高的准确率。

在所有实验中,最终决策结果与实验者中选择该选项的人数占比最高的选项一致。

实验结果还表明,三人表决器具有快速、高效的特点,相比于一对一的讨论与协商,可以节省时间和精力。

【讨论】
三人表决器作为一种简单有效的决策工具,具有广泛的应用前景。

然而,在实际应用中,仍需注意以下几点:1.实验者之间应具备相对独立的意见,以确保投票结果的有效性;2.在应用过程中,可进行多次表决,并结合实际情况进行结果调整;3.在决策结果不确定时,可以考虑增加投票者的数量,以提高决策的准确性。

【结论】
三人表决器是一种简单高效的决策工具,在实际生活中具有广泛的应用前景。

本实验结果证明了多数表决原则在实际决策中的可行性和有效性,并对今后进一步研究提供了一定的参考。

单片机课程设计报告投票统计器

单片机课程设计报告投票统计器
在完成一个工程时,细节决定成功,在我连调试时发现好多意想不到的错误,都是因为在程序设计时考虑不周到所造成的。例如:在我们由于在显示时所设计的延时参数不等,因此数码管显示总是闪烁不定,通过合理的设计端点和认真阅读分析程序才找出原因。在程序编写时一定要考虑在整体中自己程序的功能,并且要考虑整体的实现方式与自己编写的相吻合。分组完成一个项目,每个人都是其中的一员都是整体的一部分,因此时刻要考虑的不仅是自己完成的功能,还要考虑以什么样的形式放到整体中。
MOV B,#10
DIV AB
MOV 31H,B
MOV 30H,A
MOV A,41H
MOV B,#10
DIV AB
MOV 33H,B
MOV 32H,A
MOV A,42H
MOV B,#10
DIV AB
MOV 35H,B
MOV 34H,A
RET
KEY: MOV P0,#1FH
CLR P0.5
SETB P0.6
DIV AB
MOV 31H,B
MOV 30H,A
MOV A,41H
MOV B,#10
DIV AB
MOV 33H,B
MOV 32H,A
MOV A,42H
MOV B,#10
DIV AB
MOV 35H,B
MOV 34H,A
RET
FONT:MOV R2,#6
MOV R0,#30H
FT:MOV A,@R0
MOV DPTR,#TAB
AJMP NEXT2
LP0: JB 00H,LLL1
JB 05H,LLL1
JB 10H,LLL1
SETB 10H
INC 42H
AJMP LLL1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常熟理工学院电气与自动化工程学院《微机原理与接口技术》期末作品设计报告题目:投票器姓名:沈志乐学号:160511122班级:测控111目录1.引言 (2)1.1作品简介 (2)1.2作品设计思路及方案 (3)1.3知识点应用 (3)2.硬件设计 (4)2.1最小系统 (4)2.2二极管显示电路 (5)2.3 蜂鸣器电路 (6)2.4按键电路 (7)2.5 数码管显示电路 (8)2.6 设计总仿真图 (9)3.软件设计 (10)4.作品调试 (12)4.1硬件操作指导 (12)4.2实物图如下 (12)结语 (13)参考文献 (14)附录 (15)1.引言1.1作品简介北京人民大会堂的会议厅的每个桌子上都有三个按钮,那三个按钮就是给每次大会与会的代表投票表决用的。

三个按钮分别是“同意”、“反对”、“弃票”。

全场有上千个按钮,当所有人都按完按键后,在前面的液晶显示屏上会显示三种不同意见的票数。

上面所说的就是最常用的一种投票系统。

这样的投票系统与传统的纸质选票相比,它的工作效率高,可靠性强,以及它很大地提升了投票的公正透明度。

现在除了国外特殊的一些政府官员民主投票还用纸质投票,其他的,比如在一些会议中,都是用的电子投票系统,大大的提高的会议的高效性。

现在的电子控制系统中,单片机已经被大量的运用在其中。

单片机以其操作简单,可靠性强,应用范围广,深受电子设计公司的亲睐。

对于投票系统,一般只用到三个按键,设计者编写程序时只需要学要判断三个按键的电平,单片机就可以自动在显示器上显示按键按下的次数,这样一个投票系统就完成了。

这次试验我就是利用89C52单片机,作出一个简易的十人投票系统。

它在生活中也是有应用之处的。

比如班里的班委选举,我可以设置40人(本班人数)的投票系统,这样班里的人就可以通过按键表决的方式进行选举工作。

总之,有了单片机,会用单片机,我们可以将生活中各种各样传统的手工事务变成一个自动控制的电子系统。

这样既减轻了人力,也减少了劳动力,使得共享工作都变得高效。

1.2作品设计思路及方案工作生活中我们经常要用到或者看到投票的情形,这个作品是一个简易的投票器。

这次我是用的89C52单片机和锐志51开发板,利用单片机的计数器,开发板上的数码管、二极管、按键和蜂鸣器,做成了一个简单的投票器。

我用了两个按键,一个是赞成按键,一个是反对按键。

通过按着两个按键,并且对其进行计数,然后通过数码管显示出赞成或者不赞成的票数。

当赞成的票数多于反对票数时,表示“通过”的二极管亮。

当反对的票数多于赞成的票数时,表示“不通过”的二极管亮。

如果赞成票和反对票一样多,则表示“票数相同”的二极管亮。

1.3知识点应用在本次设计中,用到了单片机的四路并行I/O口,即P0,P1,P2,P3。

其中P0和P2分别是用来控制数码管的段码和位码的选择。

在单片机内部用到了定时器T1。

不过在这里,我是将T1的TH1和TL1的初值给的0xff,也就是说,这里的T1其实就相当于是一个外部中断,每触发一次就溢出。

设计中还用到了发光二极管,八位数码管,蜂鸣器,还有按键。

其中,因为数码管是需要动态显示的,所以也要有段选、位选,消影、延时这几个步骤。

数码管的段显示是用的查表法。

设计的程序是用C语言写的,因为大一时曾自学过C语言,所以没有用本学期学习的汇编,我个人也觉得C会更简单。

设计还需要设计硬件原理图,即用protues画出设计的仿真图。

设计中,因为硬件用的是一块网上买的开发板,所以编写程序前,必须要先把开发板的硬件原理图看明白了,这样才能写出正确的程序。

2.硬件设计2.1最小系统89C51的最小系统电路由晶振电路和复位电路组成。

晶振电路的晶振为12MHz,两片电容都是30pf。

复位电路采用的是按键复位电路,这比上电复位更加具有实际应用性。

同时EA端口是要接地的。

2.2二极管显示电路与所用的硬件实物电路一样,这里的LED采用低电平点亮。

最左边的二极管用来显示投票未通过的结果。

中间的二极管用来显示投票通过的结果。

最右边的二极管用来显示赞成票和反对票票数相同的情况。

2.3 蜂鸣器电路蜂鸣器电路所接的I/O口是P3.6口。

因为单片机提供的电压不能够驱动蜂鸣器,所以电路中需要加一片PNP型三极管。

三极管的作用的是用来放大电流或电压,从而驱动蜂鸣器,让其在上电时能够响起。

2.4按键电路本次设计中的按键是接在P3.2和P3.3口。

按键按下即为低电平时,程序会自动判断按键按下时,所接I/O口的电平状态。

上面的按键是赞成按键,下面的按键是反对按键。

2.5 数码管显示电路本设计对数码管的操作采用的是用P0口控制断码,P2口控制位码。

因为设计中并没有用到太多I/O口,所以I/O的资源还是比较丰富的,没必要为了节省I/O口资源而选用两片74LS573芯片来驱动数码管。

由于这里数码管的驱动电压比较大,光是用单片机提供的电压的话,数码管显示时的亮度会不够。

所以这里采用在P2口的八位并行口上接上八个PNP型三极管,用来放大电压,从而驱动数码管。

我们知道,51系列单片机的P0口作为普通I/O 使用时,需要外接上拉电阻。

所以本设计中,在P0口接了一片八路的排阻作为上拉电阻。

2.6 设计总仿真图上图便是设计的总仿真图,由复位电路,LED显示电路,数码管电路,蜂鸣器电路,按键电路这几部分组成。

仿真载入程序后,便可实现本次设计的目的-投票器。

3.软件设计以上是软件设计的流程图4.作品调试4.1硬件操作指导硬件电路的所用到的两个按键分别是“赞成”键、“反对”键。

按“赞成”键,左边的数码管加1;按“反对”键,右边的数码管加1。

最右边的数码管用来显示“赞成”和“反对”键一共被按的次数。

当两个按键一共被按的次数达到10次时,系统出发定时器中断,数码管的显示和二极管均保持静止不动,蜂鸣器响起。

十次按完时,如果赞成的人数多于反对的人数,则“通过”二极管亮;如果反对的人数多于赞成的人数,则“未通过”二极管亮;如果赞成和反对的人数一样多,则“票数相同”二极管亮。

4.2实物图如下结语单片机作为计算机发展的一个分支,由于其功能强大,适用性强,操作简单方便,已经被运用到很多的领域。

单片机渗透到我们生活中的每一部分,几乎很难找到哪个领域是没有单片机的。

飞机,导弹,汽车,自动洗衣机,电梯等等全都用到了单片机。

第二次工业革命,虽然人类实现了机械化,但是机器都是由人工进行控制的。

但是第三次科技革命,人类进入计算机时代,单片机随之被应用在各个领域,工厂自动化生产线用起了机器人。

我们学习单片机就是为了应用。

单片机只是一块芯片,如果没有人给它编写程序,没有人为它设计一套硬件电路,那单片机就永远只是一块没用的芯片。

我们学习单片机不能只学习书本的知识,对于我们来说,最重要的就是学以致用。

这学期学期末我们每个人都要做一个作品设计,就是为了锻炼我们的应用能力。

我们平时会冒出很多的想法,看到一些东西会想它是怎么工作的,原理是什么。

比如我这次做的这个投票器,就是看到了一些会议上用到的表决器想到的。

我要模拟那些表决器,自己动手用单片机做出一个投票器来。

虽然说作品相对来说是比较简单的,但是却对我的软件和硬件知识都有了一个质的提升。

自己动手永远强于只专注于课本,这是对一个面向社会,面向应用的学生的一个测试。

我想,有了这学期的初步学习之后,以后在做一些设计时,如果用到其他的单片机,我们就可以依赖现在所学的51知识,灵活应用,做出自己想做的设计出来。

参考文献【1】张毅刚,彭喜元,彭宇. 单片机原理及应用【M】. 北京:高等教育出版社,2010【2】郭天祥. 51单片机C语言教程【M】. 北京:电子工业出版社,2009 【3】谭浩强. C程序设计. 北京:清华大学出版社,1991【4】网络. 百度文库附录#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit key1=P3^2;sbit key2=P3^3;sbit beep=P3^6;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e} ;void delayms(uint);void display(uchar,uchar,uchar); void key();uchar num,num1,num2, T,F;void main(){TMOD=0x10;TH1=0xff;TL1=0xff;EA=1;ET1=1;while(1){key();display(T,F,num);if(num>=10){if(T>F){P1=0xfd;//break;}if(F>T){P1=0xfe;//break;}if(T==F){P1=0x7f;}TR1=1;}}}void display(uchar T, uchar F,uchar num) {P2=0xfe;P0=table[T];delayms(1);P2=0x7f;P0=table[num];delayms(1);P2=0xfd;P0=table[F];delayms(1);}void delayms(uint xms){uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}void key(){if(key1==0) //赞成按键{delayms(2);if(key1==0){T++;num++;while(!key1);}}if(key2==0) //反对按键{delayms(2);if(key2==0){F++;num++;while(!key2);}}}void T1_TIME() interrupt 3 {TMOD=0x10;TH1=0xff;TL1=0xff;while(1){//P1=0x7f;display(T,F,num);beep=~beep;}}。

相关文档
最新文档