1、微机原理 课程设计报告题 目: 表决器的设计 学生姓名: 刘卫军 学 号: 201017010235 专业班级: 计科专业 10102班 同组姓名: 彭蛟龙 指导教师: 杨红杰 设计时间: 2013 年下学期第 17周 指导老师意见:评定成绩: 签名: 日期: 年 月 日 1目录目录 .11.设计目的和内容 .21.1 实验目的 .21.2 实验内容 .32.实验准备 .33.电路设计与比较 .44.设计原理 .54.1 设计流程图 .54.2 电路的总体原理框图 .74.3 硬件框架图 .74.4 表决器接口设计 .84.5.电路工作原理简述: .85.软件设计说明 .105.1 模块设计
2、.105.2 硬件设计流程图 .106. 接口设计 .116.1 8253 中断接口的设计 .116.1.1 8253 接口的工作流程 .116.1.2 试验箱连线简介 .126.1.3 芯片的引脚 .126.1.4 实验整体布线图 .136.2.1 8255 试验箱连线简介 .136.2.2 8255 引脚连线图 .147 程序清单 .158.心得体会 .219.参考文献 .2321.设计目的和内容1.1 实验目的本课程设计是在前导验证性认知实验基础上,进行更高层次的命题设计实验,要求学生在教师指导下独立查阅资料、设计、安装和调试特定功能的电子电路。培养学生利用模拟、数字电路知识,目的在于巩
3、固基础、注重设计、培养技能、追求创新、走向实用。用已学过的知识和对数字电子技术的基本理论,基本概念,基本方法和单元电路,逻辑部件的深入认识,而拓宽思路,扩大视野,进一步巩固,扩充所学知识,提高分析问题和解决问题的能力。提高自己的动手能力。1.2 实验内容(1)用于七人以下会议表决。半数以上人同意通过。(2)应考虑弃权情况,有三人以上弃权,推迟会议再议。(3)根据表决情况显示“否决” “通过” “再议”字样。显示方式自己设计32.实验准备根据七人表决器的原理,我们的准备过程如下:1.使用七个拨动开关(K1K7)作为输入变量来表示七个投票人,当拨动开关输入为1时,表示对应的人投同意票,否则当拨动开
4、关输入为0时,表示对应的人投反对票。2. 使用一个七段数码管来显示同意的票数。3. 使用七个 LED(LED2LED8)用来分别记录投票人的个人投票结果,当 LED 亮起时就表示对应的投票人同意,否则就表示不同意。4. 使用一个 LED(LED1)来表示最终的投票结果,当 LED1 亮起时表示表决通过,不亮时就表示表决不通过。5. 使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管的显示结果和 LED 的显示情况。6. 软件仿真成功后,通过专用的连接线再用硬件进行测试,并将硬件测试的结果以照片的形式做记录。43.电路设计与比较3.1 方案一 :用数据选择器分别将通过、否
5、决、弃权的高低电平进行选择,之后将七人的选择结果用 T触发器构成的同步二进制加法计数器进行累加。然后用数字比较器进行比较,如果弃权的票数大于等于 3,则输出为“再议”。如果弃权的票数小于 3且通过的票数大于 3,则显示为“通过”。其余的则显示为“否决”。3.2 方案二: 将七人的通过、否决票数用移位寄存器进行寄存,弃权的票数用另一组移位寄存器进行寄存,然后用 CLK脉冲信号使其移位寄存器进行右移,用 T触发器构成的同步二进制加法计数器进行累加,如果弃权的票数大于等于3,则输出为“再议”。如果弃权的票数小于 3且通过的票数大于 3,则显示为“通过”。其余的则显示为“否决”。3.3 方案对比 :方
6、案一用的数据选择器比较多而且反应速度较慢,方案二用器件较少,比较好一些。方案二:电路的总体结构54.设计原理4.1 设计流程图由下图可知,所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于 4人时,则认为同意;反之,当否决的票数大于或者等于 4 人时,则认为不同意。实验中用 7 个拨挡开关来表示七个人,当对应的拨挡开关输入为1时,表示此人同意;否则若拨挡开关输入为0时,则表示此人反对。表决的结果用一个 LED 表示,若表决的结果为同意,则 LED 被点亮;否则,
7、如果表决的结果6为反对,则 LED 不会被点亮。4.2 电路的总体原理框图投票按键控制电路输入转换结果显示控制电路票数统计票数分析图 2 总体原理图观众通过按键,来选择自己的投票结果,输入后,通过硬件方面电路的控制来进行转换和票数统计,然后分析票数,最后将结果显示出来。74.3 硬件框架图图 3硬件框架是由:电源系统,开关按钮,数码管显示,LED 显示,以及 EL-JY-2 来构成。其中 EL-JY-2 是设计中的重中之重。4.4 表决器接口设计表决器SetSet1xin0:6selsel1xout0:6xout00:6xout10:6xout20:6数码管显示电源系统 EL 教学实验箱EL-
8、JY-2电脑LED 显示开关按钮8图 4注释:set:选择是否记名set1:选择是否显示投票人数及比例xin0:6:表决输入,分别是七个拨动开关sel:输出指示是否记名投票sel1:输出指示是否显示投票人数及比例xout0:6:译码用数码管输出表决是否通过xout00:6:译码用数码管输出同意的人数(set1=1)xout10:6:译码用数码管输出不同意同意的人数(set1=1)xout20:6:译码用七个 LED输出记名结果4.5.电路工作原理简述:该电路是基于硬件电路,应用汇编语言来设计出其工作流程,硬件电路是用软件程序来检测表决器的开始按键是否被按下,如果开始键已按下,则利用软件程序来检
9、测用于表决的按键是否被按下以及按下的按键是否有效,然后检测结束键是否被按下,如果按下则表决结束,并且显示最终的表决结果。硬件电路只能够用于表征表决是否开始以及每个人按下的是同意按键还是反对按键。工作流程:当主持人按下开始表决的开始按键(在电路中用接在外部中断0上的按键来表示开始按键)后,七个人才开始表决,七个人分别按下同意按9键或是反对按键,剩余的事情由软件来处理分析最终统计得到“同意”的人数和“反对”的人数,当主持按下结束按键后(在电路中用外部中断 1上所接的按键来表示结束按键) ,软件中用外部中断 1来表示结束(采用中断的方式) ,在中断程序中比较“同意”的人数与“反对”的人数的大小。当“同意”的人数大于“反对”的人数时,应用软件程序点亮绿灯;当“同意”的人数小于“反对”的人数时,应用软件程序点亮红灯;当“同意”的人数等于“反对”的人数时,则应用软件程序将红灯与绿灯同时点亮。5.软件设计说明5.1 模块设计初始化模块 :对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中。检测开始按键:检测开始按键是否被按下,按下则开始执行循环检测同意