当前位置:文档之家› 川大数字信息实验FPGA彩灯实验报告

川大数字信息实验FPGA彩灯实验报告

川大数字信息实验FPGA彩灯实验报告
川大数字信息实验FPGA彩灯实验报告

实验名称:彩灯实验

实验时间:

班级:

实验人:

一、实验项目

彩灯控制实验:利用开发实验平台上的8 个LED 实现常见彩灯实验。

二、实验目的

1、学习QuatusII开发软件的基本操作。

2、熟悉教学实验板的使用。

3、初步掌握VHDL语言的设计、输入、编译、仿真和调试过程。

4、掌握USB-BLASTER下载工具的安装、以及程序下载方法。

三、实验内容

1、首先编译下载给定的VHDL硬件描述语言编写的彩灯控制示例程序,仔

细观察在实验板上的现象。

2、用VHDL语言编辑彩灯控制程序,通过按键控制开发实验平台上的8个

LED灯的点亮顺序:

(1)按键可选择核心板上的按键,或EDA主板上矩阵键盘作为按键,或DKA系列按键;

(2)通过一个按键控制8个LED灯从左向右依次循环点亮;

(3)通过一个按键控制8个LED灯从右向左依次循环点亮;

(4)通过一个按键控制8个LED灯从中间向两边依次循环点亮;

(5)通过一个按键控制8个LED灯从两边向中间依次循环点亮;

(6)通过一个按键控制8个LED灯全部点亮;

(7)通过一个按键控制8个LED灯全部熄灭。

3、扩展内容:能够设置8个LED灯的点亮频率(通过时钟、分频器实现)。

4、在QuatusII平台上进行波形仿真,保存一组通过按键控制8个LED灯从

中间向两边依次循环点亮的仿真波形图。

5、描述在实验板上观察到的现象。

四、实验仪器

计算机、USB-BLASTER下载线、数字系统实验箱、5V稳压电源。

五、实验原理

1、EDA主板上8个LED灯的电路连接如图1所示。8个LED采用74LS244

进行隔离驱动,当FPGA对应I/O口为高电平时,相应的LED灯点亮;

为低电平时,灯熄灭。

2、表1是对应的FPGA映射管脚表,即编译通过后,进行器件管脚分配时必

须按照相应的管脚号进行分配,否则就无法进行硬件验证测试。

图1 8个LED灯的电路连接图

表1 LED灯对应的FPGA映射管脚表

3、FPGA时钟连接电路及管脚分配分别如图2和表2所示。LED灯的循环

点亮频率根据所选择时钟信号确定,或者选择某个固定时钟,然后通过分频器来改变循环点亮频率。

图2 时钟电路连接图

表2 时钟管脚映射表

4、核心板上的四个按键电路连接及管脚映射表如图3所示。按下键相应的

I/O口为低电平,未按下为高电平。

图3 核心板上的四个按键电路连接及管脚映射表

5、EDA 主板上4 x 4矩阵键盘电路连接电路图及管脚映射表如图4所示。

图4 EDA 主板上4 x 4矩阵键盘电路连接电路图及管脚映射表

6、EDA 主板上DKA 系列按键电路连接图及管脚映射表如图5所示。

139

138137136135134FPGA 映射管脚

Keys/USB

Keys0/LCD

key3

key2key1key0网络名Keys/USB Keys0/LCD

key3

key2key1key0器件名QK3

QK3

QK2QK2QK1QK1QK0/REST2

QK0/REST2

141

Keys/U11

Keys/U11

140Keys/AD Keys/AD FPGA 映射管脚

网络名器件名

图5 EDA主板上DKA系列按键电路连接图及管脚映射表

根据功能要求,可将8路彩灯控制器的输出按花形循环要求列成表格,其中。Q7-Q0是控制器输出的8路彩灯的控制信号,高电平时彩灯亮。当按下不同的按键时,LED的控制信号不同。按下Key1,8个LED同时为低电平,即全灭,按下Key2,8个LED控制信号同时为高电平,即全亮;按下Key3,8个LED 的控制信号按照时钟信号或分频器依次赋值为

1000000-01000000-00100000-00010000-00001000-00000100-00000010-00000001。通过调整时钟或分频器可调整LED的点亮速度。

同理,按照上述方法分别按下Key4,Key5,Key6,实现不同的点亮方式。

六、实验步骤

一、建立工程项目:

1、安装USB-BLASTER编程工具(安装步骤见-文档最后-USB_BLASTER

驱动程序的安装);

2、在WINDOWS界面双击QuatusII图标,进入QuatusII开发环境;

3、选择“File=>New Project Wizard”或Create a New Project ,出现向导对

话框;

4、点击Next>,弹出如下New Project Wizard对话框,填写Directory,Name,

Top-Level Entity等项目。其中第一、第二、第三个文本框分别是工程项目目录、项目名称和项目顶层设计实体的名称弹出如下窗口;

5、设置好存储位置和项目名称后点击Next>,弹出出现添加工程文件的对话

框;

在上述对话框中,我们可以导入已经存在的*.vhd、*.vhdl或*.verilogwen文件(注:导入的文件名称需和项目名称一致),若原来己有文件,可选择相应文件。

若需要导入已存在文件到当前项目中,则按照以下步骤操作;若无需导入文件则直接点击Next> , 跳过步骤(5)、(6)、(7),执行步骤(8)

6、点击上图中红色框选中的按钮,弹出如下窗口,选择要导入的文件,如下

选中light.vhd

7、点击“打开”,如下所示File name:显示需要导入文件的位置:

8、点击Add,将选中的文件添加到项目中,如下所示,

9、点击Next>,如下选择FPGA器件对话框,在Family下拉框中,根据需

要选择一种型号的FPGA,比如CycloneII系列FPGA。然后在“Available devices:”中根据需要的FPGA型号选择FPGA型号;

10、选择器件类型-型号后,点击Next>,如下图,弹出其他EDA工具的对

话框,由于我们使用Quartus Ⅱ的集成环境进行开发,因此不要作任何改动。

11、单击Next进入工程的信息总概对话框;

12、单击Finish按钮就建立了一个空的工程项目;

二、编辑设计文件:

13、执行“File=>New”弹出新建文件对话框,Quartus Ⅱ支持6种设计输入

法文件(Design Files): “AHDL File ”,是AHDL文本文件; “Block Diagram/Schematic File ”,是流程图和原理图文件,简称原理图文件;“EDIF

File ”,是网表文件;“SOPC Builder System ”,是可编程片上系统的编辑系统; “Verilog HDL File ”,是Verilog HDL文本文件; “VHDL File ”,是

VHDL文本文件。这里我们使用VHDL语言,因此选择VHDL File。

14、单击OK后,即建立一个空的原理图文件,在Quartus窗口的右方看到该文件(Vhdl.vhd),如下图:

15、执行File=> Save as命令,把它另存为文件名是“light”(自己命名)的VHDL文件,文件后缀为.vhd。使该文件添加到刚建立的工程目录中去。16、点击保存,则将当前的VHDL 文件保存至当前工程中,Quartus窗口的右方看到该文件名为light.vhd,用VHDL语言编辑彩灯控制程序,控制开发实验平台上的8个LED灯的点亮顺序,将代码写入该文件,如下图:17、选择“Processing=》Start Compilation”或通过点击快捷菜单按钮,

开始编译;

18、编译结束后,会出现如下图所示的对话框,对话框会显示编译的错误和

警告的情况。若有错误,则可先双击编译器界面下方出现的第一个错误提示,可使第一个错误处改变颜色。检查纠正,第一个错误后保存再编译,如果还有错误,重复以上操作,直至最后通过。最后通过时应没有错误提示但可有警告提示。

19、在QuatusII平台上进行波形仿真。单击Files菜单下的New,选择

Verification/Debugging Files下的Vector Waveform File后单击OK就能创建一个后缀名为.vwf的文本文件,绘制相应的输入波形文件,根据输入波形仿真输出波形;

20、点击ok,出现波形文件编辑器

21、在上图鼠标所在处(红色框)单击鼠标右键,出现下图所示菜单,选择Insert Node or Bus…命令

22、出现如图所示的对话框,单击Node Finder…按键。

23、在出现的对话框中单击List按键选择需要的输入输出引脚,如图所示

24、如图2-52所示,单击选中的按键,选中需要的输入输出引脚。

25、然后,单击两次确定按钮,出现如图所示的画面。

26、设置仿真时间

执行Edit=>End Time命令

弹出如下设置时间对话框,设置总时间为1.0us:

执行Edit=>Grid Size命令,设置时间单位为10 ns

27、设置输入信号波形

单击工具箱中缩放工具按钮,将鼠标移到编辑区内,单击鼠标,调整波形区

横向比例(左键放大,右键缩小),单击工具箱中的选择按钮,然后在要设置波形的区域上按下鼠标左键并拖动鼠标,选择要设置的区域。

(1)单击工具箱中高电平设置按钮,将该区域设置为高电平,如图所示。

(2)用相似的方法设置其他区域的波形,如图所示,注意波形与真值表相对应。

28、选择“processing-》generate functional simulation netlist”,弹出如下保存

对话框:(文件名需要与对应的.vhd文件名一致)

29、点击是,弹出如下对话框,保存路径与工程路径一致,文件名为light:

30、点击保存,将该波形文件保存,保存成功,弹出如下对话框:

31、再选择“processing=》Start simulation”,进行仿真,仿真成功弹出如下

对话框。

仿真结果如图,认真核对输入输出波形,可检查设计的功能正确与否。

32、单击Assignments下的device选择器件;

33、单击Assignments下的pins进行管脚分配;

34、单击Processing下面的Compiler tool编译程序;

35、单击Tools下面的Programmer,

36、单击Hardware Stup,在HardwareSettings选项卡下的Currently selected

hardware选择USB-BLASTER下载工具,后点击close。

37、单击Add File ,选择后缀为.sof的文件,点击打开。

38、点击start,将程序下载到FPGA芯片中,仔细观察实验板上的现象,测

试验证程序。

七、实验结果

1.工程建立及测试文件的生成:根据要求建立工程light,添加相应的文件,

编译,分配芯片的引脚,分析和综合。生成可用于硬件测试的文件

light.sof。

2.程序烧写:根据要求安装好下载工具USB BLASTER 的驱动,给器件上

电。在Programmer界面中选择相应的下载工具即USB BLASTER,选中

相应的文件light.sof(默认选择)start下载。

3.硬件测试:

根据提供的程序可以实现功能:6位按键控制6种不同状态的流水灯

修改源程序以实现3位按键控制6种不同状态的流水灯,具体修改步

骤如下:

1.端口定义部分:key : in std_logic_vector(5 downto 0)修改位3

位的标准逻辑向量类型即:key : in std_logic_vector(2 downto 0);

2.修改行为描述(architecture的process部分):原程序为6位

key的6种二进制编码,对应于3位flag的6种二进制编码,控制8

位light的6种状态。因此,最简单的修改方法即是将6位key的6

种二进制编码改为3位key的6种二进制编码(3位二进制可实现8

种编码)。此外,原程序中对key5优先译码可删除不用。这里选用

的六种编码分别是:001、010、011、100、101、000 。

3.重新编译,删除多余分配的key的引脚。分析综合,下载测

试。

八、源程序

--********************************************

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

--********************************************

ENTITY light is

PORT(

clk1 : IN STD_LOGIC;

light: buffer std_logic_vector(7 downto 0)

key : in std_logic_vector(5 downto 0)--修改为std_logic_vector(2 downto 0)

);

END light;

--*********************************************

ARCHITECTURE behv OF light IS

constant len : integer:=7;

signal banner : STD_LOGIC:='0';

signal clk,clk2: STD_LOGIC;

BEGIN

clk<=clk1;

process (clk)

if clk'event and clk='1' then

if key="000001"the--修改为”001”

if flag="000" then

light<='1' & light(len downto 1);

if light(1)='1' then

flag:="001";

end if;

elsif flag="001" then

light<=light (len-1 downto 0) & '0';

if light(6)='0' then

flag:="000";

end if;

end if;

elsif key="000010"then--修改为“010”

if flag="000" then

light<= light(len-1 downto 0) & '1';

if light(6)='1' then

flag:="001";

end if;

elsif flag="001" then

light<='0' & light (len downto 1) ;

if light(1)='0' then

flag:="000";

end if;

end if;

elsif key="000100" then—修改为“011”

if flag="000" then

light(len downto 4) <=light (len-1 downto 4)&'1';

light(len-4 downto 0) <='1'& light(len-4 downto 1);

if light(0)='1' then

flag:="001";

end if;

elsif flag="001" then

light(len downto 4) <='0'& light(len downto 5);

light(len-4 downto 0) <= light(len-5 downto 0)&'0';

if light(2)='0' then

flag:="000";

end if;

end if;

elsif key="001000" then—修改为“100”

if flag="000" then

light(len downto 4)<='1'&light(len downto 5);

light(len-4 downto 0) <=light(len-5 downto 0)&'1';

if light(3)='1' then

flag:="001";

end if;

elsif flag="001" then

light(len downto 4) <=light (len-1 downto 4)&'0';

light(len-4 downto 0) <= '0'& light(len-4 downto 1);

if light(1)='0' then

flag:="000";

end if;

end if;

elsif key="010000" then—修改为“101”

light<="11111111";

flag:="000";

elsif key(5)='1' then

light<="00000000";

flag:="000";--删除改key(5)优先译码

elsif key="000000" then—修改为“000”

light<="00000000";

flag:="000";

end if;

end if;

end process;

end behv;

九、数据分析

修改原程序实现新功能具体思路:

1.端口定义部分:key : in std_logic_vector(5 downto 0)修改位3位的标准

逻辑向量类型即:key : in std_logic_vector(2 downto 0);

2.修改行为描述(architecture的process部分):原程序为6位key的6

种二进制编码,对应于3位flag的6种二进制编码,控制8位light的6种状态。因此,最简单的修改方法即是将6位key的6种二进制编码改为3位key的6种二进制编码(3位二进制可实现8种编码)。此外,原程序中对key5优先译码可删除不用。这里选用的六种编码分别是:001、010、011、100、101、000 。

十、实验体会

通过本次实验,熟悉了Quartus II 软件对FPGA的设计工作流程。将6位key控制8位流水灯的六种状态改为3为KEY来控制,通过这一过程更加加深了VHDL语言设计FPGA的方法。本次实验较为成功,收获很大。

FPGA实验报告

数字电路与逻辑设计 用Verilog编程 用FPGA实现汽车尾灯控制系统 实验报告 学院:信息与通信工程学院 专业:电子信息工程 班级: 2015211103 组员:傅远昌 2015210077 张楷 2015210078

一.实验要求 根据汽车行驶状态自动控制汽车尾灯 1.直行:尾灯不亮 2.右转:右侧尾灯亮而且按秒闪烁,左侧尾灯不亮 3.左转:左侧尾灯亮而且按秒闪烁,右侧尾灯不亮 4.临时停车或故障:两侧尾灯同时闪烁 5.倒车显示 二.用FPGA实现方式设计 1.用三色LED代表左右汽车尾灯,为了便于区分,左尾灯选择靠左的三色LED且显示为蓝色,右尾灯选择靠右的三色LED且显示为红色。两灯同时闪烁表示停车或倒车。 2.用八个单色LED以流水灯的方式显示汽车的行驶状态,向前滚动表示汽车前行,向后滚动表示汽车到车,只有前四个LED 亮表示左转,只有后四个LED亮表示右转。 3.用四个拨码开关分别表示前行、左转、右转、故障(倒车),器输入组合1000表示前行,0100表示左转、0010表示右转、0001表示故障(倒车); 三.设计思路分析 1.使用不同的进程来分别处理时钟分频及各个状态下的灯光效果 2.用三色LED代表左右汽车尾灯

3.用拨码开关控制汽车行驶状态 4.用单色LED显示汽车行驶状态 5.使用状态机的思想来设计,通过过状态来决定灯光效果,通过外部输入来改变状态。 四.波形仿真 五.管脚分配 1.输入管脚分配: 2.输出管脚分配:

六.实验总结体会: (1)本次实验,我们采用模块化的设计方法,将整体分成不同功能的模块,如计时模块、分频模块、显示控制模块、LED灯显示模块,然后分模块编写程序(由小组人员分工完成),之后再将模块之间用变量连接起来,从而实现汽车尾灯显示要求。 (2)在实现本次设计的过程中,使我们了解了汽车尾灯的基本原理,从而让我们觉得,首次将我们的专业知识与生活联系起来,增强了我们对本课程的学习兴趣。 (3)在本次实验的实现过程中,通过调用case语句、always语句,是我们进一步加深了对case、always语句的认识,并且能够将其运用到其他设计中,使我们进一步熟练了这种设计方法和verilog程序设计语言。 七.实现代码

流水灯实验报告综合二

实验名称:流水灯的实验设计与制作班级100713 学号07 姓名张凯瑜指导教师庞涛 一、实验目的: 1.增进对单片机的感性认识,加深对单片机理论方面的理解。 2.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。 3.了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。 二、实验原理:

原理图说明:该设计选用一块STC89C52型单片机,使用其P1口和P3口的部分。P1口作为发光二极管的控制信号输出端,P3.2作为按钮K1外部中断0的信号输入口,P3.3为按钮K2外部中断1的信息输入口,P3.4作为K3信息输入口。单片机晶振频率为11.0592MHz,方便在线下载程序调试。电源使用5v 直流电,其中R11、C6为K1键硬件消抖(但效果不太理想,所以在软件中也做了软件消抖)。 三、实验设备: 电烙铁、万用电表、斜口钳、剥线钳、镊子、电池座、导线若干,所需元件清单: 四、实验方法与步骤: (1)认识各种元件,了解各元件的功能和使用方法。 (2)根据实验原理设计实验电路图和焊接图,并多次进行修正。

(3)按照实验焊接图在洞洞板上进行焊接。 焊接时在覆铜一面进行焊接,没有覆铜的一面用来放置元件。焊接时先对MCU座定好位,焊好对角两个角,然后焊接电源电路,按键电路,再复位和晶振电路,最后焊接LED 部分。 (4)插上编写好程序的单片机,实现“流水灯”效果。 五、实验测量与记录: 功能说明:本设计一共可以显示5种花样 k1键:切换显示花样k2键:暂停显示k3键:继续显示 流水灯——正面无单片机时 流水灯——正面有单片机时

数字钟设计报告——数字电路实验报告

数字钟设计实验报告 专业:通信工程 姓名:王婧 班级:111041B 学号:111041226

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生 3

花样流水灯实验报告

黄淮学院信息工程学院 单片机原理及应用课程设计性实验报告

五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。 开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭

P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭{ P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果

图片 1 逐个点亮图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年月日

单片机实验报告

PIC单片机原理与应用实验报告 学校: 学院: 班级: 姓名: 学号: 指导教师:

实验一I/O端口实验 一、实验目的 (1)掌握MPLAP IDE集成开发环境的基本操作。 (2)掌握单片机的I/O端口的设计方法。 (3)掌握在线调试器的使用方法。 (4)学会查阅相关数据手册。 二、实验仪器设备 (1)PC机一台; (2)MPLAP IDE开发软件一套; (3)PICkit3在线调试器一套; (4)APP009实验板一块; 三、实验要求 (1)设计发光LED灯闪烁程序,下载调试,验证功能。 (2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。 (3)设计按按键加1计数程序,下载调试,验证功能。 四、实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电; (4)完成实现发光LED灯闪烁实验; 程序代码: #include void delay(void); int main() { while(1) { TRISEbits.TRISE0 = 0; //RE0设置为输出(1输入,0输出); https://www.doczj.com/doc/e93968052.html,TE0 =1; //RE0=1输出高电平+5V,亮灯 delay(); //延时 https://www.doczj.com/doc/e93968052.html,TE0 =0; //RE0=0输出低电平0V,灭灯 delay(); //延时 } } void delay(void) { long int i; for (i=0;i<65000;i++); } 实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。

数字通信系统设计实验报告

实验1:用 Verilog HDL 程序实现乘法器 1实验要求: (1) 编写乘法器的 Veirlog HDL 程序. (2) 编写配套的测试基准. (3) 通过 QuartusII 编译下载到目标 FPGA器件中进行验证 (4) 注意乘法逻辑电路的设计. 2 试验程序: Module multiplier(input rst,input clk,input [3:0]multiplicand, input [3:0]multiplier,input start_sig,output done_sig,output [7:0]result); reg [3:0]i; reg [7:0]r_result; reg r_done_sig; reg [7:0]intermediate; always @ ( posedge clk or negedge rst ) if( !rst ) begin i<=4'b0; r_result<=8'b0; end else if(start_sig) begin case(i) 0: begin intermediate<={4'b0,multiplicand}; r_result<=8'b0; i<=i+1; end 1,2,3,4: begin if(multiplier[i-1]) begin r_result<=r_result+intermediate; end intermediate<={intermediate[6:0],1'b0}; i<=i+1; end 5: begin r_done_sig<=1'b1;

i<=i+1; end 6: begin r_done_sig<=1'b0; i<=1'b0; end endcase end assign result=r_done_sig?r_result:8'bz; assign done_sig=r_done_sig; endmodule3 测试基准: `timescale 1 ps/ 1 ps module multiplier_simulation(); reg clk; reg rst; reg [3:0]multiplicand; reg [3:0]multiplier; reg start_sig; wire done_sig; wire [7:0]result; /***********************************/ initial begin rst = 0; #10; rst = 1; clk = 1; forever #10 clk = ~clk; end /***********************************/ multiplier U1 ( .clk(clk), .rst(rst), .multiplicand(multiplicand), .multiplier(multiplier), .result(result), .done_sig(done_sig), .start_sig(start_sig) ); reg [3:0]i; always @ ( posedge clk or negedge rst ) if( !rst )

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (3) 一、课程设计目的 (3) 二、课程设计要求 (4) 三、实验内容 (4) 1、设计任务与要求 (4) 2、系统分析 (4) 1).硬件电路设计(画出原理图、接线图) (5) 2)软件框图 (7) 3、用keil建项目流程 (8) 4、程序清单 (9) 4、系统调试 (11) 四、设计总结(结论) (12)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

FPGA数电实验报告

实验报告 课程名称:数字电子技术实验姓名: 学号: 专业: 开课学期: 指导教师:

实验课安全知识须知 1.须知1:规范着装。为保证实验操作过程安全、避免实验过程中意外发生,学生禁止穿拖 鞋进入实验室,女生尽量避免穿裙子参加实验。 2.须知2:实验前必须熟悉实验设备参数、掌握设备的技术性能以及操作规程。 3.须知3:实验时人体不可接触带电线路,接线或拆线都必须在切断电源的情况下进行。 4.须知4:学生独立完成接线或改接线路后必须经指导教师检查和允许,并使组内其他同学 引起注意后方可接通电源。实验中如设备发生故障,应立即切断电源,经查清问题和妥善处理故障后,才能继续进行实验。 5.须知5:接通电源前应先检查功率表及电流表的电流量程是否符合要求,有否短路回路存 在,以免损坏仪表或电源。 特别提醒:实验过程中违反以上任一须知,需再次进行预习后方可再来参加实验;课程中违反三次及以上,直接重修。 实验报告撰写要求 1.要求1:预习报告部分列出该次实验使用组件名称或者设备额定参数;绘制实验线路图, 并注明仪表量程、电阻器阻值、电源端编号等。绘制数据记录表格,并注明相关的实验环境参数与要求。 2.要求2:分析报告部分一方面参考思考题要求,对实验数据进行分析和整理,说明实验结 果与理论是否符合;另一方面根据实测数据和在实验中观察和发现的问题,经过自己研究或分析讨论后写出的心得体会。 3.要求3:在数据处理中,曲线的绘制必须用坐标纸画出曲线,曲线要用曲线尺或曲线板连 成光滑曲线,不在曲线上的点仍按实际数据标出其具体坐标。 4.要求4:本课程实验结束后,将各次的实验报告按要求装订,并在首页写上序号(实验课 上签到表对应的序号)。请班长按照序号排序,并在课程结束后按要求上交实验报告。 温馨提示:实验报告撰写过程中如遇预留空白不足,请在该页背面空白接续。

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

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称: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)的图形模块

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

数字逻辑与数字系统实验报告

xxxx计算机科学与技术学院计算机数字逻辑设计 实验报告书 实验名 Proteus下基本元件熟悉与使用班级____xxx________________________ 姓名____xxx________________________ 指导教师xx 日期 2017年11月

目录 一、实验目的 (22) 二、实验所用器件和仪表 (22) 三、实验内容 (22) 四、电路原理图 (33) 五、实验过程及数据处理 (33) 六实验数据分析与小结 (33) 七实验心得体会 (44) 一、实验目的 1、掌握Proteus软件安装与使用,熟悉Proteus下选择元器件、绘制仿真电路并进行仿真、观察和数据记录 2、掌握TTL与非门的构成。 二、实验所用器件和仪表 1、NPN三极管 2、逻辑调试端子 3、电阻 三、实验内容 1、Proteus的基本使用 2、利用二/三极管搭建TTL与非门,测量并记录其工作

四、电路原理图 五、实验过程及数据处理 根据电路图连接电路 根据真值表中各项预定义数值利用电路求出输出值 六实验数据分析与小结 根据试验中得出来的数据可以发现,该实验中链接的电路实现的是一个或非门电路,通过几个简单的三极管就实现了一个或非门电路的构建

七实验心得体会 通过一个简单的或非门电路的链接,充分了解了Proteus下基本元件的使用,使电路更加清晰,形象的展现在我们面前

xxxx计算机科学与技术学院计算机数字逻辑设计 实验报告书 实验名基本门电路与分立元件使用 班级_______xxx_____________________ 姓名_______xxx_____________________ 指导教师xx 日期 17/11

51单片机流水灯实验报告单片机实验报告流水灯

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示: 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图 五、通过仿真实验正确性

代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOP DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1

DJNZ R1,DEL2 RET End 实验结果: 六、实验参考程序 #include #define uchar unsigned char #define uint unsigned int uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i

基于FPGA的单脉冲发生器

西安邮电大学FPGA课程设计报告 题目:可编程单脉冲发生器 院系:通信与信息工程学院专业班级:电子信息科学与技术学生姓名:韩萌 导师姓名:张丽果 起止时间:2012-9-10至2012-9-22 2012年09月20日

FPGA课程设计报告提纲 1.任务 根据输入的8位的脉宽参数,输出255种宽度的单次脉冲。 可编程单脉冲发生器是一种脉冲宽度可编程的信号发生器,在输入按键的控制下,产生单次的脉冲,脉冲的宽度由8位的输入数据控制。由于是8位的脉宽参数,故可以产生255 种宽度的单次脉冲。 2.目的 产生一个脉冲宽度可根据8位输入数据(data)可变的脉冲发生器。 可变的脉冲信号可以通过把输入的data赋值给一个count,通过对count信号做减1操作控制输出的脉冲宽度。把data赋给count后,在key键启动的情况下,输出脉冲pulse信号开 始输出低电平,count同时在每来一个时钟信号的时候做减1操作,而且pulse信号一直保持高 电平,当count减为0时,把pulse信号拉低。这样就输出了一个脉冲宽度可以根据data输入信 号可变的脉冲信号。 3.使用环境(软件/硬件环境,设备等) 布局布线使用的环境是Quartus II。 仿真测试使用的环境是ModelSim SE。 4.FPGA课程设计详细内容 4.1 技术规范 (一)、功能定义如下: 本设计实现一个可编程单脉冲发生器,具体功能如下: 1.异步信号复位,复位后信号输出可以重新开始。 2.把8为脉冲宽度data赋给计数信号count。 3.当有key按键使能时,输出脉冲信号,并做count减1操作,重复再按使能键无效。 4.使能按键后产生的单脉冲的上升沿与时钟取得同步。 5.当count减为0时,脉冲信号拉低。高电平持续的宽度,即所需的脉冲宽度。 6.产生的脉冲信号的最大宽度为255。 (二)、引脚定义

LED灯实验报告

mcs-51单片机接口技术实验 适用:电气类专业本科学生 实验报告 实验一熟悉proteus仿真模拟器,led花样表演 一、实验目的 掌握以下方法: 1.在proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计c51语言程序; 2.在proteus的环境下,将硬件原理图与软件联接仿真运行。 二、实验环境 1.个人微机,windows操作系统 2.proteus仿真模拟器 3.keilc编程 三、实验题目 基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。提高题:使用一个键切换实现3种以上花样表演。 四、实验类型: 学习、模仿与简单设计型。 五、实验步骤: 0、进入isis,先选择需要的元件,然后设计电原理图,保存文件; 1、在keilc软件集成环境下编写源程序,编译工程文件; 2、将所设计的硬件原理图与目标代码程序相联接; 4、按play键,仿真运行程序。 附,可能用到的元件名称: cpu:at89c51或任一种mcs-51家族cpu; 晶振:crystal; 电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k 限流电阻:minres330r 按键:button led:led-blue/red/yellow或diode-led (一)接线图如下: (二).基础花样 (四)程序流程图 (五)c程序 #include <> #define uint unsigned int #define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() { uint i,j; for(i=0;i<256;i++) for(j=0;j<256;j++)

数字电路实验报告

数字电路实验报告 姓名:张珂 班级:10级8班 学号:2010302540224

实验一:组合逻辑电路分析一.实验用集成电路引脚图 1.74LS00集成电路 2.74LS20集成电路 二、实验内容 1、组合逻辑电路分析 逻辑原理图如下:

U1A 74LS00N U2B 74LS00N U3C 74LS00N X1 2.5 V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V GND 图1.1组合逻辑电路分析 电路图说明:ABCD 按逻辑开关“1”表示高电平,“0”表示低电平; 逻辑指示灯:灯亮表示“1”,灯不亮表示“0”。 真值表如下: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 表1.1 组合逻辑电路分析真值表 实验分析: 由实验逻辑电路图可知:输出X1=AB CD =AB+CD ,同样,由真值表也能推出此方程,说明此逻辑电路具有与或功能。 2、密码锁问题: 密码锁的开锁条件是:拨对密码,钥匙插入锁眼将电源接通,当两个条件同时满足时,开锁信号为“1”,将锁打开;否则,报警信号为“1”,则接通警铃。

试分析下图中密码锁的密码ABCD 是什么? 密码锁逻辑原理图如下: U1A 74LS00N U2B 74LS00N U3C 74LS00N U4D 74LS00N U5D 74LS00N U6A 74LS00N U7A 74LS00N U8A 74LS20D GND VCC 5V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V X1 2.5 V X2 2.5 V 图 2 密码锁电路分析 实验真值表记录如下: 实验真值表 A B C D X1 X2 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 表1.2 密码锁电路分析真值表 实验分析: 由真值表(表1.2)可知:当ABCD 为1001时,灯X1亮,灯X2灭;其他情况下,灯X1灭,灯X2亮。由此可见,该密码锁的密码ABCD 为1001.因而,可以得到:X1=ABCD ,X2=1X 。

流水灯控制实验报告及程序

实验三流水灯控制实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51 软件与protues软件联合仿真调试的方法; 2.掌握如何使用程序与查表等方法实现流水效果; 3.掌握按键去抖原理及处理方法。 二、实验仪器与设备 1. 微机1台 2. Keil C51集成开发环境 3. Proteus仿真软件 三、实验内容 1.用Proteus设计一流水灯控制电路。利用P1口控制8个发光二级管L1—L8。P3.3口接一按 键K1。参考电路如下图所示。其中74LS240为八反响三态缓冲器/线驱动器。 2.用中断或查询方式编写程序,每按动一次K1键,演示不同的流水效果。若用KEY表示按键的 次数,则其对应的流水效果如下: ① KEY=0: L1-L8全亮; ② KEY=1: L1-L8先全灭,然后自右向左单管点亮,如此循环; ③ KEY=2: L1-L8先全灭,然后自右向左依次点亮,如此循环; ④ KEY=3: L1-L8先全亮,然后自左向右依次熄灭,如此循环; ⑤ KEY=4: L1-L8先全灭,然后整体闪烁,如此循环; ⑥ KEY=5:自行设计效果。 以上移位及闪烁时间间隔均设置为0.3秒,按动5次按键后,再按键时,流水效果从头开始循环。 四、实验原理 1.按键去抖原理:通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号 波形如下图所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5~10ms。按键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除按键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。常用软件方法去抖动,即检测到按键闭合后执行一个5~10ms延时程序;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有按键按下。当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后,才能转入该键的处理程序。 2.74LS240:八反相三态缓冲器/线驱动器 引脚排列图:

FPGA基础试验之流水灯

综合实验报告 第四组 组长:韩欢02081535 陈洁钰02081536 侯旭涛02081514 高耀02081510 李欣昊02081508 李昊02081506

FPGA基础试验之流水灯 一、实验目的 通过此实验进一步了解、熟悉和掌握Quartus II开发软件的使用方法及Verilog 语言的编程方法。学习简单时序电路的设计分析和硬件测试。 二、实验内容 1.熟悉信号产生板中的FPGA的普通I/O的连接; 2.根据实际的流水灯分析时序,体会用Verilog语言的编程产生相应时序;3.熟悉集成开发工具Quartus II,学会使用Quartus II对Cyclone系列FPGA的程序开发、编译与调试; 4.掌握Cyclone系列FPGA的程序加载,熟练掌握将.sof文件加载到实验板的FPGA中,实现流水灯的效果。 三、实验原理 流水灯,顾名思义就是让LED像水一样的点亮。如果把流水做慢动作播放,可以想象到其实就是移动,即:把水块不断地向同一方向移动,而原来的水块保持不动,就形成了流水。同样,如果使得最左边的灯先亮,然后通过移位,在其右侧的灯,从左向右依次点亮,而已经亮的灯又不灭,便形成了向右的流水灯。初始状态时,四个灯都不亮,每来一个时钟脉冲,CLK,计数器就加1.这样通过移位依次点亮所有的灯,就形成了流水灯。而当四个灯都点亮时,需要一个操作使得所有的灯恢复为初始状态。然后,再一次流水即可。如果是右移位,就出现向右流水的现象;反之,向左流水。 四、实验要求 控制4个LED进行花式显示,根据硬件设施设计两种模式:S0:从全亮到全灭,再到全亮,依次循环;S1:从LED0开始依次点亮,为LED1亮,LED2亮,LED3亮,后再LED2亮,LED1亮,LED0亮,不停循环。即输出为:S0时,从0000到1111不停循环转换;S1时,0111,1011,1101,1110,1101,1011,0111不断循环。 五、实验步骤 (1)建立工程 (2)建立Verilog文件,编写相关程序 (3)将verilog文件编译为可视化电路图文件 (4)将可视化电路图文件添加输入输出组合成电路图文件 (5)编译语法及验证原理图 (6)根据需要分配管脚并进行编译

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

郑州航院EDA实验报告模板

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214 ____ 姓名:李俊杰_______

2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件Quartus II的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 1)使用Quartus II建立一个工程; 2)Quartus II工程设计; 3)设置编译选项并编译硬件系统; 4)下载硬件设计到目标FPGA; 5)观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的),或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。

五、实验程序 module led1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led = 8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 一、实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

相关主题
文本预览
相关文档 最新文档