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

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

数字电路与逻辑设计实验(下)

实验报告

课题名称:打地鼠游戏的设计与实现

学院:电子工程学院

班级: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)

一.设计课题及任务要求

1.课题名称:打地鼠游戏的设计及实现

2.任务要求:

1)设计“打地鼠”游戏,采用8X8双色点阵显示游戏界面,其中游戏边界采用绿色LED显示,随机出现的地鼠采用红色LED显示,游戏有十六个洞穴。

2)洞穴每次随机出现一个地鼠,每个地鼠最长保持时间为2秒,2秒后随机出现下一个地鼠,以4x4键盘的按键代表锤子,16个洞穴对应16个锤子,一旦锤子在2秒内击中地鼠,则地鼠消失,数码管计分器加1分,若锤子没有击中地鼠,则两秒后地鼠消失,用两个数码管显示游戏成绩,成绩到达10分时,游戏结束,点阵显示“V”。

3)用两个数码管对整个游戏进行倒计时,当游戏超过59秒而成绩未达到10分时,游戏失败,点阵显示“X”。

4)按复位键重新开始游戏,并开始倒计时。

二.系统设计

1.设计思路:采用自顶向下的设计原则。

首先对游戏的状态进行判断,整个游戏共应该有四种状态,重置状态,游戏状态,游戏成功状态,游戏失败状态。然后由这四种状态对其他模块进行控制。所以控制模块置于整体框图的中心,然后再考虑这四个状态分别由什么输入控制。

·重置状态:当拨动开关置高电平时,整个游戏进行重置,此时计分数码管应该有计分的初始显示,即00分,点阵显示重置画面,而计时的数码管置数60准备开始倒计时,当拨动开关置低电平时,游戏正式开始,转入游戏状态。

·游戏状态:此时计分数码管计分,倒计时数码管进行倒计时,点阵显示游戏界面,即6x6的绿色边界以及一个随机出现的红色地鼠。若在倒计时结束之前,计分数码管显示10分,则转入游戏成功状态,若倒计时结束时,尚未达到十分,则转入游戏失败状态。

·游戏成功状态:此时倒计时数码管停止计时,计分数码管显示10分,点阵显示绿色“V”。·游戏失败状态:此时倒计时数码管和计分数码管不再继续工作,而点阵显示红色“X”。

2.整体分析:综上分析以及结合实际,得出整个工程大致需要的模块为:分频模块、倒计时模块、计分模块、数码管显示模块、点阵显示模块、状态控制模块、随机地鼠生成模块、键盘输出模块。

3.整体设计框图:

三.分模块设计

1.分频模块设计

1)需求分析:整个工程共需要四个频率,地鼠出现的频率为2秒一个,即需要一个0.5Hz 的频率,而倒计时一秒减小一个十进制数,所以需要一个1HZ的频率,数码管的扫频和点阵的扫频为1000Hz,键盘防抖模块的扫频为100Hz,所以我采用级联分频的方式,将实验室25MHz的频率先通过25000倍分频分为1000Hz,再将1000Hz频率十分频分为100Hz,再将100Hz一百分频为1Hz,再讲1Hz频率分为0.5Hz。

2)模块代码:

3)模块仿真波形

为减少仿真时长,仿真时将分频系数依次调为2,3,4,实现分频依次为3分频,4分频,5分频。仿真波形如图所示,可由仿真波形看出分频模块实现分频功能。

2.倒计时模块:

1)功能分析:倒计时模块由状态控制模块控制。

重置状态时,进行置数60,游戏状态时,进行减计数,输出分为高位和低位,由上升沿出发,每个上升沿,个位数减一,个位数减至0时,个位数变成9,十位数减一。然后高位和低位进行七段数码管译码输出,设立一个计时结束标识,以反馈控制状态,当个位十位都为0时,倒计时结束,flag=1,否则,flag=0。

2)模块代码:

entity counter is --实体定义

port(clk:instd_logic;

c_state:instd_logic_vector(1 downto 0);

nixie_1:out std_logic_vector(7 downto 0);--高位译码输出

nixie_2:out std_logic_vector(7 downto 0);--地位译码输出

gameover:outstd_logic --计时结束flag

);

end counter;

architecture counter_1 of counter is

signal count_d:integer range 0 to 6;--十位信号

signal count_o:integer range 0 to 9;--个位信号

begin

counting: --倒计时进程

process(clk)

begin

if(c_state="00") then—重置状态置数60

count_d<=6;

count_o<=0;

gameover<='0';--flag置0

elsif(c_state="01") then

if(clk'event and clk='1') then

if(count_d=0 and count_o=0) then

gameover<='1';

elsif(count_o=0) then—地位为0,高位减一,低位变9

count_d<=count_d-1;

count_o<=9;

else

count_o<=count_o-1;

end if;

end if;

end if;

end process;

nixie_present: --译码输出进程

process(count_d,count_o)

begin

if(c_state="00") then –重置状态译码显示全灭

nixie_1<="00000000";

nixie_2<="00000000";

elsif(c_state="10" or c_state="11") then—游戏结束八段全亮

nixie_1<="11111111";

nixie_2<="11111111";

elsif(c_state="01") then—游戏状态显示十进制倒计时计数

case count_d is

when 6=>nixie_1<="01111101";--高位译码

when 5=>nixie_1<="01101101";

when 4=>nixie_1<="01100110";

when 3=>nixie_1<="01001111";

when 2=>nixie_1<="01011011";

when 1=>nixie_1<="00000110";

when 0=>nixie_1<="00111111";

when others=>nixie_1<="00000000";

end case;

case count_o is

when 9=>nixie_2<="01101111";--低位译码

when 8=>nixie_2<="01111111";

when 7=>nixie_2<="00000111";

when 6=>nixie_2<="01111101";

when 5=>nixie_2<="01101101";

when 4=>nixie_2<="01100110";

when 3=>nixie_2<="01001111";

when 2=>nixie_2<="01011011";

when 1=>nixie_2<="00000110";

when 0=>nixie_2<="00111111";

when others=>nixie_2<="00000000";

end case;

else null;

end if;

end process;

end counter_1;

3)模块仿真

·重置状态下,高位输出6,由数码管译码输出可以看出高位输出正确。

·重置状态下,计时低位输出0。

·游戏失败时,计时低位输出为全亮

·游戏进行中,低位每遇到一个时钟上升沿就自减1译码输出,仿真波形中游戏状态持续的时间只有五个时钟周期,所以显示低位变换了五次,而高位没有变换,仿真实现功能。

然后看state=10状态,即游戏成功时候,译码管输出显示全亮,即停止计时。当游戏进行到失败状态时,flag置1。

由仿真波形可以看出,状态控制模块控制倒计时模块的功能得以实现。

3.计分模块

1)功能分析:计分模块由状态控制模块控制,输出反馈控制状态。

重置状态,计分数码管置零。游戏状态,当锤子敲中地鼠,计分加一,计分加至十时,反馈输出为1,控制状态模块将状态转换为游戏成功模块。时间结束时,计分不够十,反馈输出为0,结合倒计时模块的计分输出反馈为1,共同控制状态模块将状态转换为游戏失败状态。

计分模块由三部分组成,分别是判断是否得分模快,该模块将地鼠位置坐标与键盘坐标进行比较,当坐标吻合,即击中地鼠时,输出高电平,否则输出低电平,输出为一个由高低电平组成的脉冲。其次是得分计数模块,得分计数模块的输入信号为判断模块的输出信号,在游戏状态时,当有高电平输入时,计分加一,当没有高电平输入时,计分不变,同时设立一个输出flag,作为状态转换的反馈输入信号,当计分为十,则输出1,将状态转为游戏成功态,当计分不足十时,输出0,继续游戏或游戏失败。其次是显示模块,将计分的分数译码输出在数码管上显示。

2)模块代码:

·判断模块

·得分计数模块

·显示输出模块

3)模块仿真

·重置状态计分显示为00,flag=0

·游戏状态,判断击中输出一次高电平,计分输出加1,flag=0

·成功状态,flag=1,计分不变

·游戏失败状态,flag=0,计分结束

·显示模块仿真,成功实现译码功能。

由计分模块(含判断模块,得分模块,显示模块)的仿真波形可以看出,计分模块实现由不同状态控制不同计分模块的功能,在数码管上成功译码显示,并且输出flag反馈控制状态,计分模块功能得到实现。

4.数码管控制模块

1)功能分析:由题目要求可知,需要在实验板上显示4个数字,其中两个管子显示得分,两个管子显示倒计时。但由于七段数码管一次只能显示一个,所以需要一个高频的扫描控制,依次点亮每个数码管,然后利用视觉暂留的效果,使得看起来有四个数码管同时点亮。

在此设置第一二个数码管为计分显示,第三四个数码管为倒计时显示。该模块较小,由信号控制写在顶层文件中,不单独再写一个文件模块。

2)模块代码:

nixie_scan:process(link_clk_1kh)—用顶层文件定义的信号来传递

begin

if(link_clk_1kh'event and link_clk_1kh='1') then--1kHZ--时钟进行扫描

case link_out_scan_nixie is

when "011111"=>link_out_scan_nixie<="101111";out_nixie<=out_point_nixie_2;

--第二个数码管显示计分地位

when "101111"=>link_out_scan_nixie<="110111";out_nixie<=nixie_tube_1;

--第三个数码管显示计时高位

when "110111"=>link_out_scan_nixie<="111011";out_nixie<=nixie_tube_2;

--第四个数码管显示计时低位

when "111011"=>link_out_scan_nixie<="011111";out_nixie<=out_point_nixie_1;

--第一个数码管显示计分高位

when others=>link_out_scan_nixie<="011111";out_nixie<=out_point_nixie_1;

end case;

end if;

end process;

5.控制模块

1)功能分析:该模块主要实现状态转换状态,由之前的分析可以看出整体工程的点阵显示模块,计分模块和倒计时模块均受状态的控制,而状态的判断又由计分模块和倒计时模块的反馈输出共同控制。

2)模块代码

3)模块仿真

由仿真波形可以看出当reset=1时,state输出为00;

当reset=0时,由计时反馈和计分反馈决定状态的转换

计时为1,计分为0时,state输出为11,代表游戏失败。

计时为1,计分为1时,state输出为10,代表游戏成功。

计时为0,计分为0时,state输出为01,代表游戏进行中。

计时为0,计分为1时,state输出为10,代表游戏成功。

由该模块的仿真波形可以看出,该模块实现状态控制功能。

6.随机地鼠生成模块

1)功能分析:该模块需要满足最多两秒内产生一个地鼠,当地鼠被击中时,被击中的地鼠消失,在新的地方生成新的地鼠,所以此处设置一个信号new,将得分信号与2秒的时钟信号进行异或,然后通过new信号的上升沿生成新的随机序列,随机序列为7 downto 0的一组向量,由倒数两位随机决定地鼠坐标的行输出,由倒数三四位决定地鼠列坐标的输出。

需要实现的效果是得分后,即地鼠被击中后,便产生一个新的地鼠,而地鼠未被击中时,上升沿由2秒时钟信号触发,即两秒生成一个新的地鼠。

同样,该模块同样受到状态的控制。

当重置状态时,初始序列设为10011010。游戏进行状态时,则根据上述判断产生新的地鼠。

2)模块代码

entity r_series_generator is

port (

r_state:instd_logic_vector(1 downto 0); --状态控制

clk:instd_logic; --1秒的时钟信号输入

catch:instd_logic; --得分信号脉冲输入

row_out:outstd_logic_vector(3 downto 0); --地鼠坐标行输出

column_out:outstd_logic_vector(3 downto 0)); --地鼠坐标列输出

end r_series_generator;

architecture behavioral of r_series_generator is

signal r_series:std_logic_vector(7 downto 0); --随机序列

signal mice_time:std_logic; --2秒的时钟信号

signal trick:std_logic; --判断是否被击中的信号

begin

mouse_time:

process(clk) --将1秒的时钟信号分频为2秒的时钟信号

begin

if(clk'event and clk='1') then

if(mice_time='1') then

mice_time<='0';

elsif(mice_time='0') then

mice_time<='1';

else mice_time<='0';

end if;

end if;

end process;

trick<=mice_timexor catch ; --设立该信号对击中进行判断

series_generate: --生成随机序列

process(trick)

begin

if(r_state="00") then --游戏一旦被重置,随机序列进行初始

r_series<="10011010";

elsif(r_state="01") then --游戏状态,由得分信号的上升沿触发新的地鼠if(trick'event and trick='1') then --由标识的上升沿进行触发

r_series<=r_series(6 downto 0)&(r_series(0) xorr_series(7));--随机序列的产生

end if;

end if;

output_r: --随机坐标输出序列

process(r_series) --通过随机序列随机变换的后四位随机坐标begin

case r_series(1 downto 0)is --后两位随机行坐标

when "00"=>row_out<="0001";

when "01"=>row_out<="0010";

when "10"=>row_out<="0100";

when "11"=>row_out<="1000";

when others=>row_out<="0000";

end case;

case r_series(3 downto 2) is --倒数三四位随机列坐标when "00"=>column_out<="0001";

when "01"=>column_out<="0010";

when "10"=>column_out<="0100";

when "11"=>column_out<="1000";

when others=>column_out<="0000";

end case;

end process;

end behavioral;

3)模块仿真:

·在重置状态下,随机序列初始化,此时行列输出值固定都0100

·游戏进行状态中,随机序列由输入时钟信号和捕捉信号异或后得到的信号触发,产生随机输出

由仿真波形可以看到该模块的功能得以实现。

课程设计实验报告 北邮

课程设计实验报告 -----物联网实验 学院:电子工程学院班级:2011211204 指导老师:赵同刚

一.物联网概念 物联网是新一代信息技术的重要组成部分。物联网的英文名称叫“The Internet of things”。顾名思义,物联网就是“物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网的基础上延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。因此,物联网的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。 二.物联网作用 现有成熟的主要应用包括: —检测、捕捉和识别人脸,感知人的身份; —分析运动目标(人和物)的行为,防范周界入侵; —感知人的流动,用于客流统计和分析、娱乐场所等公共场合逗留人数预警; —感知人或者物的消失、出现,用于财产保全、可疑遗留物识别等; —感知和捕捉运动中的车牌,用于非法占用公交车道的车辆车牌捕捉; —感知人群聚集状态、驾驶疲劳状态、烟雾现象等各类信息。 三.物联网无线传感(ZigBee)感知系统 ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术。ZigBee在整个协议栈中处于网络层的位置,其下是由IEEE 802.15.4规范实现PHY(物理层)和MAC(媒体访问控制层),对上ZigBee提供了应用层接口。 ZigBee可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。ZigBee工作于2.4 GHz的免执照频段,可以容纳高达65 000个节点。这些节点的功耗很低,单靠2节5号电池就可以维持工作6~24个月。除此之外,它还具有很高的可靠性和安全性。这些优点使基于ZigBee的WSN广泛应用于工业控制、消费性电子设备、汽车自动化、家庭和楼宇自动化、医用设备控制等。 ZigBee的基础是IEEE802.15.4,这是IEEE无线个人区域网工作组的一项标准,被称作IEEE802.15.4(ZigBee)技术标准。ZigBee不仅只是802.15.4的名字。IEEE仅处理低级MAC

模电实验报告

模拟电子技术 实验报告 实验题目:放大电路的失真研究 学院:电子信息工程学院 专业: 姓名: 学号: 指导教师: 【2017年】

目录 一、实验目的与知识背景 (3) 1.1实验目的 (3) 1.2知识背景 (3) 二、实验内容及要求 (3) 2.1基本要求 (3) 2.2发挥部分 (4) 三、实验方案比较及论证 (5) 3.1理论分析电路的失真产生及消除 (5) 3.2具体电路设计及仿真 (8) 四、电路制作及测试 (12) 4.1正常放大、截止失真、饱和失真及双向失真 (12) 4.2交越失真 (13) 4.3非对称失真 (13) 五、失真研究思考题 (13) 六、感想与体会 (16) 6.1小组分工 (16) 6.2收获与体会 (16) 6.3对课程的建议 (17) 七、参考文献 (17)

一、实验目的与知识背景 1.1实验目的 1. 掌握失真放大电路的设计和解决电路的失真问题——针对工程问题,收集信息、查阅文献、分析现有技术的特点与局限性。提高系统地构思问题和解决问题的能力。 2. 掌握消除放大电路各种失真技术——依据解决方案,实现系统或模块,在设计实现环节上体现创造性。系统地归纳模拟电子技术中失真现象。 3. 具备通过现象分析电路结构特点——对设计系统进行功能和性能测试,进行必要的方案改进,提高改善电路的能力。 1.2知识背景 1.输出波形失真可发生在基本放大、功率放大和负反馈放大等放大电路中,输出波形失真有截止失真、饱和失真、双向失真、交越失真,以及输出产生的谐波失真和不对称失真等。 2.基本放大电路的研究、乙类功率放大器、负反馈消除不对称失真以及集成运放的研究与应用。 3.射极偏置电路、乙类、甲乙类功率放大电路和负反馈电路。 二、实验内容及要求 2.1基本要求 1.输入一标准正弦波,频率2kHz,幅度50mV,输出正弦波频率2kHz,幅度1V。

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

北京邮电大学数字电路与逻辑 设计实验 学院: 班级: 作者: 学号:

实验一 Quartus II原理图输入法设计 一、实验目的: (1)熟悉Quartus II原理图输入法进行电路设计和仿真 (2)掌握Quartus II 图形模块单元的生成与调 (3)熟悉实验板的使用 二、实验所用器材: (1)计算机 (2)直流稳压电源 (3)数字系统与逻辑设计实验开发板 三、实验任务要求 (1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模 块单元。 (2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能, 并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3)用3线-8线译码器(74LS138)和逻辑门设计实现函数 ,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 四、设计思路和过程 (1)半加器的设计 半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。数据输入AI被加数、BI加数,数据输出SO和数(半加和)、进位C0。 在数字电路设计中,最基本的方法是不管半加器是一个什么样的电路,按组合数字电路的分析方法和步骤进行。 1.列出真值表 半加器的真值表见下表。表中两个输入是加数A0和B0,输出有一个是和S0,另一个是进位C0。

2 该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下函数的逻辑表达式为:SO=AI⊕BI CO=AB 所以,可以用一个两输入异或门和一个两输入与门实现。

数字电路课程设计打地鼠资料整理

xx科技大学 数电课程设计报告 仿真设计课程名称:数字电子实验仿真仿真设计项目名称:打地鼠游戏 院系:计算机与通信工程 专业班级: 组长: 组员:

打地鼠游戏 一、实验仿真目的: 1、掌握时序逻辑电路的一般设计办法。 2、掌握计数器的设计原理和应用。 3、掌握组合逻辑电路的一般设计办法。 4、掌握定时电路的设计和使用。 5、掌握译码显示电路的原理和应用。 6、通过打地鼠游戏的设计,锻炼对数字单元电路的灵活应用和综合设计能力,提高学生综合应用知识的能力和创新能力。 二、实验所用的主要元器件: 双D触发器74LS74脉冲源计数器2to4译码器

以及若干基础数电元器件 4to16译码器 三、实验仿真电路原理 总实现图: 各模块实现的原理及步骤: A.产生四个指示灯的随机点亮: 1.使用四个计数器并行运行

10进制计数器偶数循环0-2-4-6-8 奇数循环1-3-5-7-9七进制循环 2.通过一个四进制循环来选择这四个计数器的当时时刻的数字, ,如图,四进制循环接上74HC139N。 3.选择数字 使用D触发器做了一个并入并处的移位寄存器,将四个计数器产生的数字的二进制送入寄存器中,

上图即使实现选择四个计数器数字 4.实现灯的随机点亮 将上图选择的二进制数字接入74HC154W4to10的译码器中,将使输出端1到10管脚有效,使(210)、(39)、(48)、(57)分别使能一个灯。 B.打地鼠开关的设计 使用的是可复位的开关,把开关和灯同接一个与门,同时有效则输出高电平。 C.实现打地鼠记分功能

把开关的有效电位产生的脉冲接入计数器的CLK端,则实现每次开关和灯同时有效产生的脉冲能被记录。 D.实现每10次暂停电路 将四盏灯或接入10进制计数器的CLK端,十次满之后RCO输出高电平,使用其使能四进制计数器的CLR端,实现功能。 E.时钟模块电路的设计 电路接通电源的瞬间,由于电容C1来不及充电,Vc=0v,所以555定时器状态为1,输出Vo为高电平。同时,集电极输出端(DIS)对地断开,电源Vcc对电容C1充电,电路进入暂稳 态I,此后,电路周而复始地产生周期性的输出脉冲。多谐振荡器两个暂稳态的维持时间取决于RC充、放电回路的参数。震荡频率公式

北邮模电—实验三、共射放大电路测试仿真(模板)2018-02-26 (1)

实验三共射放大电路计算、仿真、测试分析报告 (请在本文件中录入结果并进行各类分析,实验结束后,提交电子文档报告) 实验目的: 掌握共射电路静态工作点的计算、仿真、测试方法;掌握电路主要参数的计算、中频时输入、输出波形的相位关系、失真的类型及产生的原因;掌握获得波特图的测试、仿真方法;掌握负反馈对增益、上下限截频的影响,了解输入输出间的电容对上限截频的影响等。 实验设备及器件: 笔记本电脑(预装所需软件环境) AD2口袋仪器 电容:100pF、0.01μF、10μF、100μF 电阻:51Ω*2、300Ω、1kΩ、2kΩ、10kΩ*2、24kΩ 面包板、晶体管、2N5551、连接线等 实验内容: 电路如图3-1所示(搭建电路时应注意电容的极性)。 图3-1实验电路 1.静态工作点 (1)用万用表的β测试功能,获取晶体管的β值,并设晶体管的V BEQ=0.64V,r bb’=10Ω(源于Multisim模型中的参数)。准确计算晶体管的静态工作点(I BQ、I EQ、V CEQ,并填入表3-1)(静态工作点的仿真及测量工作在C4为100pF完成); 主要计算公式及结果:

晶体管为2N5551C,用万用表测试放大倍数β(不同的晶体管放大倍数不同,计算时使用实测数据,并调用和修改Multisim中2N5551模型相关参数,计算静态工作点时,V BEQ=0.64V)。静态工作点计算: (2)通过Multisim仿真获取静态工作点(依据获取的β值,修改仿真元件中晶体管模型的参数,修改方法见附录。使用修改后的模型参数仿真I BQ、I EQ、V CEQ,并填入表3-1); (3)搭建电路测试获取工作点(测试发射极对地电源之差获得I EQ,测试集电极与发射极电压差获取V CEQ,通过β计算I BQ,并填入表3-1); 主要测试数据: 4 (4)对比分析计算、仿真、测试结果之间的差异。 分析:可以发现,这三组数据基本吻合,测试值均高于计算值和仿真值,而仿真值比较接近计算值。产生误差得原因可能是实测中在数据的读取时出现读数误差。 2.波形及增益 (1)计算电路的交流电压增益,若输入1kHz 50mV(峰值)正弦信号,计算正负半周的峰值并填入表3-2中(低频电路的仿真及测量工作在C4为100pF完成); 主要计算公式和结果: 输入峰值为50mV的正弦交流信号时,输出电压峰值为: (2)Multisim仿真:输入1kHz 50mV(峰值)正弦信号,观察输入、输出波形(波形屏幕拷贝贴于下方,标出输出正负半周的峰值,将输出的峰值填入表3-2中);

计算机网络课程设计实验报告

校园网的组建与应用 摘要: 本文针对实验室的设备环境,对校园网的组网方式进行了研究和模拟,并最终提出了一套完整的校园网组网方案。 实验中我们对路由器、交换机等组网基础设备进行了认真的研究。关于路由器,我们实现了本地基本配置,并分别使用路由器的串口和以太网口实现了不同网段的网络互联,对路由器静态及动态路由机制进行了探究。关于交换机,我们实现了VLAN的划分以及不同VLAN间的相互通信,对广播风暴现象的产生原理及解决方案进行了特定的实验。综合两者的功能,我们对多种网络拓扑结构进行了分析,讨论和改进。最后通过实验和模拟提出了一套完整的校园网组建方案。 在此方案中,我们在实现了网络互通的情况下,我们进行了IP地址的划分,IP地址利用DHCP进行自动分配。并根据模拟实际,对不同的主机进行VLAN划分,同时保证不同VLAN间的相互访问与特定VLAN的保护与单向访问。同时构建内部防火墙保证校园网与外部的安全访问。构建了完整可靠的网络之后,依据校园网的功能和服务需求,我们搭建了FTP服务器,用于提供基础的网络服务。 限于实验室条件的限制,我们的方案并不是完全能够适用于现实的。但是,通过实验使我们对校园网乃至更大的网络有了更加深刻的了解。

目录

一、前言 随着信息的调整膨胀,全球信息已经进入以计算机网络为核心的时代。作为科技先导的教育行业,计算机校园网已是教育进行科研和现代化管理的重要手段。近几年、校园网已经取得很大的发展,中国教育科研网投入运营,全国多所高校校园网络开通联网。 随着学校教育手段的现代化,很多学校已经逐渐开始将学校的管理和教学过程向电子化方向发展,校园网的有无以及水平的高低也将成为评价学校及学生选择学校的新的标准之一,此时,校园网上的应用系统就显得尤为重要。一方面,学生可以通过它在促进学习的同时掌握丰富的计算机及网络信息知识,毫无疑问,这是学生综合素质中极为重要的一部分;另一方面,基于先进的网络平台和其上的应用系统,将极大的促进学校教育的现代化进程,实现高水平的教学和管理。 学校目前正加紧对信息化教育的规划和建设。开展的校园网络建设,旨在推动学校信息化建设,其最终建设目标是将建设成为一个借助信息化教育和管理手段的高水平的智能化、数字化的教学园区网络,最终完成统一软件资源平台的构建,实现统一网络管理、统一软件资源系统,并保证将来可扩展骨干网络节点互联带宽为10G,为用户提供高速接入网络,并实现网络远程教学、在线服务、教育资源共享等各种应用;利用现代信息技术从事管理、教学和科学研究等工作。最终达到在网络方面,更好的对众多网络使用及数据资源的安全控制,同时具有高性能,高效率,不间断的服务,方便的对网络中所有设备和应用进行有效的时事控制和管理。 二、综述 2.1 概述 从物理意义上来说,校园网就是一种局域网。校园网是各类型网络中一大分支,有着非常广泛的应用及代表性。作为新技术的发祥地,学校、尤其是高等院校,和网络的关系是密不可分的。作为“高新技术孵化器”的高校,是知识、人才的高地,资源十分丰富,比其他行业更渴求网络新技术、网络新应用,

北邮模电简易晶体管图示仪实验报告

模拟综合实验 实 验 报 告 课题名称:简易晶体管图示仪 学院:信息与通信工程学院 专业: 班级: : 学号: 指导老师:王丹志

2016.04.15 摘要 本报告主要介绍了简易晶体管图示仪的设计原理、部结构、设计框图及仿真电路图;并且给出了各个分块电路和总体电路的设计原理、功能说明、电路图等;同时展示了实验中示波器上的波形和其他重要数据;最后分析了实际操作中遇到的问题并提出了解决办法,还有对本次实验的结论与总结。 关键词:阶梯波、三角波、晶体管、输出特性曲线

一.设计任务要求: 1.基本要求: 1)设计一个阶梯波发生器,f≥500Hz,Uopp≥3V,阶数 N=6; 2)设计一个三角波发生器,三角波Vopp≥2V; 3)设计保护电路,实现对三极管输出特性的测试。 2.提高要求: 1)可以识别NPN,PNP管,并正确测试不同性质三极管; 2)设计阶数可调的阶梯波发生器。 二.设计思路及总体结构框图: 1.设计思路: 本实验要求用示波器稳定显示晶体管的输出特性曲线,因此可用阶梯波和三角波对晶体管进行周期性扫描,并将结果以图示的方式显示在示波器上。 具体思路如下: 1)首先利用NE555时基振荡器产生符合条件的方波; 2)将方波输入到双运算放大器LF353中,其中一个运放作 为积分器产生锯齿波,另一个运放构成反相放大电路得 到合适幅值的三角波; 3)将方波作为时钟信号输入到四位同步二进制计数器 74LS169中,取其低三位输出作为地址输入到CD4051

的地址端,通过分压在CD4051的数据输入端输入等间 隔的电位值,CD4051作为数据选择器,根据输入的地 址对数据进行选择性输出,从而获得阶梯波; 4)将三角波输入到三极管的集电极,阶梯波作为基极电位 输入到三极管的基极作为扫描电压。通过示波器两通道 分别接集电极和射极,以X-Y模式显示晶体管的输入输 出特性曲线。 2.总体结构框图: 三.分块电路和总体电路设计: 1.方波电路: 1)原理:

北邮打地鼠的游戏设计与实现

数电实验报告 题目:打地鼠的游戏设计与实现 姓名: 学号: 班级: 学院: 电子工程学院 2015年 11 月 8日

一、 任务要求 基本要求 1、设计一个挑战反应速度的“打地鼠”游戏,采用用 8×8双色点阵显示游戏界面,其中游戏边界采用绿色 LED 显示,随机出现的地鼠采用红色 LED 显示,游戏有 16个洞穴,如图 1所示。 2、游戏洞穴 每次随机出现一个地鼠, 每个地鼠的最长保持时间为 2 秒,2 秒后随机出现下一个地鼠。以 4×4键盘的按键代表锤子,16个洞穴与 16个按键一一对应,一旦锤子在 2秒内击中地鼠,地鼠消失,数码管计分器分数加 1分;若锤子一直没有击中地鼠,2秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到 10分时游戏结束,点阵显示字符“V”。 3、用两个数码管对整个游戏进行倒计时,当游戏时间超过 59秒而成绩未达到 10分时,游戏失败,点阵显示字符“X”。 4、按复位键重新开始游戏,并开始倒计时。 提高要求: 1、增加游戏难关,在边界内每次随机出现两个地鼠,两个地鼠的最长保持时间均为2秒,2 秒后随机出现下两个地鼠,锤子击中一个地

鼠加1分,当游戏成绩达到20分而且游戏时间未超过59秒时,游戏结束,显示字符“V”,否则显示字符“X”。 2、自拟其他功能。 二、系统设计 设计思路: 1、将该程序进行分模块设计。可以将程序分为:分频模块、随机数产生模块、比较模块、键盘电路、显示模块、计时模块、游戏结束模块。 2、分模块进行相应模块的编写。 3、对编好的模块进行测试。 4、编写主程序并进行调试。 总体框图: 分块设计:

北京邮电大学 模拟电路实验

矿石收音机论坛?〓基础知识普及〓?面包板及其使用法 面包板及其使用法 面包板及其使用法 编者注:为了提高青少年的电子技术素养,促进学生全面发展,培养创业意识和创造技能,本刊(无线电)特约多年从事科普教育的特级教师,北京市有特殊贡献的专家孙心若撰写“电子控制技术入门”系列文章。他根据丰富的电子技术、发明创造教学体验,结合青少年的身心特点,进行有趣的“做中学”和“学中做”电路实验,引导青少年由表及里、由浅入深、循序渐进,获得“操作”体验,熏陶科学情感、发展技术能力,特别提供电子技术发展信息,增强创新意识并为他们展示创造能力营造条件。在内容选择上以电子控制技术内容为中心,以基本电路实验为基础,以数字集成电路为重点,并涉及实验所必需的基本理论及技能技巧,同时介绍青少年感兴趣的一些电子器件、小制作和小发明实例。配刊光盘中将用活动图像的形式讲解和演示这些电路实验的过程和现象,光盘中还加入了一些生活中的应用实例。 一、什么是"面包板"? 1.面包板的构造 面包板即"集成电路实验板",就是一种插件板,此"板"上具有若干小型"插座(孔)".在进行电路实验时,可以根据电路连接要求,在相应孔内插入电子元器件的引脚以及导线等,使其与孔内弹性接触簧片接触,由此连接成所需的实验电路。图1为SYB—118型面包板示意图: 为4行59列,每条金属簧片上有5个插孔,因此插入这5个孔内的导线就被金属簧片连接在一起。簧片之间在电气上彼此绝缘。插孔间及簧片间的距离均与双列直插式(DIP)集成电路管脚的标准间距2.54mm相同,因而适于插入各种数字集成电路。 2.面包板使用注意事项 插入面包板上孔内引脚或导线铜芯直径为0.4~0.6mm,即比大头针的直径略微细一点。元器件引脚或导线头要沿面包板的板面垂直方向插入方孔,应能感觉到有轻微、均匀的摩擦阻力,在面包板倒置时,元器件应能被簧片夹住而不脱落。面包板应该在通风、干燥处存放,特别要避免被电池漏出的电解液所腐蚀。要保持面包板清洁,焊接过的元器件不要插在面包板上。 3.面包板实验套材

北邮电路综合实验报告——串行口数据传输的仿真及硬件实现

北京邮电大学 信息与通信工程学院 电路综合实验报告 串行口数据传输的仿真及硬件实现 姓名: 学号: 班内序号: 班级: 指导老师: 日期:2014年10月10日

摘要: 本实验模拟了现代数字逻辑电路中的数据传输过程。使用连续的代表0、1的高低电平作为数字信号,将该数字信号从输出端发送到接收端,并分别用串行、并行两种方式进行锁存,检测。本实验模拟了序列信号的发生装置、串并转换装置、串行并行两种方式的检测装置、锁存输出和控制电路,实现了一个简单的串行口数据传输模型。在此试验中,通过对常见芯片的组合实现功能,将一串由0、1组成的数字信号进行传输、转换、检测,使之显示在数码管上成为可读信息。并且,还实现了对此电路显示的控制,使数码管在满足条件的情况下才点亮。在实验中,还使用了Qua rtusⅡ对设计的电路进行了仿真模拟。 关键字: 数据传输、串并转换、数据检测、QuartusII Abstract: This experiment simulated data transfer in modern digital logic circuit. Digital signal was transferred from the output terminal to the receiving end, which was consisted of

continuous high or low level represent 0 and 1 as digital signal, and latch, test it through serial or parallel mode. Our experiment simulated the producing equipment of sequence signal, the signal conversion module, testing module of serial and parallel mode, latch output and control circuit. It implements a simple serial port data communication model. In the experiment, we use the combination of simple chips to realize the function that transport, transfer and test a sequence of the digital signal consisting of 0 and 1, and display it on LED Segment Displays. In addition, we realize the control of display. The LED Segment Displays works only in specific conditions. We also conduct simulations on QuartusⅡ. Keywords: Data transmission, String conversion, Data detection, Quartus II 目录 一、实验目的 (4)

模电仿真实验报告。

模拟电路仿真实验报告 张斌杰生物医学工程141班 MUltiSim软件使用 一、实验目的 1、掌握MUltiSim软件的基本操作和分析方法。 二、实验内容 1、场效应管放大电路设计与仿真 2、仪器放大器设计与仿真 3、逻辑电平信号检测电路设计与仿真 4、三极管Beta值分选电路设计与仿真 5、宽带放大电路设计与仿真 三、MUItiSim软件介绍 MUItiSim是美国国家仪器(NI)有限公司推出的以WindOWS为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。工程师们可以使用MUItiSinl交互式地搭建电路原理图,并对电路进行仿真。MUltiSiIn提炼了SPICE 仿真的复杂内容,这样工程师无需懂得深入的SPlCE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过MUItiSiIn和,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到和测试这样一个完整的综合设计流程。 实验名称:

仪器放大器设计与仿真 二、实验目的 1、 掌握仪器放大器的设计方法 2、 理解仪器放大器对共模信号的抑制能力 3、 熟悉仪器放大器的调试功能 4、 掌握虚拟仪器库中关于测试模拟电路仪器的使用方法,如示波器,毫伏 表信 号发生器等虚拟仪器的使用 三、设计实验电路图: 四、测量实验结果: 出为差模放大为399mvo 五、实验心得: 应用MUIti S im 首先要准备好器件的PSPiCe 模型,这是最重要的,没有这个 东西免谈,当然SPiCe 高手除外。下面就可以利用MUItiSinl 的元件向导功 能制作 差模分别输入信号InW 第二条线与第三条线: 共模输入2mv 的的电压,输出为2mv 的电压。 第一条线输

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

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:QuartusII原理图输入 法设计与实现 学院:北京邮电大学 班级: 姓名: 学号:

一.实验名称和实验任务要求 实验名称:QuartusII原理图输入法设计与实现 实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。 ⑵掌握QuartusII图形模块单元的生成与调用; ⑶熟悉实验板的使用。 实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑 门设计实现一个半加器,生成新的半加器图像模 块。 ⑵用实验内容(1)中生成的半加器模块以及逻辑门 实现一个全加器,仿真验证其功能,并能下载到实 验板上进行测试,要求用拨码开关设定输入信号, 发光二级管显示输出信号。 ⑶用3线—8线译码器(74L138)和逻辑门实现要求 的函数:CBA F+ C + =,仿真验证其 + B C B A A A B C 功能,,并能下载到实验板上进行测试,要求用拨 码开关设定输入信号,发光二级管显示输出信号。二.设计思路和过程 半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。 a表示加数,b表示被加数,s表示半加和, co表示向高位的进位。

⑵由数字电路与逻辑设计理论知识可知 b a s ⊕=;b a co ?= 选择两个逻辑门:异或门和与门。a,b 为异 或门和与门的输入,S 为异或门的输出,C 为与门的输出。 (3)利用QuartusII 仿真实现其逻辑功能, 并生成新的半加器图形模块单元。 (4)下载到电路板,并检验是否正确。 全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构 成。全加器有三个输入值a,b,ci ,两个输 出值s,co :a 为被加数,b 为加数,ci 为低 位向高位的进位。 ⑵全加器的逻辑表达式为: c b a s ⊕⊕= b a ci b a co ?+?⊕=)( ⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。 用3线—8线译码器(74L138)和逻辑门设计实现函数 CBA A B C A B C A B C F +++= 设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块

北邮数电实验VHDL源代码完整2013年

北邮数电实验VHDL源代码完整版 注:北邮信通院数电实验,大二下共四次实验,以下为四次实验的完整代码,仅供参考,希望学弟学妹在抄代码的时候了解每一行代码的含义。知识是自己的。别忘了,北邮的未来靠你们。 注意事项:1学校部分电脑打不开07版word文件(后缀docx),建议大家准备一份TXT以防万一 2运行出错时可能是你输入有误,比如中文和英文符号弄错了 3数电实验很简单,但要心细,一定要按老师说的做 4数电实验报告千万不要抄袭,老师判断力很强 实验一: 半加器老师会给出,全加器是画图,怎么画书上有,不用源代码。 实验二: (1)3位二进制数比较器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY comp3 IS PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0); B:IN STD_LOGIC_VECTOR(2 DOWNTO 0); YA,YB,YC:OUT STD_LOGIC); END comp3; ARCHITECTURE behave OF comp3 IS BEGIN PROCESS(A,B) BEGIN IF(A>B)THEN Y A<='1';YB<='0';YC<='0'; ELSIF(A

END IF; END PROCESS; END behave; (2)4选1数据选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY mux4 IS PORT(A:IN STD_LOGIC_VECTOR(1 DOWNTO 0); D0,D1,D2,D3:IN STD_LOGIC; Y,YB:OUT STD_LOGIC); END mux4; ARCHITECTURE behave OF mux4 IS BEGIN PROCESS(A,D0,D1,D2,D3) BEGIN CASE A IS WHEN"00"=> Y<=D0;YB <= NOT D0; WHEN"01"=> Y<=D1;YB <= NOT D1; WHEN"10"=> Y<=D2;YB <= NOT D2; WHEN"11"=> Y<=D3;YB <= NOT D3; WHEN OTHERS=> Y<='Z';YB<='Z'; END CASE; END PROCESS; END behave; (3)8421码转换为格雷码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY trans1 IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END trans1; ARCHITECTURE trans_gray OF trans1 IS BEGIN B(0)<=A(0)XOR A(1); B(1)<=A(1)XOR A(2); B(2)<=A(2)XOR A(3);

北邮移动通信实验报告

信息与通信工程学院移动通信实验报告 班级: 姓名: 学号: 序号: 日期:

一、实验目的 1移动通信设备观察实验 1.1RNC设备观察实验 a) 了解机柜结构 b) 了解RNC机框结构及单板布局 c) 了解RNC各种类型以及连接方式 1.2基站设备硬件观察实验 a) 初步了解嵌入式通信设备组成 b) 认知大唐移动基站设备EMB5116的基本结构 c) 初步分析硬件功能设计 2网管操作实验 a) 了解OMC系统的基本功能和操作 b) 掌握OMT如何创建基站 二、实验设备 TD‐SCDMA移动通信设备一套(EMB5116基站+TDR3000+展示用板卡)、电脑。 三、实验内容 1TD-SCDMA系统认识 TD-SCDMA是英文Time Division-Synchronous Code Division Multiple Access(时分同步码分多址)的简称,TD-SDMA是由中国提出的第三代移动通信标准(简称3G),也是ITU批准的三个3G标准中的一个,以我国知识产权为主的、被国际上广泛接受和认可的无线通信国际标准。是我国电信史上重要的里程碑。 TD-SCDMA在频谱利用率、业务支持灵活性、频率灵活性及成本等方面有独特优势。TD-SCDMA由于采用时分双工,上行和下行信道特性基本一致,因此,基站根据接收信号估计上行和下行信道特性比较容易。TD-SCDMA使用智能天线技术有先天的优势,而智能天线技术的使用又引入了SDMA的优点,可以减少用户间干扰,从而提高频谱利用率。TD-SCDMA还具有TDMA的优点,可以灵活设置

上行和下行时隙的比例而调整上行和下行的数据速率的比例,特别适合因特网业务中上行数据少而下行数据多的场合。但是这种上行下行转换点的可变性给同频组网增加了一定的复杂性。TD-SCDMA是时分双工,不需要成对的频带。因此,和另外两种频分双工的3G标准相比,在频率资源的划分上更加灵活。 图1 3G网络架构 2硬件认知 2.1 RNC设备认知 TDR3000整套移动通信设备机框外形结构如图2所示。

北邮arduino实验报告

电子电路综合实验设计 实验名称: 基于 Arduino 的电压有效值测量电路设计与实现 学院: 班级: 学号: 姓名: 班内序号:

实验 基于Arduino 的电压有效值测量电路设计与实现 一. 摘要 Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。 关键字:半波整流整流滤波 Arduino最小系统读取电压有效值 二. 实验目的 1、熟悉Arduino 最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标通过分析计算确定电路形式和元器件参数; 4、画出电路原理图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino 系统编程方法。 三. 实验任务及设计要求 设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。 1、基本要求 (1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁; (2)电源部分稳定输出5V 工作电压,用于系统供电; (3)设计峰值半波整流电路,技术指标要求如下:

北邮数电实验报告

北京邮电大学实验报告 实验名称:数字电路与逻辑设计实验报告 学院:信息与通信工程学院 班级: 姓名: 学号: 序号: 日期:

实验三:用VHDL语言设计与实现逻辑电路 一、实验内容 1. 用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能,并下载到实验版测试。要求用按键设定输入信号,发光二极管显示输出信号; 2.用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器,仿真验证其功能; 3.将(1),(2)和数码管译码器3个电路进行连接,并下载到实验板显示计数结果。 二、模块端口说明及连接图 1.分频器 2. 计数器 clk: 时钟输入信号 clk: 时钟信号输入 clear: 复位信号输入 clear: 复位信号输入 clk_out: 时钟分频后的信号输出 q: 计数器的输出 3.数码管显示 b: 数码管的输入信号 seg: 译码显示输出 onoff: 数码管的输出控制

4.连接图 三、实验分析 1.设计思路 本实验将之前的分频器和计数器以及数码管显示模块组合起来,实现了单个数码管现显示0~9,每隔0.5s切换一次显示内容。 COMPONENT div_12实现了时钟分频,将50MHz的单片机晶振时钟进行分频,输出频率2HZ占空比50%的方波时钟,以此时钟作为内部时钟驱动计数器。 COMPONENT jishuqi是一个十进制计数器,NUM从“0000”到“1001”循环变化,模为10。计数器的输出传递给数码管译码显示电路。 COMPONENT seg7_1是数码管译码显示电路,将收到的信号NUM译码并控制数码管的段锁存来控制数码管的显示。 整体来看,div-12提供了分频后2Hz的时钟,驱动计数器计数,计数的结果作为数码管译码显示模块的输入,根据计数器实时的数进行数码管的显示。综合起来就实现了设计的功能。 在进行电路的连接时,可直接在代码中分成三个进程来实现,也可通过为每个模块建立符号,连接电路图来实现。 2. 具体代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpinjishu IS PORT( clear2 :IN STD_LOGIC; clk1:IN STD_LOGIC; b1:OUT STD_LOGIC_VECTOR(6 downto 0); CAT:OUT STD_LOGIC_VECTOR(7 downto 0) );

北邮数电实验报告

北京邮电大学 实验报告实验名称:数电电路与逻辑设计实验 学院:信息与通信工程学院 班级: 姓名: 学号: 班内序号: 日期:

一. 实验一:Quartus II 原理图输入法设计 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码的代码转换器,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个’1’时,输出为’1’,否则输出’0’,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。 2.实验代码及波形图 (1)共阴极7段数码管译码器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY GUAN IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); C:OUT STD_LOGIC_VECTOR(5 DOWNTO 0)); END GUAN; ARCHITECTURE encoder_arch OF GUAN IS BEGIN PROCESS(A) BEGIN C<="011111"; CASE A IS WHEN"0000"=> B<="1111110";--0 WHEN"0001"=> B<="0110000";--1 WHEN"0010"=> B<="1101101";--2 WHEN"0011"=> B<="1111001";--3 WHEN"0100"=> B<="0110011";--4 WHEN"0101"=> B<="1011011";--5 WHEN"0110"=> B<="1011111";--6 WHEN"0111"=> B<="1110000";--7 WHEN"1000"=> B<="1111111";--8 WHEN"1001"=> B<="1111011";--9

数据结构 哈夫曼编码 实验报告

数据结构实验报告 实验名称:实验3——树(哈夫曼编/解码器) 学生姓名: 班级: 班内序号: 学号: 日期:2011年12月5日 1.实验要求 利用二叉树结构实现哈夫曼编/解码器。 基本要求: 1、初始化(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频 度,并建立哈夫曼树 2、建立编码表(CreateTable):利用已经建好的哈夫曼树进行编码,并将每个字符的 编码输出。 3、编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输 出。 4、译码(Decoding):利用已经建好的哈夫曼树对编码后的字符串进行译码,并输出 译码结果。 5、打印(Print):以直观的方式打印哈夫曼树(选作) 计算输入的字符串编码前和编码后的长度,并进行分析,讨论哈夫曼编码的压缩效果。 并用I love data Structure, I love Computer。I will try my best to study data Structure.进行测试。 2. 程序分析 哈夫曼树结点的存储结构包括双亲域parent,左子树lchild,右子树rchild,还有字符word,权重weight,编码code 对用户输入的信息进行统计,将每个字符作为哈夫曼树的叶子结点。统计每个字符出现的次数作为叶子的权重,统计次数可以根据每个字符不同的ASCII码,根据叶子结点的权重建立一个哈夫曼树。 建立每个叶子的编码从根结点开始,规定通往左子树路径记为0,通往右子树路径记为1。由于编码要求从根结点开始,所以需要前序遍历哈夫曼树,故编码过程是以前序遍历二叉树为基础的。同时注意递归函数中能否直接对结点的编码域进行操作。 编码信息只要遍历字符串中每个字符,从哈夫曼树中找到相应的叶子结点,取得相应的编码。最后再将所有找到的编码连接起来即可。 译码则是将编码串从左到右逐位判别,直到确定一个字符。这就是哈夫曼树的逆过程。

相关文档
最新文档