数电—七人多路表决器

数电—七人多路表决器
数电—七人多路表决器

数字电子技术课程设计课题名称:用VHDL文本输入法设计一个7人多数表决电路

班级:08电本班

学号:200892130149

姓名:张家瑞

指导老师:胡亚琦

一.课题

题目:多数表决电路的设计之二

要求:用VHDL文本输入法设计一个7人多数表决电路

难度:10分

二.摘要

所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

流程图:

根据电路状态转换表→设计数值输出→运用门电路设计电路图→仿真运行→实现七人多数表决器的设计

三.关键词

七人,多数,表决器,全加器,半加器。

四.设计要求

(1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。

(2)根据电路状态转换图,用门电路设计出七人表决器。

(3)运用半加器,全加器,实现表决器的设计。

(4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。

五.设计步骤

(1)电路状态转换图:

根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。

(2)半加器电路设计:

(3)全加器电路设计:

(4)七人表决器电路设计:

六.设计源程序与电路图绘制(1)或门的设计源程序:

--or2_1.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2_1 IS

PORT(A,B:IN STD_LOGIC;

C:OUT STD_LOGIC);

END ENTITY or2_1; ARCHITECTURE art1 OF or2_1 IS BEGIN

C<=A Or B;

END ARCHITECTURE art1;

(2)半加器的设计源程序:

--h_adder.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS

PORT(A,B:IN STD_LOGIC;

SO,CO:OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE art2 OF h_adder IS BEGIN

SO<=NOT(A XOR(NOT B));

CO<=A AND B;

END ARCHITECTURE art2;

电路图:

(3)全加器的设计源代码:

--f_adder.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS

PORT(AIN,BIN,CIN:IN STD_LOGIC;

SUM,COUT:OUT STD_LOGIC); END ENTITY f_adder;

ARCHITECTURE art3 OF f_adder IS COMPONENT h_adder IS

PORT(A,B:IN STD_LOGIC;

SO,CO:OUT STD_LOGIC);

END COMPONENT h_adder; COMPONENT or2_1 IS

PORT(A,B:IN STD_LOGIC;

C:OUT STD_LOGIC);

END COMPONENT or2_1;

SIGNAL S1,S2,S3:STD_LOGIC;

BEGIN

U1:h_adder PORT MAP(A=>AIN,B=>BIN,

CO=>S1,SO=>S2);

U2:h_adder PORT MAP(A=>S2,B=>CIN,

CO=>S3,SO=>SUM); U3:or2_1 PORT MAP(A=>S1,B=>S3,

C=>COUT);

END ARCHITECTURE art3;

电路图:

(4)七人表决器设计电路:

七.电路仿真仿真波形图:

引脚锁定:

八.实验结果

通过muxplus2对七人表决器进行设计,完成实验要求,得到实验结果,实现了七人表决的效果,4人或4人以上通过则亮绿灯,否则亮红灯。试验成功。

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

七人表决器实验报告

七人表决器 一.实验目的 1.掌握Quartus II软件安装,熟悉Quartus II操作环境。 2.初步了解VHDL语言。 3.学习使用行为级描述方法设计电路。 二.实验原理 七人表决器 使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。 七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。 当采用行为级描述的时候,采用一个变量记载选举通过的总人数。当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。 二.实验内容 1.安装Quartus II软件,熟悉Quartus II操作环境。 2.使用VHDL实现上述描述。 3.波形仿真。 4.生成元件以及RTL 四.设计提示 1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。 2.了解变量和信号的区别。 3.了解进程内外语句的顺序和并行执行的区别。 4.设计文本的端口可如下:

《VHDL 语言与数字逻辑电路设计》实验指导书 - 2 – 设计文本: LIBRARY IEEE; library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY vote7 IS PORT( men:in std_logic_vector(6 downto 0); LedPass,LedFail:OUT std_logic ); END vote7; ARCHITECTURE behave OF vote7 IS signal pass:std_logic; BEGIN PROCESS(men) variable temp:std_logic_vector(2 downto 0); BEGIN temp:="000"; for i in 0 to 6 loop if(men(i)='1')then temp:=temp+1; else temp:=temp+0; end if; end loop; pass<=temp(2); END PROCESS; LedPass<='1' WHEN pass='1'ELSE '0'; LedFail<='1' WHEN pass='0'ELSE '0'; --库和程序包 --实体 --结构体 --结束

数电实验二:简易计算器(实验报告)

数电实验2实验报告 1、设计修改方案 (1)加入编码器连接4选一数据选择器,控制进行运算的种类 (2)修改了输出端数据选择器的程序,使得当计算器没有任何输入时,结果显示保持为0,并且利用芯片自身的灭零管脚,让显示结果中,当十位为零时,十 位的零不显示。

2、实验数据及分析 (1)修改后电路图(附后) (2)仿真波形 设置输入2个4位二进制数为0110(十进制6)和0010(十进制2),计算方式控制SW[3:0]设为0111,即模拟除法操作,加入时钟信号。 ①模拟除法波形: 可以看到十位(商)的数码管显示中,1、2、3、4、7段亮,显示为数字3,而个位(余数)显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6除2商3余0。满足计算要求。 ②模拟乘法波形:(SW[3:0]设为1011,其他输入同上)

可以看到个位的数码管显示中,1、4、5、6段亮,显示为C(化为十进制为12),而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6乘2等于0C,即等于12。当改变输入4和2是,显示结果为8,。满足计算要求。 ③模拟加法波形:(SW[3:0]设为1101,其他输入同上) 可以看到个位的数码管显示中,1、2、3、4、5、6、7段全亮,显示为数字8,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6加2等于08,即等于8。满足计算要求。 ④模拟减法波形:(SW[3:0]设为1110,其他输入同上) 可以看到个位的数码管显示中,2、3、6、7段亮,显示为数字3,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6减2等于03,即等于3。满足计算要求。 从上面加减乘除四种功能运算的波形仿真可以看出,本实验设计能够正确完成对输入数字的上述四种运算。满足题目要求。

单片机七人表决器

一.方案设计 1.设计题目:七人表决器。 2.实训要求 利用AT89S51单片机设计并制作会议表决计票器电路。具体要求如下: 1、可供57个人进行表决,每个人有一个“同意”和一个“反对”按键,表决时两个键先按下的一个有效,若再按另一个键将清楚前一次按键的效能;每次表决每个按键只能是第一次按的有效,多按的次数无效,除非前一次按键的效能已被清楚或没有生效。 2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。 3、在实现上述功能的基础上增加“同意”数和“反对”数的显示。 二.硬件电路设计和原理。 1.硬件设计思路: 设计题目为5—7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个I/O口,因为在单片机内部P1和P2都有上啦电阻,而P0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把P1和P2口选为按键同意和反对的输入端,因为表决考试和结束要

利用主持人按键来控制,我采用外部中断0和外部中断一来控制其开始和结束;设计要求中需要四张灯,分别为2个红灯,一个黄灯,一个绿灯,其中三个灯用于输出显示,可用单片机的I/O口,另外一个红灯作为电源灯来显示,判断是否通电,因为P1口和P2口用做按键的同意和反对,把P2剩余的I/O口与三个灯连接,分别连接在P2.3,P2.4,P2.5口,因为P0口是低电平有效所以我的P0口与LED现实器相连用于显示反对与同意的人数的多少,采用动态显示的方式,为了保证两个显示器不再相同时间显示相同的数字,所以LED显示器的公共端受另外一组信号的控制,采用延时的方式让它们分别显示出来。 2.元件参数确定: 设计中需要四盏灯,分别为两个红灯,一个绿灯,一个黄灯,P0口的输出端输出高电平一般为5伏左右,最大电流为五毫安,因此必须加上限流电阻,我选用的是470欧的电阻,然后将单片机的最小系统加入此次的电路中。 3.元件清单: 14个开关用于7人同意与反对按键,另外两个开关用做控制投票开始和结束的总开关。 电容:用于单片机的最小系统。 发光二极管:用于表示投票开始与结束,和最后同意与反对票数的对比情况。 电阻:用于限流。

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0~65535)进行+、-、×运算,计算结果限制在范围-65535~65535,超过范围在数码管最低位显示E; 2) 16个按键的分配可以自行指定; 【扩展要求】 1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535~999999时,显示E; 2)增加÷的功能,有小数显示; 【实验程序】 ;该程序实现了基本要求及扩展要求的2) DSEG SEGMENT BUFF DB 6 DUP() LED_7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39 H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 COUNT DB 0 FLAG DB 0 ;是否有键按下的标志 NEGTI DB 0 ;是否为负数的标志 NUM DW 0 NUM1 DW 0 NUM2 DW 0 TAG DB 0 ;运算种类标志 POINT DB 0 ;除法结果添加小数点标志 RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV DX,300CH ;8255初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV CX,6 NEXT: MOV BYTE PTR[SI],16 INC SI LOOP NEXT CALL SHOW ;将显示缓冲区中内容在LED上一次显示出来 MOV COUNT,0 ;记按下了几位数 NEXT2: CALL SHOW CALL SCAN ;判断是否有按键按下 CMP FLAG,1 JZ OK JMP NEXT2 OK: MOV FLAG,0 MOV POINT,0 MOV DX,3000H ;判断是哪一个键被按下 MOV AL,0FFH OUT DX,AL MOV CH,-1 ;CH用于保存当前被扫描的列号MOV CL,07FH XL: ROL CL,1 INC CH MOV DX,3000H MOV AL,CL OUT DX,AL MOV DX,3008H

七人表决器

学院名称电子技术基础课程设计报告 七人表决器电路设计报告 学生姓名__ _____ 学号 专业 指导教师 系别__ _ 年月日

一、评语(根据学生答辩情况及其报告质量综合评定)。 二、评分 指导教师签字: 年月日

摘要 本次设计的七人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。表决时,与会的有关人员只要按动各自表决器上“赞成”“反对”“弃权”的某一按钮,相应灯的明亮即显示出表决结果。在七人表决器中七个人分别用手指拨动开关 SW1、SW2、SW3、SW4、SW5、SW6、SW7 来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方)不同意就把自己的指拨开关拨到低电平(下方)。表决结果用 LED(高电平亮)显示,如果决议通过那么发光二极管会发亮;如果不通过那么发光二极管就不亮;如果对某个决议有任意四到七人同意,那么此决议通过,发光二极管就会发亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,发光二极管就不会亮。根据设计与制作的主要内容按照设计题目,以及所学的组合逻辑所学的知识及数字电路和嵌入式的知识完成七人表决器的设计,使之能够满足表决时少数服从多数的表决规则,根据逻辑真值表和逻辑表达式完成表决功能。首先根据七人多数表决电路列出真值表,进行化简,写出逻辑表达式,画出逻辑图。

目录 1 概述 (1) 2 系统总体方案及硬件设计 (2) 2.1电路的总体原理框图 (2) 2.2元件选择 (2) 3 各模块设计 (3) 3.1投票按键部分电路设计 (3) 3.2输入转换部分及控制电路 (3) 3.3票数统计部分及控制电路 (4) 3.4票据分析与结果显示分 (5) 3.5总体电路 (7) 4 软件仿真 (8) 5 课程设计体会 (9) 参考文献(按照标准格式) (10)

数字逻辑电路课程课程设计--简易加减计算器

数字逻辑电路课程课程设计--简易加减计算器

摘要 本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式来显示最后的计算结果。此次设计电路的完成主要是利用简单的数字电路和电路逻辑运算来进行的。简易加减计算器电路主要是对数据的输入与显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。 在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”。而输入的数据将通过显示译码管以十进制的形式显示出来。由于输入二进制的位数较多,我们采用个位十位分别输入的方式来简化电路。

加减运算电路则主要通过加法器来实现的。设计电路时,我们将个位和个位、十位和十位分别接入一片加法器。在进行加法运算时我们所选择的加法器是完全符合要求的,但是在进行减法运算时加法器就不能满足我们的设计要求了。因此我们将减法转换为加法进行运算,运算时采用补码的形式。在进行减法时通过异或门将减数的原码全部转换为补码,输入加法器中进行相加。最后将进位信号加到十位的运算电路上就实现了加减法的运算电路。 在显示电路中,由加法器输出的数据是二进制码。这些码可能表示超过十的数字,所以显示译码管就不能正确的显示出数字了。此时要将二进制转化成BCD码,再将BCD码送到显示译码管中就可以将计算所得的数字显示出来了。

概述 1.1设计题目: 简易加减计算器 1.2设计任务和要求: 1)用于两位以下十进制数的加减运算。 2)以合适的方式显示输入数据及计算结果。 1.3设计方案比较: 方案一:输入十进制的数字,再通过编码器对十进制的数字进行编码,输出二进制的数据。运用显示译码器对输入的数字以十进制的形式进行显示。在进行加减计算的时候将二进制数字运用数模转换,然后再进行相加减。然后将这些模拟信号再次转换成数字信号转换成数字信号,再将数字信号输入到显示译码管中来显示数剧。

七人表决器

EDA技术课程设计设计题目:七人表决器设计 院系:电气信息学院 专业年级:电子信息工程2010级 学生姓名:XXX 学号:XXXXXXX 指导教师:XXXXX 时间:2013年1月13日

用VHDL 设计七人表决器 一、实验目的 1、熟悉 VHDL 的编程。 2、熟悉七人表决器的工作原理。 3、进一步了解实验系统的硬件结构。 二、实验原理 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则 LED 被点亮;否则,如果表决的结果为反对,则 LED 不会被点亮。同时,数码管上显示通过的票数。 三、实验内容 本实验就是利用实验系统中的拨动开关模块和LED模 块以及数码管模块来实现一个简单的七人表决器的功能。 拨动开关模块中的K1~K7表示七个人,当拨动开关输入为 ‘1’时,表示对应的人投同意票,否则当拨动开关输入为

‘0’时,表示对应的人投反对票;LED 模块中 LED1 表示七人表决的结果,当 LED1 点亮时,表示此行为通过表决;否则当 LED1 熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。 四、硬件系统组成框图 五、VHDL程序实现 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity bjq7 is

七人表决器实验

3.3实验三七人表决器设计 3.3.1实验目的 1、掌握用QuartusII软件设计基本数字系统流程及注意事项。 2、进一步熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法。 3、掌握分层设计的方法和注意事项 4、在实验报告中,总结数字系统设计步骤及注意事项。 3.3.2实验内容 基于QuartusII软件及VHDL语言实现七人表决器。当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。用7个开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。 本实验4学时。 3.3.3实验仪器 ZY11EDA13BE型实验箱。 3.3.4实验原理 分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。 一、建立项目 (1)新建文件夹。路径及文件名中不可出现汉字。 (2)新建项目。一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层文件,只有顶层文件名可以且必须与项目名相同。项目取名为bjq7。 (3)选择芯片

二、建立文件 首先,建立各个VHDL功能模块。 1.投票计数模块。 (1)新建VHDL文件 编辑VHDL程序。投票计数模块输入为七个电平开关input,输出为同意的人数agree,反对的人数disagree,是否通过指示灯y,程序清单如下: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity BJQ is port(input:in std_logic_vector(6downto0);七个输入开关agree:out std_logic_vector(3downto0);同意的人数 disagree:out std_logic_vector(3downto0);不同意的人数 y:out std_logic);是否通过标志 end; architecture one of BJQ is begin process(input) variable cnt:integer range0to7; variable cnt0:integer range0to7; begin cnt:=0; for i in6downto0loop if input(i)='1'then cnt:=cnt+1; end if; end loop; cnt0:=7-cnt; if cnt>3then y<='0'; else y<='1'; end if; case cnt is when0=>agree<="0000"; when1=>agree<="0001"; when2=>agree<="0010"; when3=>agree<="0011"; when4=>agree<="0100"; when5=>agree<="0101"; when6=>agree<="0110"; when7=>agree<="0111"; when others=>agree<="0000"; end case; case cnt0is when0=>disagree<="0000"; when1=>disagree<="0001"; when2=>disagree<="0010"; when3=>disagree<="0011"; when4=>disagree<="0100"; when5=>disagree<="0101"; when6=>disagree<="0110"; when7=>disagree<="0111";

简易计算器设计实验报告

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器。如:5+3*4/8=4。 1.2 实验基本要求: (1)实现最大输入两位十进制数字的四则运算(加减乘除)。 (2)能够实现多次连算(无优先级,从左到右计算结果)。 如:12+34*56-78/90+9=36 (3)最大长度以数码管最大个数为限,溢出报警。 二.实验设计方案 (1)用QuartusII的原理图输入来完成系统的顶层设计。 (2)用VHDL编写以及直接拖模块来各功能模块。 (3)通过2个脉冲分别实现个位数和十位数的输入。 (4)通过选择每次的输出数值,将输出值反馈到运算输入端 (4)通过除法运算实现十六进制到十进制的转换输出。 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路。(从略) 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块,通过两个脉冲分别对两个数码管进行输入控制,再通过相应运算模块将两个独立数据转化成两位十进制数字。 2.运算模块 原理:用VHDL创建模块,四种运算同步运行,通过按键加、减、乘、除选择输出对应的计算结果,当按键等号来时,将所得结果反馈给运算模块输入端。具体实现代码见附录二。 3.输出模块 原理:用VHDL创建模块,通过按键等号来控制显示运算对象还是运算结果,当等号按下时,输出计算结果,否则显示当前输入的数据,并且通过除法模块将十六进制转化为十进制。当输出结果溢出是LED0亮,同时数码管显示都为零。部分实现见附录二。 五实验调试 输入数据12,再按加法键,输入第二个数字25,按等号键,数码管显示37;按灭加法、等号键,输入第二个数据2,依次按等号键,减法键,数码管显示35;同上,按灭减法键、等号键,输入第三个数据7,依次按等号键,除法键,数码管显示5;按灭除法键、等号键,输入第四个数据99,依次按等号键,乘法键,数码管显示495,按灭乘法键、等号键,当前显示为99,依次按等号键、乘法键,数码管显示49005,同上进行若干次之后,结果溢出,LED0亮,同时数码管显示都为零。当输出为负数时,LED0灯变亮,同时数码管显示都为零。六实验结论 本实验基本实现了计算器的加减乘法运算功能,但是存在一个突出的缺陷,就是当输出结果时,必须先按等号键导通数据反馈,再按运算键选择输出结果。这与实际应用的计算器存在很大的差距。但是,本设计可以通过等号键实现运算对象和运算结果之间的切换。

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

七人表决器课程设计报告

课程设计 课程名称硬件描述语言与EDA技术 题目名称硬件描述语言与EDA技术实践学生学院材料与能源 专业班级 11微电子学(1)班 学号 学生姓名 指导教师 2014年6月27日

广东工业大学课程设计任务书 题目名称硬件描述语言与EDA技术实践 学生学院材料与能源学院 专业班级11微电子学(1)班 姓名 学号 一、课程设计的内容与要求 1.系统功能分析,分模块层次化设计; 2.实现系统功能的方案设计; 3.编写各功能模块VHDL语言程序; 4.对各功能模块进行编译、综合、仿真和验证; 5.顶层文件设计,可用VHDL语言设计,也可以用原理图设计; 6.整个系统进行编译、综合、仿真和验证; 7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证; 8.按所布置的题目要求,每一位学生独立完成全过程。 二、课程设计应完成的工作 1.所要求设计内容的全部工作; 2.按设计指导书要求提交一份报告书; 3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书

三、课程设计进程安排 序号设计各阶段内容地点起止日期 1 布置设计题目和要求;收集相关资料。工3-317或宿舍 6.23 2 方案分析与确定;编写VHDL源程序。工3-317或宿舍 6.24 3 编写VHDL源程序;编译、综合、仿真、 定时分析、适配。 工3-317或宿舍 6.25 4 下载和硬件验证;验收。工3-317 6.26 5 下载和硬件验证;验收;撰写报告工3-317 6.27 6 7 8 四、应收集的资料及主要参考文献 1.陈先朝,硬件描述语言与EDA技术实践指导书,2014年3月 2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5 月 3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社, 2009年4月 4.刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双 剑合璧,国防工业出版社,2009年 5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月 发出任务书日期: 2014年6月 23日指导教师签名: 计划完成日期: 2014年6月 27日基层教学单位责任人签章: 主管院长签章:

实验2 简易计算器

实验2 说明:从下列2个实验题目中任选一个。 1、简易计算器(栈) (1)问题描述 通过模拟一个简单的计算器来进行+、-、*、/、%、^(乘方)等运算,从键盘上输入一算术表达式(一般为中缀表达式),计算出表达式的值。 (2)基本要求 编写程序,要求可对一实数算术表达式进行简单的数学运算。 可以识别带加减乘除等运算符及括号的中缀表达式。 a. 按照四则运算规则,求表达式的值。一般规则如下: 1)先括号内,再括号外。 2)先乘方,再乘除,后加减。 b. 同级运算从左到右顺序执行。 c.如表达式有误,应给出相应的提示信息。 (3)数据结构与算法分析 解决表达式求值问题的方法之一是:第一步将中缀表达式转换为后缀表达式,第二步按后缀表达式求值。解题时可以结合字符串的相关知识。 (4)测试 4.5+5+6.5*1.06=16.39 2、停车场

(1)问题描述 一个汽车厂要将生产的汽车停放到停车场,设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序依次排序,若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆要离开时,在其之后开入的车辆必须先退出停车场让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆停放在停车场在其离开停车场时必须按其停留的时间长短交纳费用。按上述要求试编写一停车场管理模拟程序。 (2)具体要求 该程序要求能够记录车辆的基本信息(如:汽车编号)、车辆到达时间、车辆所在位置、车辆离开时间等。为了便于叙述车辆所在的位置,将狭长通道称“停车位”,将门外的便道称“便道”。具体要求如下: a. 车辆进入停车场管理功能:记录进入停车场的车辆的汽车编号、进入的时间、进入的车位,并将结果显示在屏幕上。 b. 车辆离开停车场管理功能:记录离开停车场车辆的车牌号、离开时间,同时修改相关车辆的状态。 c. 查询停车场停车状态功能:在屏幕上显示停车位及便道上各位置的状态。 (3)数据结构与算法分析 使用一个顺序栈来描述停车位,为每个停车位分配一个固定的编号,如设置停车位1、停车位2、停车位3……。进入停车场的车要顺序停放。当

四人表决器电路设计

名称:综合训练项目一题目:四人表决器电路设计 专业: 班级: 姓名: 学号: 辽宁工程技术大学 《数字电子技术》 综合训练项目一成绩评定表

《综合训练项目一》任务书 一、综合训练题目 四人表决器电路设计 二、目的和要求 1、目的:会运用不同类型门电路或中、小规模集成电路,设计简单组合电路,学习仿真软件应用,学习word文档制作。 2、要求:设计一个四人表决器,按少数服从多数规则,三人或三人以上同意,则通过。利用绿、红两种颜色灯代表是否通过,并用数码管显示同意人数;用门电路或中规模集成电路译码器、数选器、加法器等完成控制任务;有研究方案比较,能够应用相关仿真软件绘制逻辑图,用仿真软件验证电路功能。 成果形式:每小组提交综合训练报告一份;现场或视频答辩;有能力的同学制作实物。 上交时间:在讲授完第四章中的组合电路设计知识点后的一周之内提交。 三、训练计划 项目综合训练课下1周,课上1节。 第1天:针对选题查资料,确定整体设计方案; 第2~3天:学习Multisim仿真软件,熟悉Visio绘图软件。 第4~5天:论证电路设计,利用仿真软件仿真设计电路,观察能否达到设计要求;; 第6~7天:按格式要求编写整理设计报告。 四、设计要求 1. 每名同学按照自己分配的任务要求完成训练。 2. 绘图统一采用Visio2010。 指导教师: 日期:2017 年月 日

四人表决器在我们生活中应用非常广泛,比如表决等。掌握四人表决器的工作原理,对我们理解和掌握表决器具有重要意义。 本次的课程设计就是利用数字电子技术的知识做一个四人表决器。在mulitisim软件中,利用集成电路,通过四片74LS183和一片74LS48芯片连接到LED数码管上,一个显示赞成人数;再通过与门和非门,实现通过与否的判决。经过仿真,符合四人表决的功能。 关键词:四人表决器;74LS183;74LS84;LED数码管

数电实验 计数器电路

实验5 计数器实验电路 1实验目的 1.1掌握计数器的工作原理及特性 1.2采用触发器及集成计数器构成任意进制计数器 2实验仪器与元器件 2.1实验仪器 数字电路实验箱、数字万用表、示波器 2.2芯片 74LS00/74ls04 74LS48 74LS161 共阴数码管电位器电阻等其它元件若干 3预习要求 3.1 预习计数器相关内容。 3.2 作出预习报告。 4实验原理 计数器是用来实现计数功能的时序部件,它能够计脉冲数,还可以实现定时、分频、产生节拍脉冲和脉冲序列等。计数器的种类很多,按时钟脉冲输入方式的不同,可以分为同步计数器和异步计数器。按进位体制不同,可以分二进制和非二进制计数器。按计数的增减趋势,可分加法或减法计数器等。目前,无论是TTL还是CMOC集成电路,都有品种齐全的中规模集成计数电路。作为使用者可以借助器件手册提供的功能表和工作波形以及引脚分布图,就能正确地使用这些器件。 4.1异步计数器

异步计数器是指计数脉冲不是直接加到所有触发器的时钟脉冲端。这样, 当一个计数脉冲作用后,计数器中某些触发器的状态发生变化,而其它触发器保持原来状态,即计数器中各触发器状态的更新与输入时钟脉冲异步。 在设计模为整数N 的异步计数器时,如果K N 2=,则为二进制计数器,例 如设计一个4位二进制计数器,1624==N ,K=4,用4个触发器级联即可。如果N 不等于2的整次幂,则是非二进制计数器,这时,可将N 写N=1*2N K 其中1N 为奇数,这样由模为K 2和模为1N 的两个计算器级联而成,其中模为1N 的计数器通常用反馈的方法构成.例如设计一个异步十进制计数器,可令 K 2=12,1N =5,就是用一个模2计数器和一个模5计数器级联.图7.1所示集成 接在各位触发器的时钟脉冲输入端,当计数脉冲来到时,应该翻转的触发器在同一时刻翻转。因此,同步计数器的工作速度比异步计数器快。同步计数器的设计可按“状态表+卡诺图+写出各触发器控制输入端的逻辑方程”,进行,然后画出逻辑电路。也可以根据状态表中各触发器输出的变化规律,直接写出各触发器控制输入端的逻辑方程,最后画出逻辑电路图。例如设计一个同步十进制加法计数器,其状态转换表如表7.1所示。采用双JK 触发器74LS76,通过分析状态转换表,可得到各触发器控制输入端的逻辑方程如下。

七人表决器的设计

硬 件 课 程 设 计 课题名称:七人多数表决电路的设计

七人多数表决电路的设计 课题: 题目:七人多数表决电路的设计 要求:用VHDL文本输入法设计一个7人多数表决电路 难度:10分 摘要: 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED灯表示,若表决的结果为同意,则LED灯亮;否则,如果表决的结果为反对,则LED不会亮。 关键词: 七人,多数,表决器,全加器,半加器。 设计要求 (1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。 (2)根据电路状态转换图,用门电路设计出七人表决器。 (3)运用半加器,全加器,实现表决器的设计。 (4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。 设计步骤: 表决结果与多数人意见相同。 设A1,A1,A2,A3,A4,A5,A6,A7为七个人(输入逻辑变量),赞成为1,不赞成为0;

green和red为表决结果(输出逻辑变量),多数赞成green为1,red为0,否则,green为0,red为1,. 其真值表如表(1)所示。 (1)电路状态转换图: 表(1) 从真值表发现,A1 A2 A3 A4 A5 A6 A7中有四个或四个以上表示赞同,则绿灯亮,否则红灯亮。 根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。 (2)半加器电路设计:

c#实验报告_简易计算器

重庆邮电大学移通学院 C#课程设计

一、实验目的: 构造一个类似Windows自带的计算器一样的简易计算器,能够连续进行加、减、乘、除四则整数运算,并能随时清除计算结果进行下一次计算。 二、具体实验步骤: 1、添加编辑框对应的变量m_Display 2、添加运算符类型变量 char CompuType; //用于存储运算符类型 CString FirstInput; //用于保存运算符前面的输入值 三、实验内容 设计的基本要求:能正确输入数据,能实现加,减,乘,除等算术运算,能实现简单的三角运算,运行结果能正确显示,可以清除数据等。 1、要点分析:这是一个简单的对话窗体设计,涉及button,editbox,static text,radio button,group box等控件,主要影响事件为BN_CLICKED 2、程序源代码: using System; using System.Collections.Generic; using https://www.360docs.net/doc/e08411189.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Study { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int opMain = 0; // 运算类型,其中1(加法) 2(减法) 3(乘法) 4(除法) private double mainNum1 = 0; // 存储第一个数 private double mainNum2 = 0; // 存储第二个数 private bool isSecond = false; // 用来判断输入的是第一个还是第二个数 private bool isDone = false; // 用来判断是否按了等于按钮 private bool isDecimal = false; // 用来判断是否有小数 private bool isNokeydown = false;// 用来判断是否没输入第二个数而按了"="号键

四人表决器电路设计资料

{ 名称:综合训练项目一题目:四人表决器电路设计 ? 专业: 班级: 姓名: 学号: ` 辽宁工程技术大学 《数字电子技术》 * 综合训练项目一成绩评定表

《综合训练项目一》任务书 一、综合训练题目 四人表决器电路设计 二、目的和要求 1、目的:会运用不同类型门电路或中、小规模集成电路,设计简单组合电路,学习仿真软件应用,学习word文档制作。 2、要求:设计一个四人表决器,按少数服从多数规则,三人或三人以上同意,则通过。利用绿、红两种颜色灯代表是否通过,并用数码管显示同意人数;用门电路或中规模集成电路译码器、数选器、加法器等完成控制任务;有研究方案比较,能够应用相关仿真软件绘制逻辑图,用仿真软件验证电路功能。 成果形式:每小组提交综合训练报告一份;现场或视频答辩;有能力的同学制作实物。 上交时间:在讲授完第四章中的组合电路设计知识点后的一周之内提交。 三、训练计划 项目综合训练课下1周,课上1节。 第1天:针对选题查资料,确定整体设计方案; 第2~3天:学习Multisim仿真软件,熟悉Visio绘图软件。 第4~5天:论证电路设计,利用仿真软件仿真设计电路,观察能否达到设计要求;; 第6~7天:按格式要求编写整理设计报告。 四、设计要求 1. 每名同学按照自己分配的任务要求完成训练。 2. 绘图统一采用Visio2010。 指导教师: 日期:2017 年月 日

四人表决器在我们生活中应用非常广泛,比如表决等。掌握四人表决器的工作原理,对我们理解和掌握表决器具有重要意义。 本次的课程设计就是利用数字电子技术的知识做一个四人表决器。在mulitisim软件中,利用集成电路,通过四片74LS183和一片74LS48芯片连接到LED数码管上,一个显示赞成人数;再通过与门和非门,实现通过与否的判决。经过仿真,符合四人表决的功能。 关键词:四人表决器;74LS183;74LS84;LED数码管

实验报告(用DELPHI做一个简易计算器)

数据库实验报告 姓名: 学号: 专业: 院系:

实验二、用熟悉Delphi的开发环境,用Delphi设计一个简易的计算器 一、实验目的 1、练习Delphi中Edit组件和Button组件的使用方法。 2、能实现计算器的基本功能。 3、要求界面的设计具有个性化。 4、提交的程序前面要有分析,中间应有注释。 二、实验分析: 在设计的时候,首先考虑其“计算”功能的实现。可以通过编辑框edit的形式输入要操作的数据,然后通过选择button按键来选择运算方式。在设计时,我考虑了最基本的“加”“减”“乘”“除”运算,另外加入了“取倒数”以及“求平方”和“求立方”的操作。当然,这些操作都可以在“乘”“除”运算中实现,只是为了计算更而已。 二:实验步骤 1、实验代码: unit Unit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1=class(TForm) Label1:TLabel; Edit1:TEdit; Label2:TLabel; Edit2:TEdit; Label3:TLabel; Label4:TLabel; Edit3:TEdit; Button1:TButton; Button2:TButton; Button3:TButton; Button4:TButton; Button5:TButton; Button6:TButton; Button7:TButton; Label5:TLabel; Edit4:TEdit; Label6:TLabel; Label7:TLabel; Edit5:TEdit; Label8:TLabel; Label9:TLabel;

相关文档
最新文档