北邮数电实验报告

北邮数电实验报告

北邮数电实验报告

一、引言

数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。

二、实验目的

本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。

三、实验原理

1. 二进制加法器

二进制加法器是一种用于计算二进制数相加的数字电路。它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。

2. 逻辑门

逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。常见的逻辑门有与门、或门、非门、异或门等。在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。

四、实验步骤

1. 设计4位二进制加法器的电路图

根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。首

先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和

E0分别为最低位。然后,我们需要使用与门和异或门来实现加法器的功能。通

过逻辑运算,我们可以得到每一位的和以及进位。最后,将每一位的和连接起来,即可得到最终的结果。

2. 搭建电路

根据电路图,我们可以开始搭建实验电路。首先,将所需的逻辑门和触发器连

接起来,形成一个完整的电路。然后,将所需的输入信号和电源连接到电路上。最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。

3. 进行实验测试

在搭建好电路后,我们可以进行实验测试。首先,将两个4位二进制数的输入

信号连接到电路上。然后,通过观察输出信号,判断电路是否正确计算了两个

二进制数的相加结果。如果输出信号与预期结果一致,说明电路设计和搭建成功。

五、实验结果与分析

在进行实验测试后,我们可以得到实验结果。通过观察输出信号,我们可以判

断电路是否正确计算了两个二进制数的相加结果。如果输出信号与预期结果一致,说明电路设计和搭建成功。如果输出信号与预期结果不一致,说明电路存

在问题,需要进一步检查和调试。

六、实验总结

通过本次实验,我们深入了解了数字电路的基本原理和工作方式。通过设计和

搭建一个4位二进制加法器,我们掌握了数字电路的设计和搭建方法。通过实

验测试,我们可以验证电路的正确性,并对电路进行进一步优化和改进。

总之,本次实验对于我们理解数字电路的基本原理和工作方式具有重要意义。通过实践操作,我们不仅巩固了理论知识,还培养了实际动手能力。希望今后能够继续深入学习和研究数字电路,为电子信息技术的发展做出贡献。

北邮数电实验报告

数字电路与逻辑设计实验 实 验 报 告 学生姓名: 班级: 班内序号: 学号: 日期: 2015 / 5 / 21

一,实验名称: 实验一:半加器与全加器 实验任务要求: (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 (2)用(1)中半加器和逻辑门设计实验全加器,仿真验证其功能,并下载到实验板测试。 (3)用3线——8线译码器(74LS138)和逻辑门实现函数F=CBA+CBA+CBA+CBA,仿真验证其功能,并下载到实验板测试。 实验二:(1)数码管译码器(第七章实验2(2)) (2)8421 码转余3 码(第七章实验3(2)) (3)奇校验器(第七章实验4(2)) 实验任务要求: (1)用VHDL语言设计一个数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。 (2)用VHDL语言设计一个8421 码转余3 码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3)用VHDL语言设计一个奇校验器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 实验三:(1)8421 十进制计数器(第七章实验8(2)) (2)分频器(第七章实验11(1)) (3)将(1)、(2)和数码管译码器3 个电路进行链接,并下载到实验板显示计数结果。 实验任务要求: (1)用VHDL语言设计一个带异步复位的8421 十进制计数器,仿真验证其功能,并下载到实验板测试。要求用按键设定输入信号,发光二极管显示输出信号。 (2)用VHDL语言设计一个分频系数为12,分频输出信号占空比为50%的分频器,仿真验证其功能。 (3)用VHDL语言设计一个数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。 实验四:数码管动态扫描控制器 实验任务要求: 用VHDL语言设计一个数码管动态扫描控制器,仿真验证其功能,并下载到实验板测试。7段数码管显示输出信号。

北京邮电大学数电实验报告

北京邮电大学 数字电路与逻辑设计实验 发光二极管走马灯的电路设计与实现实验报告 学院:信息与通信工程学院 班级:27 姓名:付莹 学号: 班内序号:23

【实验目的】 (1)进一步了解时序电路描述方法; (2)熟悉状态机的设计方法。 【实验所用仪器及元器件】 (1)计算机; (2)直流稳压电源; (3)数字系统与逻辑设计实验开发板。 【实验任务要求】 设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。 (1)单点移动模式:一个点在8个发光二极管上来回的亮 (2)幕布式:从中间两个点,同时向两边依次点亮直到全亮,然后再向中间点灭,依次往复。 【实验设计思路及过程】 (1)设计思路 实验要求有两个,一个是单点移动模式,一个是幕布式。通过CASE-WHEN 语句实现走马灯的变化。分别定义一个8个变量的数据类型 和一个13变量的数据类型,表示一个周期内的灯的变化,并设计一个变 量在两种状态间进行切换。此时,需要把所有状态罗列到case-when中 去。 (2)VHDL代码 LIBRARY IEEE; USE ABC IS PORT( A,CLK,RESET:IN STD_LOGIC; DENG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ABC; ARCHITECTURE A OF ABC IS TYPE STATE_TEMP is(s0,s1,s2,s3,s4,s5,s6,s7);

TYPE STATE_TEMP1 is(s0,s1,s2,s3,s4,s5,s6,s7,s00,s01,s02,s03,s04,s05); signal STATE:STATE_TEMP; signal STATE1:STATE_TEMP1; BEGIN PROCESS(CLK,RESET) BEGIN IF RESET='1' THEN DENG<="00000000"; ELSIF(CLK'EVENT AND CLK='0')THEN IF A='0'THEN --KAIMUSHI CASE STATE1 IS WHEN s0 => STATE1<=s1;DENG<=""; WHEN s1 => STATE1<=s2;DENG<="01000000"; WHEN s2 => STATE1<=s3;DENG<="00100000"; WHEN s3 => STATE1<=s4;DENG<="00010000"; WHEN s4 => STATE1<=s5;DENG<="00001000"; WHEN s5 => STATE1<=s6;DENG<="00000100"; WHEN s6 => STATE1<=s7;DENG<="00000010"; WHEN s7 =>STATE1<=s00;DENG<="00000001"; WHEN s00=>STATE1<=s01;DENG<="00000010"; WHEN s01=>STATE1<=s02;DENG<="00000100"; WHEN s02=>STATE1<=s03;DENG<="00001000"; WHEN s03=>STATE1<=s04;DENG<="00010000"; WHEN s04=>STATE1<=s05;DENG<="00100000"; WHEN s05=>STATE1<=s0;DENG <="01000000"; END CASE; ELSE CASE STATE IS WHEN s0 => STATE<=s1;DENG<="00011000"; WHEN s1 => STATE<=s2;DENG<="00111100"; WHEN s2 => STATE<=s3;DENG<="01111110"; WHEN s3 => STATE<=s4;DENG<=""; WHEN s4 => STATE<=s5;DENG<="01111110"; WHEN s5 => STATE<=s6;DENG<="00111100"; WHEN s6 => STATE<=s7;DENG<="00011000"; WHEN s7 => STATE<=s0;DENG<="00000000"; END CASE; END IF; END IF; END PROCESS; END A; 【仿真波形及分析】

数电实验报告-贪吃蛇-北邮

1 / 13简易贪食蛇游戏机 学院:信息与通信工程 专业: 班级: 姓名: 学号: 班内序号:

简易贪食蛇游戏机 一.设计课题的任务要求 基本任务: 用一个 8×8 点阵做为基本显示屏,4 个连续移动的的发光点表示一条蛇,用任意 出现的一个亮点表示老鼠,用4 个排成一条线的发光点表示“墙”,用四个按键控制蛇的 运动方向,完成贪食蛇游戏,蛇撞“墙”、边或者游戏时间到,则游戏结束。 1. 老鼠出现的地方是随机的,在某个地点出现的时间是5 秒钟,如果5 秒钟之内没 有被吃掉,它就会在其它地方出现; 2. 用数码管显示得分情况和游戏的剩余时间,每吃掉一只老鼠就加一分; 提高要求: 1. 游戏时间和速度可以手动设置。 2. 增加游戏难度或自拟其它功能。 二.系统设计 1.设计思路 当复位键置为1时, 8*8点阵也初始化为全不亮,每来一个时钟脉冲就对8*8点阵进行一次扫描,并依次点亮四个蛇身点、一个老鼠点、四个墙点,由于扫描频率远远超出人眼所能分辨的范围,故人眼看来蛇身是连续的。在数码管上显示得分与倒计时情况。 用四个按键分别控制蛇的运动方向“上下左右”,每次按键时通过和蛇原来的运动方向进行比较来控制蛇接下来的运动方向。当蛇撞墙、出界、游戏时间到时游戏结束,点阵全亮。每当蛇吃到一个老鼠时则自动加一分并重设老鼠位置。老鼠存活5秒钟时重设老鼠位置。用M序列发生器实现老鼠位置的随机变化。 2.总体框架图: 复位开关方向输入按键3.逻辑划分框图

4.

6.分块电路设计 ⑴点阵显示模块 此模块采用频率为1Mhz的时钟clk3。 每来一个时钟就对整个8*8点阵全部扫描一次,当某个点的行为低电平,列为高电平时被点亮。由于蛇身有4个移动的点,墙有4个固定的点以及一个老鼠的亮点,那么一共有9个点需要在8*8点阵上显示。所以我将时钟用point分成9个周期,每个周期扫描一个点。clk3频率很高,虽然是逐点扫描,但由于视觉暂留我们看到的是9个点同时亮。 当复位信号clear置为1时,点阵全不亮。当结束信号over置为1时,点阵全亮。 ⑵数码管显示模块 当一个数码管要稳定显示需要频率不小于50hz,总共4个数码管,需要采用500hz 的时钟clk2. 用cat信号对数码管进行片选,用seven信号储存7个管脚的电平。共有4个数字需要显示,用数组shownum储存分数与游戏时间。用state变量将时钟clk2分成4个周期,每个周期显示state对应的shounum(state)。复位信号clear置为1时,数码管全不亮。 ⑶控制器 倒记时和老鼠5秒换位置要分频出1赫兹的一个clk1。并且1赫兹的频率十分适合蛇的移动,所以我将clk1信号作为了蛇移动的触发信号。 复位信号clear=1将蛇的位置、方向、老鼠位置、墙的位置、游戏时间、分数等初始化。 ①蛇身的移动。用4个点表示蛇,从蛇尾开始,依次等于前一个蛇身点坐标。 ②蛇头的移动 按照状态转移图编写程序。实际编写时我将对出界情况的判断加了进去。 给定dir时,若出界,游戏结束。若否,当蛇头方向direction不和输入值dir 正好相反时,蛇头步进,将dir的值赋给蛇头当前方向direction;当蛇头方向 direction和输入值dir正好相反时,若蛇头出界,游戏结束,若不出界,蛇头按 照原来的direction方向步进。 ③重设老鼠位置 设置一个重设老鼠标志setrat。当老鼠存活时间满5s或蛇吃到老鼠时,将setrat 标志置为1,否则为0.当setrat=1时,用M序列发生器随机重设老鼠位置。当重 设后的老鼠和墙的位置重合时,修改老鼠位置。 ⑷分频器和外界输入方向寄存器 EPM1270T144C5数电实验开发板的时钟clk频率为50Mhz。控制器需要一个频率为1hz的时钟clk1,数码管显示需要一个频率为500hz的时钟clk2,点阵显示需要一个频率为1Mhz的时钟clk3.由于游戏结束时只有数码管需要保持显示结束时的时间和分数,所以当over置为1时,clk1和clk3的分频器停止,只有clk2的分频器继续工作。 外界输入的方向用key表示,key值为“1000”、“0100”、“0010”、“0001”时分别表示上、下、左、右。将输入的方向值赋给dir。dir设置为两位二进制变量:“00” 表示“上”,“01”表示“下”,“10”表示“左”,“11”表示“右”。 三.仿真波形及波形分析 为方便仿真,将时钟clk改为1Mhz,将clk3改为100khz,将点阵显示、数码管显示的时钟频率都改为clk,将控制模块显示的时钟改为clk3。

北邮 数电实验报告

数字电路实验报告 学院:信息与通信工程 专业:信息工程 班级:2013211125 学号:2013210681 姓名:袁普

实验一:QuartusⅡ原理图输入法设计与实现 一:实验要求 ①:用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 ②:用实验一生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 ③:用3线—8线译码器和逻辑门设计实现函数F,仿真验证其功能,下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 二:报告内容 ①:实验一(2)的原理图 用两个已经生成的半加器图形模块单元和一个双输入或门即可实现全加器

②:仿真波形图以及分析 波形图: 波形分析:通过分析ab ci三个输入在8中不同组合下的输出,发现与全加器的真值表吻合,说明实现了全加器的逻辑功能。同时看见波形中出现了毛刺(冒险),这也与事实一致。 ③:故障及问题分析 第一次在做全加器的时候发现找不到已经生成的半加器模块,后来发现是因为在建立工程时这两个项目没有建在同一个文件夹里,在调用的时候就找不到。后来我将全加器工程建在同一个文件夹里解决了此问题。

实验二:用VHDL设计和实现组合逻辑电路 一:实验要求 ①:用VHDL设计一个8421码转换为格雷码的代码转换器,仿真验证其功能。 ②:用VHDL设计一个4位二进制奇校验器,要求在为奇数个1时输出为1,偶数个1时输出为0,仿真验证其功能。 ③:用VHDL设计一个数码管译码器,仿真验证其功能,下载到实验板测试,要求用拨码开关设定输入信号,数码管显示输出信号,并且只使一个数码管有显示,其余为熄灭状态。 二:故障及问题分析 在刚开始实现让一个数码管显示的时候,我本来准备再设置6个输入和输出,通过实验板上的拨码来输入信息分别控制不同的数码管的的开闭状态,但是后来发现这样效率很低而且实验板上的拨码开关数量根本不够。在老师的提醒下,我最终在VHDL里直接增加了一个向量输出”011111”来直接控制cat0~5六个管脚,从而达到了实验的要求。

北邮数电实验报告

北邮数电实验报告 北邮数电实验报告 一、引言 数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。 二、实验目的 本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。 三、实验原理 1. 二进制加法器 二进制加法器是一种用于计算二进制数相加的数字电路。它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。 2. 逻辑门 逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。常见的逻辑门有与门、或门、非门、异或门等。在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。 四、实验步骤 1. 设计4位二进制加法器的电路图 根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。首

先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和 E0分别为最低位。然后,我们需要使用与门和异或门来实现加法器的功能。通 过逻辑运算,我们可以得到每一位的和以及进位。最后,将每一位的和连接起来,即可得到最终的结果。 2. 搭建电路 根据电路图,我们可以开始搭建实验电路。首先,将所需的逻辑门和触发器连 接起来,形成一个完整的电路。然后,将所需的输入信号和电源连接到电路上。最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。 3. 进行实验测试 在搭建好电路后,我们可以进行实验测试。首先,将两个4位二进制数的输入 信号连接到电路上。然后,通过观察输出信号,判断电路是否正确计算了两个 二进制数的相加结果。如果输出信号与预期结果一致,说明电路设计和搭建成功。 五、实验结果与分析 在进行实验测试后,我们可以得到实验结果。通过观察输出信号,我们可以判 断电路是否正确计算了两个二进制数的相加结果。如果输出信号与预期结果一致,说明电路设计和搭建成功。如果输出信号与预期结果不一致,说明电路存 在问题,需要进一步检查和调试。 六、实验总结 通过本次实验,我们深入了解了数字电路的基本原理和工作方式。通过设计和 搭建一个4位二进制加法器,我们掌握了数字电路的设计和搭建方法。通过实 验测试,我们可以验证电路的正确性,并对电路进行进一步优化和改进。

北邮数电实验报告

北京邮电大学 实验报告实验名称:数电电路与逻辑设计实验 学院:电子工程学院 班级: 2014211202 姓名: 学号:2014210 班内序号: 日期:2016年10月

目录 一、设计课题的任务要求 (4) 基本要求: (4) 提高要求: (5) 二、系统设计 (5) 1、设计思路 (5) 2、总体框图 (6) 3、分块设计 (9) 1:分频模块 (9) 2:按键、防抖模块 (10) 3:计分模块 (11) 4:数码管显示模块 (12) 5: 8×8点阵显示模块 (12) 6:蜂鸣器模块 (13) 三、仿真波形及波形分析 (15) 四、源程序 (16) 源程序: (16) 原理图: (64) 五、功能说明及资源利用情况 (65) 1、功能说明 (65) 2、资源利用状况 (65) 3、元件清单 (66)

六、故障及问题分析 (66) 1、防抖 (66) 2、4×4键盘的使用 (66) 3、8×8点阵 (66) 七、总结和结论 (67)

一、设计课题的任务要求 题目:猜拳游戏的设计与实现 基本要求: 1、甲乙双方各用4×4 键盘中的三个按键模拟“石头”、“剪刀”、“布”,一个按键为“确认”。4×4 键盘第一行为甲,第二行为乙; 2、裁判用4×4 键盘第三行的一个按键模拟“开”,一个按键为“准备”,一个按键为“复位”; 3、裁判宣布“准备”后,甲乙双方分别选择出拳方式并确认; 4、裁判“开”以后,用点阵的左右三列同时显示甲乙双方的猜拳选择(如下图所示),并用两个数码管显示甲乙的猜拳比分; 5、猜拳游戏为五局三胜制。若甲乙双方出拳一致,则比分保持不变,双方重新出拳; 6、比赛结束后,用8×8 点阵显示甲乙获胜方; 7、复位后游戏重新开始。

北邮数电实验报告

北京邮电大学 实验报告实验名称: 数电电路与逻辑设计实验学院:信息与通信工程学院 班 级: 姓 名: 学 号: 班内序号: 日期: 一. 实验一:QuartusII 原理图输入法设计 1. 实验名称和实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块 元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号入信号。 (3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 F=A B C +A B C +A B C + A B C 。 2.实验原理图及波形图 (1)半加器

(2)全加器 (3)74LS38

3.仿真波形图分析 (1)半加器: 输入为a,b,输出S,CO(进位)。 当ab都为0时,半加和s=0,进位端co=0。 当ab都为1时,半加和s=0,进位端co=1。 当a=1,b=0或a=0,b=1时,半加和s=1,进位端co=0。 (2)全加器: 输入a,b,输出S,CO(进位),ci(低进位)。 当a=0,b=0,ci=0,输出s=0,co=0。 当a=0,b=1或a=1,b=0又ci=0,输出s=1,co=0。 当a=0,b=0,ci=1,输出s=1,co=0。 (3)74LS138 输入A,B,C,输出为3。 四个输出对应F中的四个最小项,Y0、Y2、Y4、Y7,以实现函数功能。 二.实验二:用VHDL设计与实现组合逻辑电路 1.实验名称和实验任务要求 (1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能。要求用拨码开关设定输入信号,7段数码管显示输出信号。 (2)用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。

数字电路与逻辑设计实验报告

竭诚为您提供优质文档/双击可除数字电路与逻辑设计实验报告 篇一:北邮数字电路与逻辑设计实验报告 北京邮电大学数字电路与逻辑 设计实验报告 学院: 班级: 姓名: 学号: 实验一QuartusII原理图输入法设计与实现 一、实验目的: (1)熟悉QuartusII原理图输入法进行电路设计和仿真; (2)掌握QuartusII图形模块单元的生成与调用; (3)熟悉实验板的使用; 二、实验所用器材: (1)计算机; (2)直流稳压电源; (3)数字系统与逻辑设计实验开发板。

三、实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个 全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出 信号。 (3)用3线-8线译码器(74Ls138)和逻辑门设计实现函数,仿真验证其功能, 并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出 信号。 四、实验原理图及仿真波形图 (1)半加器 半加器原理图 仿真波形 仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。但 我们也可以发现输出so出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。 (2)全加器 全加器原理图

仿真波形 仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了全加器的功能 (2)741383线-8线译码器原理图 仿真波形图 仿真波形图分析;当且仅当Abc输入为000、010、100、111时,F=1,可知电路实现了函数。 实验二用VhDL设计与实现组合逻辑电路 一、实验目的: (1)熟悉用VhDL语言设计时序逻辑电路的方法; (2)熟悉用QuartusII文本输入法进行电路设计; (3)熟悉不同的编码及其之间的转换。 二、实验所用器材: (1)计算机; (2)直流稳压电源; (3)数字系统与逻辑设计实验开发板。 三、实验任务要求 (1)用VhDL语言设计实现一个共阴极7段数码管译码器; (2)用VhDL语言设计一个8421码转余三码的代码转换器; (3)用VhDL语言设计设计一个四位2进制奇校验器。

北邮数电实验报告 简易迷宫游戏

数字电路与逻辑设计实验 简易迷宫游戏

设计课题的任务要求 (一)实验目的 1. 熟练掌握 VHDL 语言和QuartusII 软件的使用; 2. 理解状态机的工作原理和设计方法; 3. 掌握利用 EDA 工具进行自顶向下的电子系统设计方法; (二)相关知识 本实验主要利用状态机来设计实现一个简易迷宫系统,本系统分为控制器与受控电路两部分。控制器主要控制整个系统按设定的工作方式实现点阵、计时器、数码管工作的通与断,并使用逻辑判断判决小人是否移动与否和移动的方向。 同时本实验也运用到了包括分频器、计数器、数码管、点阵等相关知识。主要利用六位数码管显示30s计时和小人移动步数,用点阵显示开机画面、迷宫地图、小人移动过程和游戏失败、胜利的相应画面。 (三)实验任务 基本要求: 1、用8×8点阵进行游戏显示。 2、迷宫游戏如图1所示,采用双色点阵显示,其中红色LED为迷宫墙壁,绿色LED 表示人物。通过BTN0~BTN3四个按键控制迷宫中的人物进行上下左右移动,使人 物从起始点出发,走到迷宫的出口,游戏结束 3、普通计时模式:通过按键BTN7启动游戏,必须在30秒内找到出口,否则游戏失败, 用两个数码管进行倒计时显示。游戏胜利或者失败均要在8×8点阵上有相应的画面 出现。 4、迷宫中的人物在行走过程中,如果碰到墙壁,保持原地不动 提高要求: 1. 多种迷宫地图可以选择。 2. 在计时的基础上增加计步的功能,每按一次控制按键步数加1,碰壁不计算步数, 计步结果用数码管显示。 3. 增加了计时显示的精确度,让倒计时精确到0.01s 4.增加了开机画面,当按下START开始键后,点阵上开始显示“GO- 6-5-4-3-2-1”的

北邮数电综合实验报告

北邮数电综合实验报告 北邮数电综合实验报告 一、实验目的与背景 数电综合实验是北邮电子信息工程专业的重要实践环节,旨在通过实际操作, 巩固和应用学生在数字电路、模拟电路、通信原理等相关课程中所学到的理论 知识。本实验报告将对数电综合实验的内容、过程和结果进行详细描述和分析。 二、实验内容 本次数电综合实验的主要内容为设计一个数字电子钟。该电子钟具备显示时间、日期、闹钟功能,并能实现闹钟的设置、开关控制等基本操作。实验中,我们 需要使用数字集成电路、显示模块、按键开关、时钟模块等元件进行电路设计 和搭建。 三、实验过程 1. 硬件设计与连接 根据实验要求,我们首先进行电路设计。根据数字电子钟的功能需求,我们需 要选取适当的集成电路和模块。通过分析电路原理图,我们将各个模块进行连接,保证信号的正确传递和控制。 2. 软件编程与调试 在硬件连接完成后,我们需要进行软件编程。通过使用C语言或者Verilog等 编程语言,我们可以实现数字电子钟的各项功能。在编程过程中,我们需要考 虑到时钟频率、显示模块的控制、按键开关的响应等因素。 3. 实验调试与测试 完成软件编程后,我们需要进行实验调试和测试。通过连接电源,观察电子钟

的各项功能是否正常工作。如果发现问题,我们需要进行调试,找出问题所在,并进行修复。 四、实验结果与分析 经过实验调试和测试,我们成功实现了数字电子钟的设计和搭建。该电子钟能 够准确显示时间和日期,并能根据用户的设置进行闹钟的开关和响铃。通过实 验过程,我们对数字电路的原理和应用有了更深入的理解。 五、实验心得与收获 通过参与数电综合实验,我深刻体会到了理论与实践的结合的重要性。在实验中,我们需要将课堂上所学的知识应用到实际中,通过实际操作来巩固和加深 对知识的理解。同时,实验中也锻炼了我们的动手能力和解决问题的能力。 在实验过程中,我们还学会了团队合作的重要性。在设计和搭建电路的过程中,我们需要相互配合,互相帮助,共同解决问题。通过与同学们的合作,我们不 仅解决了实验中遇到的各种问题,还加深了与同学们的交流和友谊。 最后,数电综合实验为我们提供了一个实践的平台,让我们能够将理论知识与 实际操作相结合,更好地理解和掌握所学的知识。通过实验,我们不仅提高了 自己的专业技能,也培养了自己的创新意识和解决问题的能力。 六、总结 数电综合实验是北邮电子信息工程专业的重要实践环节,通过实际操作,巩固 和应用学生在数字电路、模拟电路、通信原理等相关课程中所学到的理论知识。通过实验,我们不仅提高了自己的专业技能,也培养了自己的创新意识和解决 问题的能力。数电综合实验是我们专业学习的重要一环,对我们未来的学习和 工作都具有重要意义。希望通过这次实验,我们能够更好地理解和掌握所学的

北邮数电实验报告信息

数字电路与逻辑设计实验 姓名 *** 学院信息与通信工程学院 专业信息工程 班级 *** 学号 **** 班内序号 ***

实验一 一、实验名称和实验任务要求 1.实验内容:QuartusII原理图输入法设计与实现。 2.实验目的: (1)熟悉用QuartusII原理图输入法进行电路设计和仿真。 (2)掌握QuartusII图形模块单元的生成与调用。 (3)熟悉实验板的使用。 3.实验任务要求: (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图像模块。 (2)用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板上测试。要求用拨码开关 设定输入信号,发光二极管显示输出信号。 (3)用3线—8线译码器(74LS138)和逻辑门实现函数 F=(/??)(/??)(/??)+(/??)??(/??)+??(/??)(/??)+??????,仿真 验证其功能,并下载到实验板测试。要求用拨码开关设定输入信 号,发光二极管显示输出信号。 二、原理图 半加器模块和逻辑门设计实现的全加器: 三、仿真波形图及分析 电路实现了全加器的功能。全加器是实现两个1位二进制数及低位来的进位相加求得和数及向高位进位的逻辑电路。由其原理可得逻辑表达式:

sum=ain⊕bin⊕cin cout = (ain⊕bin)cin + ain*bin。 仿真波形对比真值表,可以看出波形图与理论值完全符合。 四、故障及问题分析 1、问题:按照逻辑表达式连接了全加器电路后,仿真波形很乱。 解决方法:思考后知道了应该把输入信号依次设成2的n次方,这样的仿真波形清楚容易分析。 2、问题:把代码下载到板子上的过程中,进行到37%的时候停了,等了2分钟 也没继续下载。 解决方法:再次重连USB尝试下载,手紧握着接线口,下载成功了,分析可能是接线口接触不好。 实验二 一、实验名称和实验任务要求 1.实验内容:用VHDL设计与实现组合逻辑电路。 2.实验目的: (1)熟悉用VHDL语言设计组合逻辑电路的方法。 (2)熟悉用QuartusII文本输入法进行电路设计。 3.实验任务要求: (1)用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出‘0’,仿真验证其功能,并下载到实 验板测试。要求用拨码开关设定输入信号,发光二极管显示输出 信号。

北邮数电实验报告_双色点阵

北京邮电大学 数电综合实验报告 实验名称:双色点阵显示控制器 学院: 姓名: 班级: 学号: 班内序号:

一.设计课题的任务要求 用8×8点阵设计双色点阵显示控制器 基本要求: 1、固定红色显示一个汉字或图形,显示亮度4级可调,用一个btn 按钮实现亮度调节,亮度变化视觉效果要尽量明显。 2、用从红到绿8级渐变色显示一个固定汉字或图形。 3、分别用单字循环显示、左右滚动显示、上下滚动显示三种显示方式单色显示四个汉字或图形,显示过程中,显示方式用一个btn 按键进行切换。 4、显示的图形或汉字要尽量饱满美观。 提高要求: 滚动显示过程中实现四种显示颜色的自动变换,颜色变化视觉效果要尽量明显。 自拟其它功能。 二. 系统设计 1. 设计思路 考虑本程序设计要求模块明确单一但需要变化多种状态,因此采用单模块多状态多进程方式实现。 其中防抖进程用于检测输入,本程序使用BTN 按键进行输入控制,而按键的键入可能由于抖动产生多个上升沿,对程序的控制产生影响。防抖动采用了延时原理来对冒险或长时间按键电平进行处理。 分频使用了多个进程产生程序所需要的多个时钟频率。 包括:clk1(扫描时钟 大于480Hz 但不过高) clk2(占空比调节1 clk1周期的整数倍,但不过高) clk3(占空比调节2 同clk2,但占空比不同) clk4(占空比调节3 同clk2,但占空比不同) clk5(按键时钟 约100Hz) clk6(滚动变化计时 约1Hz) 状态机变化进程用于管理状态变化,当遇到按键电平信号时根据规则改变对应状态。 显示进程包括主要显示进程和一些辅助进程,辅助进程完成了时钟对应计数器计数,主进程则根据状态变化显示不同显示模式下不同的图案。 2. 总体框图 (1) 总体结构框图:

北邮数电实验报告

数字电路与逻辑设计实验报告 一、要求要求: 设计制作一个简易计算器,实现最大输入两位十进制数字的加减乘运算。 基本要求: 1、实现最大输入两位十进制数字的加减乘运算;八个拨码开关按两位8421bcd码输入。 2、能够实现多次连算(无优先级,从左到右计算结果),如12+34×56-78=2498。 3、最大长度以数码管最大个数为限,溢出报警。 提高要求: 1、有正负数区分。 2、实现除法(不能整除时小数保留2位有效数字)。 3、其它扩展功能。 二、系统设计: 设计思路: 1、将该程序进行分模块设计。可以将程序分为:主程序、译码模块和防抖模块。其中,主程序负责将输入的数据进行存储,对数据进行运算,将数据输出到数码上等;防抖模块负责对按键输入的数防抖;译码模块负责对输入的数据进行译码(由8421bcd码转化为十进制的编码)。 2、分模块进行相应模块的编写。 3、对编好的模块进行测试。 4、编写主程序并进行调试。 总体框图:

流程图: 分块设计:(按实际操作的分块) 输入模块:由符号开关和拨码开关构成。采用序列存储的方式存储相应的输入。 输入译码模块:将输入的符号序列转化成先用状态,以便选取对应的计算方法;将输入的8421bcd码转化成相应的两位十进制数。 数码显示模块:将寄存器内的数进行输出到数码管上。显示所输入的第一个数以及最后的结果。 计算模块:调用相应的计算方式,对所输入的数进行计算。 防抖模块:在用按键输入时,所得到的信号可能会有抖动,因此加入此抖动电路。 三、仿真波形及波形分析:

分析(波形仿真时,为了方便观察,将8421bcd码输入方式,该为了十进制的直接输入方式,并将输出,有原来的数码管显示改成了直接数字显示) 由图中可以看出,当输入12 ,按下“确定”,数字就输入到了寄存器中,输入“+”号(对应仿真中的fuhao“100000”),在输入一个数35,按下“确定”,该计算器就件寄存器中的数与第二次输入的数进行相加,得到结果47。此时该结果又被直接保存到了寄存器中,继续输入运算符“-”(对应仿真中得fuhao“010000”),输入第三个数18,按下“确定”,计算器对其做减法运算,得到结果29,该结果又在寄存器中存储着。继续后续输入相应符号,相应数字可以继续进行相应的计算,只要结果在(-99999,99999)之间,就可以一直进行计算。 四、源程序: 主程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_SIGNED.ALL; Entity lzjisuanqi is port( cat: OUT STD_LOGIC_VECTOR(5 DOWNTO 0); digital:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); clk:in std_logic; beep:out std_logic; num:in std_logic_vector(7 downto 0); fuhao:in std_logic_vector(5 downto 0) ); end entity lzjisuanqi; architecture lz of lzjisuanqi is component transform port(cin:in std_logic_vector(7 downto 0);

2021年北邮数电综合实验报告

点阵赛车游戏 学院: 信息与通信工程学院专业: 通信工程 班级: 姓名: 学号: 班内序号:

一、设计课题任务要求 用8×8点阵进行5秒倒计时显示, 当5秒倒计时结束后, 点阵显示赛道和赛车初始位置, 赛车游戏开始, 并开始计时, 用两个数码管显示时间。用红色表示赛道, 黄色表示赛车初始位置, 箭头表示赛车行进方向。用BTN1~BTN3三个按键分别控制赛车左移、前进、右移, 最终使赛车在不碰撞赛道情况下走完全程, 游戏结束, 点阵显示“V”图案, 数码管显示走完全程所花费时间。当游戏时间超出59秒, 或者赛车在行进过程中碰撞赛道, 游戏失败, 点阵显示“X”图案。经过按键BTN0进行复位, 控制点阵返回到初始状态。 二、系统设计 1、设计思绪 这个过程乍一看蛮复杂, 不过当我经过仔细分析后发觉, 我代码能够根据这个游戏运行过程来写。这个游戏分为4个状态, 即倒计时, 运行, 成功和失败。倒计时部分依据不一样数字在点阵上位置很轻易设计出来, 运行部分便是初始化赛道, 赛车位置, 然后用按键来控制赛车运动, 在这个过程中要不停判定赛车是否撞墙和抵达终点, 假如抵达终点便进入第三个状态, 成功, 即显示“V”; 若果撞墙便进入第四个状态, 失败, 即显示“X”。在游戏运行同时数码管还要计时。 2、总体框图 (1)系统结构图

(2)ASM 图 译码显示器 分频器 控制器 计时器 赛道及赛车 CP RESET BTN1 BTN2 BTN3 开启 N Y 是否碰到边界 是否抵达终点 显示“V ” 显示“×” 计时 移动 是否复位是否复位 Y N N Y N Y N

北邮数电实验报告4人表决器北邮电子-数电综合实验报告

北邮数电实验报告4人表决器_北邮电子-数电综合实验报告 数字电路综合实验设计 简易出租车计价器的设计与实现 学院:电子工程学院班级:2011211203学号:2011210876姓名:孙月鹏班内序号:04 摘要 本文介绍了利用QuartusII综合性PLD/FPGA开发软件,在MAXII数字逻辑实验开发板上实现简易出租车计价器功能的设计与实现方法。本方案采用自上而下的设计理念,将整体电路按照功能划分为分频、计数、控制、数码管显示电路、点阵显示电路等若干模块,模块内用VHDL语言完成逻辑设计,模块间用原理图进行连接,使整体可实现计费、计时等功能。 关键字:可编程器件模块化设计出租车计价器VHDL语言 一、设计任务要求 基本要求: 1.行驶公里:用时钟2秒钟表示出租车匀速行驶1公里。在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。燃油附加费每运次1元。 2.途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后没等待3秒钟加收1元。 3.用数码管分时显示计费金额、行驶里程和等候时间。字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。 4.用按键控制出租车空驶、载客状态。 提高要求: 1.用点阵滚动显示收费单据。 2.具有夜间模式,基本单价加收20%的费用。出租车收费以元为单位,元以下四舍五入。

3.出租车行驶速度可调可控。4.多人乘车,分段计价。5.自拟其他功能。 二、设计思路与结构框图 1.设计思路 图1结构框图 由结构框图可以分析得出,该系统的的主体是计数控制器。该系统由外部控制载客控制信号和等待控制信号,以时钟信号的翻转为计数依据,完成对时间、里程和费用的计数,并将结果通过数码管译码电路显示出来。 该系统的控制信号可由拨码或按键输入,时钟由开发板内部时钟分频得出,输出有点阵输出和数码管输出。因此,可将系统分为分频器、计数控制器、数码管译码和显示以及点阵显示四部分。并以此得出系统的逻辑框图如下:图2逻辑框图 2.控制器部分的状态转移图 该控制器一共有三个基本状态:空驶状态、载客状态和等待状态。分别由v、和w来进行控制。 三、分块电路和总体电路设计 (一)总体电路设计 图3状态转移图 整体电路由数码管译码电路、转换电路、点阵译码电路、技术控制电路、分频电路五部分构成。 分频电路将开发板内部的50MHz时钟分为500hz(供给数码管和点阵)、 1Hz(控制器计时)、0.5Hz(行驶路程计费)、0.3Hz(等待时间计费)以及用于提高分频效率的其他若按频率。 计数控制电路由四部分构成,整体完成行驶距离的计数、等待时间的计 数以及费用的计数。输出为三组十位二进制数。 转换电路有转换数据类型和在数码管上分时显示两个功能。首先将输入 的十位二进制数转换为4位十进制数,并且利用除法和取余数的运算提取出个位、十位、百位、千位,并转换为四位二进制BCD码。其次利用0.5hz的时钟,将行驶里程、等待时间、计费金额以2秒为周期依次out1~4,供给数码管以便分时显示。

北邮数电实验下 简易自动售货机 实验报告

2013~2014第一学期数字电路与逻辑设计 实验报告

一.设计课题及任务要求 1.设计课题:简易自动售货机 2.任务要求: 设计一个简易的自动售货机,能够完成钱数处理、找零、显示、退币等功能。 基本要求: ·用2 个数码管(disp5,disp4)显示钱数,以元为单位。用3 个按键(btn0,btn1,btn2)分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限99元。 ·再用3 个按键(btn3,btn4,btn5)分别对应3 种商品,其中,商品甲售价3 元、商品乙售价8 元、商品丙售价12 元; ·买东西时,先输入钱币,再按对应的商品键。每按一次商品键,钱数要相应地减少, 同时蜂鸣器提示购买成功。剩余钱数大于3 元可继续按商品键再次购买;当剩余钱数少于3 元时,表示钱数的数码管 disp5,disp4 显示为零, 同时用数码管disp0 显示退出的钱数。 ·买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5, disp4 显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器表示购买失败。

·按下商品键时,用数码管disp2 表示当前购买的商品,1 代表商品甲,2 代表商品乙,3 代表商品丙。
 ·用btn7 做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。 提高要求: ·用点阵设计显示投币动画、出货动画,购买成功/失败动画; ·允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品; 二.系统设计 1.设计思路 根据程序实现的功能,可将其分为分频、防抖、逻辑运算、数码管显示、点阵图形显示五大模块。将其串联起来即可完成整体功能。 其中,分频模块将芯片50M的时钟信号分为各模块所需的不同频率的时钟。防抖模块用增加按键延时以避免长按按键执行多次指令的情况,逻辑运算模块对余额进行加减计算实现要求中加钱、买东西等功能。数码管显示模块把运算模块的结果通过数码管进行显示。在购买失败时,使能点阵图形显示模块及蜂鸣器,令点阵显示“X”来提示错误,同时蜂鸣器响。

北邮数电实验打地鼠游戏的设计与实现实验报告

数字电路与逻辑设计实验(下) 实验报告 课题名称:打地鼠游戏的设计与实现 学院:电子工程学院 班级:2013211202 姓名: 学号:

目录 一.设计课题及任务要求 (4) 1.课题名称:打地鼠游戏的设计及实现 (4) 二.系统设计 (4) 1.设计思路:采用自顶向下的设计原则。 (4) 2.整体分析: (4) 3.整体设计框图: (4) 三.分模块设计 (5) 1.分频模块设计 (5) 1)需求分析: (5) 2)模块代码: (5) 3)模块仿真波形 (5) 2.倒计时模块: (6) 1)功能分析: (6) 2)模块代码: (6) 3)模块仿真 (7) 3.计分模块 (9) 1)功能分析:。 (9) 2)模块代码: (9) 3)模块仿真 (10) 4.数码管控制模块 (12) 1)功能分析: (12) 2)模块代码: (12) 5.控制模块 (13) 1)功能分析: (13) 2)模块代码 (13) 3)模块仿真 (13) 6.随机地鼠生成模块 (14) 1)功能分析: (14) 2)模块代码 (14)

3)模块仿真: (15) 7.点阵显示模块 (16) 1)功能分析: (16) 2)点阵显示原理:原理图: (16) 3)模块代码: (17) 4)模块仿真 (18) 8.键盘模块 (20) 1)功能分析: (20) 2)原理分析 (20) 3)模块代码: (20) 4)模块仿真 (22) 9.总体模块 (24) 1)元件实例连接分析 (24) 2)RTL VIEWS (25) 3)部分代码 (26) 四.功能说明及资源利用情况 (30) 1.功能说明: (30) 2.资源利用情况 (30) 3.总工程 (30) 五.故障及问题分析 (31) 1.问题分析: (31) 2.解决办法 (31) 六.总结和结论 (32)

相关文档
最新文档