八进制和十六进制有什么用?
1 八分之一:八分之一通常用于使用1 2 位,2 4 位或3 6 位的PDP-8 ,ICL1 9 00和IBM大型机等计算机系统中。五元是这样的基础,因为它们的理想二进制词缩写大小可以被3 (每个八分音数字对应于三个二进制数)。
四个,八到十二个数字可以精确显示整个计算机。
此外,成本降低,以使数字启用数字管,七个段广告和运算符控制器的计算器。
您在太复杂的二进制广告中使用它们。
但是,十进制广告需要复杂的硬件,十六进制广告需要更多的数字。
2 十六进制:十六进制在计算机区域广泛存在,因为将4 位(位)转换为单独的十六进制数并不难。
1 个字节可以显示为2 个连续的十六进制数字。
扩展信息不同的计算机系统和编程语言具有十六进制值的不同表示:ADA和VHDL使用它们基于的“引号”来包装十六进制数字,例如“ 1 6 #5 A3 #”。
(注意:ADA可以将1 到1 6 中的一种用作整数和实数的基数。
)对于字节向看器,VHDL使用单词x的开头,例如 B. x“ 1 0”,相应的二进制代码为:“ 0001 0000”。
C语言,C ++,Shell,Python,Java语言和类似语言使用第一个单词“ 0x”,例如“ 0x5 A3 ”。
一开始的“ 0”使解析器更容易识别,而“ X”描绘了十六进制(如“ O” Oktal)。
“ 0x”中的“ x”可以是大写字母或小字母。
对于C中的字符数量,它由X+Double -double -Digit十六进制数字(例如XFF)表示。
十六进制逃生序列:例如,您可以使用许多十六进制数字,直到您不是十六进制数字为止。
参考:百度百科全书 - 十六进制
vhdl交通灯的设计
一个实验,但要1 了解开关的交通信号灯规则。2 了解交通灯控制器的工作方式。
3 和3 熟悉VHDL语言的编程,并了解真实设计中的优化解决方案。
第二个硬件要求1 EDA / SOPC体验框。
三种体验的原理显示了许多显示交通信号灯的方法,例如交叉点,t连接等,并且对同一交叉路口有许多不同的显示要求。
为了完成这一经验,您必须首先了解交通混响者的开放和灭绝规则。
这种体验需要在实验盒上的交通信号灯模块中使用发光二极管,即红色,黄色和绿色。
根据人们通常的沟通规则,“在红灯下停下来,转到绿灯,您还记得黄色的光。
” 交通信号灯是打开和关闭的:最初的状态是两个交叉路口的红灯全部打开,然后点亮了东西方交叉点的绿灯,北南南南南南南南润地区的红灯被点燃,东西交叉点在一段延迟后开放。
经过几次灯火,东西方交叉口的红灯被点燃,南北交叉路口的绿灯被点燃,交通开始沿南北方向开始。
闪烁几次后,转到东西方交叉点,然后重复上述过程。
根据经验,使用了8 个七个段中的两个代码代码来显示时间。
东路和北路的开放时间设置为2 0秒。
数字管的时间始终显示为1 9 、1 8 、1 7 2 、1 、0、1 9 、1 8 .当显示时间小于3 秒时,朝着打开流量闪烁的方向的黄光。
完成此体验的任务的四个是设计一个简单的交通信号灯控制器,并使用经验中的两个交通灯模块和七个段的代码管显示交通灯显示器。
系统时钟从时钟模块中选择1 kHz时钟。
使用系统中的S1 按钮重置。
完成交通信号灯控制器的实验阶段的五个实验步骤如下:1 首先,打开Quartsii软件,创建一个新项目并创建一个新的VHDLFILE。
2 根据您自己的想法编写VHDL程序。
编译和模拟您编写的VHDL程序。
4 一旦模拟正确,根据附录1 的主轴的比较表,与经验中使用的循环光模块的LED相对应的FPGA引脚是销钉的结合,然后再次重新编译。
5 使用下载电缆通过JTAG接口在FPGA上下载相应的SOF文件。
6 .观察交通信号灯控制器的工作是否满足实验要求。
注意:这种经验需要销---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------- reset Input r1 ,r2 :r2 :Outstd_logic; Y2 :OUTSTD_LOGIC; -Yellow Light Output G1 ,oftd_logic; -Green Light Output display:Outstd_logic_vector(7 downto) seg_sel:BufferstD_Logic_Vector(2 Downto0) - 七个段代码管扫描驱动程序); EndExp1 8 ; ----------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------- p_temp:integerrange0to1 5 ; signaldisp_decode:std_logic_vector(7 downto0); Signalsec1 ,Dry1 0:integerrange0to9 ; ir_flag:std_logic; - 方向标志beginprocess(clk)beginif(clk'eventandclk ='1 ')thenif(clk_count1 <1 000)thenclk_count1 <= clk_count1 + 1 ; elseclk_count1 <=“ 00000000001 ”; endif; Enfif; 末端; clk1 hz <= clk_count1 (9 ); process(clk1 hz,rst)benif(rst ='0')thesensec1 <= 0; Dry1 0 <= 2 ; dir_flag <='0'; elsif(clk1 hz'eventandclk1 hz ='1 ')thenif(sec1 = 0)thetensec1 <= 9 ; if(sec1 0 = 0)thetensec1 0 <= 1 ; elssec1 0 <= sec1 0-1 ; Enfe; elssec1 <= sec1 -1 ; endif; if(sec1 = 0andSec1 0 = 0)thendir_flag <= notdir_flag; endif; endif; endrprocess; process(clk1 hz,rst)beginf(rst ='0')thenr1 <='1 '; g1 <='0'; _fla g ='0')然后 - 水平通行证r1 <='0'; g1 <='1 '; r2 <='1 '; g2 <='0'; elser1 <='1 '; g1 <='0'; r2 <='0'; g2 <='1 '; endif; elseif(dir_flag ='0')然后 - horizontal 0'; g2 <='0'; endif; endif; e ndif; 末期进程; 过程(clk1 Hz)beginif(dry1 0> 0orsec1 > 3 )theny1 <='0'; y2 <='0'; elsif(dir_flag ='0')ny1 <= clk1 hz; y2 <='0'; Elsey1 <='0'; y2 <= clk1 hz; )然后 - 水平方向<= 1 0; 否则---长度方向<= 1 1 ; endif; 末端; process(seg_sel)begincase(seg_sel + 1 )是“ 000” => disp_temp <= direction; 当“ 001 ” => disp_temp <= direction; 当“ 01 0” => disp_trem <= sec1 0; 当“ 01 1 ” => disp_ temp <= sec1 ; 当“ 1 00” => disp_temp <= direction; 当“ 1 01 ” => disp_temp <= direction; 当“ 1 1 0” => disp_temp <= sec1 0; 当“ 1 1 1 ” => disp_pemp <= sec1 ; 端箱; 末端; process(clk)beginf(clk'eventandclk ='1 ')g_sel <= seg_sel + 1 ; display <= disp_decode; endif; 末端; process(disp_temp) - 查看begincasedisp_tempiswhen0 conversion => disp_decode <=“ 001 1 1 1 1 1 ”; - '0'When1 = disp_decode <=“ 000001 1 0”; ; - '2 'When3 => disp_decode <=“ 01 001 1 1 1 ”; -'3 'When4 => disp_decode <=“ 01 1 001 1 0”; - '4 'When5 => disp_de 7 'when8 => disp_dec ode <=“ 01 1 1 1 1 1 ”; - '8 'When9 => disp_decode <=“ 01 1 01 1 1 1 ”; -'9 'When1 0 => disf_decode <=“ 01 001 000”; - '='当1 1 => disp_decode <=“ 0001 01 00”; - '||' whoters => disp_decode
VHDL type和subtype的一个小问题
仅在亚subs部分类型中的数据类型的第一种数据类型。数据类型的数据类型仅生成一些限制,并且不会描述新的数据类型。
重要类型包括VHDL描述的软件包中指定的类型。
句子是错误的,因为第一个数据类型不能用于描述它。
用VHDL语言设计一个共阴极七段数码管的译码电路,急求大神解答,高分求助!!!不要粘贴复制的
7 4 LS4 9 -7 段解码器,其VHDL的描述如下:Libraryeee; useiee.std_logic_1 1 6 4 全部; ENTITYLS4 9 ISPORT(BL:Instdd_logic; bi:Instd_logic_Vector(3 Downto0); a,b,d,d,e,f,g:offstdd_lgic); 9 issignals:std_l ogic_vector(6 Downto0); beginProcess(bi,bl)beginif(bl/='1 ')和(bl/='h')<=(其他=>'0'); elsecasebiiswhen“ 0000” => s <=“ 01 1 1 1 1 1 ”; 当“ 001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ”时 001 1 “ => s <=” 1 001 1 1 1 1 ';当“ 001 1 ” => s <=> s <=“ 1 001 1 1 1 ”;何时“ 001 1 ” => s <=> s <=“ 1 001 1 1 1 ”;何时“ 01 00” => s <=> s <=“ 1 1 001 1 0”;何时“ 01 01 ” => s => s => s <=> s <=“ 1 1 01 1 01 ”;当 1 1 1 1 1 01 “;当“ 01 1 1 ” => s <=“ 1 1 1 1 1 1 01 ”;当“ 1 000” => s <=“ 1 1 1 1 1 1 ”; 1 001 “ => s <='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ”> s <=“ 01 1 1 1 001 ”; 当“ 1 1 01 ” => s <=“ 1 01 1 1 1 1 0”时; 当“ 1 1 1 0” => s <=“ 1 1 1 1 001 ”时; 当“ 1 1 1 1 ” => s <=“ 1 1 1 0001 ”时; 当“ 1 1 1 1 ” => s <=“ 1 1 1 0001 ”时; Wenothers => sVHDL 七段码管片选是什么
数字管的控制意味着两个方面:选择跳蚤和位置选择。在实际应用中,几个数字七个段通常用于显示不同的数字或字符。
假设我们有四个段中有四个数字管中的四个,并且控制是否被点亮的功能称为选择芯片。
通过选择位的选择获得了对数字或字符的控制。
更具体地说,膜选择的功能是确定将打开哪些数字管。
例如,如果我们想启发第一和第三个数字管,我们可以使用跳蚤选择信号来完成。
选择位确定每个数字管中七个段显示的特定字符。
例如,我们可以告诉第一个数字管通过位选择信号显示数字“ 1 ”,第二个数字管以显示数字“ 2 ”,等等。
通过这种方式,通过结合芯片的选择和钻头的选择,我们可以灵活地控制多个数字管的显示。
这种控制方法在显示系统中非常普遍,例如电子仪,计算器,数字时钟和其他设备。
应该注意的是,不同的数字管可以具有不同的控制方法,但是基本原理都是相似的。
选择和选择芯片位置的组合使数字管的显示系统非常灵活且可扩展,并且可以满足各种复杂的显示需求。
在实际应用中,设计人员必须根据特定需求选择适当数量的芯片和钻头选择信号,以及相应的电路设计,以达到所需的显示效果。
得益于合理的分配和控制,可以通过简单的数字显示来制作各种功能,以显示复杂文本的显示。
简而言之,对数字管的控制是通过两个阶段进行的:选择跳蚤和钻头选择。
芯片的选择确定了数字管,而零件的选择确定了每个数字管显示的特定。
这种灵活的控制方法为应用数字管的应用提供了极大的便利。