数电实验自主设计
哈工大数电自主设计实验实验报告

姓名班级学号实验日期节次5-6 教师签字成绩实验名称简易数字钟的设计1.实验目的〔1〕用计数器相关知识设计一个简易的数字钟,分和秒为六十进制。
〔2〕了解中规模计数器的应用,通过独立设计和实践掌握74LS00和74LS161等芯片的功能。
〔3〕锻炼动手能力,通过实际操作稳固所学知识,培养学习兴趣。
本实验旨在以计数器为核心,设计和调试出六十进制计数器,并进行两个六十进制计数器的级联。
选用了74LS161芯片来设计一个六十进制计数器,然后和74LS90构成的六十进制计数器进行级联,得到数字时钟。
74LS161芯片为集成同步加法计数器,具有清零、置数、保持等功能,其引脚图如下:74LS00芯片的管脚图如下:用74LS161实现异步进位级联六十进制计数器,高位芯片的时钟端来自低位芯片的输出端Q3,低位芯片采用异步清零法实现十进制计数器,高位芯片也采用同样的方法实现六进制计数器,级联后得到六十进制计数器。
当74LS161所构成六十进制计数器的高位芯片为六进制计数器,当输出为0110时控制清零端进行清零,由0110变为0000,Q3会产生一个下降沿,将Q3端通过一个与非门连到74LS161的CP端,经过与非门后的下降沿变为上升沿,触发74LS161芯计数。
用实验板上输出周期为1s的方波信号,加到低位74LS161芯片计数器的输入端,即可带动整个时钟开始跳动。
分和秒为六十进制,循环计时。
用Multisim13.0绘制实验电路图如下:4. 仪器设备名称、型号数字电子技术实验箱直流稳压电源数字万用表74LS161、74LS00芯片导线假设干接通电源后,秒个位显示0到9,秒十位显示0到5,分个位显示0到9,分十位显示0到5。
最大输出为59分59秒,之后回0,循环计数。
仿真结果如下列图,左上为秒低位,右上为秒高位,左下为分低位,右下为分高位。
6.详细实验步骤及实验结果数据记录〔包括各仪器、仪表量程及内阻的记录〕〔1〕检查导线是否完好〔2〕按电路图所示连好电路。
数电自主设计实验

姓名__________班级___________ 学号________ 台号_________ 日期__________节次___________ 成绩________教师签字_______利用多谐振荡器实现一位数字秒表计时器1.实验目的1 进一步提高独立分析问题和解决问题的能力。
2 掌握数字系统的分析和设计方法。
3 对数字集成电路的综合应用有进一步的认识和理解。
2.总体设计方案或技术路线本实验要用同步加法计数器74LS161构成十进制加法计数器,并用555产生脉冲信号,共同构成等时钟信号生成的设计和计数器的设计。
①555定时器简介:555定时器是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐振荡器,以及不需外接元件就可组成施密特触发器。
因此集成555定时被广泛应用于脉冲波形的产生与变换、测量与控制等方面。
下图为用555定时器设计的多谐振荡器的电路图及其电路产生的波形:1、用555定时器构成的多谐振荡器是利用电容的充放电来代替外加触发信号,电容电压在两个阈值之间按指数规律变化。
令初始时刻0c u V =,0u 为高电平,3G 门输出低电平,放电管VT 截止,电源cc V 通过A B R R 、对电容C 充电,电容电压c u 按指数规律增加。
当23c cc u V >时,0u 变为低电平,3G 门输出高电平,放电管VT 饱和导通,c u 通过B R 和放电管VT 放电,电容电压c u 按指数规律减小。
当13c cc u V <时,0u 变高低电平,3G 门输出低电平,放电管VT 截止,电源cc V 通过A B R R 、对电容C 充电,电容电压c u 按指数规律增加。
当23c cc u V >时,0u 又变为低电平。
如此周而复始地电容充电和放电,就产生了振荡。
多谐振荡器的周期为12T T T =+,1T 为电容电压c u 由13cc V 充电到23cc V 所需的时间,充电时间常数()A B R R C τ=+。
数字电子技术自主设计性实验教学探索与实践

数字电子技术自主设计性实验教学探索与实践1. 引言1.1 背景介绍数字电子技术作为现代电子信息技术的重要组成部分,已经成为高等院校电子信息类专业的重要课程之一。
随着社会科技的不断发展和进步,数字电子技术在通信、计算机、自动控制等领域的应用越来越广泛,对于培养学生的工程实践能力和创新能力具有重要意义。
传统的数字电子技术实验教学注重基础知识和操作技能的传授,缺乏对学生实际能力的培养和激发学生的创新意识。
为了进一步提高数字电子技术实验教学的质量和效果,探索和实践数字电子技术自主设计性实验教学模式显得尤为重要。
自主设计性实验教学是指教师提供基本的实验内容和实验要求,学生根据自己的兴趣和能力独立设计实验方案,完成实验并进行实验结果分析和总结的一种教学方法。
通过这种方式,学生不仅可以深入理解实验原理和方法,还能培养创新思维和解决问题的能力,培养学生的综合素质和实际操作能力。
数字电子技术自主设计性实验教学在促进学生学习兴趣、提高学生实践能力和创新能力等方面具有重要的意义。
1.2 研究意义数字电子技术自主设计性实验教学的研究意义非常重大。
数字电子技术作为现代电子科学的基础和核心技术,掌握数字电子技术对于学生未来的发展至关重要。
通过自主设计性实验教学,学生可以深入理解数字电子技术的原理和应用,提高他们的实践操作能力和创新能力。
数字电子技术自主设计性实验教学可以激发学生学习的兴趣和潜力。
传统的实验教学往往是按部就班地进行,学生缺乏对知识的实际运用和创新思维的锻炼。
而自主设计性实验教学则可以让学生自主选择实验方向、参与实验设计和实施过程,培养学生的主动学习意识和动手能力,激发他们的学习动力。
数字电子技术自主设计性实验教学可以促进教学方法的创新和教学质量的提升。
通过不断探索和实践,教师可以改进实验教学内容和方法,提高教学效果和学生学习体验,推动数字电子技术实验教学向更加深入和全面发展。
研究数字电子技术自主设计性实验教学的意义在于促进学生的全面发展,提高教育教学质量,推动数字电子技术教育的不断完善和创新。
哈工大数电自主设计实验报告

姓名班级学号实验日期2014.11. 节次教师签字成绩实验名称出租车计价表的简单逻辑设计1.实验目的(1)掌握并熟练运用集成同步加法计数器74LS160芯片的清零、置数和级联功能的接法,并能综合运用这些接法实现进制改变等功能。
(2)掌握并熟练运用中规模4位二进制码比较器74LS85芯片的数码比较功能。
(3)用若干集成同步加法计数器74LS160芯片和中规模4位二进制码比较器74LS85芯片组合设计出租车计价表电路,使之实现如下功能:起步价为3公里内8元,超过3公里每公里收2元,停车不计费,将最后的钱数通过数码管显示。
2.总体设计方案或技术路线(1)行车距离的模拟:在车轮上安装传感器,获得车轮转动信息,即获得行车距离信息,将出租车行驶距离转换成与之成正比的脉冲个数。
本实验设定每100m产生一个脉冲,脉冲频率反应行车速度,脉冲源由示波器的信号发生器提供。
(2)基本计数电路:,将该脉冲作为74LS160(I)的时钟,通过同步每100米产生一个脉冲CP置数对该脉冲进行5分频,那么得到的脉冲CP为每500m(1里)产生一次。
1作为距离计数单位以便距离累加电路进行距离累加。
CP1作为价格计数单位则为1元/里,以便计价电路进行价格累加;CP1(3)距离累加电路:将74LS160(II)和74LS160(III)通过级联构成一个0~99的加法计数器,作为他们的时钟。
然后分别把对行驶距离进行累计(距离单位:里),其中CP1两个芯片和数码管连接显示行驶距离。
因此该计价表行驶距离最大值为99里,即49.5公里。
(4)比较判断电路:将CP1作为74LS160(IV)的时钟,实现距离累加功能,与(3)不同的是它的输出端QD QCQBQA与74LS85的A3A2A1A相连,而B3B2B1B为0110,意味着6个500m即3公里,当74LS160(IV)输出小于或等于3公里时,A>B端为低电平,当输出大于3公里时,A>B端为高电平。
哈工大数电自主设计实验

姓名班级学号实验日期节次教师签字成绩百秒内倒计时器设计1.实验目的1. 培养分析、设计逻辑电路的基本能力。
2. 进一步熟悉常用芯片的基本使用。
3. 熟悉仿真软件Multisim 11.0的基本操作。
2.总体设计方案或技术路线倒计时系统的原理框图如下所示:a.振荡环节和分频/计数控制环节用555电路组成多谐振荡器,产生f=1Hz的信号,即秒脉冲。
计数控制环节是指减1计数器状态为00(即倒计时结束)时,使计数器停止计数。
这时只要使秒脉冲不再持续即可。
这里将判零信号与多谐振荡器输出信号通过与门连接,即可实现该功能。
b.赋初值控制、减1计数器环节和译码显示环节这里用两片双时钟加/减计数器74LS192级联即可实现该部分功能。
将计数器输出端接到LED显示管,即可以实现译码显示功能。
c.判零电路和报警控制通过集成或门将计数器各输出连接起来,只有当计数器状态为00(两片74LS90的输出端QDQCQBQA=0000,此时倒计时输出结束),或门输出结果才为0。
将或门输出信号作为判零信号。
则倒计时结束时,秒脉冲停止,计数器不再计数。
将判零连接至非门后,将非门输出信号连接至小喇叭,这样,倒计时结束后,小喇叭发出声响,实现倒计时结束报警功能。
具体实现过程参见原理分析部分。
3.实验电路图图 1 秒脉冲产生及计数控制电路图 2赋初值、减1计数及判零报警电路图3完整电路4. 仪器设备名称、型号实验箱、子板1台双踪示波器1台数字万用表1台555定时器1片74LS90 1片74LS00 1片74LS192 2片74LS32 2片LED数码管2组(实验箱上集成)小喇叭1个(实验箱上集成)电容、电阻、导线等若干5.理论分析或仿真分析结果a.振荡环节和分频/计数控制环节用555电路组成多谐振荡器,产生f=1Hz的信号,即秒脉冲。
由555定时器构建多谐振荡器的基本原理,多谐振荡器的振荡周期为:这里采用Multisim 11.0对电路进行仿真。
电工自主设计实验--简单数字电子表的设计

简单数字电子表的设计1.实验目的熟悉掌握有关时序逻辑电路的组成原理;理解有关简单数字电子表的设计与制作原理;掌握有关74LS系列等集成器的用法。
2.总体设计方案或技术路线数字电子表的逻辑框图如图1所示。
它由计数器、译码显示器和较时电路组成。
图1数字电子表逻辑框图3.实验电路图3.160进制计数器图260进制计数器3.224进制计数器图524进制计数器3.37进制计数器图67进制计数器表274LS161功能表输入输出CLK LD CLR ENP ENT QX X0X X全“L”↓01X X预置数据↓1111计数X110X保持X11X0保持3.4译码显示电路图7译码显示电路表374LS47引脚功能表-七段译码驱动器功能表十进数或功能输入BI/RBO输出LT RBI D C B A a b c d e f g0H H0000H0000001 1H X0001H1001111 2H X0010H0010010 3H X0011H0000110 4H X0100H1001100 5H X0101H0100100 6H X0110H1100000 7H X0111H0001111 8H X1000H0000000 9H X1001H0001100 10H X1010H1110010 11H X1011H1100110 12H X1100H1011100 13H X1101H0110100 14H X1110H1110000 15H X1111H1111111 BI X X X X X X L1111111 RBI H L0000L1111111 LT L X1111H00000003.5校时电路图8校时电路4.仪器设备名称、型号器件大小和数目型号七段显示器7个译码器7个74LS48D 计数器7个74LS161D 计数器3个74LS90D 两输入端与非门15个74LS00D 三输入端与非门1个74LS10D 两输入端或门1个74LS08D 非门3个74LS04D 单刀开关3个R1 3.3KR2 3.3KR3 3.3KR4 4.5KR5 3.3KR6 3.3KC110nfC210nfC30.1ufC41ufC510nf5.理论分析或仿真分析结果将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
哈工大数电自主实验-数字流水灯

Harbin Institute of Technology数字电路自主设计实验院系:航天学院班级:姓名:学号:指导教师:哈尔滨工业大学一、实验目的1.进一步掌握数字电路课程所学的理论知识。
2.熟悉几种常用集成数字芯片的功能和应用,并掌握其工作原理,进一步学会使用其进行电路设计。
3.了解数字系统设计的基本思想和方法,学会科学分析和解决问题。
4.培养认真严谨的工作作风和实事求是的工作态度。
5.数电课程实验为我们提供了动手实践的机会,增强动手实践的能力。
二、实验要求设计流水灯,即一排灯按一定的顺序逐次点亮,且可调频、暂停、步进。
三、实验步骤1.设计电路实现题目要求,电路在功能相当的情况下设计越简单越好;2. 画出电路原理图(或仿真电路图);3.元器件及参数选择;4.电路仿真与调试;5.到实验时进行电路的连接与功能验证,注意布线,要直角连接,选最短路径,不要相互交叉,注意用电安全,所加电压不能太高,以免烧坏芯片;6.找指导教师进行实验的检查与验收;7.编写设计报告:写出设计与制作的全过程,附上有关资料和图纸,心得体会。
四、实验原理设计流水灯的方法有很多种,我的设计思路是:利用555定时器产生秒脉冲信号,74LS161组成8进制计数器,74LS138进行译码,点亮电平指示灯。
并通过调节555的电阻,实现频率可调。
通过两与非门,实现暂停、步进功能。
1.秒信号发生器(1)555定时器结构(2)555定时器引脚图(3)555定时器功能表(4)555定时器仿真图2. 74LS161实现8进制加计数74LS161是常用的四位二进制可预置的同步加法计数器,它可以灵活地运用在各种数字电路,以及单片机系统中实现分频器等很多重要的功能。
(1)74LS161同步加法器引脚图管脚图介绍:始终CP和四个数据输入端P0-P3清零CLR使能EP,ET置数PE数据输出端Q0-Q3进位输出TC(2)74LS161功能表(5)74LS161仿真图对74LS161进行八进制计数改组,需要一个与非门,即芯片74LS00,也就是将74LS161的输出端通过与非门,当输出为8时将输出为高电平的端口与非后接到74LS161的清零段。
数电自主设计

姓名班级学号实验日期12.06 节次教师签字成绩实验名称 24秒倒计时器的设计1.实验目的1.加深对组合逻辑电路以及时序逻辑电路的掌握。
2.进一步展开对多位计数器的思考。
2.总体设计方案或技术路线图1 倒计时器组成框图设计步骤:24秒倒计时器原理框图如图1所示。
功能的电路采用模块化设计,分别都有各自的功能。
24秒倒计时器包括1Hz时钟脉冲发生器、计数器、译码显示电路、控制电路、报警电路等5个部分组成。
其中计数器和控制电路是系统的主要部分。
计数器完成24秒倒计时功能,而控制电路控制计数器的启动计数、暂停/继续计数。
当启动置数开关时,计数器完成置数功能显示24秒字样;当启动开关时,计数器开始计数;暂停/继续开关连接到连续计数端时,计数器开始连续计数,当连接到暂停计数端时,计数器暂停计数。
计数器递减到零时,发出光电报警信号。
当计数器接收到秒脉冲后开始倒计数,等递减到零时,发光二极管亮光报警。
通过控制电路来完成计数器的启动、计数、暂停/继续、译码显示电路的显示等功能。
本电路用两个74LA192芯片构成递减计数器(24进制);控制电路由74LS00构成;1Hz时钟脉冲发生器由实验箱提供;两个数码管构成显示电路。
计时及译码显示电路计数器采用74LS192同步可逆双时钟计数器。
74LS192的UP、DOWN端分别时加/减计数器的时钟输入端。
在置数控制端LOAD=1、清零端CLR=0的情况下,若DOWN=1,计数脉冲加入到UP端,则计数器在预置数的基础上完成加计数,CO'端发出进位负跳变脉冲;若UP=1,计数脉冲加入到DOWN端,则计数器在预置数的基础上完成减计数,当减计数到0时,BO'借位输出端发出借位负跳变脉冲。
LOAD为异步并行置数控制端,当LODA'=0时,计数器置数,LOAD=1时,计数器处于计数状态。
计数器及译码显示电路由两片74LS192设计成二十四进制减法计数器,由74LS47译码,七段码显示器显示计时时间。
数电自主设计

姓名班级学号实验日期节次教师签字成绩数字电子密码锁1. 实验目的利用集成集成芯片和门电路等设计一个数字电子密码锁,并验证其功能2. 总体设计方案或技术路线设计选用各种集成芯片作为本设计的核心元件,采用逻辑开关及译码器组成密码输入部分。
D触发器与密码输入部分不同的接线方式可修改密码。
555定时器构成单稳态触发器产生触发信号触发开锁或者报警。
3. 实验电路图4. 仪器设备名称、型号和技术指标数字电子技术实验箱电源74LS00芯片74LS138芯片555芯片74LS175芯片5. 理论分析或仿真分析结果开锁的仿真:预先将译码器的Y0接口和D触发器的D接口连接,即选择密码为100000。
输入密码100000(波动逻辑开关S1-S6)后,按一下确认键(S10),便可以看到LED1 亮了,即电路为开锁状态,此绿灯亮持续11秒的时间,这与理论分析一致。
若一直按着确认键(S10)不放,则LED1 一直亮,松开确认键(S10)11秒后,绿灯熄灭。
报警的仿真:预先将译码器的Y0接口和D触发器的D接口连接,即选择密码为000000。
输入密码100000(波动逻辑开关S1-S6)后,按一下确认键(S10),便可以看到LED2 亮了,即电路为报警状态,此红灯亮持续11秒的时间,这与理论分析一致。
若一直按着确认键(S10)不放,则LED2 一直亮,松开确认键(S10)11秒后,红灯熄灭。
6. 详细实验步骤及实验测量数据记录(包括各仪器、仪表量程及内阻的记录)以密码设为100110为例,即密码选择端选择Y6时。
测试的数据如下表密码选择端Y对应的测试数据。
7对应的测试数据密码选择端Y7密码输入信号灯1 2 3 4 5 6 S J 0 0 0 0 0 0 灭亮0 0 0 0 0 1 灭亮0 0 0 0 1 0 灭亮0 0 0 0 1 1 灭亮0 0 0 1 0 0 灭亮0 0 0 1 0 1 灭亮0 0 0 1 1 0 灭亮0 0 0 1 1 1 灭亮0 0 1 0 0 0 灭亮0 0 1 0 0 1 灭亮0 0 1 0 1 0 灭亮0 0 1 0 1 1 灭亮0 0 1 1 0 0 灭亮0 0 1 1 0 1 灭亮0 0 1 1 1 1 灭亮0 1 0 0 0 0 灭亮0 1 0 0 0 1 灭亮0 1 0 0 1 0 灭亮0 1 0 0 1 1 灭亮0 1 0 1 0 0 灭亮0 1 0 1 0 1 灭亮0 1 0 1 1 0 灭亮0 1 0 1 1 1 灭亮0 1 1 0 0 0 灭亮0 1 1 0 0 1 灭亮0 1 1 0 1 0 灭亮0 1 1 0 1 1 灭亮0 1 1 1 0 0 灭亮0 1 1 1 0 1 灭亮0 1 1 1 1 0 灭亮0 1 1 1 1 1 灭亮1 0 0 0 0 0 灭亮1 0 0 0 0 1 灭亮1 0 0 0 1 0 灭亮1 0 0 0 1 1 灭亮1 0 0 1 0 0 灭亮1 0 0 1 0 1 灭亮1 0 0 1 1 0 亮灭1 0 0 1 1 1 灭灭1 0 1 0 0 0 灭亮1 0 1 0 0 1 灭亮1 0 1 0 1 0 灭亮1 0 1 0 1 1 灭亮1 0 1 1 0 0 灭亮1 0 1 1 0 1 灭亮1 0 1 1 1 0 灭亮1 0 1 1 1 1 灭亮1 1 0 0 0 0 灭亮1 1 0 0 0 1 灭亮1 1 0 0 1 0 灭亮1 1 0 0 1 1 灭亮1 1 0 1 0 0 灭亮1 1 0 1 0 1 灭亮1 1 0 1 1 0 灭亮1 1 1 0 0 0 灭亮1 1 1 0 0 1 灭亮1 1 1 0 1 0 灭亮1 1 1 0 1 1 灭亮1 1 1 1 0 0 灭亮1 1 1 1 0 1 灭亮1 1 1 1 1 0 灭亮1 1 1 1 1 1 灭亮7. 实验结论按照理论设计连接电路,成功实现了数字密码锁的功能,可以实现开锁,报警,修改密码的功能。
数电自主实验——多功能电子表的设计与实现

多功能电子表的设计与实现——基于Basys2开发板电路设计及仿真1.实验目的1.了解有关FPGA的基本知识以及在电路设计的应用;2.了解并学会利用Verilog HDL硬件开发语言设计特定功能的电路,加深对知识的理解;3.了解Basys2开发板的特点并利用其元件在硬件上实现电路功能;4.在完成电路设计的过程中积累实际工程开发的经验;5.培养对于新型实验器材的理解和学习能力;6.在实验中练习并熟悉有关嵌入式系统开发的过程,为未来的学习打下基础。
2.总体设计方案或技术路线1.查阅资料,了解Basys2工作相关特点,对于FPGA的开发过程有初步认识;2.学习Verilog HDL硬件开发语言,阅读相关程序实例加深对于编程语言及模块的理解;3.确定本次试验电子表的功能,编写程序进行实现;4.对于编写程序进行调试,修改编写过程中出现的语法错误;5.再对上一步中调试好的程序进行仿真,编写仿真代码,分析输出并进一步修改程序;6.对于仿真好的程序建立ucf文件进行引脚约束及综合,生成bit文件;7.将bit文件烧写到开发板中,在硬件中实现预定功能;8.对整个实验过程进行总结,分析输出效果并寻找改进方法。
3.实验电路图由于本实验的电路设计基本全部由Verilog HDL硬件编程语言完成(具体代码附于报告结尾处),因此,没有具体芯片电路图。
而在仿真软件中,提供了实验电路的RTL级原理图和技术原理图。
因此我们可以利用ISE Design Suite 14.7电路设计和仿真软件自动生成实验电路的原理图,具体操作过程为,在编写好程序后,双击鼠标左键选择运行Synthesize - XST对电路进行综合,综合成功后,在其子目录下会有View RTL Schematic和View Technology Schematic两个选项,双击这两个选项即可查看该电路的RTL级原理图和技术原理图(如下图)。
由于电路的搭建主要由代码实现,因此软件提供的主要为电路的输入输出原理图,而非具体的电路图,但对于工程的建立与调试已经足够,也就不需要另画详细的电路图了RTL级原理图:技术原理图:4. 仪器设备名称、型号1.Basys2 FPGA开发板(配有电源及烧写程序线,可与PC计算机相连);2.Xilinx电路设计及仿真软件ISE Design Suite(版本号14.7);3.PC计算机,Win7系统;5.理论分析或仿真分析结果1.电路理论及功能分析本实验的目的是设计一个电子表,目前市面上销售的电子表主要有以下功能:时钟计时、调整时间、秒表和照明及发送信号功能(由于Basys2开发板上没有自带蜂鸣器,因此闹钟功能相对较难实现)。
数电自主设计实验

数字电子技术基础自主设计实验实验名称:自动循环交替8路彩灯控制系统院系:********专业:***************班级:*******学号:**********姓名:傅程姓名*** 班级****** 学号********* 实验日期**** 节次**** 教师签字成绩实验名称:自动循环交替8路彩灯控制系统1,实验目的:设计能输出指定循环花型彩灯的控制电路2,总体设计方案或技术路线:总体设计方案:以移位寄存器为核心器件,设计8路彩灯控制系统。
要满足以下要求:a,实现花型I:由中间到两边对称地依次点亮,全亮后仍然由中间向两边依次熄灭。
b,实现花型II :分成两半,从左自右顺次点亮,再顺次熄灭。
c,实现花型I,II的自动交替。
d,能够实现手动开关清零。
利用555定时电路组成一个多谐振荡器,发出连续脉冲,作为移位寄存器和计数器的时钟脉冲。
设计原理图如下:技术路线:①花型电路:由74LS194双向移位寄存器完成(可左移右移完成花型变化):当S0=0,S1=1时,实现左移功能,把D SL的数移到Q3,Q3的数移到Q2,Q2的数移到Q1,Q1的数移到Q0。
当S0=1,S1=0时,实现右移功能,把D SR的数移到Q0,Q0的数移到Q1,Q1的数移到Q2,Q2的数移到Q3。
②花型变换控制电路:由一片74LS161(两种花型每种显示一遍)计数器。
74LS161芯片用的是同步置数,并清零。
74LS161可预置四位二进制计数器(并清除异步)。
③时钟信号电路:555定时电路组成一个多谐振荡器。
3,实验电路图:花型电路:左边4个灯的花型电路:右边4个灯的花型电路:花型变换控制电路:时钟信号电路:总的电路:R A=10 KΩ,R B=47KΩ,R C=20KΩ,C1=1μF,C2=0.01μF 4,仪器设备名称、型号和技术指标:a,EEL-69 型模拟、数字电子技术实验箱b,“集成运算放大器应用”实验插板c,直流稳压电源d,芯片:74LS161,74LS194,74LS00,555定时器74LS161管脚图:标准文档74LS194管脚图:74LS00管脚图:5,理论分析或仿真分析结果:①理论分析:由电路图:计数器有16个状态,连接到Q3,前8个状态Q3=0,后8个状态Q3=1。
数电项目实验报告(3篇)

第1篇一、实验目的1. 理解数字电路的基本概念和组成原理。
2. 掌握常用数字电路的分析方法。
3. 培养动手能力和实验技能。
4. 提高对数字电路应用的认识。
二、实验器材1. 数字电路实验箱2. 数字信号发生器3. 示波器4. 短路线5. 电阻、电容等元器件6. 连接线三、实验原理数字电路是利用数字信号进行信息处理的电路,主要包括逻辑门、触发器、计数器、寄存器等基本单元。
本实验通过搭建简单的数字电路,验证其功能,并学习数字电路的分析方法。
四、实验内容及步骤1. 逻辑门实验(1)搭建与门、或门、非门等基本逻辑门电路。
(2)使用数字信号发生器产生不同逻辑电平的信号,通过示波器观察输出波形。
(3)分析输出波形,验证逻辑门电路的正确性。
2. 触发器实验(1)搭建D触发器、JK触发器、T触发器等基本触发器电路。
(2)使用数字信号发生器产生时钟信号,通过示波器观察触发器的输出波形。
(3)分析输出波形,验证触发器电路的正确性。
3. 计数器实验(1)搭建异步计数器、同步计数器等基本计数器电路。
(2)使用数字信号发生器产生时钟信号,通过示波器观察计数器的输出波形。
(3)分析输出波形,验证计数器电路的正确性。
4. 寄存器实验(1)搭建移位寄存器、同步寄存器等基本寄存器电路。
(2)使用数字信号发生器产生时钟信号和输入信号,通过示波器观察寄存器的输出波形。
(3)分析输出波形,验证寄存器电路的正确性。
五、实验结果与分析1. 逻辑门实验通过实验,验证了与门、或门、非门等基本逻辑门电路的正确性。
实验结果表明,当输入信号满足逻辑关系时,输出信号符合预期。
2. 触发器实验通过实验,验证了D触发器、JK触发器、T触发器等基本触发器电路的正确性。
实验结果表明,触发器电路能够根据输入信号和时钟信号产生稳定的输出波形。
3. 计数器实验通过实验,验证了异步计数器、同步计数器等基本计数器电路的正确性。
实验结果表明,计数器电路能够根据输入时钟信号进行计数,并输出相应的输出波形。
哈工大数字电子技术FPGA自主设计实验

乐曲演奏程序1.设计目标该程序设计了一种乐曲演奏程序,利用外接蜂鸣器可实现乐曲演奏。
2.程序设计原理乐谱左上角的数字表示,以四分音符为一拍,每小节四拍。
下面的数字表示每分钟该乐曲的拍数,由于该参数不影响输出乐曲的辨识,只是使得乐曲演奏速度发生快慢,我们将该值都设定为120。
因此可以得出每拍占时间为0.5s。
乐曲中最小拍数为0.25拍,因此,我们得到最小演奏时间为0.125s,对应的频率为8Hz。
音乐简谱谱的识别方法如下:(1)每个数字代表一个音符,未加任何标注的音符,演奏时间为1拍(2)数字上方或者下方的点表示音高,上方对应高音,下方对应低音。
(3)数字右下角的点表示延时半拍。
(4)数字后方的横线表示延时1拍。
(5)数字下方的横线表示该音符时间变为原来的一半3.设计思想不同的音符对应不同的振荡频率,因此我们可以控制某个输出脚按照乐谱在特定时长内输出特定频率,以达到乐曲演奏的目的。
整体系统框图如下:查找资料,不同音调对应频率关系如下:本设计采用如下程序设计由预置数决定的分频器:always@(posedge clk_6mhz)beginif(divider==A)begincarry<=1;divider<=B;endelsebegindivider<=divider+1;carry<=0;endend所得到的分频数为N=A+B-1。
为了便于计数,选择A=2^14-1=16383,考虑到二分频方波整形电路,因此4.设计内容与具体方案(1)歌谱如下(2)源程序module song(clk50m,speaker,high_7s,med_7s,low_7s);input clk50m;output reg speaker;output[6:0] high_7s;output[6:0] med_7s;output[6:0] low_7s;reg clk6mhz;reg clk_8hz;reg[13:0] divider,origin;reg carry;reg[7:0] counter;reg[3:0] high,med,low;reg[2:0] count8;reg[19:0] count20;always@(posedge clk50m)beginif(count8==7)begincount8<=0;clk_6mhz<=1;endelsebegincount8<=count8+1;clk_6mhz<=0;endendalways@(posedge clk_6mhz)beginif(count20==390625)//781250beginclk_8hz=~clk_8hz;count20<=0;endelsecount20<=count20+1;endalways@(posedge clk_6mhz)beginif(divider=16383)begincarry<=1;divider<=origin;endelsebegindivider<=divider+1;carry<=0;endendalways@(posedge carry)beginspeaker=~speaker;endalways@(posedge clk_8hz) begincase({high,med,low})'h001:origin<=4915;'h002:origin<=6168;'h003:origin<=7281;'h004:origin<=7792;'h005:origin<=8703;'h006:origin<=9565;'h007:origin<=10310;'h010:origin<=10647;'h020:origin<=11272;'h030:origin<=11831;'h040:origin<=12094;'h050:origin<=12556;'h060:origin<=12974;'h070:origin<=13346;'h100:origin<=13516;'h200:origin<=13829;'h300:origin<=14109;'h400:origin<=14235;'h500:origin<=14470;'h600:origin<=14678;'h700:origin<=14864;'h000:origin<=16383;endcaseendalways@(posedge clk_8hz) beginif(counter==127)counter<=0;elsecounter<=counter+1;case(counter)0:{high,med,low}<='h010; 1:{high,med,low}<='h010; 2:{high,med,low}<='h010; 3:{high,med,low}<='h010; 4:{high,med,low}<='h020; 5:{high,med,low}<='h020; 6:{high,med,low}<='h020; 7:{high,med,low}<='h020;8:{high,med,low}<='h030; 9:{high,med,low}<='h030; 10:{high,med,low}<='h030; 11:{high,med,low}<='h030;12:{high,med,low}<='h010; 13:{high,med,low}<='h010; 14:{high,med,low}<='h010; 15:{high,med,low}<='h010; //16:{high,med,low}<='h010; 17:{high,med,low}<='h010; 18:{high,med,low}<='h010; 19:{high,med,low}<='h010;20:{high,med,low}<='h020; 21:{high,med,low}<='h020; 22:{high,med,low}<='h020; 23:{high,med,low}<='h020;24:{high,med,low}<='h030; 25:{high,med,low}<='h030; 26:{high,med,low}<='h030; 27:{high,med,low}<='h030; 28:{high,med,low}<='h010; 29:{high,med,low}<='h010; 30:{high,med,low}<='h010; 31:{high,med,low}<='h010; //32:{high,med,low}<='h030; 33:{high,med,low}<='h030; 34:{high,med,low}<='h030; 35:{high,med,low}<='h030; 36:{high,med,low}<='h040; 37:{high,med,low}<='h040; 38:{high,med,low}<='h040; 39:{high,med,low}<='h040;40:{high,med,low}<='h050; 41:{high,med,low}<='h050; 42:{high,med,low}<='h050; 43:{high,med,low}<='h050;44:{high,med,low}<='h050; 45:{high,med,low}<='h050; 46:{high,med,low}<='h050; 47:{high,med,low}<='h050; //48:{high,med,low}<='h030; 49:{high,med,low}<='h030; 50:{high,med,low}<='h030; 51:{high,med,low}<='h030;52:{high,med,low}<='h040; 53:{high,med,low}<='h040; 54:{high,med,low}<='h040; 55:{high,med,low}<='h040;56:{high,med,low}<='h050; 57:{high,med,low}<='h050; 58:{high,med,low}<='h050; 59:{high,med,low}<='h050; 60:{high,med,low}<='h050; 61:{high,med,low}<='h050; 62:{high,med,low}<='h050; 63:{high,med,low}<='h050; //64:{high,med,low}<='h050; 65:{high,med,low}<='h050; 66:{high,med,low}<='h050; 67:{high,med,low}<='h060; 68:{high,med,low}<='h050; 69:{high,med,low}<='h050; 70:{high,med,low}<='h050; 71:{high,med,low}<='h040;72:{high,med,low}<='h030; 73:{high,med,low}<='h030; 74:{high,med,low}<='h030; 75:{high,med,low}<='h030; 76:{high,med,low}<='h010; 77:{high,med,low}<='h010; 78:{high,med,low}<='h010;//80:{high,med,low}<='h050; 81:{high,med,low}<='h050; 82:{high,med,low}<='h050; 83:{high,med,low}<='h060;84:{high,med,low}<='h050; 85:{high,med,low}<='h050; 86:{high,med,low}<='h050; 87:{high,med,low}<='h040;88:{high,med,low}<='h030; 89:{high,med,low}<='h030; 90:{high,med,low}<='h030; 91:{high,med,low}<='h030; 92:{high,med,low}<='h010; 93:{high,med,low}<='h010; 94:{high,med,low}<='h010; 95:{high,med,low}<='h010; //96:{high,med,low}<='h010; 97:{high,med,low}<='h010; 98:{high,med,low}<='h010; 99:{high,med,low}<='h010; 100:{high,med,low}<='h050; 101:{high,med,low}<='h050; 102:{high,med,low}<='h050; 103:{high,med,low}<='h050;104:{high,med,low}<='h010; 105:{high,med,low}<='h010; 106:{high,med,low}<='h010; 107:{high,med,low}<='h010; 108:{high,med,low}<='h010; 109:{high,med,low}<='h010; 110:{high,med,low}<='h010; 111:{high,med,low}<='h010; //112:{high,med,low}<='h010; 113:{high,med,low}<='h010;115:{high,med,low}<='h010;116:{high,med,low}<='h050; 117:{high,med,low}<='h050; 118:{high,med,low}<='h050; 119:{high,med,low}<='h050;120:{high,med,low}<='h010; 121:{high,med,low}<='h010; 122:{high,med,low}<='h010; 123:{high,med,low}<='h010; 124:{high,med,low}<='h010; 125:{high,med,low}<='h010; 126:{high,med,low}<='h010; 127:{high,med,low}<='h010;default:{high,med,low}<='h000; endcaseendled7s u1(high,high_7s);led7s u2(med,med_7s);led7s u3(low,low_7s); endmodule(3)引脚锁定(4)实验结果编译得到RTL图如下:。
数字电子自主实验报告

一、实验目的1. 理解数字电子技术的基本概念和原理。
2. 掌握数字电路的基本分析方法,包括逻辑门电路、组合逻辑电路和时序逻辑电路。
3. 学会使用实验设备进行电路搭建和测试,提高动手能力。
4. 培养实验报告撰写能力,提高科学素养。
二、实验内容本次实验主要分为以下几个部分:1. 逻辑门电路功能测试2. 组合逻辑电路设计3. 时序逻辑电路设计4. 电路仿真与测试三、实验原理1. 逻辑门电路:逻辑门电路是数字电路的基本组成单元,主要包括与门、或门、非门、异或门等。
逻辑门电路具有明确的逻辑功能,可以根据输入信号产生相应的输出信号。
2. 组合逻辑电路:组合逻辑电路是由逻辑门电路组成的,其输出仅与当前输入信号有关,与电路的过去状态无关。
组合逻辑电路主要包括加法器、编码器、译码器等。
3. 时序逻辑电路:时序逻辑电路是由触发器组成的,其输出不仅与当前输入信号有关,还与电路的过去状态有关。
时序逻辑电路主要包括计数器、寄存器、顺序控制器等。
四、实验步骤1. 逻辑门电路功能测试(1)搭建与门、或门、非门、异或门等逻辑门电路;(2)使用实验设备测试各个逻辑门电路的功能;(3)记录实验结果,并与理论值进行对比。
2. 组合逻辑电路设计(1)根据题目要求,设计加法器、编码器、译码器等组合逻辑电路;(2)搭建电路,并进行测试;(3)记录实验结果,并与理论值进行对比。
3. 时序逻辑电路设计(1)根据题目要求,设计计数器、寄存器、顺序控制器等时序逻辑电路;(2)搭建电路,并进行测试;(3)记录实验结果,并与理论值进行对比。
4. 电路仿真与测试(1)使用电路仿真软件,对设计的电路进行仿真;(2)观察仿真结果,分析电路性能;(3)将仿真结果与实际测试结果进行对比。
五、实验结果与分析1. 逻辑门电路功能测试实验结果:各个逻辑门电路的功能均符合理论值。
2. 组合逻辑电路设计实验结果:设计的组合逻辑电路功能符合要求,测试结果与理论值一致。
3. 时序逻辑电路设计实验结果:设计的时序逻辑电路功能符合要求,测试结果与理论值一致。
数电自主实验

姓名班级学号实验日期节次教师签字成绩数字电子技术自主设计实验实验名称:数字电路实现节日彩灯控制摘要:节日的彩灯五彩缤纷,给人们带来了欢乐的气氛。
学习了数字电子技术后,也使我产生了设计一组节日彩灯的想法。
彩灯的控制电路种类繁多,本次实验采用移位寄存器为核心元件,设计一个8路彩灯控制器。
用寄存器的每一位控制一组灯。
各组灯布置成各式各样的图案。
由于寄存器具有不同的状态,点亮的灯光就形成多种多样的美丽的画面。
寄存器的状态不断地循环变化,又给这些图案添加了动感。
实验目的:(1)通过本次设计性试验,进一步掌握熟练74L194移位寄存器,74L161等芯片的工作原理以及用途。
(2)通过自主设计仿真,熟悉仿真软件multisim的更多的使用方法,锻炼自己的独立思考能力,以及动手实践能力。
实验原理:本次设计的简易彩灯控制电路是由2片74LS194双向移位寄存器,2片16位进制的加法计数器74LS161和一些门电路实现的。
工作原理如下:整个电路有三个模块组成:模块一产生控制信号,由2片74LS161产生32个控制信号;模块二实现对花型的控制,由一些门电路,第一模块的输出信号来控制2片74LS194的S1和S0,从而实现对花型的控制;模块三实现对产生的四种花型的演示。
利用74LS194的左移和右移来实现不同的花型,从而实现彩灯四种花型自动切换。
实验器材数字电子技术实验箱74LS194两片74LS161两片若干与非门,导线芯片管脚图实验电路图异或门搭建设计步骤及方法由2片74LS161加法计数器组成的电路产生。
先用2片74LS161组成256进制的加法计数器,脉冲信号为同一个CLK,把第一片的CO接在第二片的EP和ET 上,第一片的进位输出作为第二片工作的起始条件,当第一片记满16位时,第一片进位输出为1,第二片开始工作,Q0记为1,把第二片的Q1取反接在两片161的清零端,当Q1为1时就清零,这就使256进制的加法计数器变成32进制的加法计数器,产生的32计数成为彩灯的控制信号。
数电的小实验报告(3篇)

第1篇一、实验目的1. 熟悉数字电路实验的基本操作流程;2. 掌握基本数字电路的组成和原理;3. 培养动手能力和问题解决能力。
二、实验设备1. 数字电路实验箱;2. 万用表;3. 导线;4. 面包板;5. 计算器。
三、实验内容1. 基本逻辑门电路实验2. 组合逻辑电路实验3. 时序逻辑电路实验四、实验原理1. 基本逻辑门电路:逻辑门电路是数字电路的基础,包括与门、或门、非门、异或门等。
通过这些逻辑门电路的组合,可以实现复杂的逻辑功能。
2. 组合逻辑电路:组合逻辑电路由基本逻辑门电路组成,其输出仅取决于当前输入信号。
常见的组合逻辑电路有编码器、译码器、多路选择器等。
3. 时序逻辑电路:时序逻辑电路由触发器组成,其输出不仅取决于当前输入信号,还与电路的历史状态有关。
常见的时序逻辑电路有计数器、寄存器、触发器等。
五、实验步骤1. 基本逻辑门电路实验(1)按照实验指导书的要求,搭建与门、或门、非门、异或门等逻辑门电路;(2)使用万用表测量各逻辑门的输入、输出电压;(3)根据实验数据,验证各逻辑门的功能。
2. 组合逻辑电路实验(1)按照实验指导书的要求,搭建编码器、译码器、多路选择器等组合逻辑电路;(2)使用万用表测量各组合逻辑电路的输入、输出电压;(3)根据实验数据,验证各组合逻辑电路的功能。
3. 时序逻辑电路实验(1)按照实验指导书的要求,搭建计数器、寄存器、触发器等时序逻辑电路;(2)使用万用表测量各时序逻辑电路的输入、输出电压;(3)根据实验数据,验证各时序逻辑电路的功能。
六、实验结果与分析1. 基本逻辑门电路实验实验结果显示,与门、或门、非门、异或门等逻辑门电路的功能与理论分析一致。
2. 组合逻辑电路实验实验结果显示,编码器、译码器、多路选择器等组合逻辑电路的功能与理论分析一致。
3. 时序逻辑电路实验实验结果显示,计数器、寄存器、触发器等时序逻辑电路的功能与理论分析一致。
七、实验总结通过本次实验,我熟悉了数字电路实验的基本操作流程,掌握了基本数字电路的组成和原理,提高了动手能力和问题解决能力。
数电自主实验-病房优先呼叫器

学号:201410204066数字电子技术仿真自主实验报告题目:病房优先呼叫器学生姓名:王鹏程学院:信息工程学院班级:通信14-1班指导教师:荀延龙2016年6月27日简单的病房优先呼叫器一、实习目的:1.掌握数字电路课程所学的理论知识以及数字电子技术在生活中的应用。
2.熟悉几种常用集成数字芯片的功能和应用,并掌握其工作原理,进一步学会使用其进行电路设计。
二、所需元器件:数码管显示模块编码器74LS148D-------------------------------------1个;反相器74LS04D--------------------------------------3个;译码器74LS48D--------------------------------------1个;单刀双掷开关-------------------------------------- 5个电源VCC接地GND导线若干三、设计电路图:四、电路图功能检测:(1)当单独A、B、C、D、E呼叫时,数码管显示相应的病房。
电路测试图如下:按键J1按下后,数码管显示病房1;按键J2按下后,数码管显示病房2;按键J3按下后,数码管显示病房3;按键J4按下后,数码管显示病房4;按键J5按下后,数码管显示病房5;(2)当多个病房同时呼叫时,数码管优先显示重病房。
测试电路如下:有截图可以看出,1、3、4、5病房同时呼叫,数码管优先显示重病房5。
当病房5通知呼叫停止时,数码管显示下一个优先级高点的病房测试电路如下图五、设计难点与困惑1、对于电源电压的选择应与所选器件几电路相符合。
2、元器件的选择应该合理,避免出现同一电路时序器件与组合器件乱用。
六、总结运用数字电路逻辑设计的一些相关知识,在整个设计过程中,都离不开对数字电路课程知识的再学习。
在开始设计初,我将数字电子技术基础实验教程相关部分仔仔细细复习了,并且自学了一些元件的使用,这样深入的了解,让我对系设计的理解更加透彻,对后来的快速设计起了很好的铺垫作用。
数电实验自主设计

数电实验自主设计—哈工大Harbin Institute of Technology数字电子技术实验自主设计实验报告姓名班级1404105 学号台号实验日期节次教师签字成绩实验名称:基于BASYS2 FPGA板的开发应用1.实验目的(1) 熟悉Verilog语言的使用(2) 能通过ISE软件进行FPGA简单的开放应用(3) 结合实际应用掌握课上所学关于组合电路和时序电路的理论知识(4) 掌握根据实际需求设计相应较为优化的电路的能力2. 实验环境ISE14.7BASYS2开发板3.实验内容总共设计3个实际应用电路,分别为两个较为简单的组合逻辑电路和一个较为复杂的时序逻辑电路。
下面分别介绍各个设计:(1)实验一:判断是否可以输血设计要求:已知人的血型由A、B、AB、O四种。
输血时,输血者的血型与受血者血型必须符合图中用箭头指示的授受关系。
要求该电路能够判断输血者与受血者的血型是否符合上述规定。
具体要求如图1所示。
图 1输血要求(2)实验二:显示译码电路设计要求:根据不同输入取值,依次显示“HIT+学号后5位(即HIT05108)”,共8个字型。
(3)实验三:数字钟设计要求:在数码管上显示分钟和秒的计时功能。
最左边两个显示分钟,最右边两个显示秒钟。
4.各实验源代码及仿真结果(1)实验一:判断是否可以输血Verilog程序:module shuxue(input a,input b,input ab,input o,input sa,input sb,input sab,input so,output reg w,output reg p); //a,b,ab,o分别代表输血者的四种血型sa,sb,sab,so分别代表受血者的四种血型;w代表W灯;p代表P灯reg w1,w2;always@(*)begincase({a,b,ab,o}) //判断输血者的输入是否符合要求4'b0001:w1=0;4'b0010:w1=0;4'b0100:w1=0;4'b1000:w1=0;default:w1=1; //若符合要求w1=0;否则w1=1endcasecase({sa,sb,sab,so}) //判断受血者的输入是否符合要求4'b0001:w2=0;4'b0010:w2=0;4'b0100:w2=0;4'b1000:w2=0;default:w2=1; //若符合要求w2=0;否则w2=1endcasew=w1||w2; //若输血者和受血者都符合要求w=0;否则w=1if(w==1)p = 0;else if(sa==1) //若受血者是A型血beginif(a==1||ab==1||o==1) //输血者是A,AB,O型血,p=1p=1;elsep=0;endelse if(sb==1) //若受血者是B型血beginif(b==1||ab==1||o==1) //输血者是B,AB,O型血,p=1p=1;elsep=0;endelse if(sab==1) //若受血者是AB型血beginif(b==1||a==1||o==1||ab==1) //输血者是A,B,AB,O型血,p=1p=1;elsep=0;endelse //若受血者是O型血beginif(o==1) //输血者是O型血,p=1p=1;elsep=0;endendendmodule引脚约束文件:NET "a" LOC=P11; NET "b" LOC=L3; NET "ab" LOC=K3; NET "o" LOC=b4; NET "sa" LOC=g3; NET "sb" LOC=f3; NET "sab" LOC=e2; NET "so" LOC=n3; NET "w" LOC=m11; NET "p" LOC=m5;仿真结果:数字电子技术基础设计作业10图 2实验一仿真波形图(2)实验二:显示译码电路(HIT05108) Verilog 程序:module da2( input [2:0] s, output reg[7:0] dl ); //s 表示8种输入;dl 控制8段数码管always@(s) begin case(s)3'b000:dl=8'b10010001; //s 输入为0,数码管显示H 3'b001:dl=8'b11110111; //s 输入为1,数码管显示I 3'b010:dl=8'b11100001; //s 输入为2,数码管显示T 3'b011:dl=8'b10011111; //s 输入为3,数码管显示1 3'b100:dl=8'b00000011; //s 输入为4,数码管显示0 3'b101:dl=8'b01001001; //s 输入为5,数码管显示5 3'b110:dl=8'b00000011; //s 输入为6,数码管显示03'b111:dl=8'b00000001;//s 输入为7,数码管显示8endcaseendendmodule管脚约束文件:NET "dl[7]" LOC = L14;NET "dl[6]" LOC = H12;NET "dl[5]" LOC = N14;NET "dl[4]" LOC = N11;NET "dl[3]" LOC = P12;NET "dl[2]" LOC = L13;NET "dl[1]" LOC = M12;NET "dl[0]" LOC = N13;NET "S[2]" LOC = K3;NET "S[1]" LOC = L3;NET "S[0]" LOC = P11; 仿真波形:图 3实验二仿真波形图(3)实验三:数字钟Verilog程序://顶层模块module clock_top(clk,duan,wei);input clk;output[7:0] duan;output[3:0] wei;wire clk_1Hz,clk_190Hz;wire[15:0] disp;clock_divf U1(.clk_50MHz(clk),.clk_1Hz(clk_1Hz),.clk_190Hz(clk_190Hz));clock_time U2(.clk_1Hz(clk_1Hz),.time_MS(disp));IP_smg_dsp U3(.clk_190Hz(clk_190Hz),.dat(disp),.duan(duan),.wei(wei)); endmodule//分频模块,得到1Hz,用于秒计数;得到190Hz,用于控制数码管显示//190Hz:这是4个数码管可以同时稳定显示的最低2n分频频率module clock_divf(clk_50MHz,clk_1Hz,clk_190Hz); input clk_50MHz;output clk_190Hz;output reg clk_1Hz;reg[25:0] cnt;assign clk_190Hz=cnt[17];always@(posedge clk_50MHz)if(cnt==25000000) //实际项目用,1s变化1次// if(cnt==250000) //测试用,加快100倍分钟/秒的变化begincnt=0;clk_1Hz=~clk_1Hz;endelse cnt=cnt+1;endmodule//计时模块,得到分和秒module clock_time(clk_1Hz,time_MS);input clk_1Hz;output[15:0] time_MS;reg[3:0] M_H,M_L,S_H,S_L;reg clk_SH,clk_ML,clk_MH;assign time_MS={M_H,M_L,S_H,S_L}; //时间:分、秒always@(posedge clk_1Hz)begin //秒:个位if(S_L==9)beginS_L=0;clk_SH=1;endelse beginS_L=S_L+1;clk_SH=0;endendalways@(posedge clk_SH)begin //秒:十位if(S_H==5)beginS_H=0;clk_ML=1;endelse beginS_H=S_H+1;clk_ML=0;endendalways@(posedge clk_ML)begin //分钟:个位if(M_L==9)beginM_L=0;clk_MH=1;endelse beginM_L=M_L+1;clk_MH=0;endendalways@(posedge clk_MH)begin //分钟:十位if(M_H==5)M_H=0;else M_H=M_H+1;endendmodule//4个数字扫描显示模块module IP_smg_dsp(clk_190Hz,dat,duan,wei); input clk_190Hz;input[15:0]dat;output reg[7:0]duan;output reg[3:0]wei;reg[3:0]disp;reg[1:0]smg_ctl;always@(posedge clk_190Hz)beginsmg_ctl=smg_ctl+1;case(smg_ctl)2'b00:beginwei=4'b1110;disp=dat[3:0];end2'b01:beginwei=4'b1101;disp=dat[7:4];end2'b10:beginwei=4'b1011;disp=dat[11:8];end2'b11:beginwei=4'b0111;disp=dat[15:12];endendcaseendalways@(disp)case(disp)0:duan=8'b11000000;1:duan=8'b11111001;2:duan=8'b10100100;3:duan=8'b10110000;4:duan=8'b10011001;5:duan=8'b10010010;6:duan=8'b10000010;7:duan=8'b11111000;8:duan=8'b10000000;9:duan=8'b10010000;10:duan=8'b10001000;11:duan=8'b10000011;12:duan=8'b11000110;13:duan=8'b10100001;14:duan=8'b10000110;15:duan=8'b10001110;default:duan=8'b11000000;//,默认为0 endcaseendmodule管脚约束文件:NET "wei[0]" LOC = F12; NET "wei[1]" LOC = J12; NET "wei[2]" LOC = M13; NET "wei[3]" LOC = K14; NET "duan[0]" LOC = L14; NET "duan[1]" LOC = H12; NET "duan[2]" LOC = N14; NET "duan[3]" LOC = N11; NET "duan[4]" LOC = P12; NET "duan[5]" LOC = L13; NET "duan[6]" LOC = M12; NET "duan[7]" LOC = N13;NET "clk" LOC=B8;仿真波形:图 4实验三仿真波形图5.实验结论(1)基于Verilog语言对FPGA开发板进行开发,可实现各种丰富的功能(2)进行模块化的编程可提高编写代码的效率,也易于debug6.实验中出现的问题及解决对策(1)问题:map和place&route环节需要过长时间解决:程序模块化,易于综合和布线(2)问题:bit文件导入FPGA可以正常实现功能,但仿真时一直出现z和x状态解决:应该给中间变量附上初值(3)问题:综合、转化为电路、生成bit等过程中会出现warning的情况解决:尽量消除warning,但是有warning并不会影响最终结果7.参考文献[1] 杨春玲. 数字电子技术基础. 北京 : 高等教育出版社, 2011 :409-411.[2] 贺敬凯. Xilinx FPGA应用开发. 北京: 清华大学出版社,2015.[3] 沈涛. Xilinx FPGA/CPLD设计初级教程. 西安: 西安电子科技大学出版社,2009.。
数电自主设计实验

数字电子技术基础自主设计实验实验名称:自动循环交替8路彩灯控制系统实验日期 世Z 节次 二教师签字成绩实验名称:自动循环交替8路彩灯控制系统姓名也班级 院系: 专业: 班级: 学号: 姓名: ****** ******** *************** ******* ********** 傅程 学号 *********1, 实验目的:设计能输出指定循环花型彩灯的控制电路2, 总体设计方案或技术路线:总体设计方案:以移位寄存器为核心器件,设计8路彩灯控制系统。
要满足以下要求:a, 实现花型I:由中间到两边对称地依次点亮,全亮后仍然由中间向两边依次熄灭。
b, 实现花型II :分成两半,从左自右顺次点亮,再顺次熄灭。
c, 实现花型1,11的自动交替。
d, 能够实现手动开关清零。
利用555定时电路组成一个多谐振荡器,发出连续脉冲,作为移位寄存器和计数器的时钟脉冲。
设计原理图如下:____ _____________________ ___________ |1译码显示移位寄存器译►—驱动一►控制电路技术路线:①花型电路:由74LS194双向移位寄存器完成(可左移右移完成花型变化):当S0=0,Si=1 时,实现左移功能,把D SL的数移到Q3, Q3的数移到Q2, Q2的数移到Q1,Q1的数移到Q0。
当S o=1,Si=0时,实现右移功能,把D SR的数移到Q0,Q0的数移到Q1,Q1的数移到Q2,Q2的数移到Q3。
②花型变换控制电路:由一片74LS161(两种花型每种显示一遍)计数器。
74LS161芯片用的是同步置数,并清零。
74LS161可预置四位二进制计数器(并清除异步)。
③时钟信号电路:555定时电路组成一个多谐振荡器。
3, 实验电路图:花型电路:左边4个灯的花型电路:厶ED ;m「7 彳"/% °右边4个灯的花型电路:花型变换控制电路:总的电路:b, 集成运算放大器应用”实验插板c, 直流稳压电源d, 芯片:74LS161,74LS194,74LS00,555定时器74LS161管脚图: »cc RCO1 11 Ql 0 °3 | E T LD 1 1615 14 13 12 11 10 9 >74LS161 2 3 4 5 6 7 8CR CP D o D 1 D 2 D 3 EP GND*±R A =10 K Q R B =47K Q ,R C F 20K Q ,C I =1 卩 F 2=0.014,仪器设备名称、型号和技术指标 :774LS194管脚图:CR D^R D Q D { D 2 Q £>SL GND74LS00管脚图:2 3 4 5 6 75,理论分析或仿真分析结果:①理论分析:由电路图:计数器有 16个状态,连接到 Q3,前8个状态Q3=0,后8个状态Q3=1。
数字电子技术自主设计性实验教学探索与实践

数字电子技术自主设计性实验教学探索与实践1. 引言1.1 背景介绍数字电子技术自主设计性实验教学是当前数字电子技术教学改革的重要内容之一。
随着信息技术的快速发展,数字电子技术已成为现代科技和社会发展的基础。
在传统的数字电子技术实验教学中,学生往往只是按照教师的指导完成实验,缺乏自主设计的机会。
而自主设计实验能够培养学生的创新意识、实践能力和解决问题的能力,有助于提高学生的综合素质。
当前数字电子技术实验教学中存在着一些问题:教学内容单一,缺乏实践性;教学方法传统,缺乏灵活性;学生参与度不高,缺乏激发兴趣的方式等。
为了改进数字电子技术实验教学的现状,探索更加具有实践性和创新性的教学模式,本研究旨在从自主设计的角度进行实验教学的探索与实践,以期能够提高学生的学习积极性和实际能力,培养学生的创新精神和实践能力,促进数字电子技术实验教学的教学质量和效果。
1.2 研究意义数字电子技术自主设计性实验教学的研究意义在于通过探索这一新的教学模式,能够有效提高学生的实践能力和创新意识。
在传统的数字电子技术实验教学中,学生往往只是按照既定的实验步骤进行操作,缺乏对整个实验流程的深入理解和实际应用能力。
而自主设计性实验则要求学生在具有一定的基础知识和技能的前提下,自主思考、设计和完成实验任务,这种锻炼能够培养学生的创新能力和解决问题的能力。
数字电子技术自主设计性实验教学还可以激发学生的学习兴趣,提高学习效果。
通过让学生参与到实验设计和实施中,能够使他们更加主动地理解和掌握知识,增强对知识的记忆和理解。
学生在实验中遇到的问题和挑战也可以促使他们主动思考和探索解决方法,从而更好地掌握知识。
数字电子技术自主设计性实验教学的研究具有重要的现实意义和教育意义,有助于提高教学质量和学生素质,促进数字电子技术教育的不断发展和完善。
【字数:226】1.3 研究目的研究目的是为了探讨数字电子技术自主设计性实验教学在高等院校的应用和推广。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数电实验自主设计—哈工大Harbin Institute of Technology数字电子技术实验自主设计实验报告姓名班级1404105 学号台号实验日期节次教师签字成绩实验名称:基于BASYS2 FPGA板的开发应用1.实验目的(1) 熟悉Verilog语言的使用(2) 能通过ISE软件进行FPGA简单的开放应用(3) 结合实际应用掌握课上所学关于组合电路和时序电路的理论知识(4) 掌握根据实际需求设计相应较为优化的电路的能力2. 实验环境ISE14.7BASYS2开发板3.实验内容总共设计3个实际应用电路,分别为两个较为简单的组合逻辑电路和一个较为复杂的时序逻辑电路。
下面分别介绍各个设计:(1)实验一:判断是否可以输血设计要求:已知人的血型由A、B、AB、O四种。
输血时,输血者的血型与受血者血型必须符合图中用箭头指示的授受关系。
要求该电路能够判断输血者与受血者的血型是否符合上述规定。
具体要求如图1所示。
图 1输血要求(2)实验二:显示译码电路设计要求:根据不同输入取值,依次显示“HIT+学号后5位(即HIT05108)”,共8个字型。
(3)实验三:数字钟设计要求:在数码管上显示分钟和秒的计时功能。
最左边两个显示分钟,最右边两个显示秒钟。
4.各实验源代码及仿真结果(1)实验一:判断是否可以输血Verilog程序:module shuxue(input a,input b,input ab,input o,input sa,input sb,input sab,input so,output reg w,output reg p); //a,b,ab,o分别代表输血者的四种血型sa,sb,sab,so分别代表受血者的四种血型;w代表W灯;p代表P灯reg w1,w2;always@(*)begincase({a,b,ab,o}) //判断输血者的输入是否符合要求4'b0001:w1=0;4'b0010:w1=0;4'b0100:w1=0;4'b1000:w1=0;default:w1=1; //若符合要求w1=0;否则w1=1endcasecase({sa,sb,sab,so}) //判断受血者的输入是否符合要求4'b0001:w2=0;4'b0010:w2=0;4'b0100:w2=0;4'b1000:w2=0;default:w2=1; //若符合要求w2=0;否则w2=1endcasew=w1||w2; //若输血者和受血者都符合要求w=0;否则w=1if(w==1)p = 0;else if(sa==1) //若受血者是A型血beginif(a==1||ab==1||o==1) //输血者是A,AB,O型血,p=1p=1;elsep=0;endelse if(sb==1) //若受血者是B型血beginif(b==1||ab==1||o==1) //输血者是B,AB,O型血,p=1p=1;elsep=0;endelse if(sab==1) //若受血者是AB型血beginif(b==1||a==1||o==1||ab==1) //输血者是A,B,AB,O型血,p=1p=1;elsep=0;endelse //若受血者是O型血beginif(o==1) //输血者是O型血,p=1p=1;elsep=0;endendendmodule引脚约束文件:NET "a" LOC=P11; NET "b" LOC=L3; NET "ab" LOC=K3; NET "o" LOC=b4; NET "sa" LOC=g3; NET "sb" LOC=f3; NET "sab" LOC=e2; NET "so" LOC=n3; NET "w" LOC=m11; NET "p" LOC=m5;仿真结果:数字电子技术基础设计作业10图 2实验一仿真波形图(2)实验二:显示译码电路(HIT05108) Verilog 程序:module da2( input [2:0] s, output reg[7:0] dl ); //s 表示8种输入;dl 控制8段数码管always@(s) begin case(s)3'b000:dl=8'b10010001; //s 输入为0,数码管显示H 3'b001:dl=8'b11110111; //s 输入为1,数码管显示I 3'b010:dl=8'b11100001; //s 输入为2,数码管显示T 3'b011:dl=8'b10011111; //s 输入为3,数码管显示1 3'b100:dl=8'b00000011; //s 输入为4,数码管显示0 3'b101:dl=8'b01001001; //s 输入为5,数码管显示5 3'b110:dl=8'b00000011; //s 输入为6,数码管显示03'b111:dl=8'b00000001;//s 输入为7,数码管显示8endcaseendendmodule管脚约束文件:NET "dl[7]" LOC = L14;NET "dl[6]" LOC = H12;NET "dl[5]" LOC = N14;NET "dl[4]" LOC = N11;NET "dl[3]" LOC = P12;NET "dl[2]" LOC = L13;NET "dl[1]" LOC = M12;NET "dl[0]" LOC = N13;NET "S[2]" LOC = K3;NET "S[1]" LOC = L3;NET "S[0]" LOC = P11; 仿真波形:图 3实验二仿真波形图(3)实验三:数字钟Verilog程序://顶层模块module clock_top(clk,duan,wei);input clk;output[7:0] duan;output[3:0] wei;wire clk_1Hz,clk_190Hz;wire[15:0] disp;clock_divf U1(.clk_50MHz(clk),.clk_1Hz(clk_1Hz),.clk_190Hz(clk_190Hz));clock_time U2(.clk_1Hz(clk_1Hz),.time_MS(disp));IP_smg_dsp U3(.clk_190Hz(clk_190Hz),.dat(disp),.duan(duan),.wei(wei)); endmodule//分频模块,得到1Hz,用于秒计数;得到190Hz,用于控制数码管显示//190Hz:这是4个数码管可以同时稳定显示的最低2n分频频率module clock_divf(clk_50MHz,clk_1Hz,clk_190Hz); input clk_50MHz;output clk_190Hz;output reg clk_1Hz;reg[25:0] cnt;assign clk_190Hz=cnt[17];always@(posedge clk_50MHz)if(cnt==25000000) //实际项目用,1s变化1次// if(cnt==250000) //测试用,加快100倍分钟/秒的变化begincnt=0;clk_1Hz=~clk_1Hz;endelse cnt=cnt+1;endmodule//计时模块,得到分和秒module clock_time(clk_1Hz,time_MS);input clk_1Hz;output[15:0] time_MS;reg[3:0] M_H,M_L,S_H,S_L;reg clk_SH,clk_ML,clk_MH;assign time_MS={M_H,M_L,S_H,S_L}; //时间:分、秒always@(posedge clk_1Hz)begin //秒:个位if(S_L==9)beginS_L=0;clk_SH=1;endelse beginS_L=S_L+1;clk_SH=0;endendalways@(posedge clk_SH)begin //秒:十位if(S_H==5)beginS_H=0;clk_ML=1;endelse beginS_H=S_H+1;clk_ML=0;endendalways@(posedge clk_ML)begin //分钟:个位if(M_L==9)beginM_L=0;clk_MH=1;endelse beginM_L=M_L+1;clk_MH=0;endendalways@(posedge clk_MH)begin //分钟:十位if(M_H==5)M_H=0;else M_H=M_H+1;endendmodule//4个数字扫描显示模块module IP_smg_dsp(clk_190Hz,dat,duan,wei); input clk_190Hz;input[15:0]dat;output reg[7:0]duan;output reg[3:0]wei;reg[3:0]disp;reg[1:0]smg_ctl;always@(posedge clk_190Hz)beginsmg_ctl=smg_ctl+1;case(smg_ctl)2'b00:beginwei=4'b1110;disp=dat[3:0];end2'b01:beginwei=4'b1101;disp=dat[7:4];end2'b10:beginwei=4'b1011;disp=dat[11:8];end2'b11:beginwei=4'b0111;disp=dat[15:12];endendcaseendalways@(disp)case(disp)0:duan=8'b11000000;1:duan=8'b11111001;2:duan=8'b10100100;3:duan=8'b10110000;4:duan=8'b10011001;5:duan=8'b10010010;6:duan=8'b10000010;7:duan=8'b11111000;8:duan=8'b10000000;9:duan=8'b10010000;10:duan=8'b10001000;11:duan=8'b10000011;12:duan=8'b11000110;13:duan=8'b10100001;14:duan=8'b10000110;15:duan=8'b10001110;default:duan=8'b11000000;//,默认为0 endcaseendmodule管脚约束文件:NET "wei[0]" LOC = F12; NET "wei[1]" LOC = J12; NET "wei[2]" LOC = M13; NET "wei[3]" LOC = K14; NET "duan[0]" LOC = L14; NET "duan[1]" LOC = H12; NET "duan[2]" LOC = N14; NET "duan[3]" LOC = N11; NET "duan[4]" LOC = P12; NET "duan[5]" LOC = L13; NET "duan[6]" LOC = M12; NET "duan[7]" LOC = N13;NET "clk" LOC=B8;仿真波形:图 4实验三仿真波形图5.实验结论(1)基于Verilog语言对FPGA开发板进行开发,可实现各种丰富的功能(2)进行模块化的编程可提高编写代码的效率,也易于debug6.实验中出现的问题及解决对策(1)问题:map和place&route环节需要过长时间解决:程序模块化,易于综合和布线(2)问题:bit文件导入FPGA可以正常实现功能,但仿真时一直出现z和x状态解决:应该给中间变量附上初值(3)问题:综合、转化为电路、生成bit等过程中会出现warning的情况解决:尽量消除warning,但是有warning并不会影响最终结果7.参考文献[1] 杨春玲. 数字电子技术基础. 北京 : 高等教育出版社, 2011 :409-411.[2] 贺敬凯. Xilinx FPGA应用开发. 北京: 清华大学出版社,2015.[3] 沈涛. Xilinx FPGA/CPLD设计初级教程. 西安: 西安电子科技大学出版社,2009.。