数电实验报告 数电实验报告模板

时间:2023-08-09 00:14:49 文档下载 投诉 投稿

        数电实验报告实验一实验题目:十进制代码——8421码转换电路实验目的:

        (1)掌握组合逻辑电路设计方法

        (2)掌握码制转换逻辑的设计特点

        (3)掌握TTL芯片的应用和调试实验原理:转换真值表:十线十进制数8421BCD码D9D8D7D6D5D4D3D2D1D0B8B4B2B100000000010000000000001000010000000100001000000010000011000001000001000000100000010100010000000110001000000001110100000000100010000000001001实验内容:将TTL设计成十进制转换成8421BCD码。实验总结与收获:对TTL有了一定的了解,掌握码制转换逻辑的设计特点,组合逻辑电路设计方法也有些了解,对以后的实验有心理准备。实验二实验题目:译码器及数码显示实验目的:

        (1)掌握组合逻辑电路设计的方法.

        (2)对比用不同的器件,不同设计方法之间的比较.

        (3)掌握数码关与译码器的电位关系.实验原理:1.数码管是一种子常用器件,当你显示十进制数时,是有很多电路供你选用,一般根据所使用的数码管是共阳极还是共阴极来选择对应芯片的.七段发光二极管(LED)数码显示器的字形与七段荧光数码管一样,外观为平面型.它的a,b,c,d,e,f,g段是用发光二极管显示的,并且分为共阳极和共阴极两种.共阳极是七个发光二极管的阳极接在一起,接到高电平(正电源)上,阴极接到译码器的输出端,哪个发光二极管的阴极为低电平,哪个发光二极管就亮,而阴极为高电平的发光二极管就不亮.共阴极是七个发光二极管的阴极接到一起,,接到低电平处,哪个发光二极管的阳极接高电平,哪个发光二极管就亮,否则就不亮.这种数码特点是电源电压为5V,与TTL电源一致共阳弄数码管内部结构.2.LED数码管的内部显示如图所示:3.BI是消隐输入端,当输出功能为0—15V时,BI必须开路或接高电平,BI处于低电平时,所有各段输出均被切断且与其它输入端的电平无关.RBI串行消隐输入端,能消除无意义的0显示,RBO串行消隐输出端与RBI:LT组合控制可消除其它无意义的输出.LT为灯测试端,当/LT=0时,所有各段均未导通,可用于检查各显示端.下表是74LS47的功能表:十进制或功能输入端BI输出端注释LTRBIDCBAabcdefg0HHLLLLHYYYYYYN11HXLLLHHNYYNNNN2HXLLHLHYYNYYNY3HXLLHHHYYYYNNY4HXLHLLHNYYNNYY5HXLHLHHYNYYNYY6HXLHHLHYNYYYYY7HXLHHHHYYYNNNN8HXHLLLHYYYYYYY9HXHLLHHYYYYYYY10HXHLHLHNNNYNNY11HXHLHHHNNYYYNY12HXHHLLHNYNNNYY13HXHHLHHYNNYNYY14HXHHHLHNNNYNYY15HXHHHHHNNNNYNNBIXXXXXXLNNNNNNN2RBIHLLLLLLNNNNNNN3LTLXXXXXHYYYYYYY4注:输出端中Y表示导通,N表示截止.实验内容:

        (1)要求设计16进制译码器的逻辑图.

        (2)根据逻辑图边好译码器,并将电阻,数码管连上.

        (3)通电调试,直到0—F都能正确显示为止.实验设计:1.根据实验需求分析,可得出下面的逻辑关系式:其中:0=a+b+c+d+e+f1=b+c2=a+b+d+e+g.3=a+b+c+d+g.4=b+c+g+f.5=a+c+d+f+g.6=a+c+d+e+f+g.7=a+b+c.8=a+b+c+d+e+f+g.9=a+b+c+d+f+gA=a+b+c+e+f+g.B(b)=c+d+e+f+g.C=a+e+f.d(D)=b+c+d+e+g.E=a+d+e+f+gF=a+e+f+g.2.用编程语言进行编程:PLD16V8//器件名称BASICGATES//逻辑功能WANGTAO2009.4.13//姓名,时间SHIYANLATTICEV4.6//用途,公司,版本DCBANCNCNCNCNCGND//定义输入脚NCabcdefgNCVCC//定义输出脚;LOGICEQUATIONS//注释a=B*/D+A*/B*D+A*C*/D+/A*/B*/Cb=/C*/D+/A*/B+A*/B*/C+A*B*/Dc=A*/C+C*/D+/A*/B*/Cd=/C*D+A*B*/C+/A*B*C+A*/B*C+/A*/B*/De=/A*B+/A*/Cf=/A*/B+C*/D+/B*Dg=B*/C+/C*D+/A*B+/B*CDESCRIPTION//程序结束3.调试验证:实验中用fm.exe对程序wt.pld进行编译.生成wt.jed文件。

        将程序导入芯片中,最后按照实验要求将电路线连好。即0000显示0,0001显示1,0010显示2,0011显示3,0100显示4,0101显示5,0110显示6,0111显示7,1000显示8,1001显示9,1010显示A,1011显示b,1100显示C,1101显示d,1110显示E,1111显示F.另外,实验中由于LED数码管显示的8与B一样,0与D一样,所以采用b代替B,d代替D.实验结论与收获:通过本次实验,解到了一些组合逻辑电路设计的方法.并且意识到TTL芯片与GAL芯片的一些差异.当电路较为复杂时,用GAL芯片比用TTL芯片好,它会使工程会变得简单许多.还让我对计算机硬件方面多了一些兴趣,意识到作为一个计算机系的学生,不仅仅是要知道编程等方面的软件知识,也应该了解计算机的硬件.实验三实验题目:海明码校验逻辑实验(设计型)实验目的:1)掌握总线的应用方法;2)掌握总线出错时发现错误和纠正错误的方法;3)掌握奇偶校验的原理;4)掌握海明校验的编码原理及设计,调试方法。实验原理:

        (1).L-1=C+D.(其中,L为码组中的最小码长,C为可校错的位数,D为可检错的位数).L12345D012132432C000101012

        (2).海明码由8421码加三位校验位组成.设8421码为I4I3I2I1,三位校验码为P3P2P1,则海明码为下列七位代码:位序7654321海明码I4I3I2P3I1P2P1其中P3=I4⊕I3⊕I2.P2=I4⊕I3⊕I1.P1=I4⊕I2⊕I1.N765432100000000100001112001100130011110401010105010110160110011701101008100101191001100由表可知,海明码可检验并校正一位错.S3=I4⊕I3⊕I2⊕P3.S2=I4⊕I3⊕I1⊕P2.S1=I4⊕I2⊕I1⊕P1.然后判断S3S2S1,若代码正确,则S3S2S1=000,否则指出出错数位.实验要求:

        (1).设计信息位为4位的内存的海明校验逻辑电路,在读内存储器时,具有一位出错报错和纠正一位错误的功能.

        (2).为了难其正确性,在读出信息的通路上,要串入造错用逻辑,位数自定.

        (3).奇偶发生器与海明校难器对同一位用一块厅偶校验集成块.实验设计:

        (1).实验设计时的参考逻辑图:

        (2).根据上面的参考逻辑图得到的实际电路原理图如下:

        (3).用VHDL语言编写的程序代码如下:

        (4).对实验的模拟波形图如下:实验总结:这次实验主要是建立起了总线和使能控制的概念,和实验一相比,本实验中引入了时序逻辑(寄存器)。

        虽然实验原理不难,但由于是初次使用MAX+plus,所以这次实验花的时间比较多,特别是用原理图实现部分。通过这次实,对寄存器和总线结构有了更进一步的理解,验同时也学会了MAX+plus的初步使用,对异或门和同或门的输入输出特性也有了更深的了解。实验四实验题目:时序脉冲分频分配延迟与整形电路(VHDL设计型)实验目的:掌握同步时序电路和分频,延迟整形的原理和设计方法,进一步提高实践能力.实验要求:脉冲源为10兆,要求得到主脉冲1兆,即周期T=1us脉宽500ns(占空比1:1).在主脉冲CP下产生单拍脉冲CPO.在主脉冲CP下产生三个周期T1-T2,每个周期包括2个主脉冲的分频分配器,输出系统波为CP1-CP2.有CP1得到延迟200ns,波宽为200ns的脉冲CP1.由CP2得波宽为700ns的脉冲CP2.实验原理:实验中提供10兆脉冲源;双D触发器74LS74;单稳74LS123;计数器74LS161;延迟线或作延迟用的低频反相器;能用反相器、与门、与非门等;整形、延迟中用的电阻电容.延迟方法可用单稳(但要保持原脉冲宽度一般不用),还可用延迟线,低频反相器,积分电路.波形整形电路设计也可用单稳,延迟时间键电路加触发器”葫芦串”结构电路,微积分电路等.实验设计:实验的逻辑参考图如上图所示.在设计中,5分频用了一个5进制计数器来实现.该部分是自己设计的一个芯片.而4分频或2个2分频部分是用系统自带的芯片74LS74.三周期部分也是自己设计的一个芯片,是用移位寄存器的原理实现的.其中CP1,CP2,CP3,CP4,CP5和CP6的实现是通过已得到的波形通过逻辑关系组合而成的.1)实验原理图原理图的设计可分为四个模块:五分频部分,四分频部分,二分频部分,T3波形变换部分(这里用计数器实现的,用移位寄存器也可以)。

        五分频部分电路图如下:三个寄存器能表示八个状态,但在这里只用到了五个状态,构成五进制计数器。计数器为自启动计数器。同理用两个触发器组成的四分频电路如下:二分频电路为:T3波形变换电路为:实际上是有三个输出的计数电路。

        由上述部分经过组合逻辑设计得电路原理图如下:VHDL代码部分:将原理图的实现用VHDL语言描述为:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYclkISPORT(clk:INSTD_LOGIC;CP1,CP2,CP3,CP4,CP5,CP6:OUTSTD_LOGIC;Q3,Q4,Q4b,Q5,Q6,Q7,Q8:BUFFERSTD_LOGIC);ENDclk;ARCHITECTUREVHDLOFclkISBEGINPROCESS(clk,Q3,Q5)VARIABLEcount_5:STD_LOGIC_VECTOR(2DOWNTO0);VARIABLEcount_2:STD_LOGIC;VARIABLEcount_4:STD_LOGIC_VECTOR(1DOWNTO0);VARIABLEcount_3:STD_LOGIC_VECTOR(1DOWNTO0);BEGINIF(clk'EVENTANDclk='1')THENIF(count_5="000")THENcount_5:="001";Q3<='1';ELSIF(count_5="001")THENcount_5:="010";Q3<='0';ELSIF(count_5="010")THENcount_5:="011";Q3<='0';ELSIF(count_5="011")THENcount_5:="100";Q3<='0';ELSIF(count_5="100")THENcount_5:="000";Q3<='0';ENDIF;ENDIF;IF(Q3'EVENTANDQ3='1')THENIF(count_2='0')THENcount_2:='1';Q4<='1';Q4b<='0';ELSIF(count_2='1')THENcount_2:='0';Q4<='0';Q4b<='1';ENDIF;ENDIF;IF(Q3'EVENTANDQ3='1')THENIF(count_4="00")THENcount_4:="01";Q5<='1';ELSIF(count_4="01")THENcount_4:="10";Q5<='1';ELSIF(count_4="10")THENcount_4:="11";Q5<='0';ELSIF(count_4="11")THENcount_4:="00";Q5<='0';ENDIF;ENDIF;IF(Q5'EVENTANDQ5='1')THENIF(count_3="00")THENcount_3:="01";Q6<='1';Q7<='0';Q8<='0';ELSIF(count_3="01")THENcount_3:="10";Q6<='0';Q7<='1';Q8<='0';ELSIF(count_3="10")THENcount_3:="00";Q6<='0';Q7<='0';Q8<='1';ENDIF;ENDIF;ENDPROCESS;CP1<=Q4bANDQ5ANDQ6;CP2<=Q4bANDNOTQ5ANDQ6;CP3<=Q4bANDQ5ANDQ7;CP4<=Q4bANDNOTQ5ANDQ7;_CP5<=Q4bANDQ5ANDQ8;CP6<=Q4bANDNOTQ5ANDQ8;ENDVHDL;实验中的波形模拟图:使用GAL编写程序PLD16V8BASICGATESWANGTAO2009.5SHIYANLATTICEV4.6Q4bQ5Q6Q7Q8NPQHGNDCP1CP2CP3CP4CP5CP6VUAVCC;LOGICEQUATIONSCP1=Q4b*Q5*Q6CP2=Q4b*Q5*Q6CP3=Q4b*Q5*Q7CP4=Q4b*Q5*Q7CP5=Q4b*Q5*Q8CP6=Q4b*Q5*Q8DESCRIPTION;实验调试:1)本次实验在逻辑上基本是串形的,所以可完成一部分调一部分。2)先调五分频,接着调四分频或两个二分频、然后调三个周期和调六个系列波。3)先用单拍脉冲作脉冲源,看指示灯或万用表测电位,来查各部分逻辑是否正确.注意在所需信号的方法。

        通过本次实验,我也训练了模块化并最终将各模块合理的衔接到一起的思想方法。通过本次实验,增强了自己对VHDL的熟练程度。通过这次实验,对触发器和计数器的工作原理和应用有了更好的掌握,对时钟概念的理解也更深了。

        原理图实现时i.数据输入:将数据串行输入系统中.对于本实验,以八位数据为基准.即对输入的数据分隔,每八位作为一个整体将其输出.ii.数据输出:当输入的数据满足一定条件时将其每八位并行输出一次.这其中数据需满足的条件是:数据组合必须是每八位组合一次,并且当数据处于接收状态.iii.数据控制:将输入的数据同样按八位读取,当读取到某一特定串行输入数据序列时,控制器处于开启状态,表示接受数据输入.当输入的八位数据为另外一个特定的串行输入数据序列时,控制器处于关闭状态.并且在这时候控制数据输出是否将串行输入的数据并行输出.由于数据必须满足上述两个条件,所以数据控制部分可分为两个小模块来完成.一部分用于判定数据的输入序列是否为特定的序列.另一个模块用于对串行输入的数据进行计数,看是否已输入八位.本实验中,自己约定两个特定的序列."00111100"表示控制器开启,即读取数据开始.相反地,"11000011"表示控制器关闭,即读取数据结束.实验设计:根据实验的原理及要求,可以将整个系统分为三个模块来设计.数据输入模块:以时钟信号为基础,将时钟信号作为输入,通过高低电平的控制,实现串行输入数据的序列.此时需将所输入的数据存储在一个存储器中,以便用于后面的输出工作.数据控制模块:将数据输入模块所输入的数据输出作为数据控制模块的输入数据序列.根据实验原理及要求部分所述,将”00111100”作为数据控制模块的开启信息.此时表示数据的读取状态.而”11000011”作为数据控制模块的关闭信息,表示数据读取结束.这两个状态是相反的,可用一个D触发器来获得最终的控制结果.此时还需要作另外一个判断,即串行输入的数据序列是否已满8位.因此需要一个计数器来对已输入的数据序列进行计数.当已有8位时,数据控制模块的逻辑值应为1,即将把串行输入的8位数据并行输出.数据输出模块.:由于在数据输入模块中已经将数据存储在了一个存储器中,若此时数据输出模块接收到数据控制模块的逻辑值为1的信息,那么数据模块将把存储在存储器的数据8位并行输出.否则,数据输出模块将不输出数据.实验具体设计.实验采用模块化设计.具体模块如下图所示:1)实验原理连接图.2)实验VHDL程序.LIBRARYieee;USEieee.std_logic_1164.all;ENTITYexp5ISPORT(CLK,CLRN,INPUT:INSTD_LOGIC;Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,B1,B2,D1,C1,CLK2:BUFFERSTD_LOGIC;S1,S2,S3,S4,S5,S6,S7,S8:OUTSTD_LOGIC);ENDexp5;ARCHITECTUREex5OFexp5ISBEGINPROCESS(CLK,CLRN,INPUT)BEGINIF(CLRN='0')thenQ1<='0';Q2<='0';Q3<='0';Q4<='0';Q5<='0';Q6<='0';Q7<='0';Q8<='0';ELSIF(CLK'EVENTANDCLK='1')thenQ1<=INPUT;Q2<=Q1;Q3<=Q2;Q4<=Q3;Q5<=Q4;Q6<=Q5;Q7<=Q6;Q8<=Q7;ENDIF;ENDPROCESS;PROCESS(Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,CLRN,CLK)BEGINB1<=NOT((NOTQ1)ORQ2ORQ3ORQ4ORQ5ORQ6ORQ7OR(NOTQ8));B2<=(NOTQ1)ANDQ2ANDQ3ANDQ4ANDQ5ANDQ6ANDQ7AND(NOTQ8);IF(CLRN='0')thenD1<='0';ELSIF(CLK'EVENTANDCLK='1')thenD1<=(B1AND(NOTD1))OR((NOTB2)ANDD1);ENDIF;ENDPROCESS;PROCESS(CLK,CLRN,D1,CLK2)VARIABLEc:STD_LOGIC_VECTOR(2DOWNTO0);BEGINCLK2<=(CLKANDD1);IF(CLRN='0')thenc:="000";ELSIF(CLK2'EVENTANDCLK2='1')thenIF(c="000")THENc:="001";C1<='0';ELSIF(c="001")THENc:="010";C1<='0';ELSIF(c="010")THENc:="011";C1<='0';ELSIF(c="011")THENc:="100";C1<='0';ELSIF(c="100")THENc:="101";C1<='0';ELSIF(c="101")THENc:="110";C1<='0';ELSIF(c="110")THENc:="111";C1<='0';ELSIF(c="111")THENc:="000";C1<='1';ENDIF;ENDIF;ENDPROCESS;PROCESS(CLRN,C1,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8)BEGINIF(CLRN='0')thenS1<='0';S2<='0';S3<='0';S4<='0';S5<='0';S6<='0';S7<='0';S8<='0';ELSIF(C1'EVENTANDC1='1')thenS1<=Q1;S2<=Q2;S3<=Q3;S4<=Q4;S5<=Q5;S6<=Q6;S7<=Q7;S8<=Q8;ENDIF;ENDPROCESS;ENDex5;3)实验模拟波形图.4)使用GAL进行编程PLD16V8BASICGATESWT2009.6SHIYANLATTICEV4.6A1A2A3A4A5A6A7A8HGNDIJZYXWVUAVCC;LOGICEQUATIONSI=A1*A2*/A3*/A4*/A5*/A6*A7*A8(控制电路jk触发器j输入)J=/A1*/A2*A3*A4*A5*A6*/A7*/A8(控制电路jk触发器k输入)DESCRIPTION;实验收获:进一步熟悉了一个设计性实验的具体设计思想过程及方法.在与同学们的讨论中,逐渐熟悉设计思想。主要是8位数据输入的控制和对输入的数据进行计数。再一次熟悉了模块化思想并最终将各模块合理的衔接到一起的思想方法.虽然过程中遇到不少麻烦,但都一步步得化解,最终成功的完成。

【数电实验报告 数电实验报告模板】相关文章:

数电实验报告 数电实验报告答案08-09

河北科大数电实验报告 河北科技大学数电课设08-09

数电实验报告 数电实验报告总结08-09

数电综合实验报告——数字电子钟08-09

数电实验报告 数电实验报告心得08-09

数电实验报告 数电实验报告实验二08-09

数电实验报告 数电实验报告模板08-09

数电实验实验报告 数电实验实验报告三组合逻辑电路设计08-09

数电实验报告最终版 数电实验报告答案大全08-09

数电实验报告总结 数电实验报告总结体会08-09

项目工程竣工验收报告表格 项目工程竣工验收报告表格模板08-09

工程竣工验收报告表格模板 工程竣工验收报告表格下载08-09

工程竣工验收表格-工程竣工验收表格 工程竣工验收表格模板08-09