1、当一个选通端(E1)为高电平,另两个选通端为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。(即输出为Y0至Y7的非)比如:A2A1A0=110时,则Y6输出端输出低电平信号。
2、利用 E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
3、若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
4、可用在8086的译码电路中,扩展内存。
扩展资料
一个现代译码器的主要工作流程:源代码 (source code) →预处理器 (preprocessor) →编译器 (compiler) →目标代码 (object code) →链接器 (Linker) →可执行程序 (executables)。
高级计算机语言便于人编写,阅读交流,维护。机器语言为计算机能直接解读、运行的。
译码器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。
源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。
最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
参考资料来源:百度百科-编译器
参考资料来源:百度百科-74LS138
首先要纠正一下,相对多的输入转化成为相对少的输出,一般叫编码器;相对少的输入转化成为相对多的输出,一般叫译码器。所以,确切地说你要做的应该是8-3编码器(还是3-8译码器)。//8-3编码器verilog代码
module enc_83(datain, dataout, en)
input [7:0] datain
input en
output [2:0] dataout
reg [2:0] dataout
always @*
if (~en)
dataout = 3'b0
else case(datain)
8'b0000_0001: dataout = 3'b000
8'b0000_0010: dataout = 3'b001
8'b0000_0100: dataout = 3'b010
8'b0000_1000: dataout = 3'b011
8'b0001_0000: dataout = 3'b100
8'b0010_0000: dataout = 3'b101
8'b0100_0000: dataout = 3'b110
8'b1000_0000: dataout = 3'b111
default: dataout = 3'b000
endcase
endmodule
//关于上述代码的说明
1) 上述实现的是8-3普通编码器,即同一时刻输入保证只有一位有效;
2) 上述代码没有输出编码有效的标识位,如果需要的话可自行添加。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)