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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学

数字电路与逻辑设计实验

发光二极管走马灯的电路设计与实现实验报告

学院:信息与通信工程学院

班级: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.仿真波形(1)单点移动式

(2)幕布式

(3)复位信号

2.波形分析

(1)单点移动式

由图可以看出,当A为0时程序实现单点移动功能,如图所示DENG[7]开始亮,之后依次为DENG[6], DENG[5], DENG[4], DENG[3], DENG[2],

DENG[1], DENG[0],然后DENG[1]也开始亮,依此类推,实现了功能要求

(2)幕布式

由图可以看出,当A为1时,如图所示,先是中间的两个灯DENG[4], DENG[5]亮,然后扩展到四个灯亮DENG[3]至DENG[6]亮,接下来是DENG[2]~DENG[7]亮,最后全亮,接着DENG[2]~DENG[7]亮,继而循环下去。

从而实现功能。

(3)复位功能

由图三可以看出,RESET实现了在两种状态下实现异步复位的功能。

【本实验总结与结论】

本次实验中,开始自己是把幕布式中直接用case-when语句编写,发现有状态重合,如“00011000出现两次,这是不允许的,因此想到定义一个8个变量的数据类型,因此来控制灯的周期变化,此后编译通过。同时在实验过程中,很感谢老师支持我的错误,即敏感信号表中多加入了A,同时也清楚了敏感量表的用途。实验教材的清晰语言,也使我了解到更多的知识。

在看到自己的实验成果展现在实验板上,对于能够把自己所学的东西应用到实物上面,感觉到自豪与骄傲,对数字电路都产生了极大的兴趣。【参考文献】

[1]数字电路与逻辑设计实验教程,北京:北京邮电大学电路中心,2011

[2]数字电路与逻辑设计,北京:北京邮电大学出版社,2009

相关文档
最新文档