北邮数电综合实验电子沙漏的设计与实现

合集下载

北邮数字电路综合实验报告

北邮数字电路综合实验报告

数字电路综合实验报告简易智能密码锁一、实验课题及任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。

基本要求:1、密码设置:通过键盘进行 4 位数字密码设定输入,在数码管上显示所输入数字。

通过密码设置确定键(BTN 键)进行锁定。

2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。

输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。

3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。

闭锁状态下不能清除密码。

4、用点阵显示开锁和闭锁状态。

提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。

2、密码锁的密码位数(4~6 位)可调。

3、自拟其它功能。

二、系统设计2.1系统总体框图2.2逻辑流程图2.3MDS图2.4分块说明程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。

以下进行详细介绍。

1.键盘模块本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。

键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。

同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。

北邮电子电路综合设计实验报告

北邮电子电路综合设计实验报告

北邮电⼦电路综合设计实验报告北京邮电⼤学电⼦电路综合设计实验报告课题名称:函数信号发⽣器的设计学院:信息与通信⼯程学院班级:2013211123姓名:周亮学号:2013211123班内序号:9⼀、摘要⽅波与三⾓波发⽣器由集成运放电路构成,包括⽐较器与RC积分器组成。

⽅波发⽣器的基本电路由带正反馈的⽐较器及RC组成的负反馈构成;三⾓波主要由积分电路产⽣。

三⾓波转换为正弦波,则是通过差分电路实现。

该电路振荡频率和幅度便于调节,输出⽅波幅度⼤⼩由稳压管的稳压值决定,⽅波经积分得到三⾓波;⽽正弦波发⽣电路中两个电位器实现正弦波幅度与电路的对称性调节,实现较理想的正弦波输出波形。

⼆、关键词:函数信号发⽣器⽅波三⾓波正弦波三、设计任务要求1.基本要求:设计制作⼀个函数信号发⽣器电路,该电路能够输出频率可调的正弦波、三⾓波和⽅波信号。

(1) 输出频率能在1--‐10KHz范围内连续可调,⽆明显失真。

(2) ⽅波输出电压Uopp=12V(误差⼩于20%),上升、下降沿⼩于10us。

(3) 三⾓波Uopp=8V(误差⼩于20%)。

(4) 正弦波Uopp1V,⽆明显失真。

2. 提⾼要求:(1) 输出⽅波占空⽐可调范围30%--‐70%。

(2) 三种输出波形的峰峰值Uopp均可在1V--‐10V内连续可调电源电路⽅波--‐三⾓波发⽣电路正弦波发⽣电路⽅波输三⾓波输正弦波输现输出信号幅度的连续调节。

利⽤⼆极管的单向导通性,将⽅波--‐三⾓波中间的电阻改为两个反向⼆极管⼀端相连,另⼀端接⼊电位器,抽头处输出的结构,实现占空⽐连续可调,达到信号发⽣器实验的提⾼要求。

五、分块电路和总体电路的设计过程1. ⽅波--‐三⾓波产⽣电路设计过程:①根据所需振荡频率的⾼低和对⽅波前后沿陡度的要求,选择电压转换速率S R合适的运算放⼤器。

⽅波要求上升、下降沿⼩于10us,峰峰值为12V。

LM741转换速率为0.7V/us,上升下降沿为17us,⼤于要求值。

电子沙漏

电子沙漏

电子沙漏沙漏是一种古老的计时工具,也是一种玩具。

电子沙漏用电子电路控制的发光二极管表示沙粒,模拟沙漏的运动过程。

电子沙漏会像真正的沙漏一样,上部的沙粒(点亮的发光二极管)一粒一粒往下掉,下部的沙粒一粒一粒堆起来。

漏完以后,将电子沙漏倒过来,又会重新开始一粒一粒往下漏。

一、电路整体分析1 电路结构。

电子沙漏是一个级联运用移位寄存器的典型实例,电路图如图1所示,它包括五个组成部分:(1)集成电路IC1、IC2组成的15位移位寄存器;(2)开关S1、S2,二极管VD16、VD17、VD18,电阻R16等组成的输入数据控制电路;(3)晶体管VT1~VT15和VT1'~VT15 组成的输出状态控制电路;(4)发光二极管VD1~VD15和VD1~VD15 组成的显示电路;(5)反相器D1、D2等组成的时钟振荡器。

图2为其原理方框图。

在结构上,两组各15个发光二极管分别排列成为两个三角形,如图3所示。

其中:VD1~VD15位于上部,排列成倒三角形;VD1'~VD15'位于下部,排列成正三角形。

两个三角形的顶尖相对,组成沙漏形状。

当上部有一个发光二极管熄灭时,相应地下部就有一个发光二极管点亮,模拟了沙漏的运动。

2 简要工作原理。

集成移位寄存器IC1、IC2级联组成15位移位寄存器,构成了电子沙漏的主体控制电路。

每一位寄存单元都分别通过NPN晶体管VT和PNP晶体管VT'形成Q和/Q两个互为反相的输出状态,分别控制VD和VD'两组发光二极管。

15位移位寄存器的串行数据输入端D的状态受位置控制电路的控制。

当电子沙漏正向放置时(发光二极管VD1~VD15在上部且全亮),串行数据输入端D=0,并在时钟脉冲CP的作用下逐步右移,使VD1~VD15一个接一个地熄灭,同时VD1'~VD15'一个接一个地点亮,直至VD1~VD15全灭,VD1'~VD15'全亮。

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

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

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

三、实验任务要求(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。

(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 ,仿真验证其功能,并下载到实验板测试。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

四、实验原理图及仿真波形图(1)半加器半加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。

但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。

(2)全加器全加器原理图仿真波形仿真波形图分析:根据仿真波形对比半加器真值表,可以确定电路实现了全加器的功能(2) 74138 3线-8线译码器原理图仿真波形图仿真波形图分析 ;当且仅当ABC输入为000、010、100、111时,F=1,可知电路实现了函数。

实验二用VHDL设计与实现组合逻辑电路一、实验目的:(1)熟悉用VHDL语言设计时序逻辑电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。

二、实验所用器材:(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。

三、实验任务要求(1)用 VHDL语言设计实现一个共阴极7段数码管译码器;(2)用VHDL语言设计一个8421码转余三码的代码转换器;(3)用VHDL语言设计设计一个四位2进制奇校验器。

电子沙漏设计实验报告范文

电子沙漏设计实验报告范文

电子沙漏设计实验报告范文目的本次实验的目的是设计一款电子沙漏,使用数字电路和显示器来实现沙漏倒计时功能。

原理电子沙漏的原理是利用计时器和显示器实现倒计时功能。

在电子沙漏的设计中,使用了集成电路555作为计时器,并通过数码管显示剩余的时间。

实验材料- 集成电路555- 七段数码管- 电阻、电容- 蜂鸣器- 实验面包板- 连接线实验步骤1. 将集成电路555与其他元件连接在实验面包板上,按照电路图连接好各个引脚。

2. 将倒计时的时间设定在合适的范围内,并将时间以二进制的形式转换为十进制数码管可以显示的数字。

3. 连接数码管和倒计时电路,使数码管能够显示剩余的时间。

4. 调试电子沙漏,确认计时器和数码管是否能正常工作。

5. 如果需要,可以再加入蜂鸣器,用于提醒时间结束。

实验结果经过实验,设计的电子沙漏能够正常工作。

在设定的倒计时时间内,数码管能够正确显示剩余时间,并且触发蜂鸣器发出提醒。

实验总结通过本次实验,我深入了解了集成电路555的工作原理和使用方法。

同时,我也学会了如何将数字电路和显示器结合,实现有趣的倒计时功能。

电子沙漏的设计不仅提升了我的电路设计能力,还进一步加深了我对数字电路和显示器的理解。

延伸拓展在实验的基础上,还可以对电子沙漏进行进一步的扩展和改进。

例如,可以添加多个计时器,实现多个时间段的倒计时功能。

或者可以使用微控制器来控制倒计时,实现更复杂的功能。

此外,还可以增加触摸屏或蓝牙模块,实现远程控制和更便捷的操作。

参考文献[1] Sedra, A. S., & Smith, K. C. (2004). Microelectronic circuits (5th ed.). Oxford University Press.[2] 555 Timer IC Datasheet, Texas Instruments.。

北邮数电实验报告

北邮数电实验报告

北邮数电实验报告北邮数电实验报告一、引言数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。

本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。

二、实验目的本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。

通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。

三、实验原理1. 二进制加法器二进制加法器是一种用于计算二进制数相加的数字电路。

它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。

在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。

2. 逻辑门逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。

常见的逻辑门有与门、或门、非门、异或门等。

在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。

四、实验步骤1. 设计4位二进制加法器的电路图根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。

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

然后,我们需要使用与门和异或门来实现加法器的功能。

通过逻辑运算,我们可以得到每一位的和以及进位。

最后,将每一位的和连接起来,即可得到最终的结果。

2. 搭建电路根据电路图,我们可以开始搭建实验电路。

首先,将所需的逻辑门和触发器连接起来,形成一个完整的电路。

然后,将所需的输入信号和电源连接到电路上。

最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。

3. 进行实验测试在搭建好电路后,我们可以进行实验测试。

首先,将两个4位二进制数的输入信号连接到电路上。

然后,通过观察输出信号,判断电路是否正确计算了两个二进制数的相加结果。

如果输出信号与预期结果一致,说明电路设计和搭建成功。

五、实验结果与分析在进行实验测试后,我们可以得到实验结果。

通过观察输出信号,我们可以判断电路是否正确计算了两个二进制数的相加结果。

北邮-数电实验报告

北邮-数电实验报告

北邮-数电实验报告数字电路实验报告学院:信息与通信工程专业:信息工程班级:2013211125学号:2013210681姓名:袁普实验一:QuartusⅡ原理图输入法设计与实现一:实验要求①:用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。

②:用实验一生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。

③:用3线—8线译码器和逻辑门设计实现函数F,仿真验证其功能,下载到实验板测试。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

二:报告内容①:实验一(2)的原理图用两个已经生成的半加器图形模块单元和一个双输入或门即可实现全加器②:仿真波形图以及分析波形图:波形分析:通过分析ab ci三个输入在8中不同组合下的输出,发现与全加器的真值表吻合,说明实现了全加器的逻辑功能。

同时看见波形中出现了毛刺(冒险),这也与事实一致。

③:故障及问题分析第一次在做全加器的时候发现找不到已经生成的半加器模块,后来发现是因为在建立工程时这两个项目没有建在同一个文件夹里,在调用的时候就找不到。

后来我将全加器工程建在同一个文件夹里解决了此问题。

实验二:用VHDL设计和实现组合逻辑电路一:实验要求①:用VHDL设计一个8421码转换为格雷码的代码转换器,仿真验证其功能。

②:用VHDL设计一个4位二进制奇校验器,要求在为奇数个1时输出为1,偶数个1时输出为0,仿真验证其功能。

③:用VHDL设计一个数码管译码器,仿真验证其功能,下载到实验板测试,要求用拨码开关设定输入信号,数码管显示输出信号,并且只使一个数码管有显示,其余为熄灭状态。

二:故障及问题分析在刚开始实现让一个数码管显示的时候,我本来准备再设置6个输入和输出,通过实验板上的拨码来输入信息分别控制不同的数码管的的开闭状态,但是后来发现这样效率很低而且实验板上的拨码开关数量根本不够。

北邮数电综合实验电子沙漏的设计与实现

北邮数电综合实验电子沙漏的设计与实现
SIGNAL CNT9 : INTEGER RANGE 0 TO 9;
SIGNAL A : INTEGER RANGE 0 TO 9;
SIGNAL S : INTEGER RANGE 0 TO 7;--控制点阵显示
SIGNAL S1 : INTEGER RANGE 0 TO 16;--沙漏状态
SIGNAL S2 : INTEGER RANGE 0 TO 100;--开机画面
end if;
if CNT6 = 5 and CNT9 = 9 then
CNT6 <= 0; CNT9 <= 0;
end if;
IF SW_1 = '0' and FLAG = '1' THEN
S1<=S1+1;
if S1=16 then
S1<=16;
end if;
END IF;
IF FLAG = '0' THEN
2、用拨码开关 SW1 模拟重力感应器。当 SW1 为低电平时,沙粒从 VD0~VD15 向 VD0'~VD15'移动;当 SW1 为高电平时,沙粒从 VD0'~VD15'向 VD0~VD15 移动。
3、 按键 BTN0 作为计时启动停止按键,启动后沙粒即可按照 SW1 设定的方向移动, 以 SW1 为低电平时为例,LED 移动的顺序与对应关系如图 3 的1~16所示(若 SW1 为高电平,则点阵显示移动顺序为16~1)。每颗沙粒的移动时间为 1 秒,当移动 到图 3 的16时,若 SW1 仍为低电平,则保持沙粒不动,但计时继续,直到 SW1 的 电平发生变化或者 BTN0 计时停止。
对于led灯来说要让它按照设计好的图案显示需要一行行对点阵进行扫描在列中来控制哪一行来显示经过一定时间后到下一行显示而控制红灯亮还是绿灯则通过不同的接口控制在扫描频率够快的时候由于人眼暂留效应会误以为是一直在显示以此达到所需要的效果
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ENTITY scan_led_2 IS
PORT ( CLK : IN STD_LOGIC;
BTN0: IN STD_LOGIC;
SW0 : IN STD_LOGIC;
SW1 : IN STD_LOGIC;
SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
BT : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
北 京 邮 电 大 学
数电综合实验报告
实验名称:电子沙漏的设计与实现
学 院:信息与通信工程学院
姓Байду номын сангаас名:
班 级:
学 号:
班内序号:
1、实验设计的基本要求
沙漏是一种古老的计时工具,也是一种玩具。电子沙漏用发光二极管表示沙粒,模拟沙漏的运动过程。电子沙漏会像真正的沙漏一样,上部的沙粒(点亮的发光二极管)一粒一粒往下掉,下部的沙粒一粒一粒堆起来。
3、 按键 BTN0 作为计时启动停止按键,启动后沙粒即可按照 SW1 设定的方向移动, 以 SW1 为低电平时为例,LED 移动的顺序与对应关系如图 3 的1~16所示(若 SW1 为高电平,则点阵显示移动顺序为16~1)。每颗沙粒的移动时间为 1 秒,当移动 到图 3 的16时,若 SW1 仍为低电平,则保持沙粒不动,但计时继续,直到 SW1 的 电平发生变化或者 BTN0 计时停止。
控制模块是用来实现具体的操作的,通过对按下BTN0按键的次数统计,将其分为奇数与偶数两种情况,在奇数时使功能正常运行,在统计为偶数时使时间暂停,以此来实现对此系统的控制。
由于数电实验电路板自带着时钟频率,但此频率并不能满足系统的要求,故需要分频将时钟频率变为所需要的频率,用来作为60秒计时器的校准和正常运行。
SIGNAL CNT9 : INTEGER RANGE 0 TO 9;
SIGNAL A : INTEGER RANGE 0 TO 9;
SIGNAL S : INTEGER RANGE 0 TO 7;--控制点阵显示
SIGNAL S1 : INTEGER RANGE 0 TO 16;--沙漏状态
SIGNAL S2 : INTEGER RANGE 0 TO 100;--开机画面
port(clk_in: in std_logic;
clk_out: out std_logic);
end component;
SIGNAL clk_tmp1 : std_logic;
SIGNAL BT1:STD_LOGIC_VECTOR(5 DOWNTO 0);
SIGNAL CNT6 : INTEGER RANGE 0 TO 6;
5、 自拟其它功能。
二、系统设计
1、设计思路
实验比较复杂,故采用分模块设计的思想,将模块分为了分频模块、控制模块、数码管显示模块、8*8点阵显示模块。
由于本实验需要用BTN0按键来控制时间和沙漏的开始运行以及时间的暂停功能,故需要检测输入,此时就要用到防抖模块,防止在按下按键时有多个上升沿产生导致开关并不能完美的发挥作用。
本实验最重要的部分就是8*8点阵显示模块和数码管显示模块。对于led灯来说,要让它按照设计好的图案显示,需要一行行对8*8点阵进行扫描,在列中来控制哪一行来显示,经过一定时间后到下一行显示,而控制红灯亮还是绿灯则通过不同的接口控制,在扫描频率够快的时候,由于人眼暂留效应,会误以为是一直在显示,以此达到所需要的效果。数码管的显示模块与此类似,通过选位信号选择需要亮的数码管,然后在扫描频率较高时则看到稳定显示的数字。
SIGNAL SW_0 : STD_LOGIC;--SW_0 为1时运行 为0时保持原状态
SIGNAL SW_1 : STD_LOGIC;--SW_1 为0时向下运动 为1时向上运动
end;
architecture a of div4k is
signal cnt : integer range 0 to 1999;
signal clk_tmp : std_logic;
begin
process(clk_in)
begin
if (clk_in'event and clk_in='1') then
R:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
Cr:OUT STD_LOGIC_VECTOR(0 TO 6);
Cg:OUT STD_LOGIC_VECTOR(0 TO 6));
END;
ARCHITECTURE arc OF scan_led_2 IS
component div4k
if cnt=1999 then
cnt<=0; clk_tmp<= not clk_tmp;
else
cnt<=cnt+1;
end if;
end if;
end process;
clk_out<=clk_tmp;
end;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
2、系统框图
(1)总体框图
(2)程序流程图


三、源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity div4k is
port(clk_in : in std_logic;
clk_out : out std_logic);
4、 设计实现一个 60 秒计时器,当按键 BTN0 启动时开始工作,用于在沙粒移动过程 中进行计时校准,并用数码管 DISP0~DISP1 显示计时结果。
提高要求:
1、 可以调节控制电子沙漏的流动速度。
2、 用多种方式呈现电子沙漏界面。
3、 自行设定沙粒的移动路径,显示每颗沙粒的移动过程。
4、 外接重力感应器,实现真实的电子沙漏功能。
1、采用 8*8 双色点阵显示电子沙漏的开机界面,如图 2 所示。其中红色 LED 代表沙漏的上半部分沙粒 VD0~VD15,绿色 LED 代表沙漏的下半部分 VD0'~VD15'。
2、用拨码开关 SW1 模拟重力感应器。当 SW1 为低电平时,沙粒从 VD0~VD15 向 VD0'~VD15'移动;当 SW1 为高电平时,沙粒从 VD0'~VD15'向 VD0~VD15 移动。
相关文档
最新文档