课程设计投票器设计说明书
c语言程序课程设计投票系统

c语言程序课程设计投票系统一、教学目标本节课的教学目标是使学生掌握C语言程序设计的基本知识,通过构建投票系统,让学生了解和掌握结构体、函数、文件操作等C语言的核心概念和编程技巧。
知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等;使学生理解结构体、文件操作在C语言中的运用。
技能目标:使学生能够运用C语言编写简单的程序;使学生能够运用结构体、函数、文件操作等知识编写中等难度的程序。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生的逻辑思维能力和问题解决能力。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等;结构体、文件操作在C语言中的应用;通过构建投票系统,使学生了解和掌握C语言的核心概念和编程技巧。
三、教学方法本节课采用讲授法、案例分析法、实验法等多种教学方法。
讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构等知识;案例分析法:通过分析实际案例,使学生了解和掌握结构体、文件操作在C语言中的应用;实验法:让学生动手编写程序,巩固所学知识,培养学生的实际编程能力。
四、教学资源教材:《C语言程序设计》;参考书:《C语言编程思想》、《C语言实践与应用》;多媒体资料:PPT课件、视频教程;实验设备:计算机、网络。
五、教学评估本节课的教学评估主要包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
2.作业:通过评估学生提交的作业,了解学生对C语言基本语法、数据类型、运算符、控制结构等知识的掌握情况。
3.实验报告:评估学生在实验过程中的编程能力和问题解决能力,以及对结构体、文件操作等知识的应用能力。
4.考试:设计合理的考试题目,全面考察学生对C语言核心概念和编程技巧的掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
在评估过程中,注重学生的个体差异,给予积极的反馈和指导,激发学生的学习兴趣和自信心。
课程设计投票器设计说明书

单片机课程设计说明书课题:班级投票显示器专业:测控技术与仪器班级:机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口。
五人表决器的设计说明

《数字与逻辑电路基础》课程设计——五人表决器的设计姓名:学号:2015学院:自动任课教师:目录................................................................... (2)引言 (3)摘要.............................................. 错误!未定义书签。
实验设计原理...................................... 错误!未定义书签。
实验步骤.......................................... 错误!未定义书签。
真值表 (4)卡诺图 (5)电路图 (7)Multisim仿真截图 (8)电路设计总结 (8)引言:现在火热的综艺节目都会请一些评委为参赛选手进行通过与否进行评判,最后给出通过与否的结果。
而评委进行表决时,都会有不同结果,此时,就需要一个多人表决器,而本次设计是为五人表决结果的输出,解决了对每一位评委结果的分析,直接给出最终通过与否的结果。
摘要:74HC153芯片是两个四选一数选器共用两个地址码,两个四选一输出端分别输出,两个使能端分别控制,且为低电平有效。
由于只有两个地址输入端,则需要构造第三个地址输入端,两四选一数选器分区工作。
实验设计原理分析:先用扩展法将74HC153设计构成三输入八选一数据选择器,再利用降维法实现五变量到三变量,最后加上适当的基础门电路即可实现五人多路表决器。
最后用Multisim进行仿真实验。
实验步骤如下:一.列出5人表决结果真值表。
二.由真值表画出卡诺图。
(E=0)(E=1)三.用降维图法,令x=E后降为四维变量A,B,C,D并且画出卡诺图如下。
四.令x=D降维写成3维卡诺图如下。
五.由上面的卡诺图结果取相应的原件:1.与门,或门,一个74HC153双四选一数据选择器,探针一个,五开关合一的S1(从上至下一次代表E D C B A),高低电平。
投票器设计说明书word版本

投票器设计说明书单片机课程设计说明书课题:班级投票显示器班级:机电101-4班姓名:刘洋指导老师:姜凤国同组成员:王仁、刘胜、赵强波、林巍烟台大学机电汽车工程学院目录前言 (3)第一章绪论 (4)1.1 概述 (4)1.2 设计目的 (4)1.3 设计任务和内容 (4)第二章总体设计及核心器件简介 (6)2.1 总体设计 (6)2.2 MCS-51单片机 (6)2.3 LED数码显示器 (10)2.4 发光二级管 (13)第三章投票显示系统电路设计与仿真 (14)3.1 投票显示系统总体功能实现 (14)3.2 系统流程图 (15)3.3 程序编写 (17)3.4 仿真与调试 (19)前言单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已渗透到各种嵌入式系统中。
毫不夸张地说:掌握单片机技术信息类学生就业的一个重要条件。
同时单片机技术又是一门实践性很强的学科。
课程设计教学环节的设计和实施,在很大程度上决定了我们对单片机的掌握程度。
为了更好的完成课程设计这一重要教学环节,我们采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。
首先在PC上利用Proteus软件自己搭建硬件电路,并利用系统提供的功能完成电路分析,系统调试和输出现实的硬件设计部分,同时在Keil软件中编制程序,进行相应的编译和仿真,完成系统的软件设计部分。
当系统的设计工作完成后,就可以在PC上看到最终的运行效果。
最后在通过Proteus设计PCB,在完成真正硬件的调试。
采用以上方案具有以下优势:有利于促进课程和教育改革,更有利于人才的培养;从经济性、可移植性、可推广性角度讲,建立这样的课程设计平台是非常有意义的,利用仿真系统,可以节约开发时间和开发成本,利用仿真系统具有很大的灵活性和可扩展性。
第一章绪论1.1 概述目前投票显示系统电路的应用可以说非常广泛,班级投票,公司竞选,文娱节目等许多不记名投票活动都经常会用到各式各样的投票器,虽然这些投票器外观和样式都有所不同,功能可能也有多有少,但他们的原理都大同小异。
表决器设计

一、设计目的1.本课程设计是在前导验证性认知实验基础上,进行更高层次的命题设计实验,要求学生在教师指导下独立查阅资料、设计、安装和调试特定功能的电子电路。
培养学生利用模拟、数字电路知识,解决电子线路中常见实际问题的能力,使学生积累实际电子制作经验,目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。
2.用已学过的知识和对数字电子技术的基本理论,基本概念,基本方法和单元电路,逻辑部件的深入认识,而拓宽思路,扩大视野,进一步巩固,扩充所学知识,提高分析问题和解决问题的能力。
二、设计要求1、用于把人一下会议表决,半数以上人同意通过。
2、应考虑弃权情况,有三人以上弃权,推迟会议再议。
3、根据表决情况显示“否决”“通过”“再议”字样,显示方式自己设计。
三电路的总体结构1、电路的总体原理框图2、工作原理工作原理如图:投票按键部分每人有三个按键,投票时按下相应的键就可以将相应的信号送入输入转换部分,输入转换部分主要由移位寄存器组成,它的作用是将投票时并行输入的数据串行输出,在控制电路的作用下,数据在这里逐个输出进入票数统计部分,这部分主要是由三个JK触发器组成的三位二进制计数器四、各部分电路设计方案一:1、投票按键部分电路2、输入转换部分及控制电路这部分电路由两个74LS194A组成,主要功能是将投票信号作为并行输入,然后在脉冲信号作用下串行输出,当S1=S0=1时为并行输入状态,这时为投票时间,当投票完以后,所有数据寄存在74LS194中,然后通过控制电路将S1置为0,这时电路工作在右移状态,74LS194A在脉冲信号作用下,存储的数据在每次脉冲到达上升沿时,右移一位,做有边的数据从74LS194(2)的Q3端口输出3、票数统计部分及控制电路这部分电路由三个JK触发器组成一个简易的三位二进制计数器,以及三个三台输出CMOS反相器组成的控制电路组成,主要功能是将74LS194A中输出的数据依次相加。
T端口接与74LS194A(2)的Q3输出端口每次脉冲信号到达上升沿时若Q3为0则保持,若Q3为1则翻转,脉冲信号与上图中74LS194A脉冲信号同步。
教学投票功能设计方案

一、背景随着互联网技术的不断发展,教育行业也在积极探索信息技术与教育教学的深度融合。
为了提高教学质量,激发学生的学习兴趣,我们设计了一套教学投票功能,旨在为学生提供一个参与教学评价的平台,同时帮助教师了解学生的学习需求,优化教学策略。
二、功能目标1. 提高学生参与度:通过投票功能,激发学生的学习兴趣,增强学生的主体意识,提高学生的参与度。
2. 优化教学策略:收集学生反馈,帮助教师了解学生的学习需求,及时调整教学方法和内容,提高教学质量。
3. 促进师生互动:为学生提供反馈渠道,增进师生之间的沟通,构建和谐的教学氛围。
三、功能设计1. 投票类型(1)课程满意度投票:针对每门课程,设置满意度投票,包括教学内容、教学方法、教师授课等方面。
(2)课堂表现投票:针对每堂课,设置课堂表现投票,包括出勤率、课堂互动、作业完成情况等方面。
(3)教师评价投票:针对每位教师,设置评价投票,包括教学态度、教学方法、教学效果等方面。
2. 投票流程(1)教师发起投票:教师根据教学需求,在平台发起相应的投票,设置投票期限。
(2)学生参与投票:学生通过登录平台,进入投票页面,根据自己的实际情况进行投票。
(3)投票结果统计:系统自动统计投票结果,生成投票报告,教师可查看。
3. 投票规则(1)匿名投票:为保证投票的真实性,投票采取匿名方式,保护学生隐私。
(2)投票次数限制:每位学生每天最多参与3次投票,防止恶意刷票。
(3)投票时间限制:投票有效期为24小时,过期自动作废。
四、功能实现1. 技术选型(1)前端:采用HTML5、CSS3、JavaScript等技术开发,实现投票界面的美观与交互性。
(2)后端:采用Java或Python等编程语言,结合MySQL或MongoDB等数据库,实现投票数据的存储与处理。
2. 系统架构(1)前端展示层:负责展示投票界面、处理用户交互。
(2)业务逻辑层:负责处理投票业务逻辑,如投票发起、投票统计等。
课程设计任务书“模拟投票系统设计”

沈阳工程学院微机原理及应用课程设计课程设计题目:模拟投票系统设计系别班级学生姓名学号指导教师职称起止日期:年月日起——至年月日止沈阳工程学院微机原理及应用课程设计任务书课程设计题目:模拟投票系统设计系别班级学生姓名学号指导教师职称课程设计进行地点:微机原理实验室(F106) 任务下达时间:年月日起止日期:年月日起——至年月日止教研室主任年月日批准一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
二、设计的原始资料及依据查阅可编程并行芯片8255、LED发光二级管等其他相关资料。
用简单的输入输出端口等硬件,结合实际投票过程进行模拟设计。
三、设计的主要内容及要求内容:利用微机原理实验箱,采用LED显示器显示得票数。
要求:(1)向上拨动开关表示“支持”,向下拨动开关表示“反对”(2)统计的票数显示在LED显示器上,不读票时LED数码管呈现霓虹灯状态。
四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
4人表决器课程设计

4 人表决器课程设计一、课程目标知识目标:1. 学生能理解4人表决器的原理和功能,掌握其电路组成及工作流程。
2. 学生能运用所学知识,设计并搭建简单的4人表决器电路。
3. 学生了解数字电路基础知识,掌握基本的逻辑门及其功能。
技能目标:1. 学生能运用所学知识,分析并解决4人表决器电路中可能出现的问题。
2. 学生能够熟练使用实验器材,进行电路搭建和调试。
3. 学生能通过小组合作,提高沟通协调能力和团队协作能力。
情感态度价值观目标:1. 学生对电子技术产生兴趣,培养探索精神和创新意识。
2. 学生认识到团队合作的重要性,树立团队协作的价值观。
3. 学生在实践过程中,体验成功的喜悦,增强自信心。
课程性质:本课程为电子技术实践课程,旨在让学生通过动手实践,掌握4人表决器的基本原理和搭建方法。
学生特点:五年级学生具备一定的逻辑思维能力和动手能力,对新鲜事物充满好奇心,但需引导激发学习兴趣。
教学要求:注重理论与实践相结合,以学生为主体,引导他们主动探究、合作学习,培养实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 数字电路基础知识:逻辑门的概念、种类及功能,重点讲解与门、或门和非门的工作原理。
2. 4人表决器原理:介绍4人表决器的功能,分析其电路原理,探讨如何实现多数人意见的表决结果。
3. 实践操作:指导学生使用面包板、逻辑门集成电路、开关、LED灯等实验器材,搭建4人表决器电路。
4. 教学案例:结合教材相关章节,分析实际生活中的表决器应用,如电梯控制系统、交通信号灯等。
5. 故障排查与调试:教授学生如何分析并解决电路搭建过程中可能出现的故障,提高动手解决问题的能力。
6. 小组合作:组织学生进行小组讨论和实践,培养团队合作精神,提高沟通协调能力。
教学内容安排和进度:第一课时:数字电路基础知识,介绍逻辑门及其功能。
第二课时:4人表决器原理,分析电路工作原理。
第三课时:实践操作,指导学生搭建4人表决器电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计说明书课题:班级投票显示器专业:测控技术与仪器班级:机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 系统流程图 (7)3.3 程序编写 (10)3.4 仿真与调试 (12)第四章总结和未来改进构想 (17)第一章设计任务和内容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 口。
当使用片外存储器及外扩I/O 口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O 口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置1。
·P1口 8位、准双向I/O 口,具有内部上拉电阻。
P1口是为用户准备的I/O 双向口。
在编程和校验时,可用作输入低8位复位电路I/O 口8051 单片机LED 数码管显示信号源时钟电路地址。
用作输入时,应先将输出锁存器置1。
·P2口 8位、准双向I/O 口,具有内部上拉电阻。
当使用外存储器或外扩I/O 口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
·P3口 8位、准双向I/O 口,具有内部上拉电阻。
P3口可作为普通I/O 口。
用作输入时,应先将输出锁存器置1。
在编程/校验时,P3口接收某些控制信号。
·RST 复位输入信号,高电平有效。
·EA/VPP 外部程序存储器访问允许信号EA.当EA 信号接地时,对ROM 的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA 接VCC 时,对ROM 的读操作从内部程序存储器开始,并可延续至外部程序存储器。
·PSEN 片外程序存储器读选通信号PSEN ,低电平有效。
在片外程序存储器取指期间,当PSEN 有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN 无效。
·低字节锁存信号ALE.在系统扩展时,ALE 的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
·XTAL1 片内振荡器反向放大器和时钟发生线路的输入端。
·XTAL2 片内振荡器反相放大器和时钟发生线路的输出端。
2.2.3时钟电路51系列单片机的时钟信号产生通常有两种方式,内部时钟方式和外部时钟方式 我们采用内部时钟方式,如图,引脚 XTAL 是片内振荡器反向放大器和时钟发生线路的输入端。
XTAL2是片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
XTAL 1XTAL 2GND C 1C 28XX5130pF 30pF2.2.4复位电路51系列单片机通常有上电复位和按键复位两种方式。
我们采用了最简单的一种上电复位及按键复位电路如图所示,上电后,由于电容充电,使RESET 持续一段时间的高电平,完成复位操作;当单片机处于运行中或死锁时,按下“复位”按钮,也可使单片机进入复位状态。
通常选择C=10~30uF, R=100~1000Ω。
2.2.5 数码管显示电路1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y41A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4abcde fgdpafbge74LS245dcdp1Y1 1Y2 1Y4 1Y3 2Y1 2Y2 2Y3 2Y41A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1,6 P1,71、数码管显示方式数码管有静态显示方式和动态显示方式,我们采用的共阴极七段数码管静态显示方式,如上图所示。
就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。
2、驱动电路74LS245芯片用作驱动的电路,用来驱动七段数码管,它是8路同相三态双向总线收发器,可双向传输数据,8051单片机的P0口总线负载达到或超过P最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平时有效,AB接高电平时A→B,低电平时B→A第三章程序设计与仿真3.1 投票显示系统总体功能实现利用单片机设计投票显示系统,应先掌握单片机的结构与功能,在设计中充分利用好单片机各管脚,并配合外部电路,坚持简单易懂,节约成本的原则来设计电路。
2.2 系统流程图为了简化程序的复杂度,使设计过程简单易懂,该系统将分成主程序和子程序设计,具体流程如下图。
NY开始单片机P1口全置1P1.1=0?数码管显示不变,并不清零执行投票子程序,判断是否有键按下并显示票数调用子程序YP1.1=0?Y轮次置1P1.2=0?YN票数累加1,并此按键不再影响数据变化模仿上面步骤顺序判断P1.3—P1.7口,并进行票数累加NP1.1=0?N退出投票子程序,但数据不清零结束3.3 程序编写按照上面流程图进行源程序编写,源程序如下:(1)主程序部分#include "reg51.h"#include"stdio.h"sfr p2=0xa0;sfr p1=0x90;sfr p0=0x80;sbit P11=P1^1; /*位定义*/ sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;Unsigned; chardis[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x00};/*定义字型表*/ unsigned char num,num2,num3,num4,num5,num6,num7;char nu=0;void scan();void disp() /*显示子程序*/ { num=num2+num3+num4+num5+num6+num7;p0=dis[num];p2=dis[nu];}void main(){ P1=0xff; /*对P1口进行初始化*/while(1) /*进入无限循环*/{if(!P11) /*判断总控开关,按下则执行以下程序*/{num=0;nu++;scan();} /*扫描按键,执行scan()子程序*/ else{num2=0;num3=0;num4=0;num5=0;num6=0;num7=0;}/*无按键输入则显示0*/}}void scan(){while(!P11) /*判断总控开关是否一直保持接通状态,接通则进行投票过程循环,否则不执行程序,即投票按键无效*/{ if(!P12){ num2=1;while(!P12);} /*对投票按键P1进行判断,按下则累加1并维持不变*/if(!P13){ num3=1;while(!P13);}if(!P14){ num4=1;while(!P14);}if(!P15){ num5=1;while(!P15);}if(!P16){ num6=1;while(!P16);}if(!P17){ num7=1;while(!P17);}disp();}} 子程序部分完成投票判断、票数累加工作。
3.4 仿真与调试将源程序输入进Keil软件中,保存为.hex文件并编译,无误后可以再烧进仿真软件Proteus ISIS文件中的单片机AT89C51中,方可运行仿真电路。
单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。
仿真过程如下1、接通总控开关,此时所有人投票有效,并可看见票数显示器显示“0”,轮次显示器显示“1”投票第一轮开始,进入投票阶段,如图2、任意按下一个投票按键如P3,此时票数显示器示数字变成“1”,轮次显示器“1”不变,如图3、按另一个P5,票数LED灯变成“2”,如图4、此时再次按下第一次按过的按键P3,显示器仍保持数字“2”,即完成每个按键只能投票一次的功能。
如图5、最后将总控开关断开,可看到显示器没有变化,可以继续显示投票结果,再次接通总控,可发现票数显示器又回到初始阶段“0”,轮次显示器显示“2”,即进入第二轮投票,如图6、若此后有4人投票,则票数显示器显示“4”,而轮次显示器“2”不变。
即票数完成清零并进入新一轮投票阶段,如图7、所有投票结束后按下轮次复位按钮,则所有显示器回复初始状态,仿真成功。
第四章总结和未来改进构想总结:通过本次课程设计不仅加强了对我们所学的单片机知识的认识,还掌握了Proteus电路图仿真软件和Keil编程软件等专业软件的应用。
通过实物制作,还很好的锻炼了我们的动手能力和团队合作的能力,在课设过程中,我们遇到了一些问题,比如仿真时P0口接的数码管不亮,经过我们的讨论和几次试验,我发现是上拉电阻阻值过大,我们及时改正,解决了这个问题。
还有在中期答辩时,我们忽略了驱动电路的问题,导致数码管显示电路出现错误,亮度不够,后来在老师的指导和我们对课本上的知识深入学习后修改了电路,解决了这一问题。
我觉得我们要扎实的掌握所学的知识的同时还要学会查资料,同时还要及时与老师交流,注重团队合作,这样才能把事情做得更好。