




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【要求】
掌握VHDL语言中的各模块的设计及最后各模块的组装
【知识点】理解EDA的分频设计理解VHDL程序计数器的设计理解VHDL程序锁存器的设计理解VHDL程序档位转换及数码管显示的设计理解VHDL程序元件的例化与组装
【重点和难点】频率计的测频原理VHDL程序计数器的设计VHDL程序数码管显示的设计下一页第7章应用VHDL语言方法设计具有换挡功能的四位数字频率计第7章应用VHDL语言方法设计
八位二进制加法器§7.1工作任务的陈述与背景§7.2完成工作任务的引导§7.3相关技术基本知识与基本技能§7.3本章小结上一页一、任务的陈述设计一带进位功能的四位数码管显示的频率计,其卞要参数如下:①频率计的测量范围为:0Hz~1MHz;②频率计具有自动量程转化功能;③频率计通过四位数码管显示测量的频率。二、项目的背景频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1s。闸门时间也可以大于或示于1s。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长;闸门时间越短,测得频率值刷新就越快,但测得的频率精度就受影响。§7.1工作任务的陈述与背景返回下一页§7.2完成工作任务的引导一、资讯由前述可知,要完成好该工作任务,需要准备以下几个方面的知识:①时钟分频的原理及实现的方法。②计数器的知识。③信号锁存的原理。④数码管译码显示、片选及动态扫描的知识。⑤数字频率计的工作原理。二、计划数字频率计的测频方法有等精度测频和计数测频,从实现的技术手段来看目前可采取的有:下一页上一页§7.2完成工作任务的引导
①采用示规模数字集成电路制作;
②采用单片机进行测频控制;③采用现场可编程门阵列(FPGA)为控制核心。三、决策采用现场可编程门阵列(FPGA)为控制核心,利用VHDL语言编程,将所有器件集成在一块芯片上,体积大大减示的同时还提高了稳定性,可实现大规模和超大规模的集成电路,测频测量精度高,测量频率范围大,而且编程灵活、调试方便。综合上述分析,本设计采用现场可编程门阵列(FPGA)为控制核心测量方案。下一页上一页四、实施
(一)设计任务的详细描述设计一个频率计,其频率测量范围为1Hz~1MHz,显示器件为4个8段数码管(带示数显示)。根据测量所得的结果,可以白动转换量程来显示输出的结果:如频率为100Hz,显示为F100;如频率为5kHz,显示为5.000;
如频率为50kHz,显示为50.00;如频率为500kHz,显示为500.0;当输入的频率超过量程(>1MHz)时,数码管灭(不显示)。§7.2完成工作任务的引导为了与实际工程设计更贴近,我们选择天津启东科技公司的TQD-CYC1C3FPGA+MCU开发板作为项目的硬件开发平台,整个项目代码最后下载至开发板上进行验证(相关程序代码稍做修改也可用于康芯GW48EDA_PK2/PK3实验箱上)。(二)设计方案计划将整个项目在开发板上实现。根据开发板上的硬件电路及设计任务的要求,对系统设计方案进行化分,将整个项目进行模块划分。
1.时钟模块开发板上系统的时钟为20MHz,如图7-1所示。测频的闸门信号为1S的高电平信号,同时将测频所得结果显示出来,在数码管显示时采用动态扫描的方法,需要产生1kHz的扫描信下一页上一页§7.2完成工作任务的引导号,所以要对系统的20MHz时钟信号进行分频,以产生符合要求的各频率信号:先由系统时钟20MHz分频出1kHz,再由1kHz分频出1Hz,由1Hz的信号产生1s的计数闸门信号脉冲。该模块作为系统的第一个模块,还要接受测量信号的输入,同时我们还给整个系统定义系统复位。由以上分析,可得出该模块的系统框图如图7-2所示。
图7-2中,Reset为复位引脚,clk为开发板系统时钟的输入,clklk为1kHz的输出信号,tgate为1s的闸门输出信号。
下一页上一页§7.2完成工作任务的引导
2.计数模块(图7-3)
在闸门脉冲电平为1时闸门开启,计数器开始计数,在闸门脉冲电平为0时,闸门关闭,计数器停止计数。同时,锁存器产生一个锁存信号输送到锁存器的使能端将结果锁存,并把锁存结果输送到译码器来控制七段显示器,这样就可以得到被测信号的数字显示的频率。在闸门脉冲的下降沿到来时控制电路将计数器情零,为下一次测量做准备,实现了可重复使用,避免两次测量结果相加使结果产生错误。在整个电路中,计数模块电路是关键,闸门信号脉冲宽度是否精确直接决定了测量结果是否精确。下一页上一页§7.2完成工作任务的引导下一页上一页§7.2完成工作任务的引导
3.锁存模块(图7-4)
锁存器在闸门信号关闭前(检测闸门信号下降沿)实现锁存,并把锁存结果输送到译码器来控制八段数码显示器。4.显示模块(图7-5)
显示模块将锁存模块送过来的数值进行译码显示,并根据锁存模块送来的挡位信号确定示数点显示的位置以实现挡位的显示。(三)模块的设计及实现1.时钟分频分频原理及分频系数的设定:开发板的时钟频率设为20MHz,而为了给其他模块提供所需的各时钟,需对20MHz的时钟进行分频:①从20MHz分频得到1kHz;②从1kHz分频得到1Hz;③由1Hz得到占空比为1/4高电平时间为1s的闸门信号。分频原理及分频系数的设定:为了从20MHz分频得到1kHz,我们设定为一次分频,即由20MHz分频为1MHz,由1MHz分频得1kHz。须设定分频的系数:20MHz与1MHz相差20倍,20/2=10,设定分频变量为0~9,1MHz与1kHz相差1000倍,1000/2=500,所以可以设分频的变量为VARIABLEcnt:INTEGERRANGE0TO499,而从1kHz分频得到1Hz,设分频变量为0~499。下一页上一页§7.2完成工作任务的引导2.计数模块
(1)计数的原理及采用的计数方法采用在闸门信号开启期间对输入信号脉冲进行计数的方法进行测频,当闸门信号开启时计数,当闸门信号关闭时停止计数,在1s内计得的脉冲数即为输入信号的频率。由于频率计的计数值最大为1M,因此代码中用6个信号量(c1~c6)来存储从第一位至第六位相对应的每一位的数值。从c1~c6为逢10进一位,所以c1~c6中存储的是输入信号的十进制的数值。
(2)计数值的挡位划分由于数码管显示的为4位数值,而计数值最高为6位数值,因此对计数值进行分挡编码,以便用4位数码管通过示数点的定位来显示6位数下一页上一页§7.2完成工作任务的引导值。当计数值示于4位计数值时,数码管尤示数位数显示;当计数值大于4位计数值时,取计数值高4位,通示数点定位来显示数值。挡位划分见表7-1。3.锁存模块在闸门信号的下降沿,对输入的16位的计数值q及挡位信号scale进行锁存,由于锁存是对闸门信号的下降沿进行检测完成锁存的,因此能将scale数值在reset复位(计数模块中的端口信)前锁存。锁存模块的作用:设置锁存模块,既可避免计数值的丢失,还可以避免闸门信号计数期间,频率计的显示随着计数值的增加不断变化、闪烁。下一页上一页§7.2完成工作任务的引导4.显示模块将计数器所计得的数值显示出来,并通过挡位信号,完成示数点定位显示,通过显示示数点位置不同的数值来完成相应挡位的自动转换。显示模块对数值的显示译码要与设计的数码管驱动电路相对应。开发板上的数码管为6连排数码管,它们的位段信号端(称为数据端)接在一起,同时还有6个位选信号(称为控制端)用于分别选中要显示数据的数码管。根据开发板的电路及设计要求,显示模块采用显示采用扫描驱动显示,并以七段译码的方式输出。
5.顶层模块采用原理图方式进行组装,具体方法参考7.3节有关内容。下一页上一页§7.2完成工作任务的引导五、检查分别编译各底层模块和整个电路设计,并分别仿真时钟分频、计数模块、锁模块、显示模块、顶层模块。通过后,若有条件,应将源代码下载到硬件中做最后的验证。六、评估对本次设计进行评估,可尝试更好的方案、方法。写出设计报告,设计报告应包括所应用到的EDA方法及知识的总结。返回上一页§7.2完成工作任务的引导一、时钟模块参考设计---clock.vhd------LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYclockISPORT(
§7.3相关技术基础知识与基本技能下一页下一页上一页§7.3相关技术基础知识与基本技能---复位信号
reset:INSTD_LOGIC;
clk:INSTD_LOGIC;---闸门信号
tgate:OUTSTD_LOGIC;---1kHz显示扫描时钟
clklk:OUTSTD_LOGIC);ENDclock;ARCHITECTURErtlofclockIS------常数说明CONSTANTRESETACTIVE:STDLOGIC:=‘1’;下一页上一页§7.3相关技术基础知识与基本技能----信号说明SIGNALc1k1M_reg:STD_LOGIC;SIGNALclklk_reg:STD_LOGIC;SIGNALc1k1Hz:STD_LOGIC;SIGNALtgate_reg:STD_LOGIC;
BEGIN------------------------------------------1MHz时钟-----------------------------------
ClkIM_Proc:PROCESS(reset,clk)VARIABLEcnt0:INTEGERRANGE0TO9;下一页上一页BEGINIFreset=RESETACTIVETHENcnt0:=0;ELSIFrising_edge(clk)THENIFcnt0=9THENcnt0:=0;c1k1M_reg<=notc1k1M_reg;ELSE
cnt0:=cnt0+1ENDIF;ENDIF;ENDPROCESS;§7.3相关技术基础知识与基本技能--------------------------------------------1kHz显示扫描时钟------------------------------------Clklk_Froc:PROCESS(reset,clklM_reg)VARIABLEcnt:INTEGERRANGE0TO500;BEGINIFreset=RESETACTIVETHEN
cnt:=0;ELSIFrising_edge(c1k1M_reg)THENIFcnt=499THEN
cnt:=0;
clk
lk_reg<=notclk
lk_reg;
下一页上一页§7.3相关技术基础知识与基本技能
ELSE
cnt:=cnt+1;ENDIF;ENDIF;ENDPROCESS;clklk<=clklk_reg;-------------------------------1kHz分频得到1Hz---------------------------Clk1Hz_Proc:PROCESS(reset,clklk_reg)VARIABLEcnt2:INTEGERRANGE0TO499;下一页上一页§7.3相关技术基础知识与基本技能
BEGINIFreset=RESETACTIVETHENcnt2:=0;ELSIFrising_edge(clklk_reg)THENIFcnt2-499THENcnt2:=0;
clklHz<=notc1k1Hz;ELSEcnt2:=cnt2+1;ENDIF;ENDIF;ENDPROCESS;下一页上一页§7.3相关技术基础知识与基本技能下一页上一页§7.3相关技术基础知识与基本技能---------------------------------一占空比为1/4频率为0.25Hz的闸门信号---------------------------------Tgate_Froc:PROCESS(reset,clklHz)VARIABLEcnt3:INTEGERRANGE0TO3;BEGINIFreset=RESETACTIVETHENcnt3:=0;
tgate_reg<='0';ELSIFrising_edge(c1k1Hz)THENIFcnt3=2THEN
tgate
reg<='1';cnt3:=3;ELSIFcnt3=3THEN
tgate_reg<='0';cnt3:=0;ELSEcnt3:=cnt3+1;ENDIF;ENDIF;
ENDPROCESS;
tgate<=tgate_reg;ENDrtl;下一页上一页§7.3相关技术基础知识与基本技能工程项目的建立及仿真:
首先打开Quartus软件,选择建立新工程项目选项,在出现的器件选择窗口中可选择开发板所用的芯片EP1C3144C8(也可在以后锁定引脚时指定芯片的型号),如图7-6所示。按提供的示例代码建立clokc.vhd文件后编译。编译通过则说明clokc.vhd文件没有语法错误,但不一定符合设计的要求,为了验证文件是否符合设计,须对该文件建行仿真。时钟模块clokc.vhd的仿真步骤如下:1.仿真文件的建立(图7-7)2.添加仿真的各个端口(图7-8)3.设计各仿真的参数下一页上一页§7.3相关技术基础知识与基本技能①设定输入端口clk的频率为20MHz;②由于只击对模块功能进行验证,修改仿真的模式为Functional,如图7-9所示。对时钟模块仿真时要特别注意,由于从20MHz分频至0.25Hz闸门信号的仿真运算量太大,是无法完成一个闸门信号周期的仿真的。但由时钟模块的VHDL文件可以看出,我们是分步完成分频的,从20MHz分频到1kHz与从1kHz分频到0.25Hz的算法是一致的,所以只需仿真出1kHz信号即可认为时钟模块代码是正,确。设定仿真的时间为10ms,仿真结果如图7-10所示。查看仿真结果可知,clklk输出信号的周期为1ms,程序达到了分频要求。下一页上一页§7.3相关技术基础知识与基本技能二、计数模块参考设计-----counter.vhd---LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYcounterISport(---全局复位
reset:INSTD_LOGIC;下一页上一页§7.3相关技术基础知识与基本技能---闸门信号
tgate:INSTD_LOGIC;---待测信号
tsig:INSTD_LOGIC;---计数输出
q:OUTSTD_LOGIC_VECTOR(15DOWNTO0);---挡位输出scale:OUTSTD_LOGIC_VECTOR(2DOWNTO0);ENDcounter;ARCHITECTURErtlofcounterIS------常数说明CONSTANTRESET_ACTIVE:STD_LOGIC:='0';下一页上一页§7.3相关技术基础知识与基本技能------信号说明SIGNALc1:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALc2:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALc3:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALc4:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALc5:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALc6:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALscale_reg:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALoverflow:STD_LOGIC;BEGINCOUNT_PROC:PROCESS(reset,tsig,tgate)下一页上一页§7.3相关技术基础知识与基本技能
BEGINIFreset=RESETACTIVETHENc1<="0000";c2<="0000";c3<="0000";c4<="0000";c5<="0000";c6<="0000";overflow<='0';ELSIFrising_edge(tsig)THENIFtgate='1'THEN
下一页上一页§7.3相关技术基础知识与基本技能IFc1<”1001"THENc1<=c1+'1';ELSEc1<="0000";
IFc2<"1001"THENc2<=c2+'1';ELSEc2<="0000";IFc3<”1001"THENc3<=c3+'1';ELSEc3<="0000";
下一页上一页§7.3相关技术基础知识与基本技能IFc4<”1001"THENc4<=c4+'1';ELSEc4<="0000";IFc5<”1001"THENc5<=c5+'1';ELSEc5<="0000";IFc6<”1001"THENc6<=c6+'1';ELSE----计数溢出
overflow<='1';下一页上一页§7.3相关技术基础知识与基本技能
ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS:SCALE_PROC:PROCESS(reset,cl,c2,c3,c4,c5,c6,overflow)BEGINIFreset=RESETACTIVETHEN
下一页上一页§7.3相关技术基础知识与基本技能
scale_ref<="000";ELSIFoverflow='1'THEN
---->=1MHz
scale_ref<="001";ELSIFc6/="0000"THEN---100.0kHz-999.9kHzq<=c6&c5&c4&c3;
scale_ref<="010";ELSIFc5/="0000"THEN---10.00kHz一99.99kHzq<=c5&c4&c3&c2;
scale_reg<="011";
下一页上一页§7.3相关技术基础知识与基本技能下一页上一页§7.3相关技术基础知识与基本技能
ELSIFc4/="0000"THEN---1.000kHz一9.999kHzq<=c4&c3&c2&c1;
scale_ref<=”100";ELSE---1Hz-999Hzq<=”1111"&c3&c2&c1;
scale_ref<=”101";ENDIF;ENDPROCESS;scale<=scale_reg;ENDrtl;下一页上一页
计数模块对应不同频率时仿真的输出数值和对应的挡位输出。
计数模块中将复位信号与闸门信号相连,当闸门信号关闭时计数模块复位情零,所以计数模块为低电平复位。在设定复位信号与闸门信号脉冲时应使两者信号一致。
设定输入信号频率为5000Hz(周期为200s),如图7-11所示。
仿真结果如图7-12所示。
仿真所得结果数值的判断:
①输入5000Hz信号,正确,与挡位相符合。
②由于q是输出端口,输出的数值为q=5000,输出的挡位§7.3相关技术基本知识与基本技能下一页上一页为100,计数值在reset情零前已输出至端口,因此闸门信号关闭后数值不改变,而scale输出端口是通过信号scale_reg传递数值的,在SCALE_PROC进程中,由于IFreset
=
RESET_ACTIVETHENscalereg<="000";因而仿真在闸门信号关闭后输出为0,但可以通过后面的锁存模块,通过对闸门信号下降沿的检测完成对scale情零前的锁存输出。③scale挡位随q计数值的改变:
当q计数值由二位数变化为四位数后,scale挡位应由101变化为100。
§7.3相关技术基本知识与基本技能下一页上一页§7.3相关技术基本知识与基本技能
对scale数值由101变化为100处的仿真图形放大观察,可以看到此时q的数值由999变化为1000,与挡位转换表的要求相符,如图7-13所示。
将仿真图形放大,查看输入信号脉冲计数及相应的进位,如图7-14所示。
由仿真图形可知,对输入信号的每一个脉冲,计数信号c1都增加1,当c1增加至10时,c1情零并向c2进一位,符合我们十进制数的计数和进位要求。由仿真所得的结果,可知设计达到了要求。下一页上一页§7.3相关技术基本知识与基本技能三、锁存模块参考设计---lock.vhd----LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYlockISPORT(
---闸门信号tgate:INSTD_LOGIC;下一页上一页
---输入信号
q_in:INSTD_LOGIC_VECTOR(15DOWNTO0);scale_in:INSTD_LOGIC_VECTOR(2DOWNTO0);
---锁存信号q-lock:OUTSTD_LOGIC_VECTOR(15DOWNTO0);scale_lock:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDlock;ARCHITECTURErtloflockIS
§7.3相关技术基本知识与基本技能
BEGIN
LOCK_PROC:PROCESS(tgate)
BEGIN
IFfalling_edge(tgate)THENq_lock<=q_in;scale_lock<=scale_in;ENDIF;ENDPROCESS;
ENDrtl;
仿真结果如图7-15所示。由仿真结果可知,在闸门信号的下降沿后,对输入的输出进行了锁存。§7.3相关技术基本知识与基本技能下一页上一页四、显示模块参考设计1.显示模块的代码七段数码管各段名称及编号如图7-16所示。----display.vhd----LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYdisplayISPORT(
§7.3相关技术基本知识与基本技能下一页上一页下一页上一页§7.3相关技术基本知识与基本技能---复位信号reset:
INSTD_LOGIC;
---时钟信号clklk:
INSTD_LOGIC;
---计数值q:INSTD_LOGIC_VECTOR(15DOWNTO0);
---挡位scale:INSTD_LOGIC_VECTOR(2DOWNTO0);
---7段数码管译码输出show:
OUTSTD_LOGIC_VECTOR(?DOWNTO0);
----数码管选择sel:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
下一页上一页ENDdisplay;ARCHITECTURErtlofdisplayIS---常数说明CONSTANTRESET_ACTIVE:STD_LOGIC:='1';---信号定义SIGNALsel_reg:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALq_reg:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALshow_reg:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALcount:STD_LOGIC_VECTOR(1DOWNTO0);BEGIN
§7.3相关技术基本知识与基本技能下一页上一页
WHEN“00”=>
Fresent_State_Register:PROCESS(reset,clklk);
BEGINIFreset=RESETACTIVETHENcount<="00";ELSIFrising_edge(clklk)THENIFcount>="11"THENcount<="00";ELSEcount<=count+"O1";ENDIF;ENDIF;CASEcountIS§7.3相关技术基本知识与基本技能下一页上一页§7.3相关技术基本知识与基本技能
---第一个数码管亮
sel_reg<="0001";q_reg<=q(3DOWNTO0);
---第一个数码管亮WHEN"O1"=>sel_reg<="0010";q_reg<=q(7DOWNTO4);---第二个数码管亮
WHEN"10"=>
selreg<="0100";
q_reg<=q(11DOWNTO8);下一页上一页§7.3相关技术基本知识与基本技能---第四个数码管亮
WHEN"11"=>
sel_reg<=”1000';
q_reg<=q(15DOWNTO12)
WHENothers=>
---所有数码管全灭
sel_reg<="0000";q_red<="0000";ENDCASE;ENDPROCESS;
---注意:showreg不包含示数点位
下一页上一页
WITHq_regSELECTshow_reg<="0111111"WHEN"0000","0000110"WHEN"0001",
"1011011"WHEN"0010",
"1001111"WHEN"0011",
"1100110"WHEN"0100",
"1101101"WHEN"0101",
"1111101"WHEN"0110","0100111"WHEN"0111",
"1111111"WHEN”1000",
"1101111"WHEN”1001",
"0000000"WHENothers;
§7.3相关技术基本知识与基本技能show<='1'&showregWHEN(sel_reg="0010"ANDscale="010")OR(sel_reg="0100"ANDscale="01l")OR(sel_reg=”1000"ANDscale=”100")ELSE
---超量程时,4位数码管全灭"00000000"WHENscale="001"ELSE
'0'&show_reg;
sel<=sel_reg;ENDrtl;
§7.3相关技术基本知识与基本技能下一页上一页程序代码解释:数码管的显示代码:通过count变量的改变完成数码管片选扫描。sel_reg<="0001';q_reg<=q(3DOWNTO0)(第4位数码的片选和显示数值的传递)sel_reg<="0010';q_reg<=q(7DOWNTO4);(第3位数码的片选和显示数值的传递)sel_reg<="0100';q_reg<=q(11DOWNTO8);
§7.3相关技术基本知识与基本技能下一页上一页下一页上一页§7.3相关技术基本知识与基本技能
(第2位数码的片选和显示数值的传递)sel_reg<=”1000';q_reg<=q(15DOWNTO12);(第4位数码的片选和显示数值的传递)通过以上语句,将十六位的二进计数值由高至低、四位一组传递到要显示的相对应的数码管。通过Show_reg<=“0111111”WHEN“0000”,--数码管显示0“0000110”WHEN“0001”,--数码管显示1“1011011“WHEN”0010”,--数码管显示2“1001111”WHEN“0011”,--数码管显示3
下一页上一页
“1100110”WHEN“0100”,--数码管显示4“1101101”WHEN“0101”,--数码管显示5“1111101”WHEN“0110”,--数码管显示6“0100111”WHEN“0111”,--数码管显示7“1111111”WHEN
“1000”,--数码管显示8“1101111”WHEN
“1001”,--数码管显示9“0000000”WHENothers;--数4已管不显示语句完成数码管数值显示的译码。通过show<=‘1’&show_regWHEN
(sel_reg="0010"ANDscale="010")OR§7.3相关技术基本知识与基本技能下一页上一页
(sel_reg="0100"ANDscale="01l")OR
(sel_reg=”1000"ANDscale=”100")ELSE---超量程时,4位数码管全灭
“00000000”
WHENscale=“001”ELSE
'o'&show_reg;语句完成示数点该在哪位数码管显示。2.显示模块的仿真显示模块的仿真参数的设定:clklk周期为1ms,reset=0,仿真时间定为3s;对q的值设定(十六进制):
0~1s期间为0123,1~2s期间为4500,2~3s期间为6789。
§7.3相关技术基本知识与基本技能下一页上一页§7.3相关技术基本知识与基本技能
对scale的值设定(二进制):0~1s期间为q=0123时相对应的挡位值为101,1~3s期间为q=4500,q=6789时相对应的挡位值为100。通过对输入的端口q和scale不同值的设定,在仿真结果中就可以检查是否能正,确地显示数值0~9及正确的数值的示数点定位。q=0123时得到的仿真波形如图7-17所示。查对应的数码管译码显示,可知第四位显示为3(sel:0001show:01001111)
第三位显示为2(sel:0010show:01011011),
第二位数显示为1(sel:0100
show:00000110),
第一位显示为0(情注意,由于只是对display单个模块仿真,下一页上一页§7.3相关技术基本知识与基本技能对q值的输入是十六进制,数值前加了0,所以数码显示出0,但下载到开发板后,数值前的0是不显示的),数码管显示的数值由高到低的值为0123,与输入的q值相符。q=4500时得到的仿真波形如图7-18所示。
查对应的数码管译码显示,可知第四、第二位显示为0(sel:00010010show:00111111),第一位显示为5(sel:010show:01101101),第一位数码管显示与前面不同,其最高位为数值1,当该位为1时数码管带示数点显示数值,所以该位显示为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省抚州市临川二中2024-2025学年高三下学期期末统测物理试题含解析
- 四川省绵阳第五中学2024-2025学年第二学期初三期中考试数学试题试卷含解析
- 内江卫生与健康职业学院《基础教育体育教学设计》2023-2024学年第二学期期末试卷
- 武威市重点中学2024-2025学年初三毕业生3月学习质量检测试题物理试题试卷含解析
- 邵阳市隆回县2025年三年级数学第二学期期末考试试题含解析
- 四川省双流县棠湖中学2025年高三3月一模考试英语试题含解析
- 2025年智能制造与自动化技术考试试题及答案
- 泉州师范学院《地籍测量与管理》2023-2024学年第二学期期末试卷
- 2025年注册建筑师考试试卷及答案
- 2025年税务师考试试卷及答案生成
- 2025年广东省深圳高级中学高中园高考数学三模试卷(含答案)
- 近五年辽宁中考英语真题及答案2024
- 广东省广州市2025年中考地理模拟测试卷(含答案)
- 2023年江苏省环保集团有限公司长期招聘笔试参考题库附带答案详解
- GB/T 45369-2025吸收性卫生用纸制品及原材料消臭效果评价方法
- 第一章+动量守恒定律+章末复习高二上学期物理人教版(2019)选择性必修第一册
- 信创产业面试题及答案
- (二模)2025年合肥市高三第二次教学质量检测英语试卷(含答案)
- 水利水电工程质量保证体系
- 《思想道德与法治》(23版):第五章 遵守道德规范 锤炼道德品格
- 2024年安徽省《辅警招聘考试必刷500题》考试题库及完整答案(必背)
评论
0/150
提交评论