计数器及数码显示实验报告

合集下载

制作一个LED数码管显示的秒表

制作一个LED数码管显示的秒表

计算机科学与工程系实验报告实验题目:制作一个LED数码管显示的秒表班级:姓名:学号:日期:一、实验目的掌握单片机使用定时计数器控制LED数码管的设计与软件编程二、实验要求1、用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s;2、当第1次按下并松开计时功能键时,秒表开始计时并显示时间;3、第2次按下并松开计时功能键时,停止计时,计算两次按下计时功能键的时间,并在数码管上显示;4、第3次按下计时功能键,秒表清0,再按1次计时功能键,重新开始计时。

5、如果计时到9.9s时,将停止计时,按下计时功能键,秒表清零,再按下重新开始计时。

三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:使用外中断服务处理程序处理按键,内部设计一个计数器,记录按键按下的次数,根据按键次数完成相应的功能。

用数码管显示计时时间,根据按键的次数以及其功能来显示数字。

#include<reg51.h> //包含8051单片机寄存器定义的头文件unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef} unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char timer=0; //记录中断次数unsigned char second; //存储秒数unsigned char key=0; //记录按键次数main() //主函数{TMOD=0x01; //定时器T0方式1定时ET0=1; // 允许定时器T0中断EA=1; // 总中断允许second=0; //设初始值P0=discode1[second/10]; //显示秒位P2=discode2[second%10]; //显示0.1S位while(1) //循环{if((P3&0x80)==0x00) //当按键被按下时{key++; //按键次数加一switch(key) //根据按键次数分三种情况{case 1: //第一次按下为启动秒表表示TH0=0xee; //TL0=0x00; //TR0=1; //break; //case 2: //按下两次暂停秒表TR0=0; //break; //case 3: //按下三次秒表清零key=0; //second=0; //P0=discode1[second/10]; //P2=discode2[second%10]; //break;}while((P3&0x80)==0x00); //如果按键时间过长在此循环}}}}void int_t0() interrupt 1 using 0 //定时器T0中断子程序{TR0=0; //停止计时,执行以下操作(计时出现误差)TH0=0xee; //向TH0写入初值的高8位TL0=0x00; //向TL0写入初值的低8位,定时5mstimer++; //记录中断次数if (timer==20) //中断20次,20*5ms=100ms=0.1s{timer=0; //中断次数清0second++; //加0.1sP0=discode1[second/10]; //根据计时时间,即时显示秒位P2=discode2[second%10]; //根据计时时间,即时显示0.1s位}if(second==99) //当计时到9.9s时{TR0=0; //停止计时second=0; //秒数清0key=2; //按键数置2,当再次按下按键时,key++,即key=3,秒表清0复原}else //计时不到9.9s时{TR0=1; //继续计时}}五、仿真运行效果展示1、第一次按键,秒表开始计时,并计时到9.92、2次按键,停止计时,将计时的时间值送到数码管显示3、第3次按下计时功能键,秒表清零六、实验小结在实验的过程中,出现过几次错误,自己对理论知识了解的还不够透彻,所幸,通过自己思考解决了。

数电计数器实验报告

数电计数器实验报告

数电计数器实验报告数电计数器实验报告引言:数电计数器是数字电路中常见的一种组合逻辑电路,用于实现对输入信号进行计数的功能。

在本次实验中,我们将通过搭建一个四位二进制计数器的电路,来深入了解计数器的工作原理和应用。

实验目的:1. 熟悉计数器的基本原理和工作方式;2. 掌握计数器的设计与搭建方法;3. 理解计数器在数字系统中的应用。

实验器材:1. 74LS161四位二进制同步计数器芯片;2. 74LS47七段数码管芯片;3. 电路连接线、电源等。

实验步骤:1. 按照电路原理图,连接74LS161计数器芯片和74LS47七段数码管芯片;2. 将74LS161的CLK输入引脚连接到一个可调的方波发生器,用于提供时钟信号;3. 将74LS161的RST引脚连接到一个开关,用于手动复位计数器;4. 将74LS161的QA~QD引脚连接到74LS47的A~D引脚,用于输出计数结果;5. 将74LS47的LT引脚连接到一个LED灯,用于指示计数溢出。

实验原理:计数器是由触发器和逻辑门组成的组合逻辑电路。

在本次实验中,我们使用74LS161芯片作为计数器,它具有四位二进制计数功能。

74LS161芯片内部包含四个D触发器,每个触发器的输出与下一个触发器的时钟输入相连,形成级联的工作方式。

当时钟信号上升沿到来时,触发器会根据输入信号的状态进行状态转移,从而实现计数功能。

实验结果:通过调节方波发生器的频率,我们可以观察到七段数码管上显示的数字不断变化。

当计数器达到最大值时,LED灯会亮起,指示计数溢出。

通过手动复位开关,我们可以将计数器重新复位为0,重新开始计数。

实验分析:1. 在实验过程中,我们发现计数器的工作稳定性较好,能够准确地进行计数;2. 通过改变方波发生器的频率,我们可以调整计数器的计数速度,从而实现不同的计数效果;3. 计数器的应用非常广泛,比如在时钟、计时器、频率分频器等数字系统中都有广泛的应用。

实验总结:通过本次实验,我们深入了解了数电计数器的工作原理和应用。

七段数码管显示实验报告

七段数码管显示实验报告

七段数码管显示实验报告实验目的:本实验的目的是通过控制7段数码管的亮灭状态来显示不同的数字和字母。

实验原理:7段数码管常用于显示数字和字母,每个数码管由7个LED灯组成,分别表示A、B、C、D、E、F、G等7个段。

通过控制这些LED灯的亮灭状态,就可以显示不同的数字和字母。

在实际应用中,通常需要使用一个译码器来根据输入的数字或字母输出相应的控制信号。

常用的译码器有7447、DM9368等。

这些译码器通常都是BCD码到7段数码管的译码器。

在本实验中,我们将使用7447译码器来控制7段数码管的亮灭状态。

7447译码器具有4个输入线和7个输出线,每个输入线上的BCD码可以转换成相应的控制信号,用于控制数码管的7个LED 灯。

实验材料:1.7段数码管2.7447译码器3.电路板4.电压源5.连接线实验步骤:1.将7447译码器插入电路板上相应的插槽中,并将数码管连接到电路板上。

2.将电压源连接到电路板上,并调节电压和电流值。

3.根据所需显示的数字或字母,设置相应的BCD码输入信号。

4.打开电源,观察数码管是否能够正确显示。

实验结果:通过本实验,我们可以成功控制7段数码管的亮灭状态,实现了数字和字母的显示。

同时,我们也了解了7447译码器的原理和使用方法。

实验小结:本实验是电子技术的基础实验之一,通过实验我们深入了解了7段数码管和7447译码器的原理和应用,同时也锻炼了我们的动手能力和实验技能。

在实际应用中,7段数码管和译码器常常被用于数字显示、计数器、时钟、温度计等电子设备中,具有广泛的应用前景。

计数器实验报告

计数器实验报告

计数器实验报告引言:计数器是数字电路中的重要组件,用于计数、计时和测量等应用。

它可以在各种电子设备中起到决策、控制和计算等作用。

本次实验旨在探究计数器的工作原理并验证其功能。

一、实验目的:本次实验旨在研究计数器的工作原理,了解计数器的结构和使用方法,以及探究不同类型计数器的特点和应用。

二、实验器材和原理:1. 实验器材:- 7400系列逻辑门芯片(74LS00、74LS02等)- 74LS163 4位二进制同步计数器芯片- 连线板及连接线- 示波器- 电源2. 实验原理:计数器是由触发器和逻辑门组成的电路,根据输入脉冲的时序和频率来实现计数功能。

常见的计数器有同步计数器和异步计数器。

同步计数器:所有触发器在同一脉冲上同时工作,具有高速、同步性好等特点。

4位同步二进制计数器(74LS163)是本次实验主要研究的对象。

三、实验步骤和结果:1. 连接电路:将四个J-K触发器连接成同步二进制计数器电路。

采用74LS163芯片,选用外部时钟输入。

根据芯片引脚连接示意图连接芯片和示波器。

2. 设置电路状态:给予计数器电路适当的输入电平,根据实验的需求和目的,调整电路状态,例如设置计数范围、初始值等。

3. 测量输出波形:利用示波器观察和记录计数器的输出波形。

分析波形特点,如波形幅值、周期、高低电平时间等。

实验结果表明,计数器能够按照预期的次序进行计数,并在达到最大值后回到初始值重新计数。

输出波形清晰、稳定,符合设计要求。

四、实验讨论:1. 计数器的应用:计数器广泛应用于各种计数、计时和测量场合,例如时钟、频率计、定时器、计数器、计数调制解调器等。

计数器还可用于控制和决策等功能,比如在数字电子秤中用于计算重量。

2. 计数器的类型:除了同步计数器,异步计数器也是常见的计数器类型。

异步计数器与同步计数器相比,其工作原理和时序不同,有着不同的特点和优劣势。

3. 计数器的扩展:计数器可以通过级联扩展实现更大位数的计数。

西北工业大学数字逻辑实验报告(0123403034循环)

西北工业大学数字逻辑实验报告(0123403034循环)

数字电路技术实验报告一、学号: 姓名: 日期:实验目的:(1).用数码显示管实现0.1.2.3.4.0.3.0.3.4;(2).用74LS90,5421BCD码实现模十计数;二、实验设备:(1).数字电路试验箱;(2).数字双踪示波器;(3).函数信号发生器;(4).集成电路: 74LS90;(5).集成电路: 74LS00;三、实验原理:计数是一种最简单的基本运算计数器在数字系统中主要是对脉冲的个数进行计数以实现测量、计数和控制的功能同时兼有分频功能。

计数器按计数进制分为二进制计数器十进制计数器和任意进制计数器按计数单元中触发器所接收计数脉冲和翻转顺序分为异步计数器同步计数器按计数功能分有加法计数器减法计数器可逆双向计数器等。

异步清零2-5-10进制异步计数器74LS9074LS90是一块2-5-10进制异步计数器它由四个主从JK触发器和一些附加门电路组成其中一个触发器构成一位二进制计数器另三个触发器构成异步五进制计数器。

在74LS90计数器电路中设有专用置0端R01 R02和置9端S91 S92 当R1=R2=S1=S2=0时时钟从CP1引入Q0输出为二进制时钟从CP2引入Q3输出为五进制时钟从CP1引入Q0接CP2即二进制的输出与五进制的输入相连则Q3Q2Q1Q0输出为十进制8421BCD 码时钟从CP2引入而Q3接CP1即五进制的输出与二进制的输入相连Q0Q3Q2Q1输出为十进制5421BCD码。

74LS90管脚定义74LS00管脚定义74LS90功能表四、实验内容:(1).用74LS90实现0123403034 (2).用5421BCD实现计数;五、实验结果:(1).列出真值表;(2).画出卡诺图;(3).按化简结果连接图;(循环数字列表)(1).F8=0;.四变量卡诺图:F 2=Q .Q .Q .Q 1020;F 1=Q 1;(5).把F 8接地;F 4接Q3;F 2与相接Q .Q .Q .Q 1020;F 1与Q 1链接;六、心得体会:这次实验综合性较强, 主要考察了我们从实际问题中抽象出逻辑函数的能力。

实验报告

实验报告

实验五 LED数码显示控制在LED数码显示控制实验区完成本实验。

一、实验目的了解并掌握置位与复位指令SET、RST在控制中的应用及其编程方法。

二、置位与复位指令SET、RST的介绍SET为置位指令,使动作保持;RST为复位指令,使操作保持复位。

当X0一接通,即使再变成断开,Y0也保持接通。

X1接通后,即使再变成断开,Y0也将保持断开。

SET指令的操作目标元件为Y、M、S。

而RST指令的操作元件为Y、M、S、D、V、Z、T、C。

这两条指令是1~3个程序步。

用RST指令可以对定时器、计数器、数据寄存器、变址寄存器的内容清零。

三、控制要求按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:先是一段段显示,显示次序是A、B、C、D、E、F、G、H。

随后显示数字及字符,显示次序是0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F,再返回初始显示,并循环不止。

四、LED数码显示控制的实验面板图:上图中,下框中的A、B…H分别接主机的输出点Y0、Y1…Y7;SD接主机的输入点X0。

上框中的A、B、C、D、E、F、G、H用发光二极管模拟输出。

五、编制梯形图并写出程序,实验梯形图参考图5实验七十字路口交通灯控制的模拟在十字路口交通灯模拟控制实验区完成本实验。

一、实验目的熟练使用各基本指令,根据控制要求,掌握PLC的编程方法和程序调试方法,使学生了解用PLC解决一个实际问题的全过程。

二、十字路口交通灯控制的实验面板图:实验面板图中,下框中的南北红、黄、绿灯R、Y、G分别接主机的输出点Y2、Y1、Y0,东西红、黄、绿灯R、Y、G分别接主机的输出点Y5、Y4、Y3,模拟南北向行驶车的灯接主机的输出点Y6,模拟东西向行驶车的灯接主机的输出点Y7;下框中的SD接主机的输入端X0。

上框中的东西南北三组红绿黄三色发光二极管模拟十字路口的交通灯。

三、控制要求信号灯受一个启动开关控制,当启动开关接通时,信号灯系统开始工作,且先南北红灯亮,东西绿灯亮。

数码显示控制实验报告(3篇)

数码显示控制实验报告(3篇)

第1篇一、实验目的1. 熟悉数码显示模块的结构和工作原理;2. 掌握51单片机控制数码显示模块的方法;3. 学会使用移位寄存器实现数码显示的动态扫描;4. 提高单片机编程能力和实践操作能力。

二、实验原理数码显示模块是一种常见的显示器件,主要由7段LED组成,可以显示0-9的数字以及部分英文字符。

51单片机通过控制数码显示模块的段选和位选,实现数字的显示。

移位寄存器是一种常用的数字电路,具有数据串行输入、并行输出的特点。

在本实验中,使用移位寄存器74HC595实现数码显示的动态扫描。

三、实验仪器与材料1. 51单片机实验板;2. 数码显示模块;3. 移位寄存器74HC595;4. 电阻、电容等电子元件;5. 电路连接线;6. 编译软件Keil uVision;7. 仿真软件Proteus。

四、实验步骤1. 电路连接(1)将51单片机的P1口与数码显示模块的段选端相连;(2)将74HC595的串行输入端Q(引脚14)与单片机的P0口相连;(3)将74HC595的时钟端CLK(引脚11)与单片机的P3.0口相连;(4)将74HC595的锁存端LR(引脚12)与单片机的P3.1口相连;(5)将数码显示模块的位选端与74HC595的并行输出端相连。

2. 编写程序(1)初始化51单片机的P1口为输出模式,P3.0口为输出模式,P3.1口为输出模式;(2)编写数码显示模块的段码数据表;(3)编写74HC595的移位和锁存控制函数;(4)编写数码显示模块的动态扫描函数;(5)编写主函数,实现数码显示模块的循环显示。

3. 编译程序使用Keil uVision编译软件将编写的程序编译成hex文件。

4. 仿真实验使用Proteus仿真软件进行实验,观察数码显示模块的显示效果。

五、实验结果与分析1. 编译程序后,将hex文件下载到51单片机实验板上;2. 使用Proteus仿真软件进行实验,观察数码显示模块的显示效果;3. 通过实验验证,数码显示模块可以正常显示0-9的数字以及部分英文字符;4. 通过实验,掌握了51单片机控制数码显示模块的方法,学会了使用移位寄存器实现数码显示的动态扫描。

计数、译码和显示电路

计数、译码和显示电路

实验计数、译码和显示电路一、实验目的:1. 掌握二进制加减计数器的工作原理。

2. 熟悉中规模集成计数器及译码驱动器的逻辑功能和使用方法。

二、实验准备:1.计数:计数是一种最简单、最基本的逻辑运算,计数器的种类繁多,如按计数器中图3.11.2另外一种可预计的十进制加减可逆计数器CD4510,用途也非常广,其引脚排列如图3.11.3所示,其中,E P 为预计计数使能端,in C 为进位输入端,1P ~4P 为预计的输入端,out C 为进位输出端,U /D 为加减控制端,R 为复位端,CD4510输入、输出间的逻辑功能如表所示。

表3.11.2:。

2. 译码与显示:十进制计数器的输出经译码后驱动数码管,可以显示0~9十个数字,CD4511是BCD~7段译码驱动集成电路,其引脚排列如图3.11.4所示。

LT 为试灯输入,BI 为消隐输入,LE 为锁定允许输入,A 、B 、C 、D 为BCD 码输入,a~g 为七段译码。

CD4511的逻辑功能如表所示。

LED 数码管是常用的数字显示器,分共阴和共阳两种,BS112201是共阴的磷化镓数码管,其外形和内部结构如图3.11.5所示。

图3.11.5三、计算机仿真实验内容:1. 计数10的电路:(1).单击电子仿真软件Multisim7基本界面左侧左列真实元件工具条“CMOS”按钮,从弹出的对话框“Family”栏中选“CMOS_10V”,再在“Component”栏中选取4093BD和4017BD各一只,如图3.11.6所示,将它们放置在电子平台上。

图3.11.6(2).单击电子仿真软件Multisim7基本界面左侧左列真实元件工具条“Source”按钮,从弹出的对话框“Family”栏中选“POWER_SOURCES”,再在“Component”栏中选取“VDD”和地线,将它们调出放置在电子平台上。

(3). 双击“VDD”图标,将弹出如图3.11.7所示对话框,将“V oltage”栏改成“10”V,再点击下方“确定”按钮退出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北华航天工业学院课程设计报告(论文)课设名称: EDA技术与应用设计课题:计数器及数码显示综合设计专业班级: B12241学生姓名:白冬雪田尉均指导教师:齐建玲设计时间: 2014年 12月 15日北华航天工业学院电子工程系EDA 课程设计任务书姓名:白冬雪田尉均专业:测控技术与仪器班级:B12241指导教师:齐建玲职称:教授课程设计题目:计数器及数码显示综合设计已知技术参数和设计要求:①总体设计要求:设计一个能在7段数码管上动态刷新显示十进制、十二进制、六十进制、四位二进制计数器计数结果的VHDL语言程序并在EDA实验开发系统上实现该功能。

②技术要点:VHDL语言编辑程序、共阴7段数码管及FPGA可编程芯片的工作原理与连线。

所需仪器设备:实验箱,电脑成果验收形式:实验报告,硬件实验结果参考文献:李国洪、胡辉、沈明山等编著《EDA技术与实验》—机械工业出版社出版。

时间安排2014年12月14日-15日编辑VHDL语言程序2014年12月16日硬件调试程序2014年12月17日实验箱答辩验收指导教师:齐建玲教研室主任:王晓2014年 12月 17日内容摘要用VHDL语言在MAX+PLUS2环境下设计一个带使能输入、进位输出及同步清零的十进制计数器。

设计一个带使能输入及同步清零的十二进制计数器。

设计一个带使能输入及同步清零的六十进制加法计数器。

设计一个四位二进制可逆计数器。

设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。

最后在EDA实验开发系统实验操作。

目录一、概述 (1)二、方案设计与论证 (1)三、单元电路设计与参数计算 (1)1、十进制计数器 (1)2、十二进制计数器 (2)3、六十进制计数器 (3)4、十六进制可逆计数器 (4)5、六进制计数器 (5)6、数据选择器 (6)7、 4-7译码器 (7)四、顶层文件截图 (8)五、安装与调试 (8)六、心得体会 (8)1.实验注意事项 (8)2.收获与体会 (9)一、概述用VHDL语言在MAX+PLUS2环境下设计一个带使能输入、进位输出及同步清零的十进制计数器。

设计一个带使能输入及同步清零的十二进制计数器。

设计一个带使能输入及同步清零的六十进制加法计数器。

设计一个四位二进制可逆计数器。

设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。

二、方案设计与论证四个计数器同时开始计数,通过计数器的使能端可以随时控制计数器是否继续工作,通过同步清零端可以随时把任何一个计数器清零重新开始计数。

四位二进制可逆计数器可以随时进行加计数或减计数。

通过六进制计数器扫描数码管和作为对其他4个计数器的选择信号,再通过一个数据选择器选择出计数器的输出信号,通过4-7译码器的输出信号在数码当时钟信号频率足够大时可以实现六个数码管“同时”显示各计数器的计数结果。

因为人的眼睛分辨不出各数码管的快速跳变。

所以能实现所要求的同步计数的目的。

三、单元电路设计与参数计算1、十进制计数器①代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI10 ISPORT( CLK,en,rst:IN STD_LOGIC;ci :OUT STD_LOGIC;dout :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) );END JINZHI10;ARCHITECTURE ABC OF JINZHI10 ISBEGINci<='1' WHEN dout="1001" AND en='1' ELSE '0';PROCESS(CLK,en,rst)BEGINIF RISING_EDGE(CLK) THENIF rst='1' THEN dout<=(OTHERS=>'0');ELSIF en='1' THENIF dout="1001" THEN dout<="0000";ELSE dout<=dout+1;END IF;END IF;END IF;END PROCESS;END ABC;②仿真结果:2、十二进制计数器①代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI12 ISPORT( CLK,en,rst:IN STD_LOGIC;dout :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END JINZHI12;ARCHITECTURE ABC OF JINZHI12 ISBEGINPROCESS(CLK,en,rst)BEGINif RISING_EDGE(CLK) THENif rst='1'then dout<=(others=>'0');ELSIF en='1' THENIF dout="1011" THEN dout<="0000";ELSE dout<=dout+1;END IF;END IF;END IF;END PROCESS;END ABC;②仿真结果3、六十进制计数器①代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI60 ISPORT( CLK,en,rst:IN STD_LOGIC;OL,OH :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END JINZHI60;ARCHITECTURE ABC OF JINZHI60 ISBEGINPROCESS(CLK,en,rst)BEGINIF RISING_EDGE(CLK) THENIF rst='1' THEN OL<="0000";OH<="0000";ELSIF en='1' THENIF OL="1001" THEN OL<="0000";IF OH="0101" THEN OH<="0000";ELSE OH<=OH+1;END IF;ELSE OL<=OL+1;END IF;END IF;END IF;END PROCESS;END ABC;②仿真结果4、十六进制可逆计数器①代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY KENI16 ISPORT( CLK,JJ,E:IN STD_LOGIC;OL,OH :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END KENI16;ARCHITECTURE ABC OF KENI16 ISBEGINPROCESS(CLK,JJ,E)BEGINIF RISING_EDGE(CLK) THENIF E='1' THENIF JJ='1' THENIF OL="0101" AND OH="0001" THEN OL<="0000"; OH<="0000"; ELSIF OL="1001" THEN OL<="0000"; OH<=OH+1; ELSE OL<=OL+1;END IF;ELSIF JJ='0' THENIF OL="0000" AND OH="0000" THEN OL<="0101"; OH<="0001"; ELSIF OL="0000" THEN OL<="1001"; OH<=OH-1; ELSE OL<=OL-1;END IF;END IF;END IF;END IF;END PROCESS;END ABC;②仿真结果5、六进制计数器①代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI6 ISPORT( CLK,E :IN STD_LOGIC;O :BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0)); END JINZHI6;ARCHITECTURE ABC OF JINZHI6 ISBEGINPROCESS(CLK,E)BEGINIF RISING_EDGE(CLK) THENIF E='1' THENIF O="101" THEN O<="000";ELSE O<=O+1;END IF;END IF;END IF;END PROCESS;END ABC;②仿真结果6、数据选择器①代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY XUANZE ISPORT( A,B,C,D,E,F :IN STD_LOGIC_VECTOR(3 DOWNTO 0);I :IN STD_LOGIC_VECTOR(2 DOWNTO 0); O :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END XUANZE;ARCHITECTURE ABC OF XUANZE ISBEGINPROCESS(I)BEGINCASE I ISWHEN "000" => O<=A;WHEN "001" => O<=B;WHEN "010" => O<=C;WHEN "011" => O<=D;WHEN "100" => O<=E;WHEN "101" => O<=F;WHEN OTHERS => NULL;END CASE;END PROCESS;END ABC;②仿真结果7、4-7译码器①代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YM_47 ISPORT( I:IN STD_LOGIC_VECTOR(3 DOWNTO 0); O:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YM_47;ARCHITECTURE ABC OF YM_47 ISBEGINWITH I SELECTO<="1111110" WHEN "0000","0110000" WHEN "0001","1101101" WHEN "0010","1111001" WHEN "0011","0110011" WHEN "0100","1011011" WHEN "0101","1011111" WHEN "0110","1110000" WHEN "0111","1111111" WHEN "1000","1111011" WHEN "1001","1110111" WHEN "1010","0011111" WHEN "1011","0000000" WHEN OTHERS;END ABC;②仿真结果四、顶层文件截图五、安装与调试在计算机和试验箱均断电的情况下连接好下载电缆和芯片的各端口之间的连线,接下来先给试验箱供电然后打开计算机找到MAX+plus2软件将先前已编辑好的的程序下载到芯片上。

相关文档
最新文档