投票统计器设计
课程设计投票器设计说明书

单片机课程设计说明书课题:班级投票显示器专业:测控技术与仪器班级:机122-1:许铎学号:201256502116指导老师:王东兴组员:贺茂森、段亚东、王向东烟台大学机电汽车工程学院目录第一章设计任务和内容 (3)1.1 设计任务 (3)1.2 设计要求 (3)1.3 设计内容 (3)第二章电路设计 (4)2.1 总体设计 (4)2.2 详细设计 (5)2.2.1 单片机引脚功能 (5)2.2.3时钟电路 (6)2.2.4复位电路 (7)2.2.5 数码管显示电路 (8)第三章程序设计与仿真 (10)3.1 投票显示系统总体功能实现 (10)2.2 系统流程图 (11)3.3 程序编写 (13)3.4 仿真与调试 (15)第四章总结和未来改良设想 (21)第一章设计任务和内容1.1 设计任务分组按照选定题目的设计任务,设计各种单片机应用系统,设计工作量至少要包含:〔1〕用MCS-51单片机,12MHz时钟,常规的上电和手动复位电路;〔2〕 3个以上的按键;〔3〕 LED或/和数码管或/和LCD显示及其接口;〔4〕至少2路输入信号,可以是模拟量或数字量。
1.2 设计要求〔1〕设计一个投票系统,具有计票显示功能;〔2〕可实现6人同时进行投票,累计票数在显示器上显示;〔3〕主持人使用一个按键开关控制开始投票,终止投票和清零;〔4〕投票开始后每人能且仅能投一次票,多投无效;1.3 设计内容〔1〕编写项目功能说明书,确定应用系统的功能和具体参数;〔2〕设计电路原理图;〔3〕编写C语言源程序,程序中加注必要的注解说明;(4)实物制作与调试;〔5〕编写设计说明书。
第二章电路设计2.1 总体设计整个设计以AT89C51单片机为核心,点触开关控制信号通过单片机I/O 口,单片机处理信号并将结果通过LED 数码管显示,最终按键复位单片机。
总体设计如下列图。
2.2 详细设计2.2.1 单片机引脚功能·P0口 8位、漏极开路的双向I/O口。
单片机15人投票表决器

15人投票表决器班级:姓名:学号:************第一章概述1.设计内容:设计一个基于AT89C52系列单片机的15人投票表决器,利用按键来进行投票,通过1602进行票数的显示。
可以投反对票,赞同票,不投票默认为弃权。
2.设计目的:本文设计的投票表决器,是基于单片机设计制作的电子式投票表决器。
比传统的手动统计票数更为方便直观,通过程序来进行控制,有效避免了暗箱操作。
制作的投票表决器小巧容易携带,特别方便。
3.设计原理:该音乐盒主要由按键电路、复位电路、1602显示电路以及指示灯组成。
使用两排按键控制赞同票与反对票,一个指示灯用来表示正在计算。
待投票结束后按下统计按钮即可统计票数。
可以从1602上直观的读出赞同票,反对票,弃权票。
第二章硬件设计1.设计框架:音乐盒的系统结构以AT89C52单片机位控制核心,加上2排按键、1602显示电路、LED模块组成。
单片机负责接收按键的输入,根据输入控制1602显示票数,以LED显示单片机正在计算票数的状态。
系统组成框图如图2.1所示。
图2.1 系统组成框图2.各元器件选择及功能介绍:(1) AT89C52简介AT89C52是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。
AT89C52是一种带4K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图2.2所示图2.2 AT89C51系列单片机(2) 1602显示电路设计与原理1602是字符型液晶,它是16*2的显示的。
十人投票机设计

十人投票机设计一、控制要求(1主电路2控制电路3地址分配表4程序5心得体会)1.运行PLC2.当PLC运行时,[X12:计票开关]=OFF,则不执行投票计算。
3.当PLC运行时,再扳Y.[X12:计票开关]=ON,开始计时,此时需在5s内完成投票(赞成与不赞成),请扳动X0~Xl 1(如赞成:X:ON,若反对X:OFF。
4.[X12]=ON,5s后立即显示投票结果,若显示灯Y0亮:表示不通过(即反对人数较多)Y1亮:表示同票(即赞成与反对人数相等)Y2亮:表示通过(即赞成人数较多)5.当投票结果显示后,就不再接受任何信息,即使再次投票显示灯仍不会改变其结果。
6.X13为归零按钮.在x13归零后,所有的显示灯熄灭,此时可再次进行投票:病床呼叫系统一、控制要求(1主电路2控制电路3地址分配表4程序5心得体会)1.共有3个病房,每间病房4个床位。
每一病床床头均有紧急呼叫按钮及重置按钮,以利病人不适时紧急呼叫。
2.设每一层楼有一护士站,每一护士站均有该层楼病人紧急呼叫与处理完毕的重置按钮。
3.每一病床床头均有一紧急指示灯,一旦病人按下紧急呼叫按钮且未在5s内按下重置按钮时,该病床床头紧急指示灯动作且病房门口紧急指示灯闪烁,同时同楼层的护士站显示病房紧急呼叫并闪烁指示灯。
4.在护士站的病房紧急呼叫中心,每一病房都有编号,用指示灯显示哪一病房先按下病人紧急呼叫按钮,并要具有优先级判别的能力。
5.一旦护士看见护士站紧急呼叫闪烁灯后,须先按下护士处理按钮以取消闪烁情况,再依病房紧急呼叫顺序处理病房紧急事故,若事故处理妥当后,病房紧急闪烁指示灯和病床上的紧急指示灯方町被重置。
自动售货机的控制设计一、控制要求(1主电路2控制电路3地址分配表4程序5心得体会)I.自动售货机有3个投币孔,分别为1元、5元和10元。
2.售货共有3种饮料供选择,分别为汽水、花茶和咖啡。
3.如投币总额超过销售价格,将可由退币钮找回余额。
4.投币总额或当前值显示在7段数码管上。
电子投票系统课程设计报告 [文档在线提供]
![电子投票系统课程设计报告 [文档在线提供]](https://img.taocdn.com/s3/m/ad4a21b0b307e87100f69664.png)
一、课程设计的内容编程建立一个小型电子投票系统二、课程设计的要求与数据1.开发环境:Wintc2.需求分析:电子投票平台作为一个用来进行投票统计的应用软件1)编程建立一个小型电子投票系统,其中包含电子投票、票数统计功能,。
尽量做到提供一个简单的人机界面,系统界面友好,使用方便。
2)软件的使用者分为两类,一类为管理员,可以对候选人信息进行初始化和修改,还可浏览候选人信息介绍,可对候选人的票数进行排序以及对系统的用户进行管理,创建使用者用户名和密码,还可以对用户信息进行增加、删除、修改和查询操作等。
另一类为使用者—普通投票者,该类用户需要用管理员分配的用户名和密码正确登录系统,可以查询候选人介绍、投票等。
投票是只需做到输入自己想要投票的候选人编号即可完成投票。
3.功能需求描述电子投票系统是用来进行投票统计的系统软件,进入投票系统后应该需要先进行身份验证。
如果是投票人,就可以用浏览和查询的方式了解各个候选人的介绍信息,根据候选人的介绍信息决定将选票投向哪位候选人。
① 投票人的投票方式:输入要选举的候选人的编号,即可完成投票;②投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。
如果是管理人员就可以进以下操作:①初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。
管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。
②浏览候选人简介:为随时掌握候选人的信息,进行修改,管理员可以浏览候选人简介。
③修改候选人简介:当候选人信息有所变化时,输入候选人序号,对信息进行修改。
④查询投票情况:管理员有权查询当前各个候选人得票情况.⑤清除投票信息:当投票结束后,管理员可清除系统中所有候选人的票数,使之归零。
⑥安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。
管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。
投票设备的通用设计

投幂站大部丹的设 备和设施缺乏好的设计 例 有些地方的标志更容易使选 目 惑而 是引 不 } 民。投票亭是由 种胶 板用最简单的办法固定在一起的 R是粘有 国黻才使 投票 箱 看上去官方一点,实际 显得随便,缺乏庄重感。此外 站. 哉疾^投票 果 有^帮忙是很目难的 在很多投票
wok c e asu bigbo kf emo rc rs anb tm l lc or n d ca y
施
嚣嚣嘉薯翟器鑫 慧 喜塞 设的 墨 羞磊耋数羞 嚣掌 计
l No Wa ' 4 0 }c l u iiaie te ea e0 ef 0 ol g s in n r ys 3 o a ncp lis h r r v m t 30 0 p ln t o s whihaI i at c l
c mb o e a d… e n ml u e m n n c
Mu hofh c teeq im e t dfclisi h ol g sain i a ka ngO dd in up n an a it ie nt ep l tt s sIc igI 0 es i n o g l s m epa s o n bn e h insae moe l eyt n o l ̄ frls c Iesg r r i l o… k f Ia iev t s u b ngu oer d T e v t g b oh r ma e o t h e so y odf e tg t e n te s pe t h oi o ts ae n d fwo s e t f wo pl i d o e h rI h i ls x m
投票设备 的通用设计
Unv r a De inf rP ln up e t ie s l sg o o l g Eq im n i
投票选举器电路设计实验

投票选举器电路设计实验一、实验目的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中或非门的作用,这时输出将一直维持低电平,不能形成脉冲,从而影响其它代表的投票。
(完整word版)基于PLC的十人投票机设计

《专业综合应用与工程能力实践训练》项目设计说明书十人投票机学院:电气与信息工程学院学生姓名:张汉指导教师:董海兵职称/学位讲师专业:自动化班级:1202学号:1230740246完成时间:2015年12月摘要随着科学技术的发展,促使人们学科学、学技术、学知识的手段变化的多种多样。
投票器的发明大大缩短了计票时间,提高了工作效率。
投票机是一种应用非常广泛的设备,它作为一种工具,已经广发的应用于各种选举和民意投票之中。
投票在某种程度上反映了民意,对参与投票的人的行为有一定的作用。
投票是选举人使用自己权利的一种方式。
由于PLC的各种性能以及硬件设计安全可靠,性能稳定,PLC在投票上也有广泛的应用。
论文对十人投票机硬件设计、软件设计进行了介绍,以及对PLC编程软件的编程和仿真的介绍。
仿真结果显示,十人投票器对于选举和反映民意都有帮助。
关键词:PLC;十人投票机;硬件设计;软件设计目录1 绪论 (1)2 系统硬件设计 (2)2.1 系统输入输出设计 (2)2.2 PLC的选择 (2)2.3 PLC的简介 (3)2.4 PLC接线原理图设计 (4)2.4.1 I/O点分配 (4)2.5 PLC输入输出电路图 (4)3 软件设计 (6)3.1 编程语言的选择 (6)3.2 控制要求 (6)3.3 程序控制流程图 (6)3.4 程序设计 (7)4 仿真结果 (10)结束语 (13)参考文献 (14)致谢 (15)附录 (16)附录A 源程序 (17)附录B 梯形图 (19)1 绪论投票是决策的一种方法,群体经过讨论或辩论,最后通常在特定纸张上标示出投票者的立场,然后投交大会作点算。
除了投票,共识决策法和赌博也是决策的方法。
近年来,现代自动化的发展,给人们的生产生活带来了许多便利,可编程控制器(PLC)凭借其可靠性高、抗干扰能力强、使用方便、编程方便、体积小等优势,在问世后迅猛发展,成为自动化技术的重要组成。
文章阐述了十人投票控制系统的PLC控制、自动计数、数码显示的一些基本思路和方法,介绍了关于PLC工作特点及运行原理,以及介绍了三菱可编程控制器系列的FX系列PLC控制器主要功能模块及应用。
7人投票表决器VHDL设计实验报告

实验二7人投票表决器VHDL设计一、实验目的1、设计7人投票表决器;2、学习组合电路的设计方法;3、学习设计的多种描述风格;4、学习仿真工具的使用,激励信号波形的生成(生成输入信号的所有可能的组合);二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明结构描述方式和行为描述方式设计7人投票表决器的原理。
(1)结构描述7人投票表决器由四个全加器组成,a,b,c,d,e,f,g代表7个投票人,pass表示是否通过。
7人投票表决器的结构体功能是利用component元件例化语句将四个全加器实体描述的独立器件,按照7人投票表决器内部逻辑原理图中的接线方式连接起来。
(2)行为描述用一个长度为7的数组作为输入,在结构体中定义一个中间变量来计算7位数组中“1”的个数,最后判断此变量是否大于等于4,如果是,则通过,否则不通过。
四、实验内容及要求利用QuartusII完成7人投票表决器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。
五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。
选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\two,填写工程名和顶层文件名称后,点击Next 按钮进行下一步。
②将全加器设计文件加入③选择目标芯片。
首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。
④选择仿真器和综合器类型。
点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。
毕业论文无线投票器的设计

教学单位信息工程系本科毕业论文(设计)题目无线投票器的设计学生姓名专业名称电子信息科学与技术指导教师2012年3月17日无线投票器的设计摘要:本设计以直流电压源为核心,STC89C52RC增强型单片机为主控制器。
单片机系统是无线投票器的核心,它通过软件的运行来控制整个系统的工作,从而完成设定的功能。
通过三个数字键盘来进行投票,在投票结束之后,经过编码的投票信息由NRF24L01无线模块发射出去。
在接收端,可由液晶屏LCD1602显示实际投票结果。
实际结果表明,本系统实际应用于投票领域。
关键词:无线;投票器;单片机;NRF24L01;STC89C52RCThe design of wireless voting deviceAbstract: In this design, the DC voltage source is the core, the enhanced MCU STC89C52RC is the master. MCU is the core of the wireless voting device, it controls the working of the whole system through the running of the software, so it could achieve the scheduled goal. We could cast a vote through three digital buttons, the voted message will be transmitted by the wireless module NRF24L01 after the vote ends. In the receiver module, the LCD screen will show the result of the vote. It is proved that this design apply to the area of actual voting.Keywords: Wireless; voting machine; MCU; NRF24L01; STC89C52RC目录1.引言 (1)2.设计要求及方案论证 (2)2.1 设计要求 (2)2.2 设计方案及论证 (2)2.2.1 控制模块方案及论证................... 错误!未定义书签。
10人投票机课程设计

10人投票机课程设计一、课程目标知识目标:1. 学生能够理解投票机的原理和功能,掌握其操作步骤。
2. 学生能够运用所学编程知识,设计并实现一个简易的10人投票系统。
3. 学生了解数据统计和结果显示的基本方法,并能运用到投票系统中。
技能目标:1. 学生能够运用所学编程语言,独立完成投票系统的代码编写和调试。
2. 学生能够通过小组合作,进行投票系统的设计与实施,提高团队协作能力。
3. 学生能够运用信息技术手段,解决实际问题,提高解决问题的能力。
情感态度价值观目标:1. 学生对编程产生兴趣,培养自主学习计算机技术的积极性。
2. 学生在投票过程中,培养公平、公正、公开的价值观。
3. 学生通过小组合作,学会尊重他人意见,提高沟通表达能力。
4. 学生在课程实践中,体会科技对社会发展的作用,增强社会责任感。
课程性质:本课程为信息技术课程,结合编程、数据统计和团队协作等知识点,以实践操作为主,培养学生的动手能力和创新能力。
学生特点:本课程面向五年级学生,学生已具备一定的编程基础和信息技术素养,对新鲜事物充满好奇,喜欢动手实践。
教学要求:教师应关注学生的个体差异,提供有针对性的指导,鼓励学生主动参与,充分调动学生的积极性和创造性,确保课程目标的实现。
同时,注重分解课程目标为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容本课程教学内容主要包括以下三个方面:1. 投票机原理与操作:- 投票机的功能与作用- 投票机的操作步骤与注意事项- 投票数据的统计与展示方法教学大纲:第1课时,介绍投票机原理与功能;第2课时,实操练习投票机的操作步骤。
2. 编程设计:- 编程语言基础(如Scratch、Python等)- 编程实现投票系统的功能- 编程调试与优化教学大纲:第3课时,复习编程语言基础;第4课时,编写投票系统代码;第5课时,调试与优化代码。
3. 团队协作与项目实施:- 小组分工与合作- 投票系统的设计与实施- 项目展示与评价教学大纲:第6课时,分组并讨论项目设计;第7课时,实施投票系统项目;第8课时,展示项目成果并进行评价。
十人投票机设计

目录一、十人投票机控制的设计要求 (2)1、控制要求 (3)2、设计任务 (3)二、系统硬件设计 (4)1、PLC定义 (4)2、PLC的特点 (4)3、PLC的发展 (5)4、PLC的结构及各部分的作用 (6)5、PLC的工作原理 (7)6、PLC控制系统设计的一般步骤: (8)三、PLC的硬件配置与软件设计 (8)1、系统的硬件配置及组成原理 (8)(1)I/O点的分配 (8)(2)系统硬件电路图 (9)2、系统软件设计 (10)(1)控制程序设计思路 (10)(2)程序流程图 (10)(3)时序图 (10)(4)详细仪器清单 (10)(5)程序梯形图 (11)(6)程序指令表 (15)四、总结与心得体会 (17)一、十人投票机控制的设计要求1、控制要求(1)运行PLC(2)当PLC运行时,[X12:计票开关]=OFF,则不执行投票计算。
(3)当PLC运行时,再扳Y.[X12:计票开关]=ON,开始计时,此时需在5s内完成投票(赞成与不赞成),请扳动X0~Xl 1(如赞成:X:ON,若反对X:OFF。
(4)[X12]=ON,5s后立即显示投票结果,若显示灯Y0亮:表示不通过(即反对人数较多)Y1亮:表示同票(即赞成与反对人数相等)Y2亮:表示通过(即赞成人数较多)(5)当投票结果显示后,就不再接受任何信息,即使再次投票显示灯仍不会改变其结果。
(6)X13为归零按钮.在x13归零后,所有的显示灯熄灭,此时可再次进行投票:2、设计任务根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识,进行十人投票机运行原理设计、硬件系统设计、软件系统设计、创新设计,提高理论知识工程应用能力、系统调试能力、分析问题与解决问题的能力。
主要内容包括:(1)设计出硬件系统的结构图、接线图、时序图等;(2)系统有启动、停止功能;(3)运用功能指令进行PLC控制程序设计,并有主程序、子程序和中断程序;(4)程序结构与控制功能自行创新设计;(5)进行系统调试,实现十人投票机的控制要求。
少儿编程Scratch课件初级10投票统计器PPT

Scratch 初级 -10
单击此处添加副标题内容
目录
知识回顾 投票统计器 项目演练 单击此处添加正文内容 反思总结
知识回顾
还记得上次课我们学了什么吗?
接下来,让我们来看看今天要完成什么Scratch项目吧
今天我们的项目是 一个生活中经常用
到的小工具
投票统计器
让我们开始学习吧
正字计数法
成果展示
跟大家分享你的小成果吧!
06
记得将作品保存 到U盘中
中国人在计数时,常常用笔画“正”字,一个“正”字有 五画,代表5,两个“正”字就是10,以此类推。这个计 数方法简便易懂,很受中国人欢迎。那么,到底是谁最先 开始使用这个聪明的方法的呢?据说这种方法最初是戏院 司事们记“水牌账”用的。
清末民初,戏园(俗称茶园)是人们日常生活中重要的娱 乐场所ห้องสมุดไป่ตู้每天戏园里要迎来很多观众。可是那时候还没有 门票这种东西,戏园就安排“案目”(就是现在所说的服 务员)在戏院门口招徕看客,领满五位入座,司事(记账 先生)便在大水牌(类似黑板)上写出一个“正”字,并 标明某案目的名字。座席前设有八仙桌,看客可边品茶边 看戏。稍后由案目负责计数、收费。到散场结账时准确无 误。
这个方法随着戏院实行门票制而被废弃了,但是作为一种 简明、易懂、方便的记数法,一直流行于民间。到现在很 多中国人在统计选票、清点财物等时候,都还保持着用 “正”字计数的习惯。
项目演练
你想有属于自己的项目吗?
今天是我们要用 Scratch做投票统计 器。
项目演示
先来看一下老师的投票统计器吧!
项目分析
第一步:添加舞台和角色,投票初始化。 第二步:票数显示(图章)。 第三步:投票效果。 第四步:投票结束显示最终结果。
单片机课程设计报告投票统计器

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
单片机接口设计投票统计器

单片机接口课程设计报告专业:电气工程及自动化班级:学号:姓名:指导教师:完成日期:2016年9月7日投票统计器设计一、设计目的及内容(一)设计目的(1)以单片机为基础设计投票统计器。
(2)熟练掌握各个接口芯片(如STC89C52、74HC573)的功能特性及接口方法。
(3) 熟练掌握C语言汇编过程及keil C汇编环境。
(4)熟练掌握Altium Designer绘图和protues仿真。
(二)设计内容(1)每个人有同意、不同意、弃权三个按键,单片机分别统计三种键的人数,并用动态显示方式显示投票结果。
(2)每人仅能投一次票,再投则无效。
(3)可显示同意、不同意、弃权的数量。
(4)设有复位键。
二、设计方案(一)设计思想通过单片机功能来实现投票统计功能,投票时有三个数码管,分别代表同意、否决、弃权。
(二)设计说明本实验设计6个独立按键,两个按键为一组,分为同意、否决两按键,当两键都不按时为弃权,每当有人投票时,4位数码管的显示会同时刷新,从左到右依次显示同意人数、否决人数、弃权人数。
每人只能投票一次,再投则无效。
按下复位键后可重新投票统计,循环使用。
接通电源后,如果没有按键,则数码管显示弃权人数即投票总人数,显示为003。
当投票结束后,最左端数码管显示投同意票的人数,第二个数码管显示投反对票的人数,最右端数码管显示投弃权票的人数,三个数字之和等于投票总人数3。
如果某组有两个键按下时,先按下的有效。
按下复位键后,数码管重新显示为003,即可以重新投票。
三、硬件系统设计(一)系统结构框图投票统计器主要由按键、89C52单片机、数码管等组成,系统由按键来确定同意、否决,89C52单片机处理数据并将要显示数据发送,数码管显示数据。
系统结构图如图。
(二)STC89C52单片机介绍其工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
用户应用程序空间4K ROM。
片上集成512字节RAM。
投票统计器

接口技术课程设计《微机原理》课程设计报告书报告书课题名投票统计器班级姓名学号指导教师日期 2015.6.29 ~ 2015.7.2目录1、设计内容 (3)2、设计原理及方案 (3)3、汇编源程序代码 (6)4、实施结果 (8)5、课程设计体会 (9)6、参考文献 (10)投票统计器1.设计内容此设计是通过并行接口芯片8255A和8086计算机的硬件连接,来设计能够完投票、计票统计和票数显示功能的投票统计器的。
2.设计原理及方案(1)设计原理在8086最小工作模式下,连接一块8255A芯片。
在 8255A的C端口连接8个按钮,按钮按下表示支持,灯亮,按钮不按便是反对,灯不亮,从8255A的C端口输入投票结果,经8086运算统计出结果;在 8255A的A端口连接一块7段LED数码管,将输出结果通过数码管显示出来。
(2)硬件电路(3)流程图3.汇编源程序代码A_PORT EQU 200H ;可通过计算获得B_PORT EQU 202HC_PORT EQU 204HCT_PORT EQU 206HDATA SEGMENTTAB DB 7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;初始化DSMOV AL,89H ;8255A方式控制字10001001B=89H MOV DX,CT_PORTOUT DX,AL ;将控制字写到控制口上AGAIN:MOV DX,C_PORTIN AL,DX ;将C端口内容读到AL寄存器中MOV CX,08H ;计数初始值8LOOP1: ;统计AL中“1”的个数TEST AL,01HJZ NEXTINC BX ;将”1”的个数放到BX寄存器中NEXT:SAR AL,1LOOP LOOP1DISPLAY:MOV AL,BL ;将寄存器BX的内容放到AL寄存器中MOV BX,OFFSET TAB ;取TAB的偏移地址放到BX寄存器中XLAT ;AL←AL+BXMOV DX,A_PORTOUT DX,AL ;将AL寄存器里的内容写到A端口CALL DELAYJMP AGAINDELAY:PUSH CX ;现场保护MOV CX,2801 ;内循环次数,大小由单位时间确定DELAY1:NOPLOOP DELAY1POP CX ;现场恢复RETCODE ENDSEND START4.实施结果(1)4票赞同(2)全票赞同5.课程设计体会经过一个星期的微机原理的课程设计,感觉自己在微机原理这一块学到的知识更加地牢固了。
基于51单片机的班级投票器设计

大学生课外科技活动设计报告班级投票器的设计成员:专业:指导教师:年月日班级投票器的设计【摘要】班级投票器是针对班级而设计的由单片机最小系统构成的现场投票计数器系统,该系统可用于班级人数少于99人,职位候选人为2人的投票选举。
投票器是由Keil uVision2进行编程通过下载hex文件加载到芯片AT89S52中,投票期间由两个按键来控制投票的有效性,并通过数码管显示来完成工作。
【关键词】单片机投票器班级选举AT89s52【前言】在大学生活中,时常发生选举投票事件。
目前班级职位选举普遍采用纸条的方式进行投票。
具体过程如下:首先,在黑板上列出要选举的职位及职位候选人的名字;接着班级成员在纸条上写上候选人名字,折叠好放在指定位置(如讲台桌上);再来全部投票完毕后,进行读票判断票的有效性,同时统计票数;最后,票数统计完成后先判断本次选举是否有效,确定本次选举有效后,宣布最高得票者为该职位的当选者。
这样的选举缺点是比较费时,效率不高。
针对纸条选举比较费时,效率不高的问题,采用设计投票器来改善这一情况。
本设计是基于单片机设计的适用于班级选举的投票器,是由Keil uVision2进行编程通过下载hex文件加载到芯片AT89S52中,投票期间由两个按键来控制投票的有效性,并通过数码管显示来完成工作。
本次设计的班级投票器可以有效地控制投票及选举的有效性,节省了大部分时间,整体上提高了班级选举的效率。
一、总体方案设计:运用单片机最小系统做成投票器,通过2个按键来实现对班级中两个人选举的投票情况进行分别记数,每投一票在相应的按键上按键一次,最后得出两人的投票结果。
二、方案设计:1.总体流程图2.模块设计有信号计数器加1调用延时去抖动返回判断三、系统调试:电路图四、系统功能及指标分析:记数初始值计数中间值程序清单:org 0000hljmp mainorg 1000hmain: mov r0,#0loop: jnb p0.0,loop1 acall delay1loop3: acall delay1inc r0loop1: mov a,r0mov b,#10div abmov r2,amov r3,bloop2: mov a,r2acall biaosetb p0.6clr p0.7acall delayclr p0.6mov a,r3acall biaosetb p0.7acall delayclr p0.7sjmp loop4loop8:jb p0.0,loop3 sjmp looploop4:jnb p0.1,loop5 acall delay1loop6:acall delay1inc r1loop5:mov a,r1mov b,#10div abmov r4,amov r5,bloop7:mov a,r4acall biaosetb p0.3clr p0.4acall delayclr p0.3mov a,r5acall biaosetb p0.4acall delayclr p0.4jb p0.1,loop6sjmp loop8biao: mov dptr,#tablemovc a,@a+dptrmov p1,aretdelay: mov r7,#250d1: mov r6,#10djnz r6,$djnz r7,d1retdelay1:mov r7,#250d2:mov r6,#200mov r5,#20djnz r6,$djnz r6,$djnz r7,d2rettable:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h, 80h,90hend五、心得体会:本次参加课外科技活动,学到了很多关于单片机方面的知识,比如数码管的共阴共阳、Keil uVision2下用汇编语言编程、proteus仿真软件的使用、焊接电路板时应该注意的事项等等。
基于单片机的投票计数器的设计

2 系统的软件设计
软件部分的设计比较困难, 也是整个设计 下时,该 组的三个按键自动封锁(再按无效),这一部分通 过键盘子程序来实现。而且要求单片机对统 计 的 结 果 ( “ 同 意 ”、“ 不 同 意 ”、“ 弃 权 ”
科技咨询导报 Science and Technology Consulting Herald
31
科技咨询导报 2007 NO.28 Science and Technology Consulting Herald
的个数) 通过对 M A X 7 2 1 9 的编程来实现。所 以,整个软件设计部分分为:主程序、初始化子 程序、键盘显示主程序、显示子程序等几部分。 2.1 系统主流程
在 分 区 菜 单 栏 中 选 择“ 重 建 分 区 表 ”, Disk Genius 就开始搜索并重建分区。搜索过 程可以采用“自动”或“交互”两种方式
进行。自动方式可以保留发现的每一个分区, 适用于大多数情况。而交互方式对发现的每 一个分区都给出提示, 由用户选择是否保留。 当自动方式重建的分区表不正确时, 可以采用 交互方式重新搜索。当然, 如果我们熟悉分 区各参数的意义, 也可以手工修改分区参数。 修复硬盘分区表后, 我们就可以用上述方法使 用 EasyRecovery 进行数据恢复。 4.5 硬盘逻辑锁锁定故障的修复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告书
课题名称 投票统计器设计
姓 名 王文祺 学 号 20117299 院、系、部 电气工程系 专 业 电气工程及其自动化
指导教师
李磊
2014年6月26日
※※※※※※※※※ ※※ ※※ ※※ ※
※※※※※※※※
2011级
单片机课程设计
投票统计器设计
一、设计目的
(1)以单片机为基础设计投票统计器。
(2) 熟练掌握各个接口芯片(如STC89C52、74HC573)的功能特性及接口方法。
(3) 熟练掌握C语言汇编过程及keil C汇编环境。
(4)熟练掌握protel 99 se绘图,并熟练掌握各引脚焊接技术。
二、设计要求
(1)每个人有同意、不同意、弃权三个按键,单片机分别统计三种键的人数,并用动态显示方式显示投票结果。
(2)每人仅能投一次票,再投则无效。
(3)可显示同意、不同意、弃权的数量。
(4)设有复位键。
(5)要求做出实物。
三、硬件电路设计
3.1系统结构框图
投票统计器主要由按键、89C52单片机、数码管等组成,系统由按键来确定同意、否决,89C52单片机处理数据并将要显示数据发送,数码管显示数据。
系统结构图如图3-1。
按键输入
(同意)
89C52单片机数码管
按键输入
(否决)
图3-1 系统结构图
3.2 STC89C52单片机介绍
图3-2 STC89C52控制电路图
其工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
用户应用程序空间4K ROM。
片上集成512字节RAM。
它利用ISP技术写入程序,开发方便。
内部RSM用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM用以存放程序、一些原始数据和表格;I/O口为四个8位并行I/O口,既可以做输入,也可以做输出。
复位电路的原理是单片机RST引脚接收2us以上的电平信号只要保证电容充放电时间大于2us,即可实现复位。
按键按下系统复位,是当按键按下使电容处于短路电路中,电阻两端电压增加,使单片机又接收一个高电平,实现复位。
89C52单片机总共40个引脚,电源用2个(VCC和GND),晶振用2个晶振频率为12Mhz,复位1个,EA/Vpp用1个,29引脚PSEN和30引脚ALE位外扩数据/程序存储器时才有特定用处,还有四个P端口,每个端口各有8个引脚。
其控制电路如图3-2所示。
3.3按键扫描电路
本实验设计6个独立按键,两个按键为一组,分为同意、否决两按键,当两键都不按时为弃权,按键一端常接低电平,当按键按下时为低电平。
按键电路如图3-3所示。
图3-3 按键电路
3.4数码管显示电路
数码管显示电路如图3-4所示。
图3-4 数码管显示电路
4位一体数码管要正常显示,就要通过驱动电路来驱动各个段码及位码,从而准确显示数字及数字位置,本设计通过两个74HC573锁存器来实现控制,一个控制数码管位码一个控制数码管段码,从而来实现数码管的准确显示。
3.5系统电路图设计
硬件如下:80C51主芯片一个、数码管锁存器573两个、4位显示的数码管一个、6独立键盘、晶振电路、复位电路。
电路图如图3-5。
使用说明:
首先接通电源,按下开关键,电源指示灯亮方可使用。
本实验设计6个独立按键,两个按键为一组,分为同意、否决两按键,当两键都不按时为弃权,每当有人投票时,4位数码管的显示会同时刷新,从左到右依次显示弃权人数、否决人数、同意人数。
每人只能投票一次,再投则无效。
按下复位键后可重新投票统计,循环使用。
接通电源后,如果没有按键,则数码管显示弃权人数即投票总人数,显示为300。
当投票结束后,最左端数码管显示投弃权票的人数,第二个数码管显示投反对票的人数,最右端数码管显示投同意票的人数,三个数字之和等于投票总人数3。
如果某组有两个键按下时,先按下的有效。
按下复位键后,数码管重新显示为300,即可以重新投票。
系统电路图如图3-5所示:
图3-5 系统电路图
四、程序流程图设计
程序流程图如图4-1所示,其设计流程分析为,通过判断按键是否为低电平来确定按键是否按下。
以按键1(同意)按键2(否决)为例,判断按键1是否按下,当按键1按下后,判断按键1标志num4是否为0,如果为0,则同意人数num1加1,同时标志位num4加1,弃权人数num3减1。
然后单片机送出相应显示数据,同理当按键2按下时,判断按键2标志位num4是否为0,如果为0,则否决人数num2加1,标志位num4加1,弃权人数num3减1。
单片机送出相应显示数据。
按键1,、按键2为同一标志位num4,则为一组当按下其中一个时即投票后标志位num4加1,则按键1、按键2锁定再按无效。
图4-1 程序流程图
五、程序设计
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit whel=P2^0; //设定各引脚
sbit wudl=P2^1;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
sbit key5=P3^4;
sbit key6=P3^5;
unsigned char const
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值01234567
unsigned char code seg[]={0xfe,0xfd,0xfb}; //显示位码值
uchar num1=0;uchar num2=0;uchar num3=3;uchar num4=0;uchar num5=0;uchar num6=0; //定义各变量
void delay(uint z)
for (x=z; x>0; x--)
for (y=110; y>0; y--);
}
void main() //主函数
{while(1)
{
if (key1==0) //判断按键1是否按下
{if(num4==0) //判断按键1标志位是否为0 {
{ num1++;
num4++;
num3--;
}
}
}
if (key3==0)
{if (num5==0)
{ num1++;
num5++;
num3--;
}
}
if(key5==0)
{if (num6==0)
{num1++;
num6++;
num3--;
}
}
if(key2==0)
{if (num4==0)
{num2++;
num4++;
num3--;
}
}
if(key4==0)
{ if (num5==0)
{num2++;
num5++;
num3--;
}
}
{ if (num6==0)
{num2++;
num6++;
num3--;
}
}
delay(5);
whel=1; //开放位码锁存器
wudl=0; //锁闭段码锁存器
P1=seg[0]; //送位码
whel=0; //锁闭位码锁存器
wudl=1; //开放段码锁存器
P1=table[num1]; //送段码
delay(10);
whel=1;
wudl=0;
P1=seg[1];
whel=0;
wudl=1;
P1=table[num2];
delay(10);
whel=1;
wudl=0;
P1=seg[2];
whel=0;
wudl=1;
P1=table[num3];
}
}
end;
六、设计总结
通过本次课程设计,实现了投票统计器的基本功能,本投票统计器通过6个独立按键,两个按键为一组一共3人投票,实现每人只能投票一次,同时数码管显示同意人数,否决人数,弃权人数。
当投票结束时,通过复位键来重新复位循环使用。
在焊接过程中要极为注意芯片引脚之间不要串联,在焊接74HC573过程中应注意不要将芯片插于底座上焊接。
在焊接数码管过程中要注意分清数码管引脚功能千万不可焊接错误。
在焊接4脚开关过程中应注意分清常开常闭引脚千万不可焊接错误,焊接过程中注意分清主板正反。
通过C语言汇编掌握了keil
C软件及下载软件的使用方法。
通过本次课程设计实现了投票统计器,在设计过程中遇到了许多困难难,但是通过询问老师和同学的帮助和自己的努力,克服了困难,通过这次课程设计使我不仅对单片机有了更深的了解而且在焊接技术方面有了较大的提高。
七、参考文献
[1] 高峰.单片微型计算机原理与接口技术.科学出版社,2007
[2] 潘永雄.电子线路CAD实用教程.西安电子科技大学社,2001
[3] 朱定华.单片微机原理与应用.北京交通大学出版社,2007
[4] 彭介华.电子技术课程设计指导.高等教育出版社,1997。