当前位置:文档之家› SOPC EDA综合课程设计-乐曲硬件演奏

SOPC EDA综合课程设计-乐曲硬件演奏

SOPC EDA综合课程设计-乐曲硬件演奏
SOPC EDA综合课程设计-乐曲硬件演奏

目录

第一章 EDA技术综合应用设计的主要软件及设备...... 错误!未定义书签。

1.1 主要软件、设备及作用:.................... 错误!未定义书签。

1.2实验电路结构图....................... ......错误!未定义书签。第二章乐曲硬件演奏电路设计的原理................ 错误!未定义书签。第三章乐曲硬件演奏电路VHDL 程序设计............. 错误!未定义书签。

3.1 音乐节拍和音调发生器模块PUTTAB ......... 错误!未定义书签。

3.1.1 PUTTAB模块原理图.................... 错误!未定义书签。

3.1.2 puttab模块时序仿真图................ 错误!未定义书签。

3.2音乐谱对应分频预制数查表电路模块ONTAB ..... 错误!未定义书签。

3.2.1 ONTAB模块原理图..................... 错误!未定义书签。

3.2.2 ONTAB模块时序仿真图................. 错误!未定义书签。

3.3音乐符数控11分频电路模块OUTSPEKER ........ 错误!未定义书签。

3.3.1 OUTSPEAKER模块原理图................ 错误!未定义书签。

3.3.2 OUTSPEAKER模块时序仿真图............ 错误!未定义书签。

3.4 乐曲演奏音符数据文件(梁祝、自选曲) ........ 错误!未定义书签。

3.4 引脚绑定................................. 错误!未定义书签。第四章顶层程序的时序仿真图 ...................... 错误!未定义书签。第五章课程设计心得体会........................... 错误!未定义书签。

参考文献................................................. 错误!

未定义书签。

SOPC/EDA综合课程设计-乐曲硬件演奏

第一章 EDA技术综合应用设计的主要软件及设备

1.1 主要软件、设备及作用:

EDA技术的综合应用设计与开发可能用到的主要开发设计软件、设备及其作用如下:

(1) EDA的工具软件:目前比较流行的、主流厂家的EDA的软件工具有Altera的MAX+plus Ⅱ、Quartus Ⅱ,Lattice的ispDesignExpERT,Xilinx的Foundation Series、ISE/ISE-WebPACK Series。

(2) 计算机辅助分析软件:MATLAB用于复杂系统的系统级仿真,DSP 的系统建模,有关数据的计算和分析等。

(3) 印刷电路板PCB的设计软件:主要有PROTEL、ORCAD等,用于设计系统的外围部件或外围电路的PCB图。

(4) EDA实验开发系统/片上系统(SOPC)/嵌入式系统:用于EDA实验与开发的硬件的编程下载及硬件验证。

(5) 单片机仿真器及仿真头:用于单片机程序的调试与硬件的验证。

(6) 印刷电路板PCB的制作设备:用于系统外围部件或外围电路的PCB 的制作。

(7) 信号源、示波器、频率计、无线电综合测试仪等其它相关设备。1.2实验电路结构图

图1-1 实验电路结构图NO.1

设计者

第二章乐曲硬件演奏电路设计的原理

与利用微处理器来实现乐曲演奏相比,一纯硬件完成乐曲演奏电路的逻辑要复杂的多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

本文通过利用硬件乐曲演奏电路的设计实例,使读者初步了解VHDL 硬件描述语言和Quartus II 开发环境。设计并调试好一个能产生梁祝曲子的音乐发生器,并利用EDA实验开发系统(本设计是在Altera 的FPGA 芯片CycloneEP1C6 和杭州康芯电子有限公司生产的GW48 系列EDA)的基础上完成硬件测试。

根据系统提供的时钟源引入一个12MHZ时钟的基准频率,对其进行各种分频系数的分频,产生符合某一音乐的频率,然后再引入8HZ的时钟为音乐的节拍控制,最后通过扬声器放出来。

图2-1音乐产生器原理框图

乐曲时由每个音符的发音频率值及其持续的时间是乐曲能连续演奏的两个基本要素,在下面的电路就是来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值来实现所希望乐曲的演奏效果。模块PUTTAB类似于弹琴人的手指;模块ONTAB类似于琴键;模块OUTSPEKER类似于琴弦或音调发生器。乐曲硬件演奏电路设计的原理:

(1)音符的频率可以由图中的OUTSPEKER获得,这是一个数控分频器。由其CLK端输入一具有较高频率(这里是12MHZ)的信号,通过OUTSPEKER分频后又SPKOUT输出,由于直接从数控分频器中出来的输出信号时脉宽及其狭窄的

SOPC/EDA综合课程设计-乐曲硬件演奏

脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器一均衡其占空比,但这是的频率将是原来的一半。OUTSPEKER对CLK输入信号的分频比又11位的预置数TONE[10..0]决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置数TONE[10..0]与SPKOUT的输出频率就有了对应关系。例如在ONTAB模块中若去TONE[10..0]=1036,将发音符为“3”音的信号频率。

(3)3.22音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,图8-6中模块ONTAB的功能首先是为SPEAKRA提供决定所发音符的分频预置数,而此数在SPEAKRA输入口停留的时间即为此音符的节拍值。模块ONTAB是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块PUTTAB的clk的输入频率决定,在此为4HZ。这13个值的输出由对应于ONTAB 的4位输入值Index【3..0】确定,而Index【3..0】最多有16种可选值。输向ONTAB中Index【3..0】的值ToneIndex【3..0】的输出值与持续的时间由模块NOTERABS决定。

(3)3.23 在PUTTAB中设置了一个8位二进制计数器(计数最大值为137),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4HZ,即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,PUTTAB在以下的VHDL逻辑描述中,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应的,所对应的“3”音符分频预置值为1036,在OUTSPEKERA的输入端停留了1秒。随着PUTTAB中的计数器按4HZ的时钟速率作加法计数时,即随地址值递增时,音符数据ROM中的音符数据将从ROM中通过ToneIndex【3..0】端口输向ONTAB模块,“梁祝”乐曲就开始连续自然的演奏起来了。

设计者

图2-2 顶层模块设计原理图

第三章乐曲硬件演奏电路VHDL 程序设计

根据顶层模块设计原理图,共分为music模块、地址发生器模块、分频预置数模块这3个模块。music模块存放乐曲中的音符数据,地址发生器模块作为music模块中所定制的音符数据ROM的地址发生器,分频预置数模块提供分频预置数即给数控分频模块提供计数初值,十六进制模块对12MHz的时钟脉冲进行16分频,得到750KHz的频率,给数控分频模块提供时钟脉冲。数控分频模块根据分频预置数输出各个音符所对应的频率。

3.1 音乐节拍和音调发生器模块PUTTAB

乐曲演奏电路的VHDL 逻辑描述如下:

library ieee;--音乐节拍和音调发生器模块

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity PUTTAB is

port( clk : in std_logic;--时钟信号

SEL : IN STD_LOGIC;--音乐选择键

RST : IN STD_LOGIC;--复位键

toneindex:out std_logic_vector(3 downto 0));

end;

architecture one of PUTTAB is

SOPC/EDA综合课程设计-乐曲硬件演奏

component MUSIC --音符数据

port( address:in std_logic_vector(7 downto 0);

clock:in std_logic;

q:out std_logic_vector(3 downto 0));

end component;

signal counter:std_logic_vector(7 downto 0);--8位二进制计数器

begin

CNT8 : PROCESS(clk, Counter,sel,rst)

BEGIN

IF ((clk'EVENT AND clk = '1') and (Counter=256 or rst='0')) then Counter <= "00000000";Counter <=Counter+1;

end if;

IF ((clk'EVENT AND clk = '1') and (sel='0')) THEN Counter <="10010000";Counter <=Counter+1;

end if;

end process;

u1:MUSIC port map(address=>counter,q=>toneindex,clock=>clk);

end;

3.1.1 PUTTAB模块原理图

图3-1 PUTTAB模块原理图

3.1.2 puttab模块时序仿真图

将所编写的音乐节拍和音调模块PUTTAB的程序设为工程,选用Altera公司的Cyclone系列中的EP1C3TC144为目标芯片进行仿真。

设计者

图3-2 puttab模块时序仿真图

由上图可以看出,该模块音乐节拍和音调发生器模块,当CLK给出上升沿输出时,给出音符节拍,当RST复位时音符从头给出3 5 8 等音乐节拍,当SEL 为低电平时,自动切换到下一首歌曲。满足要求。

3.2音乐谱对应分频预制数查表电路模块ONTAB

library ieee;

use ieee.std_logic_1164.all;

entity ONTAB is

port(index:in std_logic_vector(3 downto 0);

tone:out std_logic_vector(10 downto 0);

HIGH: OUT std_logic;

CODE:out std_logic_vector(3 downto 0));

end;

architecture one of ONTAB is

begin

search:process(index)

begin

CASE Index IS -- 译码电路,查表方式,控制音调的预置数WHEN "0000" => Tone<="11111111111" ; CODE<="0000"; HIGH <='0';-- 2047

WHEN "0001" => Tone<="01100000101" ; CODE<="0001"; HIGH <='0';-- 773;

WHEN "0010" => Tone<="01110010000" ; CODE<="0010"; HIGH <='0';-- 912;

WHEN "0011" => Tone<="10000001100" ; CODE<="0011"; HIGH <='0';--1036;

WHEN "0101" => Tone<="10010101101" ; CODE<="0101"; HIGH <='0';--1197;

WHEN "0110" => Tone<="10100001010" ; CODE<="0110"; HIGH <='0';--1290;

WHEN "0111" => Tone<="10101011100" ; CODE<="0111"; HIGH <='0';--1372;

WHEN "1000" => Tone<="10110000010" ; CODE<="0001"; HIGH <='1';--1410;

WHEN "1001" => Tone<="10111001000" ; CODE<="0010"; HIGH

SOPC/EDA综合课程设计-乐曲硬件演奏

<='1';--1480;

WHEN "1010" => Tone<="11000000110" ; CODE<="0011"; HIGH <='1';--1542;

WHEN "1100" => Tone<="11001010110" ; CODE<="0101"; HIGH <='1';--1622;

WHEN "1101" => Tone<="11010000100" ; CODE<="0110"; HIGH <='1';--1668;

WHEN "1111" => Tone<="11011000000" ; CODE<="0001"; HIGH <='1';--1728;

when others=>null;

end case;

end process;

end;

3.2.1 ONTAB模块原理图

图3-3 ONTAB模块原理图

3.2.2 ONTAB模块时序仿真图

波形仿真

将所编写的分频预置数查表模块ONTAB的程序设为工程,选用Altera公司的Cyclone系列中的EP1C3TC1448为目标芯片进行仿真。

仿真结果如下图:

设计者

图3-4 模块ONTAB的波形仿真

由上图可以看出,该模块为音乐谱对应分频预制数查表电路模块,当code 为休止符0000时,输出端tone给出的分频预置数为2047,当code为0001时输出端tone给出的分频预置数为773,满足程序要求。

3.3音乐符数控11分频电路模块OUTSPEKER

音符的频率由数控分频模块获得,这是一个数控分频电路。它是由一个初值可变的加法计数器构成。该计数器的模为2047,当计数器记满时,计数器产生一个溢出信号FULL,此溢出信号就是用作发音的频率信号。在计数器的输入端给定不同的初值,而此预置数就是表1中的计数初值,就可得到不同音符的发音频率信号。它计满时所需要的计数初值可由下式来表示。

分频系数=基准频率/音符的发生频率

计数初值(Tone)=2047-分频系数

低音时Tone值小,分频系数大,溢出信号周期长,扬声器发出的声音低,Tone随音乐的乐谱变化大,自动控制分频比,实现了数控分频,发生信号的频率与音调Tone成正比。这就是利用数控分频器自动演奏音乐的原理。

library ieee;

SOPC/EDA综合课程设计-乐曲硬件演奏

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity OUTSPEKER is

port(clk:in std_logic;

tone:in std_logic_vector(10 downto 0);

spks:out std_logic);

end entity OUTSPEKER;

architecture one of OUTSPEKER is

signal preclk,fullspks:std_logic;

begin

divideclk:process(clk)

variable count4:std_logic_vector(3 downto 0);

begin

preclk<='0';-- 将CLK进行16分频,PreCLK为CLK的16分频

if count4>11 then preclk<='1';count4:="0000";

elsif clk'event and clk='1' then count4:=count4+1;

end if;

end process divideclk;

genspks:process(preclk,tone)-- 11位可预置计数器

variable count11:std_logic_vector(10 downto 0);

begin

if preclk'event and preclk='1' then

if count11=16#7ff# then count11:=tone;fullspks<='1';

else count11:=count11+1;fullspks<='0';

end if;

end if;

end process;

delayspks:process(fullspks)--将输出再2分频,展宽脉冲,使扬声器有足够功率发音

variable count2:std_logic;

begin

if fullspks'event and fullspks='1' then count2:=not count2;

if count2='1' then spks<='1';

else spks<='0';end if;

设计者

end if;

end process;

end;

3.3.1 OUTSPEAKER模块原理图

图3-5 OUTSPEAKER模块原理图

3.3.2 OUTSPEAKER模块时序仿真图

波形仿真

将所编写的音乐符数控分频模块OUTSPEKER的程序设为工程,选用Altera 公司的Cyclone系列中的EP1C3TC144为目标芯片进行仿真。

仿真结果如下图:

图3-3模块OUTSPEKER的波形仿真图

由上图可以看出,此图为音乐符数控11分频电路模块,tone为11001010110时,给出的分频预置数为1686,,这样,与SPKS的输出频率就有了对应关系。满足程序要求。

3.4 乐曲演奏音符数据文件(梁祝、自选曲)

WIDTH = 4 ;--乐曲演奏数据

SOPC/EDA综合课程设计-乐曲硬件演奏

DEPTH = 256 ;

Address_radix = dec;

Data_radix = dec;

CONTENT BEGIN

3 3 3 3 5 5 5 6

8 8 8 9 6 8 5 5

12 12 12 15 13 12 10 12

9 9 9 9 9 9 9 0

9 9 9 10 7 7 6 6

5 5 5

6 8 8 9 9

3 3 8 8 6 5 6 8

5 5 5 5 5 5 5 5

10 10 10 12 7 7 9 9

6 8 5 5 5 5 5 5

3 5 3 3 5 6 7 9

6 6 6 6 6 6 5 6

8 8 8 9 12 12 12 10

9 9 10 9 8 8 6 5

3 3 3 3 8 8 8 8

6 8 6 5 3 5 6 8

5 5 5 5 5 5 5 5

0 0 0 0 0 0 0 0

1 2 3 3 5 5 6 7

7 6 5 6 3 2 1 1

1 2 3 2 5 6 7 8

9 8 7 6 5 2 3 2

3 3 3 3 5 5 5 5

0 0 0 0 0 0 0 0

其中WIDTH=4,表示数据输出为宽为4;DEPTH=256,表示共有256个4位数据点;ADDRESS-RADIX=DEC,表示地址信号用十进制;DATA-RADIX=DEC,表示输出数据是十进制数。

形成ROM中的配置数据(初始化数据)文件的方法如下:在QUARTUS||中编辑.mif文件。首先在File菜单下的New菜单上选择Text Editor File命令,进入文本编辑器,然后输入以上格式的数据文件。文件中的关键词WIDTH设置ROM的数据宽度;DEPTH设置ROM数据的深度,即4位数据的数量,文件中设置的256等效于8位地址线宽度;ADDRESS-RADIX=DEC和DATA-RADIX=DEC表示设置地址和数据的表达式格式都是十进制;地址/数据表以CONTENT BEGIN开始,以END结束;其中的地址/数据表达方式是冒号左边写ROM地址值,冒号右边写

设计者

对应此地址放置的十进制数据.

3.4 引脚绑定

为了能对此电路进行硬件测试,应将其输入信号锁定在芯片确定的引脚上,编译后下载。当硬件测试完成后,还必须对配置芯片进行编程,完成FPGA的最终开发。

确定引脚分别为CLK8HZ接第128脚,CLK12MHZ接在第123引脚上,复位RST接在第106引脚上,选择键SEL接在第107引脚上;CODE【3..0】

分别接在第42到39引脚上,high接在第73引脚上,输出SPKOUT接在第129引脚上。

确定了锁定引脚编号后就可以完成以下引脚锁定操作了,选择ASSSIGNMENT-----PINS 命令,将弹出目标器件的引脚编辑窗口,将信号名拖入引脚上,最后储存这些引脚锁定的信息后,再编译一次,才能将引脚锁定信息编译进编程下载文件中。

图3-4整个设计电路的引脚绑定图

SOPC/EDA综合课程设计-乐曲硬件演奏

第四章顶层程序的时序仿真图

图4-1 顶层程序的时序仿真

已经实现乐曲的演奏。SEL为低电平时切换第二首乐曲播放,RST为低电平时从第一首乐曲开始重新播放。达到了设计要求

设计者

第五章课程设计心得体会

这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示。后来,在数十次的调试之后就可以观察到完整的仿真结果。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的乐曲硬件演奏电路还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的

SOPC/EDA综合课程设计-乐曲硬件演奏

认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

参考文献

1 潘松黄继业编著。EDA技术与VHDL(第二版)。清华大学出版社。2007

2 刘江海EDA 技术课程设计。华中科技大学出版社。2008

3 潘松编著.EDA技术实用教程.北京:科学教育出版社. 2006

4 Quartus Semiconductor data books.Quartus Semiconductor Corporation . 2001

5 杭州康芯电子有限公司GW48-PK3实验系统说明书. 杭州康芯电子有限公司.2006

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

EDA课程设计---流水灯设计

EDA课程设计流水灯设计

目录 一、摘要··3 二、流水灯设计目的··4 三、流水灯设计流程··4 四、流水灯设计程序··5 五、流水灯设计管脚分配··7 六、功能仿真图··8 七、原理图波形图··9 八、设计注意事项··10

九、课程设计总结··11 十、参考文献··12 十一、评分表··13 一、摘要 随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、

自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。 课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面: ·独立工作能力和创造力。 ·综合运用专业及基础知识,解决实际工程技术问题的能力。 ·查阅图书资料、产品手册和各种工具书的能力。 ·写技术报告和编制技术资料的能力。 ·实际动手能力。

计算机硬件课程设计报告(cpu设计)

计算机硬件课程设计 设计报告 学号: 姓名:成绩: 学号: 姓名:成绩: 东南大学计算机科学与工程系 二0 10 年11 月

一、设计名称: My CPU的设计 二、本设计的主要特色: 1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。 2、掌握半导体静态存储器的存取方法。 三、设计方案: 1. 数据格式——8位二进制定点表示 2. 指令系统——CPU的指令格式尽量简单规整,这样在硬件上更加容易实现。 7条基本指令:输入/输出,数据传送,运算,程序控制。 指令格式:Array 7 6 5 4 3 2 1 0 两种寻址方式: 寄存器寻址Array 7 6 5 4 3 2 1 0 直接地址寻址,由于地址要占用一个字节,所以为双字节指令。 7条机器指令:

IN R目:从开关输入数据到指定的寄存器R目。 OUT R源:从指定的寄存器R源中读取数据送入到输出缓冲寄存器,显示灯亮。 ADD R目,R源:将两个寄存器的数据相加,结果送到R目。 JMP address : 无条件转移指令。 HALT : 停机指令。 LD R目,address : 从内存指定单元中取出数据,送到指定寄存器R 目。 ST address , R 源: 从指定的寄存器R源中取出数据,存入内存指定单元。

Address(内存地址) 3. CPU内部结构 4.数据通路设计 根据指令系统,分析出数据通路中应包括寄存器组、存储器、运算器、多路转换器等,采用单总线结构。 通用寄存器组:

运算器: 存储器: 多路转换器:

输出缓冲器: 5.控制器设计 控制通路负责整个CPU的运行控制,主要由控制单元和多路选择器MUX 完成。在每一个时钟周期的上升沿指令寄存器IR 从内存中读取指令字后,控制单元必须能够根据操作码,为每个功能单元产生相应主控制信号,以及对ALU 提供控制信号。对于不同的指令,同一个功能单元的输入不同,需要多路选择器MUX 来对数据通路中功能单元的输入进行选择。

微机课设实验报告

微机课程设计 数字温度计实验报告

一、题目: 上位机:完成界面设计与通讯程序 1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度 值后又提示字幕。 2、能够设定报警温度阈值 3、每隔一秒将温度值保存至文件存档。当超出报警温度阈值时,温度值后 面有提示。 4、可以对串口进行设置。 下位机:完成电路设计与控制程序 1、用两个DS18B20测温。 2、通过串口与上位机通信,并传输温度值,接受阈值设置。 3、当超出报警温度阈值时,有相应指示灯提示。 4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后 有提示。 二、原理 DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。 三、原理图 图3.1 LCD、18B20以及串口与单片机最小系统连接图

图3.2电源模块 四、流程图 1、上位机流程图 图4.1.1发送数据流程图图4.1.2 接受数据流程图

2、下位机流程图 图4.2.2读出温度子程序流程图 图4.2.1总流程图 图4.2.4计算温度子程序流程图

图4.2.3 温度转换流程图 图4.2.6温度值显示在LCD1602上 图4.2.5 显示数据刷新子程序 五、源程序 1、上位机程序:见附录1; 2、下位机程序:见附录2; 3、实验结果显示(上位机):见附录3。

EDA课程设计报告

湖北职业技术学院《EDA技术》课程设计报告 题目动态输出4位十进制频率计的设计所在学院电子信息工程学院 专业班级电信08304 学生姓名马强 学号08024839 指导教师王芳 完成日期2010年11月18 日

目录 一、概述 (3) 二、设计正文 (4) (一)设计目的 (4) (二)设计实现 (4) 1、端口说明 (4) 2、Cnt10模块说明 (5) 3、Tctl模块说明 (6) 4、锁存器reg16模块说明 (8) 5、Scan_led模块说明 (9) 6、顶层文件仿真 (10) 7、硬件下载 (11) 三、总结 (13) 四、感言 (14) 五、参考文献 (15)

概述 此次设计的主要目的是学习掌握频率计的设计方法;掌握动态扫描输出电路的实现方法;学习较复杂的数字系统设计方法。通过单位时间(1秒)内频率的计数来实现频率计的设计。此设计主要用四位十进制计数器,所以频率计数范围为100~9999Hz。然后锁存防止闪烁显示,最后由译码扫描显示电路输出到数码管进行显示输出。并且下载后会有一秒钟的延时后才会显示输出所计频率输出。设计下载后能够进行仿真频率的计数和静态显示,但是分频的设计程序有所缺陷导致长时间显示后会有1Hz的抖动。通过这次的设计能够更清楚的理解VHDL程序的描述语言,进行简单程序的编写和仿真。

动态输出4位十进制频率计的设计 一、目的 1.学习掌握频率计的设计方法。 2.掌握动态扫描输出电路的实现方法。 3.学习较复杂的数字系统设计方法 二、设计实现 4位十进制频率计外部接口如图1所示,顶层文件如图2所示,包含4中模块;Tctl、reg16、scan_led和4个cnt10。 (1)端口说明 F1Hz:给Tctl模块提供1Hz的频率输入。 Fin:被测频率输入。 scan_led:给scan_led模块提供扫描输入频率输入。 bt[1..0]:片选信号输出。 sg[6..0]:译码信号输出。 cout:进位输出。

计算机操作系统综合设计实验报告实验一

计算机操作系统综合设计 实验一 实验名称:进程创建模拟实现 实验类型:验证型 实验环境: win7 vc++6.0 指导老师: 专业班级: 姓名: 学号: 联系电话: 实验地点:东六E507 实验日期:2017 年 10 月 10 日 实验报告日期:2017 年 10 月 10 日 实验成绩:

一、实验目的 1)理解进程创建相关理论; 2)掌握进程创建方法; 3)掌握进程相关数据结构。 二、实验内容 windows 7 Visual C++ 6.0 三、实验步骤 1、实验内容 1)输入给定代码; 2)进行功能测试并得出正确结果。 2、实验步骤 1)输入代码 A、打开 Visual C++ 6.0 ; B、新建 c++ 文件,创建basic.h 头文件,并且创建 main.cpp 2)进行功能测试并得出正确结果 A 、编译、运行main.cpp B、输入测试数据 创建10个进程;创建进程树中4层以上的数型结构 结构如图所示:。

createpc 创建进程命令。 参数: 1 pid(进程id)、 2 ppid(父进程id)、3 prio(优先级)。 示例:createpc(2,1,2) 。创建一个进程,其进程号为2,父进程号为1,优先级为2 3)输入创建进程代码及运行截图 4)显示创建的进程

3、画出createpc函数程序流程图 分析createpc函数的代码,画出如下流程图:

四、实验总结 1、实验思考 (1)进程创建的核心内容是什么? 答: 1)申请空白PCB 2)为新进程分配资源 3)初始化进程控制块 4)将新进程插入到就绪队列 (2)该设计和实际的操作系统进程创建相比,缺少了哪些步骤? 答:只是模拟的创建,并没有分配资源 2、个人总结 通过这次课程设计,加深了对操作系统的认识,了解了操作系统中进程创建的过程,对进程创建有了深入的了解,并能够用高 级语言进行模拟演示。一分耕耘,一分收获,这次的课程设计让 我受益匪浅。虽然自己所做的很少也不够完善,但毕竟也是努 力的结果。另外,使我体会最深的是:任何一门知识的掌握, 仅靠学习理论知识是远远不够的,要与实际动手操作相结合才能 达到功效。

硬件描述语言课程设计报告

信息与电气工程学院 硬件描述语言课程设计 设计说明书 (数字式竞赛抢答器) ) 学生姓名 学号 班级 成绩 指导教师 通信工程系 年月日

信息与电气工程学院 课程设计评阅人评语 评阅人:(签名) 年月日评阅人评定成绩:

信息与电气工程学院 课程设计任务书 —学年第一学期 专业:通信工程学号:姓名: 课程设计名称:硬件描述性语言 设计题目:数字式竞赛抢答器 完成期限:自年月日至年月日共周 设计依据、要求及主要内容(可另加附页): 一般来说,设计一台智能抢答器,必须能够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果实行增减分的操作,并将分数显示在屏幕上,评出最终赢家。所以我们在设计智能抢答器的模块需要满足鉴别、计时、计分、数显等功能。 定时抢答器的工作过程是:接通电源时,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯;抢答开始时,主持人将控制开关拨到“开始”位置,发光二极管灯亮,抢答器处于工作状态,这时,抢答器完成以下工作: (1)优先编码器电路立即分辨出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号; (2)扬声器发出短暂声响,提醒主持人注意; (3)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;(4)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加减计数器、数码管显示。本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。 指导教师(签字):系主任(签字): 批准日期:年月日

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

EDA课程设计

课程设计说明书 课程:EDA技术基础 题目:数字钟的设计 闹钟与整点报时模块 学生姓名:XXX 学号201265110204 班级 :1203班 专业:电子信息与科学 指导教师:XXX 2014年12月20日 长沙理工大学课程设计任务书 物理与电子科学学院电子信息与科学专业1203班姓名王玲课程名称EDA技术基础 题目数字钟的设计

长沙理工大学课程设计成绩评定表

目录 1数字钟设计闹钟模块基本任务要求4 2设计思想4 3简述闹钟模块的输入与输出5 4分进程描述6 5仿真结果与分析7 6简述数字钟的设计总成果10 7总结11 参考文献13 代码附件13

基本任务要求:运用QuartusⅡ13.1软件平台,用VHDL语言描述并设计的闹钟模块满足可调闹钟时间,当时钟时间到达闹钟时间后会响闹铃,(由于实验室权限问题会以FPGA开发板上12个LED灯交替发光来表现);整点报时过程表现为整点的前十秒内响铃,(以FPGA开发板上一个LED灯交替发光来实现)。 设计思想:闹钟模块要以分频模块、计数器模块和译码显示模块为基础,将闹钟模块分为三个进程,一个进程用来实现调闹钟,一个进程来实现闹响闹钟(即实现LED灯交替发光),另一个进程来是实现整点报时。 (上面截图为数字钟整体编译后的RTL电路的闹钟模块) 简述闹钟模块图的输入与输出:上图中的输入粗黑实线为计数器模块输出的小时、分钟的高低位和秒钟的高位(都用四位的二进制表示);输出的粗黑实线为定的闹钟时间(包括小时和分钟),将送到译码显示模块显示闹钟时间,闹钟时间与时钟都在FPGA上的数码管显示,用二选一实现交替显示。clk和clk1都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。

计算机硬件课程设计--简单模型机设计

计算机硬件课程设计--简单模型机设计

计算机硬件综合课程设计报告

简单模型机设计 一、设计要求 硬件:TDN-CM+计算机组成原理实验系统一台,PC机一台,排线若干,串口线一根。 软件:CMP软件 二、设计目的 1.通过对一个简单计算机的设计,对计算机的基 本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 2.通过这次课程设计,建立整机的概念,对程序 进行编辑,校验,锻炼理论联系实际的能力。 3.通过本次课程设计熟悉和训练设计思路与实 现方法。 4.通过本次课程设计锻炼团队合作的能力和团 队问题的解决。

三、设计电路及连线 设计电路及连线实验图如下图1-1所示。 图1-1 简单模型机连线图 四、设计说明 本次课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器

来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本次课程设计采用五条机器指令:IN (输入)、ADD (二进制加法)、STA (存数)、OUT (输出)、JMP (无条件转移),其指令格式如下(前4位为操作码): 助记符 机器指令码 说 明 微程序入口地址 IN 0000 0000 “INPUT DEVICE ”中 10 的开关状态→R0 0001 0000 ×××× ×××× R0+[addr]→R0 11 0010 0000 ×××× ×××× R0→[addr] 12 0011 0000 ×××× ×××× [addr]→BUS 13 0100 0000 ×××× ×××× addr →PC 14 ADD addr STA

EDA课程设计说明书参考格式

<>课程设计说明书 题目 院、部: 学生姓名: 指导教师:王晓丽职称助教 专业: 班级: 完成时间:

摘要(三号,黑体,居中,字间空两格字符) (空二行换行) 空4格打印摘要内容(小四号宋体,行距20)。 关键词:(摘要内容后下空一行打印“关键词”三字(小四号黑体),其后为关键词(小四号宋体),每一关键词之间用分号隔开,最后一个关键词后不打标点符号。 ABSTRACT ①居中打印“ABSTRACT”,再下空二行打印英文摘要内容。②摘要内容每段开头留四个空字符。③摘要内容后下空一行打印“Key words”,其后为关键词用小写字母,每一关键词之间用分号隔开,最后一个关键词后不打标点符号。 Key words :aaa;bbb;ccc

目录(3号,黑体,居中) (空1行,以小4号黑体设置字体及大小,行间距22、字间距标准) 1 XXXXXX………………………………………………………………………… 1.1 XXXXXX……………………………………………………………………… 1.2 XXXXXX……………………………………………………………………… ┇ 2 XXXXXX………………………………………………………………………… 2.1 XXXXXX……………………………………………………………………… 2.2 XXXXXX……………………………………………………………………… ┇ 3 4 结束语 参考文献………………………………………………………………………………. 致谢……………………………………………………………………………………附录……………………………………………………………………………………

嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计

————————————————————————————————作者:————————————————————————————————日期:

上海电力学院 嵌入式系统 课程设计报告 题目:电子词典的设计 姓名: 学号: 院系: 专业年级: 同组成员: 年月日

一、实验内容及要求 在LCD屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。 实现功能: (1)LCD屏幕上显示4*4键盘,显示单词及其翻译、例句。 (2)一个键可完成2个英文字母的输入,如左上角第一个键可实现输入a,b两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。 (3)在输入完单词后,点击搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。 (4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。 二、设计思路 (1)通过LCD显示模块画出电子词典操作界面。 (2)对应界面中各键的位置设置键盘对应键值。 (3)设定功能键,实现以下3个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。 (4)按键后赋值并显示。 三、软件构架 开 LCD模块 键盘 结

四、模块分析 (1)键盘模块 流程图: 源代码:/********************************************************************************************* * File : keyboard.c * Author: embest * Desc : keyboard source code * History: *********************************************************************************************/ /*--- include files ---*/ 开键盘初始键盘是Y 读取是否是功Y N 执行赋显结束 N

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

EDA课程设计参考题目

附录I EDA课程设计参考题目 注:在以下设计中只可以用一个参考时钟 一、设计数码管显示控制器 要求: 1.能自动一次显示出数字0、1、2、3、4、5、6、7、8、9(自然数列),1、3、5、7、9(奇数列),0、2、4、6、8(偶数列),0、1、2、3、4、5、6、7、0、1(音乐符号序列);然后再从头循环; 2.打开电源自动复位,从自然数列开始显示。 二、设计乒乓球游戏机 要求: 1.用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍; 2.一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加1分;都犯规,各自加1分; 3.甲、乙各有一数码管计分; 4.裁判有一个按钮,是系统初始化,每次得分后,按下一次。 三、设计智力竞赛抢答器 要求: 1.五人参赛每人一个按钮,主持人一个按钮,按下就开始; 2.每人一个发光二极管,抢中者灯亮; 3.有人抢答时,喇叭响两秒钟; 4.答题时限为10秒钟,从有人抢答开始,用数码管倒计时间,0、9、8…1、0;倒计时到0的时候,喇叭发出两秒声响。 四、设计数字钟 要求: 1.输入10HZ的时钟;(提示:对已有kHz频率时钟进行分频) 2.能显示时、分、秒,24小时制; 4.时和分有校正功能; 5.整点报时,喇叭响两秒; 6.可设定夜间某个时段不报时; 注意:硬件资源的节约,否则器件内资源会枯竭。 五、设计交通灯控制器 要求: 1.东西方向为主干道,南北方向为副干道; 2.主干道通行40秒后,若副干道无车,仍主干道通行,否则转换; 4.换向时要有4秒的黄灯期;

EDA课程设计题目

计算机辅助设计参考题目 设计一数字式竞赛抢答器 1、设计一个可容纳6组(或4组)参赛的数字式抢答器,每组设一个按钮,供抢 答使用。 2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。 3、设置一个主持人“复位”按钮。 4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显 示抢答组别,扬声器发出2~3秒的音响。 5、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10 分,答错一次减10分。 教学提示: 1、此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使 触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。 2、形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别, 用第一抢答信号推动扬声器发出音响。 3、计分电路采用十进制加/减计数器、数码管显示,由于每次都是加/减10 分,所以个位始终为零,只要十位、百位进行加/减运算即可。 设计二数字钟 1、设计一个能显示1/10秒、秒、分、时的12小时数字钟。 2、熟练掌握各种计数器的使用。 3、能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。 4、能用低位的进位输出构成高位的计数脉冲。 教学提示: 1、时钟源使用频率为0.1Hz的连续脉冲。 2、设置两个按钮,一个供“开始”及“停止”用,一个供系统“复位”用。 3、时钟显示使用数码管显示。 4、“时显示”部分应注意12点后显示1点。 5、注意各部分的关系,由低位到高位逐级设计、调试。 设计三数字频率计 1、设计一个能测量方波信号的频率的频率计。 2、测量的频率范围是1Hz~9999Hz。 3、结果用十进制数显示。 教学提示: 1、脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被 测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。 所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。 2、被测频率信号取自实验箱晶体振荡器输出信号,加到主控门的输入端。 3、再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:1ms, 10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。 4、时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时 基信号的一个周期),输入信号才通过主控门。 5、f=N/T,改变时基信号的周期T,即可得到不同的测频范围。

物联网传输综合课程设计实验报告 人体红外数据通信实验

物联网传输综合课程设计实验报告 人体红外数据通信实验 一、实验目的 1. 了解基于Z-Stack 协议栈的SappWsn 应用程序框架的工作机制 2. 掌握在ZigBee 协议栈中添加人体红外传感器驱动的方法。 二、实验设备 1. 装有IAR 开发工具的PC 机一台 2. 下载器一个 3. 物联网多网技术开发设计平台一套 三、实验原理 在Z-Stack APP中的HAL\Target\CC2530EB\Includes组中,提供了一个hal_io.h的文件,如图所示。 其中,提供了名为HalIOSetInput 的函数,可以将燃气传感器端口(P1.0)设置为输入,然后通过调用HalIOGetLevel 函数来获取传感器状态。 四、实验步骤 1、将单片机zigbee协调器拆卸下来,取出烧写器。通过Mini USB接口将zigbee 协调器与下载器和PC机相连。

2、将实验箱控制方式切换开关拨至“手动”一侧,转动实验箱“旋钮节点选择”旋钮,使得协调器旁边的LED灯被点亮 3、打开配套代码中的ZStack-CC2530\Projects\SappWsn\SappWsn.eww工程文件,在“Tools”组中,找到“f8wConfig.cfg”文件,双击打开,并找到大概第59 行的“-DZAPP_CONFIG_PAN_ID=0xFFFF”,将其中的“0xFFFF”修改为其他值,例如0x0010

4、在工程目录结构树上方的下拉列表中,选择“CoordinatorEB”,点击工具栏中的“Make”按钮,编译工程,等待工程编译完成,如看到警告,可以忽略。在工程目录结构树中的工程名称上点击鼠标右键,选择“Options”,并在弹出的对话框中选择左侧的“Debugger”,并在右侧的“Driver”列表中选择“Texas Instruments”,点击“Download and Debug”按钮。待程序下载完毕后,点击“Go”按钮,使程序开始运行。点击工具栏中的“Stop Debugging”,退出调试模式, 5、转动实验箱“旋钮节点选择”旋钮,使得热释红外传感器节点旁边的LED灯被点亮,在工程目录结构树上方的下拉列表中,选择“EndDeviceEB”,在“SAPP_Device.h”文件中,取消“HAS_IRPERS”的注释,并保证其他的功能均被注释,如图所示

硬件课程设计报告(电子计算器)

计算机科学与技术学院 硬件课程设计报告 姓名:学号: 专业:计算机科学与技术 班级:计科班 设计题目:电子计算器 成员: 指导教师:职称: 年月

课程设计指导教师评阅书指导教师评语: 成绩:指导教师签字: 年月

摘要 电子计算器的设计主要分为键盘扫描与读取编码、七段LED数码管显示和四则运算的编写。这次设计中我们采用可编程接口芯片8255链接4*4键盘和LED显示屏,从键盘扫描读入数字,在显示屏上面显示出来,并通过cpu运算出结果显示在屏幕上。由于对汇编语言也不甚了解,只是进行一些简单的自然数的四则运算。 由于本次实验中,实验箱是TPC-ZK综合微机开放式实验系统,微机接口实验仪采用模块化、积木式的结构,各实块互不影响。但可通过连线将各实验模块有机组合起来,进行微机外围接口实验。这个实验选择的是4*4键盘连接上8255A然后控制LED显示。 关键词:8255A ;七段LED数码管;键盘;汇编语言;四则运算 目录 1 设计任务与要求 (3) 1.1选题 (3) 1.2需求分析 (3) 1.3设计任务 (3) 2硬件方案 (3) 2.1微处理器8086芯片 (3) 2.2 可编程并行接口8255A芯片 (4) 2.3 4*4矩阵键盘 (6) 2.4 七段LED数码管 (7) 2.5 电路及其功能模块图 (8) 3软件方案 (10) 3.1流程图 (10) 3.2源程序代码 (11) 4 问题与解决方案 (26) 5 成果展示 (26) 6 总结 (27) 7 心得体会与收获 (27) 8参考文献 (27)

1 设计任务与设计要求 1.1选题 我选的题目是电子计算器,电子计算器的设计主要分为键盘编码、七段数码管显示、和四则运算法则这三部分。设计时用可编程接口芯片8255A链接4*4键盘和七段LED数码管,8255扫描键盘并通过数码管显示相应的数字,这其中需要一定的汇编程序作为核心支撑,才能正确的使各种功能运行正常。 1.2需求分析 通过对选题的深入了解,电子计算器基本功能可以概括为: 1.可以进行简单的加、减、乘、除四则运算; 2.为了显示的人性化,按下每个数字都要进行反馈显示; 3.数码管只有四位显示,运算数和结果应尽量小于四位数,不然显示不全; 4.计算器能判断个别简单的错误,如除数为零,显示报错; 5.计算器要有清零功能,可以在按键失误后重新按键。 在显示屏上可以及时反馈按下数字,这需要扫描程序模块一直运行着,并能够及时调用显示程序模块,当有运算符号按下时还要及时给之前按下的数字进行组装成一个数值,组装键值模块也是程序的重要所在。等等这些都是在主程序下合理安排、运用流畅的,才能带来较完美的计算器体验。 1.3设计任务 本次实验我分为电路设计和编码设计这两个任务模块来设计的。 电路设计主要研究键盘按键位置设计和各个芯片器件之间的连线。 编码设计主要分为键盘扫描读取编码、七段数码管显示编码和四则运算编码。 2 硬件方案 2.1微处理器8086芯片

微机硬件课程设计实验报告

目录 一、基础实验部分 (1) 实验1 存储器读写实验 (1) 实验2 简单I/O口扩展实验 (3) 实验3 8255并行口实验 (4) 实验4 8253定时器/计数器接口实验 (5) 实验5 8259中断控制器实验 (7) 二、综合设计实验部分 (12)

一、基础实验部分 实验1 存储器读写实验 一、实验设备 微机实验箱、8086CPU模块。 二、实验要求 学会用使用工具软件,掌握用单步执行和断点方式运行程序,观察寄存器和内存中的数据变化等程序调试的手段。 三、实验步骤 1、实验接线:本实验无需接线。 2、编写调试程序。 3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。 四、思考题 1、①单步执行到“intram”标号的语句时,ds寄存器的数据是什么?②采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据是什么?③执行到第二个断点处,2000H~200FH内存单元的数据是什么?④并根据观察结果和对源程序的判读简述源程序的运行效果。 答:①ds寄存器的数据是0100H。 ②2000H~202FH内存单元的数据全是00。 ③2000H~200FH内存单元的数据是AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55。 ④源程序的运行效果是在第一个间断点处可以把数据清零,在第二个间断点处即 可完成赋值。

2、修改程序,实现从2000H 到200FH 单元依次赋值00H~0FH 的功能。 答:程序如下 code segment assume cs:code org 0100h start: mov ax,0100h mov ds,ax ;数据段地址 mov es,ax mov si,1000h ;偏移地址 mov cx,0010h ;循环次数 mov al,0 ;将al 清零 intram: mov [si],al inc si ;将偏移地址+1 inc al ;将al 的值+1 loop intram nop ;设置断点处 jmp start code ends end start 五、出现的问题及解决过程 序号 出现的问题 原因 解决过程 1 不能得到内存单元的运 行结果 未在程序中设置断点 在程序中设置正确断点 2 2000H 到200FH 单元得不 到00H~0FH 设置的循环次数不对 mov cx,0016h 将循环次数改为 mov cx,0010h

EDA课程设计参考题目

EDA课程设计参考题目一、设计彩灯控制器一 要求: 1.有八只LED,L0……L7 2.显示顺序如下表 3

要求: 1.8 个灯全亮; 2.8 个灯全灭; 3.从左边第一个开始每隔一个亮; 4.从右边第一个开始每隔一个灭; 5.左4个灭,右4个亮; 6.左4个亮,右4个灭; 7.显示间隔0.5S,1S可调。 三、设计彩灯控制器三 要求: 1. 有十只LED,L0……L9 2. 显示方式 ①先奇数灯依次灭 ②再偶数灯依次灭 ③再由L0到L9依次灭 3.显示间隔0.5S,1S可调。 四、自设计动奏乐器一 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 1 5 5 6 6 5 – 4 4 3 3 2 2 1 – 5 5 4 4 3 3 2 – 5 5 4 4 3 3 2 – 3.附加:显示乐谱。 五、设计自动奏乐器二 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 3 1 3 5 6 5 – 6 6 ? 1 6 5 ––– 6 6 ? 1 6 5 5 3 1 2 2 3 2 1 ––– 3.乐曲自选。 4.附加:显示乐谱。 六、设计汽车尾灯控制器 要求: 1.用6个发光二极管模拟6个汽车尾灯(左、右各3个)。 2.汽车往前行驶时,6个灯全灭。当汽车转弯时,若右转弯,右边3个尾灯从左至右顺序 亮灭,左边3个灯全灭;若左转弯,左边3个尾灯从右至左顺序亮灭,右边3个灯全灭; 汽车刹车时,6个尾灯同时明、暗闪烁;汽车在夜间行驶时,左右两侧的灯同时亮,供照明使用。

要求: 1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为:其中一个方向是绿灯、黄灯、 红灯,另一个方向是红灯、绿灯、黄灯。 2.设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、 红灯的持续时间分别是20s、5s、25s。 八、设计数字频率计 要求: 1.输入为矩形脉冲,频率范围0~99MHz; 2.用五位数码管显示;只显示最后的结果,不要将计数过程显示出来; 3.单位为Hz和KHz两档,自动切换。 九、设计智力竞赛抢答器 要求: 1.四人参赛每人一个按钮,主持人一个按钮,按下就开始; 2.当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。 3.有人抢答时,喇叭响两秒钟; 4.答题时限为100秒钟(显示0~99),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告。 十、设计数字秒表 要求: 1.要求设置启/停开关。当按下启/停开关,将启动秒表开始计时,当再按一下启/停开关时, 将终止计时操作。 2.数字秒表的计时范围是0秒~59分59.99…… 3.要求计时精度为0.01s。 4.复位开关可以在任何情况下使用,即便在计时过程中,只要按一下复位开关,计时器就 清零,并做好下次计时的准备。 十一、设计数字钟 要求: 1.具有时、分、秒计数显示功能,且以24小时循环计时。 2.具胡清零的功能,且能够对计时系统的小时、分钟进行调整。 3.具有整点报时功能。 十二、设计三层电梯控制器 要求: 1.每层电梯入口处设有上下请求开关,电梯内有乘客到达层数的的停站请求开关。 2.设有电梯所处位置指示装置及电梯运行模式(上升和下降)指示装置。 3.电梯每秒钟升(降)一层。 4.电梯到达有请求的楼层,电梯经过lS电梯门开,打开4S后,电梯门关闭(开门指示灯灭)。电梯继续运行,直至完成最后的一个请求信号后停留在当前层。 5.能记忆电梯内外所有请求信号,并按照电梯运行规则按顺序响应,每个请求信号留至执行完后消除。 6.电梯运行规则:当电梯处于上升模式时,只响应比电梯所在的位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼清求执行完毕;如果高层有下楼请求,则直接升到有下

实验报告总结(精选8篇)(优秀版)

《实验报告总结》 实验报告总结(一): 一个长学期的电路原理,让我学到了很多东西,从最开始的什么都不懂,到此刻的略懂一二。 在学习知识上面,开始的时候完全是老师讲什么就做什么,感觉速度还是比较快的,跟理论也没什么差距。但是之后就觉得越来越麻烦了。从最开始的误差分析,实验报告写了很多,但是真正掌握的确不多,到最后的回转器,负阻,感觉都是理论没有很好的跟上实践,很多状况下是在实验出现象以后在去想理论。在实验这门课中给我最大的感受就是,必须要先弄清楚原理,在做实验,这样又快又好。 在养成习惯方面,最开始的时候我做实验都是没有什么条理,想到哪里就做到哪里。比如说测量三相电,有很多种状况,有中线,无中线,三角形接线法还是Y形接线法,在这个实验中,如果选取恰当的顺序就能够减少很多接线,做实验就应要有良好的习惯,就应在做实验之前想好这个实验要求什么,有几个步骤,就应怎样安排才最合理,其实这也映射到做事情,不管做什么事情,就应都要想想目的和过程,这样才能高效的完成。电原实验开始的几周上课时间不是很固定,实验报告也累计了很多,第一次感觉有那么多实验报告要写,在交实验报告的前一天很多同学都通宵了的,这说明我们都没有合理的安排好自己的时间,我就应从这件事情中吸取教训,合理安排自己的时间,完成就应完成的学习任务。这学期做的一些实验都需要严谨的态度。在负阻的实验中,我和同组的同学连了两三次才把负阻链接好,又浪费时间,又没有效果,在这个实验中,有很多线,很容易插错,所以要个性仔细。 在最后的综合实验中,我更是受益匪浅。完整的做出了一个红外测量角度的仪器,虽然不是个性准确。我和我组员分工合作,各自完成自己的模块。我负责的是单片机,和数码显示电路。这两块都是比较简单的,但是数码显示个性需要细致,由于我自己是一个粗心的人,所以数码管我检查了很多遍,做了很多无用功。 总结:电路原理实验最后给我留下的是:严谨的学习态度。做什么事情都要认真,争取一次性做好,人生没有太多时间去浪费。 实验报告总结(二): 在分子生物学实验室为期两个月的实习使我受益匪浅,我不仅仅学习到了专业知识,更重要的是收获了经验与体会,这些使我一生受用不尽,记下来与大家共勉:

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